Pre-launch · ERPlora is in active development. You're viewing a product preview.
Back to apps Customers, schedule and team

Schedules

Your opening hours: the usual week, holidays and temporary changes like summer hours.

Free
Start free
Turn it on from your Hub

Apps are turned on from the Apps page of your Hub. Create your free account to get one.

This documentation is only available in Spanish.

Para qué sirve y para quién

Horarios dice cuándo está abierto el negocio:

  • la semana habitual: por cada día, cerrado, abierto 24 horas o uno o varios tramos (turno partido, o un tramo que pasa de medianoche, como 22:00–02:00);
  • los días especiales: un festivo cerrado o un día con otro horario, que puede repetirse cada año (Navidad);
  • los cambios temporales: unas fechas seguidas con otro horario o cerradas (vacaciones, horario de verano, obras).

Es el horario del negocio. No es el turno de cada profesional ni sus ausencias (eso es de Personal), ni las horas que se pueden reservar (eso lo decide Citas cruzando las dos cosas).

Quién la usa:

  • El propietario, el administrador y el responsable fijan la semana, añaden, corrigen y borran días especiales y cambios temporales, y cambian los ajustes.
  • El empleado solo lo ve.

Citas lo lee para ofrecer horas libres y rechazar una reserva con el negocio cerrado; el asistente contesta con él «¿estáis abiertos el sábado a las seis?».

Referencia adoptada

Qué es de Horarios y qué de Personal (skill market-decision, 2026-10-14). Todos los productos de la tabla guardan dos cosas distintas: el horario del local (lo que ve el cliente y lo que cierra el negocio un festivo) y el turno de cada profesional (cuándo se le puede reservar). La agenda reserva dentro del turno del profesional y, con el local cerrado (festivo, vacaciones), no ofrece nada.

Producto Cómo lo resuelve Fuente
Fresha Horario de apertura del local aparte de los turnos del equipo; se reserva dentro del turno; al cambiar el horario se ofrece llevarlo a los turnos https://www.fresha.com/help-center/knowledge-base/workspace-settings/588-update-your-business-opening-hours · https://www.fresha.com/help-center/knowledge-base/calendar/252-schedule-and-update-team-shifts
Square Appointments «Business hours» del local y «Staff hours» por persona, independientes; se reserva por las del profesional https://community.squareup.com/t5/Payments-Troubleshooting/How-can-I-adjust-my-Square-Appointments-open-hours/m-p/144439
Vagaro Horario del negocio fijo en el perfil, aparte del horario de cada empleado https://www.vagaro.com/pro/updates/business-hours
Google Business Profile Horario semanal con varios tramos por día, «abierto 24 horas» y horario especial por fecha (festivos, cierres) https://support.google.com/business/answer/6303076?hl=en
Odoo Horario de trabajo de la empresa con sus festivos («Public holidays») que heredan los empleados; cada empleado, su horario https://www.odoo.com/documentation/19.0/applications/hr/time_off/public_holidays.html
Business Central Calendario base con días no laborables, también recurrentes cada año, asignado a la empresa o al almacén https://learn.microsoft.com/bg-bg/dynamics365/business-central/across-how-to-assign-base-calendars
Toast Horario del restaurante y sus servicios (desayuno, comida, cena) por días de la semana, sin huecos ni solapes https://support.toasttab.com/article/Setup-Restaurant-Hours-and-Services
Shopify No tiene horario de tienda en el TPV; el foro se queja de que la recogida en tienda ignora el cierre del fin de semana https://community.shopify.com/t/feedback-bug-pickup-from-store-availability-does-not-account-for-store-hours-or-weekend-closures/553038

Gana: dos horarios en dos apps. Horarios guarda el del negocio (semana, días especiales, cambios temporales); Personal, el de cada profesional y sus ausencias. Citas reserva solo si la cita cabe entera en un tramo abierto del negocio y en la disponibilidad del profesional. Es lo que hacen todos los de salón y los ERP, y el caso de Shopify enseña lo que pasa si falta el horario del local. Por qué las demás no: que el horario del negocio sea la unión de los turnos (una opción de Vagaro) deja sin forma de cerrar un festivo; meter el turno del profesional en Horarios duplica lo que Personal ya hace.

