Herramienta gratis · se queda en tu navegador

Pon bien tu horario en todas partes.

Última revisión:

Llena los horarios una vez. Llévate un letrero para la puerta, las palabras exactas para pegar en Google y un bloque de código para mandar a quien hizo tu sitio web. Unos 15 minutos.

Cómo cuidamos la privacidad de tus horarios · Por qué esto importa

Agrega la dirección — recomendado para los Rich Results de Google +

Todos opcionales. Si los omites, el bloque JSON-LD igual funciona. Agregarlos lo convierte en una entrada Restaurant lista para Rich Results — los mismos datos que Google quiere para el carrusel “restaurantes cerca de mí”.

Escribe los horarios como 11 AM, 5 PM, o 21:00 — la herramienta los entiende todos. Deja las dos casillas vacías para un día cerrado. Si cierras después de medianoche (última llamada a la 1 AM), marca “cierra al día siguiente.”

¿Algún día cerrado próximamente?

0 seleccionados

Marca cualquier feriado en el que vayas a cerrar. Los agregamos al archivo “Añadir cierres a mi calendario” abajo.

    Cierre personalizado:
    ¿Ya tienes el horario publicado en otra parte? Pégalo para comparar.

    Pega tu horario actual de Google o Yelp aquí. Lo comparamos contra lo que ingresaste arriba y marcamos cualquier día que no coincida. (Buscamos líneas tipo “lunes: 11 AM–9 PM”; las diferencias menores de formato se ignoran.)

    Vista previa en vivo — cada cambio actualiza los resultados.
    Llena al menos un día de horario arriba para ver los resultados. O haz click en para ver cómo funciona.
    Lo típico

    ¿Cuál se parece más al tuyo?

    Cada tarjeta es un patrón real de horarios de un arquetipo distinto. Haz click en cualquiera para cargarlo como punto de partida — luego ajustas los horarios al tuyo. Más rápido que escribir 7 días desde cero.

    En lenguaje sencillo

    Qué hace esta herramienta, en cuatro frases

    1. Llenas los horarios. Día por día, en el formato que te salga natural — “5 PM” o “17:00”, los dos funcionan. Opcional: marca qué feriados vas a cerrar.
    2. La herramienta traduce en silencio. Por detrás, tus horas se convierten al formato exacto de Google, al formato exacto de Yelp, al formato exacto de Apple Maps, y al código estructurado que Google lee para mostrar tus horarios en los resultados de búsqueda.
    3. Te llevas cuatro artefactos. Un letrero imprimible para la puerta, un bloque para pegar en Google, un bloque de código para mandarle a quien hizo tu sitio, y un archivo de calendario con tus cierres. Cada uno responde a una frase que el dueño podría escribir en búsqueda.
    4. Lo vuelves a correr el próximo trimestre. Los horarios cambian. Vienen feriados. El Letrero de Puerta queda viejo a propósito — cuando su lista de cierres se acaba, ese es el recordatorio para volver.

    No es un sincronizador automático, predictor de tiempo de espera, ni panel multi-sucursal. Más sobre los límites abajo.

    Predicar con el ejemplo

    Tus horarios se quedan en tu navegador.

    Nueve afirmaciones, cada una verificable en DevTools en menos de un minuto. Abre el panel de inspección en cualquiera de ellas.

    Tus horarios nunca salen de esta página.

    Sin fetch(), sin XMLHttpRequest, sin envíos de formulario al escribir un horario. La validación, el JSON-LD y los generadores de copia para cada plataforma corren en tu navegador.

    Inspecciona
    DevTools (Cmd+Opt+I / Ctrl+Shift+I) → pestaña Network. Escribe un horario en el formulario. La lista de peticiones no debería crecer. Si crece, es un bug — avísanos.

    No hay servidor donde guardarlos.

    La herramienta se sirve como página estática. No hay endpoint que acepte horarios, ni base de datos que los reciba, ni cola que los procese.

    Inspecciona
    Prueba curl -X POST https://muntin.digital/es/tools/store-hours/. Recibes un 405 (Method Not Allowed). La página es HTML estático de sólo lectura.

    La analítica sólo ve categorías, nunca tus horarios.

    Plausible cuenta cuántas personas usan la herramienta pero recibe sólo valores enum-bloqueados como 4-5 días abierto o multi-service. Tu nombre de restaurante, ciudad, horarios específicos y fechas de cierre nunca se envían.

    Inspecciona
    DevTools → Network → filtra plausible. Después de escribir, los únicos payloads cargan propiedades como open_days: "4-5". Fuente: helpers de bucket en /tools/store-hours/open-hours.js líneas ~660–700.

    Sin cookies, sin localStorage, sin sessionStorage.

    Nada de tus inputs se escribe en almacenamiento persistente del navegador. Cerrar la pestaña borra el formulario por completo.

    Inspecciona
    DevTools → pestaña Application → Storage. Cookies, Local Storage y Session Storage para este origen están vacíos después de escribir en el formulario.

    Ningún script de terceros toca tus inputs.

    Plausible se carga desde plausible.io para registrar una vista anónima. Nada más de terceros corre en la página.

    Inspecciona
    DevTools → Network → filtra tipo JS. El único script de otro origen es plausible.io/js/.... Ábrelo; no tiene acceso al formulario — sólo emite pings de pageview.

    Los enlaces compartibles guardan tus horarios en tu barra de direcciones, no en un servidor.

    Cuando copias la URL de esta página, el fragmento después del # contiene tu estado del formulario. Los fragmentos URL nunca se envían al servidor según la spec HTTP — además agregamos <meta name="referrer" content="no-referrer"> para que los enlaces que abras desde aquí no lo filtren.

    Inspecciona
    Escribe en el formulario, copia la URL, mírala. Todo después del # son tus datos. Pega la URL en una ventana incógnita — el formulario se rehidrata localmente; ninguna petición al servidor llevó tus inputs.

    El código fuente se puede leer.

    El motor completo es JavaScript plano — sin minificación, sin bundler. Lee la lógica en /tools/store-hours/open-hours.js y el renderer PNG en /tools/store-hours/sign-render.js.

    Inspecciona
    Click derecho → Ver código fuente → abre cualquiera de los .js. Busca fetch, XMLHttpRequest, o localStorage en esos archivos — no encuentras nada.

    Nada persiste más allá de esta pestaña.

    Sin service worker, sin página en segundo plano, sin IndexedDB. Cierra la pestaña y el trabajo se va — a menos que hayas guardado el fragmento URL.

    Inspecciona
    Escribe en el formulario. Cierra la pestaña. Reabre muntin.digital/es/tools/store-hours/ (sin el fragmento). El formulario está vacío.

    El Letrero, la Tarjeta, el ICS, el ZIP y la Revisión Trimestral son 100% del lado del cliente.

    Los PNG usan Canvas. Los archivos ICS usan Blob + URL.createObjectURL. El ZIP se compone en el navegador con un escritor mínimo. Incluso el evento recurrente de la Revisión Trimestral se genera localmente; la URL que carga es solo location.href.

    Inspecciona
    DevTools → Network. Haz clic en cualquier descarga (PNG del letrero, ICS de cierres, ICS trimestral, ZIP). El Network no crece — el archivo viene de una URL blob: compuesta en tu navegador. Abre cualquier .ics en un editor; verás texto plano RFC-5545, sin pixel de tracking.

    Para la misma postura de privacidad en la familia, mira cómo Suite de Marca protege tu logo o el recorrido verificable de nueve afirmaciones de Margin Math.

    Marco honesto

    Qué no es

    Horario de Tienda son los 15 minutos más limpios que puedes invertir en la parte más ingrata de un restaurante. Saber qué no hace mantiene las expectativas honestas.

    No es un sincronizador automático.

    Servicios como Yext hacen eso — empujan una sola fuente a cada plataforma según un calendario. Cuestan \$199+/mes y se autentican como tú. Horario de Tienda es la alternativa sin cuenta, sin API: tú copias y pegas. Más lento, pero la postura de privacidad queda limpia y la matemática es auditable.

    No predice tiempos de espera ni gestiona reservas.

    Esas son herramientas operativas que necesitan datos en tiempo real. Horario de Tienda define el horario fijo; tiempos de espera y disponibilidad de reserva son problemas distintos.

    No es un panel multi-sucursal.

    v1 es de un solo restaurante. Si operas tres sucursales con horarios distintos, vas a correr la herramienta tres veces. La gestión multi-sucursal es un mercado distinto que demanda otra infraestructura.

    No es una solución permanente a un problema recurrente.

    Los horarios cambian. Vienen feriados. El equipo cambia. Una vez por trimestre, vuelves a correr esto. El Letrero de Puerta se queda viejo solo — cuando la lista de los próximos cuatro cierres se acaba, ese es tu recordatorio. La herramienta es más útil como un ritual trimestral, no como un “una y listo.”

    Lo que es: 15 minutos que previenen un año de drift.

    Cuatro audiencias, cuatro entregas. El Letrero de Puerta es para el comensal que pasa caminando a las 10 PM. El bloque para Google es para quien busca en su teléfono. El código del sitio es para quien construyó tu sitio (o quien lo va a heredar). El archivo de calendario es para ti, tres semanas antes de cada feriado, cuando ya se te olvidó que dijiste que ibas a cerrar.

    Cuando quieras esto sincronizado por ti, contrata al estudio.

    Un sitio web de restaurante hecho por nosotros tiene los horarios cableados a una sola fuente — los cambias en un lugar, todas las páginas se actualizan al instante, el JSON-LD queda al día. El trabajo web del estudio es lo que convierte esta herramienta de 15 minutos en algo que se mantiene correcto solo.

    Ver sitios web de restaurante