Por eso, de lo que el encargo pedía mirar, todo lo «por persona» queda cubierto por Personal: horario semanal de cada profesional (STAFF-F13 a F15), sus ausencias (STAFF-F17 a F20, F24) y su disponibilidad (staff.availability.for_member, STAFF-F16). El módulo viejo de Horarios tampoco lo tenía. Horarios no conoce a nadie del equipo y no depende de Personal.

Del producto actual se conservan (su contraste de mercado ya estaba hecho y registrado en su código):

  • Google Business Profile: varios tramos por día, «abierto 24 horas» como 00:00–00:00 y horario especial por fecha.
  • Square, Fresha y Google Business Profile: siete filas fijas; un día se edita, nunca se «añade».
  • Odoo, Google Calendar, Microsoft Bookings, Business Central y Lightspeed Reservations: la semana por defecto, de lunes a viernes de 09:00 a 18:00 sin pausa y el fin de semana cerrado.
  • Sin regla para un día, el negocio no se da por abierto (código no_hours).

Y se decide aquí (mismo contraste):

  • Un tramo pertenece al día en que abre (Google Business Profile): un 22:00–02:00 del sábado sigue abierto el domingo a la 01:00, venga de la semana, de un día especial o de un cambio temporal, aunque el domingo sea un día cerrado.
  • Un día especial y un cambio temporal se corrigen (Google, Fresha, Square los editan); ya no hay que borrarlos y crearlos otra vez.

Antes de empezar

  1. Activa Horarios (viene con la peluquería y el restaurante). Ya tiene una semana por defecto (SCHEDULE-F12): de lunes a viernes de 09:00 a 18:00, sábado y domingo cerrados.
  2. La zona horaria del negocio es la del Hub (SCHEDULE-F09): con ese reloj se lee todo el horario. En la fase 1 es la de Madrid.
  3. En Horarios → Horario, pulsa Sí, este es mi horario si la semana por defecto es la tuya (SCHEDULE-F03), o edita los días que cambian (SCHEDULE-F02).
  4. En Días especiales, añade los festivos y cierres (SCHEDULE-F04) y, para varios días seguidos, un cambio temporal (SCHEDULE-F05).
  5. Si quieres que la semana empiece en domingo, cámbialo en Ajustes (SCHEDULE-F08).

Pantallas

Horarios se abre desde el menú Horarios y tiene tres pestañas: Horario, Días especiales y Ajustes. Lo que una persona no puede hacer no aparece, y la app lo rechaza aunque lo intente por la API o por el asistente.

Horario

Tabla de siete filas fijas, una por día de la semana, con las columnas Día, Horario y Estado; no hay botón de añadir: un día se edita. Horario dice, por ejemplo, «10:00–14:00 · 17:00–20:00», «Abierto 24 horas», «Cerrado» o «Sin definir»; Estado dice «Abierto», «Cerrado» o «—» (sin definir). Las horas salen en el reloj del idioma (24 horas en español, AM/PM en inglés). La acción de fila Editar (o tocar la fila) abre «Editar horario — {día}» con: Día, Cerrado, Abierto 24 horas, una línea por tramo (Abre, Cierra y Quitar tramo), + Añadir tramo, la pista «Jornada partida: una línea por tramo (10:00–14:00 y 17:00–20:00). Un cierre anterior a la apertura pasa de medianoche (22:00–02:00).» y Guardar día. Mientras nadie haya guardado ni confirmado la semana, encima de la tabla sale el aviso amarillo «Este es un horario por defecto que hemos puesto por ti. Comprueba que coincide con el de tu negocio: las reservas fuera de él se rechazan.» con el botón Sí, este es mi horario (el botón, solo para quien puede cambiar el horario; el empleado ve el aviso). En móvil la tabla se pinta como tarjetas.

Días especiales

Dos tablas, una debajo de otra, cada una con su título.

  • Días especiales: columnas Fecha, Nombre, Estado («Cerrado» o sus horas, tramo a tramo) y Anual («Sí»/«No»); buscador «Buscar día especial…», filtros por fecha (desde–hasta), nombre, estado y anual, orden por columna y 50 por página. + abre Nuevo día especial: Fecha, Nombre («Nombre (p. ej. Navidad)»), Estado («Cerrado» o «Abierto (con horario)»; empieza en Cerrado), el mismo editor de tramos, Se repite cada año, Notas y Añadir día. Acciones de fila: Editar (o tocar la fila; el mismo formulario con Guardar) y Eliminar.
  • Cambios temporales: columnas Desde, Hasta, Motivo y Estado; buscador «Buscar cambio temporal…», filtros por fechas, motivo y estado, y los mismos controles. + abre Nuevo cambio temporal: Desde, Hasta, Motivo, Estado, el editor de tramos y Añadir cambio temporal. Acciones de fila: Editar y Eliminar.
  • Eliminar pide confirmar: «Eliminar» · «Se eliminará «{nombre}». No se puede deshacer.» con Cancelar y Eliminar.

Ajustes

Arriba, solo lectura, Zona horaria del negocio con su nombre (por ejemplo, Europe/Madrid) y la nota «Es la del Hub y el único reloj con el que se lee el horario.». Debajo, Semana empieza (Lunes o Domingo) y Guardar, que confirma con «Guardado». Quien no puede cambiar los ajustes ve el valor sin poder cambiarlo y sin Guardar.

Estados de cada pantalla

Estado Qué ve la persona
Cargando «Cargando…» mientras llega el primer resultado; la semana no se pinta hasta tener también los ajustes (si no, se ordenaría mal).
Vacío «Sin días especiales.» o «Sin cambios temporales.»; con búsqueda o filtro, «Sin resultados». La semana siempre tiene siete filas.
Error El aviso de la tabla con «Reintentar». Un rechazo de un formulario sale dentro del formulario, sin perder lo tecleado; el de una acción de fila (eliminar, confirmar la semana, guardar los ajustes), encima de la tabla o del formulario. Con los ajustes sin leer no se enseña Semana empieza, para no guardar un valor que no se ha leído.
Reconectando Lo pintado se queda; una franja avisa «Reconectando…».
App inactiva «Esta app no está activa en este negocio».
Sin permiso No aparece lo que no puede hacer; si llega por otra puerta, «No tienes permiso».

Flujos

ID Flujo Estado
SCHEDULE-F01 Ver el horario de la semana hecho
SCHEDULE-F02 Fijar el horario de un día hecho
SCHEDULE-F03 Confirmar la semana por defecto hecho
SCHEDULE-F04 Añadir un día especial hecho
SCHEDULE-F05 Añadir un cambio temporal hecho
SCHEDULE-F06 Borrar un día especial o un cambio temporal hecho
SCHEDULE-F07 Cargar varios días especiales de golpe hecho (asistente y API; sin pantalla)
SCHEDULE-F08 Elegir con qué día empieza la semana hecho
SCHEDULE-F09 Ver la zona horaria con la que se lee el horario hecho
SCHEDULE-F10 Preguntar si el negocio está abierto en un momento hecho (asistente y API; sin pantalla)
SCHEDULE-F11 Dar el horario de unos días a Citas hecho (sin pantalla)
SCHEDULE-F12 Partir de una semana por defecto al activar hecho
SCHEDULE-F13 Corregir un día especial o un cambio temporal hecho

SCHEDULE-F01 Ver el horario de la semana

Estado: hecho (servidor y pantalla) Actor: todos Pantalla: Horario Pasos: 1. Abre Horarios; la pestaña Horario muestra los siete días. 2. Lee de cada día sus tramos, «Abierto 24 horas», «Cerrado» o «Sin definir». 3. Si la semana empieza en domingo (SCHEDULE-F08), la tabla abre por el domingo; solo cambia el orden. Entra: la semana del negocio y el ajuste «Semana empieza». Sale: nada; solo lectura. Si falla: la tabla dice «No se ha podido cargar el horario.» con Reintentar; hasta tener la semana y los ajustes no se pinta ni una fila, para no enseñar siete «Sin definir» que parecerían un negocio sin horario. Implicados: ninguno

SCHEDULE-F02 Fijar el horario de un día

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Horario Pasos: 1. En Horario, pulsa Editar en el día (o toca la fila): se abre «Editar horario — {día}». El selector Día cambia de día sin cerrar. 2. Elige una de tres cosas: Cerrado; Abierto 24 horas; o una línea por tramo con su apertura y su cierre (10:00–14:00 y 17:00–20:00 para un turno partido; 22:00–02:00 pasa de medianoche). 3. Pulsa Guardar día: el formulario se cierra y la fila enseña el resumen nuevo. Entra: el día (lunes a domingo; el asistente también entiende «el lunes») y sus tramos, hasta 12. El orden da igual: se guardan ordenados. 00:00–00:00 es «abierto 24 horas»; cualquier otro tramo con la misma apertura y cierre no vale. Sale: los tramos del día, que sustituyen a los anteriores (no se acumulan), y el aviso schedule.week.updated. La semana queda confirmada (SCHEDULE-F03): quien guarda un día ya la ha visto. Si falla: debajo de los tramos y sin guardar nada: «Un día abierto necesita al menos un tramo horario.», «Un tramo no puede empezar y acabar a la misma hora; 00:00–00:00 es abierto 24 horas.», «Dos tramos se solapan (o uno cruza la medianoche sobre otro); ajusta las horas para que no se pisen.», «Como mucho 12 tramos por día.». Una línea a medias no se envía: «Indica la hora de apertura y cierre, o márcalo como cerrado». Implicados: Citas (lee el horario en la reserva siguiente)

SCHEDULE-F03 Confirmar la semana por defecto

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Horario Pasos: 1. Con el aviso amarillo «Este es un horario por defecto…» a la vista, comprueba que los días son los de tu negocio. 2. Pulsa Sí, este es mi horario; el botón se desactiva mientras trabaja. 3. El aviso desaparece. Entra: la semana que ya está guardada; no se manda ninguna hora, así que nadie confirma un horario que no se le ha enseñado. Sale: la semana marcada como confirmada, sin cambiar ni una hora, y un aviso schedule.week.updated. Confirmar dos veces no cambia nada ni avisa. Si falla: arriba de la tabla: «No hay horario semanal que confirmar.» si no hay ningún día guardado (no se llega desde la pantalla: el aviso solo sale cuando hay semana). Implicados: ninguno

SCHEDULE-F04 Añadir un día especial

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Días especiales Pasos: 1. En Días especiales, pulsa + (Nuevo día especial). 2. Escribe la Fecha y el Nombre (los dos obligatorios). 3. Deja Cerrado (lo que viene) o elige «Abierto (con horario)» y escribe uno o más tramos, igual que en SCHEDULE-F02. 4. Marca Se repite cada año si cae el mismo día y mes todos los años (Navidad); si quieres, Notas. 5. Pulsa Añadir día: el formulario se cierra y el día aparece en la lista. Entra: fecha (real: el 31 de febrero no vale), nombre (hasta 200), cerrado o tramos, anual y notas (hasta 1000). Sale: el día especial (schedule.special_day.created). Gana a todo lo demás ese día (SCHEDULE-F10, F11). Un día anual vale todos los años, también los anteriores a su fecha; el del 29 de febrero solo existe los años bisiestos. Si falla: «Ya existe un día especial en esa fecha.» bajo la fecha (409 schedule.special_day_exists, también si dos personas la crean a la vez); los rechazos de tramos de SCHEDULE-F02; un nombre vacío o de solo espacios, bajo el nombre. Una fecha que tuvo un día especial borrado se puede volver a usar. Implicados: Citas

SCHEDULE-F05 Añadir un cambio temporal

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Días especiales Pasos: 1. En la tabla «Cambios temporales», pulsa + (Nuevo cambio temporal). 2. Escribe Desde, Hasta y Motivo (los tres obligatorios). 3. Deja Cerrado (vacaciones del negocio) o elige «Abierto (con horario)» y escribe los tramos que valen esas fechas (horario de verano). 4. Pulsa Añadir cambio temporal. Entra: las dos fechas (ambas incluidas), el motivo (hasta 200) y cerrado o tramos: el cambio vale todos los días del rango con las mismas horas. Sale: el cambio temporal (schedule.override.created). Gana a la semana, pero pierde contra un día especial de esa fecha (no se avisa de que lo pisa: la precedencia lo resuelve). Si falla: «La fecha de fin no puede ser anterior a la de inicio.» bajo Hasta; «Esas fechas se solapan con el cambio temporal «{motivo}» ({desde}–{hasta}).» bajo Desde (409 schedule.override_overlaps): dos cambios no cubren el mismo día, para que la respuesta no dependa de cuál se lea primero; los rechazos de tramos de SCHEDULE-F02. Implicados: Citas

SCHEDULE-F06 Borrar un día especial o un cambio temporal

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Días especiales Pasos: 1. En la fila, pulsa Eliminar. 2. En «Se eliminará «{nombre}». No se puede deshacer.» pulsa Eliminar (o Cancelar). 3. La fila desaparece; vuelve a regir la semana (o el cambio temporal) en esas fechas. Entra: el día especial o el cambio temporal, por id o por su nombre o motivo (el asistente: «borra el festivo de Navidad»). Sale: la fila y sus tramos borrados en la misma operación (schedule.special_day.deleted, schedule.override.deleted). Su fecha queda libre. Si falla: «Ese día especial no existe en este negocio.» o «Ese cambio temporal no existe en este negocio.» (404), sin avisar de nada; un nombre que vale para varios: «Hay varios con ese nombre: elige uno.» con los candidatos. Implicados: Citas

SCHEDULE-F07 Cargar varios días especiales de golpe

Estado: hecho (asistente y API; sin pantalla) Actor: asistente, API Pantalla: asistente Pasos: 1. Pide al asistente que cargue una lista de festivos con su fecha y su nombre (hasta 366). 2. Cada uno es cerrado salvo que diga is_closed: false con sus tramos; puede marcarse anual. 3. La respuesta dice qué días se crearon y cuáles no, con su motivo. Entra: la lista. Cada día lleva fecha y nombre y, si abre, sus tramos con las reglas de SCHEDULE-F02. Sale: un día especial y un aviso schedule.special_day.created por cada día válido (ninguno si no entra ninguno). Si falla: un día con la fecha ya ocupada o repetida dentro de la lista (already_exists), o abierto sin tramos o con tramos que no valen (invalid_hours), se salta con su motivo y los demás entran. Una lista vacía, de más de 366 días, o con un día sin fecha real o sin nombre, se rechaza entera (422) antes de crear nada. Implicados: ninguno

SCHEDULE-F08 Elegir con qué día empieza la semana

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Ajustes Pasos: 1. En Ajustes, elige en Semana empieza Lunes o Domingo. 2. Pulsa Guardar. 3. La tabla de Horario abre por el día elegido. Entra: el día de inicio (la pantalla ofrece lunes o domingo; el servidor acepta de 1, lunes, a 7, domingo, y la tabla gira con cualquiera). Sale: el ajuste (schedule.settings.updated, solo si cambia). Solo mueve el orden de las filas: no cambia ninguna hora ni lo que contesta SCHEDULE-F10. Si falla: un valor fuera de 1–7 sale debajo del campo y no se guarda nada. Implicados: ninguno

SCHEDULE-F09 Ver la zona horaria con la que se lee el horario

Estado: hecho (servidor y pantalla) Actor: todos Pantalla: Ajustes Pasos: 1. Abre Ajustes; arriba aparece «Zona horaria del negocio» con su nombre (Europe/Madrid). Entra: la zona del Hub. Sale: nada; solo lectura. Horarios no guarda zona propia: las horas son de pared (las 10:00 son las 10:00 antes y después del cambio de hora, sin tocar nada). Si falla: nada que fallar; la zona siempre la da el servidor. Implicados: ninguno

SCHEDULE-F10 Preguntar si el negocio está abierto en un momento

Estado: hecho (asistente y API; sin pantalla) Actor: asistente, API (con la llave del negocio) Pantalla: ninguna Pasos: 1. Se pregunta por un momento: con zona (2026-08-18T08:00:00Z) se pasa al reloj del negocio; sin zona (2026-08-18T10:00, «mañana a las diez» que el asistente escribe así) se lee tal cual; sin nada, contesta para ahora. 2. Contesta: abierto o cerrado, la regla que decidió, la zona usada, el día y la hora locales y un código estable del motivo. Entra: solo el momento; el horario lo lee el servidor de este negocio, nunca lo manda quien pregunta. Sale: nada guardado. is_open, code (exception_closed, exception_hours, open_interval, closed_today, overnight_open, outside_hours o no_hours), source (special_day, override, weekly o none), rule_id, los tramos que lo explican, timezone, today, current_time y, si lo hay, reason (el nombre del día especial o el motivo del cambio que ganó). Orden: día especial de la fecha exacta, día especial anual del mismo día y mes, cambio temporal que cubre la fecha, semana, nada. Se está abierto desde la apertura y se deja de estar justo al cierre (a las 18:00 en punto ya está cerrado). La madrugada de un tramo que pasó de medianoche la víspera cuenta como abierta (overnight_open), venga de la regla que venga. Un día sin regla contesta no_hours: no está abierto. Si falla: un momento que no es una fecha y hora reales: «Esa fecha y hora no son válidas.» (422 bajo when). Implicados: ninguno

SCHEDULE-F11 Dar el horario de unos días a Citas

Estado: hecho (sin pantalla) Actor: sistema (Citas), asistente Pantalla: ninguna Pasos: 1. Citas pide el horario de un rango de días (hasta 366; un solo día vale). 2. Horarios elige para cada día la regla que manda (la misma precedencia que SCHEDULE-F10) y lo contesta. 3. Citas reserva solo si la cita cabe entera en un tramo abierto (el de ese día o la cola de medianoche de la víspera) y en la disponibilidad del profesional que da Personal (staff.availability.for_member, STAFF-F16). Entra: las fechas, en días del negocio. Sale: solo lectura (contrato en «Para quien lo mantiene»). El final de la cita puede coincidir con el cierre. Si falla: un rango al revés o de más de 366 días se rechaza en el campo. Implicados: Citas

SCHEDULE-F12 Partir de una semana por defecto al activar

Estado: hecho (sin pantalla) Actor: sistema Pantalla: ninguna Pasos: 1. Al crear las tablas de Horarios en un negocio, se planta de lunes a viernes de 09:00 a 18:00 y sábado y domingo cerrados. 2. La semana sale como sin confirmar: el aviso amarillo de Horario (SCHEDULE-F03). Entra: nada de la persona; la semana es la del mercado, no la del negocio. Sale: siete días. Solo una vez: una actualización nunca devuelve días que el negocio cambió. Si falla: no hay pantalla; si no hubiera semana, Citas vería no_hours. Implicados: ninguno

SCHEDULE-F13 Corregir un día especial o un cambio temporal

Estado: hecho (servidor y pantalla) Actor: propietario, administrador, responsable, asistente Pantalla: Días especiales Pasos: 1. Pulsa la fila (o Editar): se abre el formulario con lo guardado. 2. Cambia la fecha, el nombre o el motivo, el estado, los tramos, «Se repite cada año» o las notas. 3. Pulsa Guardar. Entra: el día especial o el cambio temporal (por id o por nombre) y lo enviado; lo que no se envía se queda como estaba, y si se envían los tramos se sustituyen todos. Sale: el día o el cambio corregido (schedule.special_day.updated, schedule.override.updated). Guardar sin cambiar nada no avisa. Si falla: los mismos rechazos que al crearlo (la fecha de otro día especial, el rango de otro cambio). Implicados: Citas

Servicios: lo que entra y lo que sale

Todo se puede pedir por las pantallas, el asistente (por voz o por texto, con la sesión de quien habla) y la API, con las mismas reglas y los mismos permisos. Un día de la semana se nombra por su número (0 = lunes) o por su nombre («lunes», «monday»); un día especial, por su id o su nombre; un cambio temporal, por su id o su motivo. Si un nombre vale para varios, se dice cuáles y se pide que elija (schedule.ambiguous_reference).

Lo que ofrece: consultas (leen, no cambian nada; todas se pueden seguir en vivo)

Qué da Quién puede Flujos Servicio
La semana: los siete días en el orden de «Semana empieza», cada uno cerrado, sin definir o con sus tramos, y si está confirmada ver F01, F03 schedule.week.get
Los días especiales con sus tramos, con búsqueda, filtros, orden y páginas (hasta 100) ver F04, F06, F13 schedule.special_day.list
Los cambios temporales con sus tramos, con búsqueda, filtros, orden y páginas (hasta 100) ver F05, F06, F13 schedule.override.list
Los ajustes y la zona horaria del negocio ver F08, F09 schedule.settings.get
¿Está abierto en un momento? ver F10 schedule.business.is_open
El horario de cada día de un rango ver F11 schedule.hours.for_range

Lo que ofrece: acciones (cambian datos)

Qué hace Quién puede Flujos Servicio
Fija los tramos de un día de la semana cambiar el horario F02 schedule.week.set_day
Confirma la semana guardada cambiar el horario F03 schedule.week.confirm
Crea un día especial añadir F04 schedule.special_day.create
Crea hasta 366 días especiales de golpe añadir F07 schedule.special_day.bulk_create
Corrige un día especial cambiar el horario F13 schedule.special_day.update
Borra un día especial borrar F06 schedule.special_day.delete
Crea un cambio temporal añadir F05 schedule.override.create
Corrige un cambio temporal cambiar el horario F13 schedule.override.update
Borra un cambio temporal borrar F06 schedule.override.delete
Guarda los ajustes (solo lo enviado) ajustes F08 schedule.settings.update

Lo que avisa

Aviso Cuándo Qué lleva Servicio
Semana cambiada Guardar un día; confirmar la semana El día (weekday) o nada al confirmar schedule.week.updated
Día especial nuevo Crearlo (uno por día en la carga de golpe) Cuál (id) y su fecha schedule.special_day.created
Día especial corregido Corregirlo con algún cambio Cuál (id) y su fecha schedule.special_day.updated
Día especial borrado Borrarlo Cuál (id) schedule.special_day.deleted
Cambio temporal nuevo Crearlo Cuál (id) y sus fechas schedule.override.created
Cambio temporal corregido Corregirlo con algún cambio Cuál (id) y sus fechas schedule.override.updated
Cambio temporal borrado Borrarlo Cuál (id) schedule.override.deleted
Ajustes cambiados Guardarlos con algún cambio Nada schedule.settings.updated

Los avisos no llevan el nombre de un día especial ni el motivo de un cambio: son texto libre donde el negocio puede escribir nombres de personas.

A qué reacciona y lo que necesita de otras apps

Nada: Horarios no depende de ninguna app (requires = []) ni escucha avisos. De la plataforma usa la zona horaria del negocio.

Quién puede qué

Permiso Propietario Administrador Responsable Empleado Servicio
Ver la semana, los días especiales, los cambios, los ajustes y si está abierto sí sí sí sí schedule.view
Añadir días especiales y cambios temporales sí sí sí no schedule.add
Fijar la semana, confirmarla y corregir días especiales y cambios sí sí sí no schedule.change
Borrar días especiales y cambios temporales sí sí sí no schedule.delete
Cambiar los ajustes sí sí sí no schedule.manage_settings