Flujo de Configuración y Cita
Esta página describe el flujo objetivo para preparar una agenda y poder crear citas válidas. El flujo parte de una configuración general, continúa con servicios y empleados, y termina con la creación de una cita validada por backend.
Importante: parte de este flujo representa el comportamiento objetivo. Algunas reglas todavía deben implementarse en el modelo y en AppointmentModelValidator para que sean obligatorias tanto desde la UI como desde REST/API.
Flujo objetivo
Secuencia funcional
- Crear una configuración de agenda por organización o por alcance operativo.
- Definir reglas generales como anticipación mínima, anticipación máxima, regla de asignación y política de aprobación.
- Definir el horario macro de la agenda. Por ejemplo: lunes a viernes de 8:00 a 17:00.
- Relacionar cada servicio con una sola configuración de agenda.
- Configurar cada servicio con duración, precio, intervalo de slot y si requiere aprobación.
- Configurar empleados y definir qué servicios puede atender cada uno.
- Definir horario laboral y días libres del empleado.
- Crear la cita seleccionando empleado, servicio, fecha y slot.
- Validar primero la configuración de agenda y luego las reglas del empleado.
- Guardar la cita como pendiente o aprobada según las reglas de aprobación.
Jerarquía de disponibilidad esperada
| Nivel | Regla | Prioridad |
|---|---|---|
| Configuración de agenda | Define el marco general de operación: anticipación, días permitidos, horarios macro y aprobación. | Debe estar por encima del empleado. Si la agenda general está cerrada, ningún empleado puede abrir disponibilidad. |
| Servicio | Define duración, precio, intervalo y si requiere aprobación. | Debe resolver qué configuración aplica. |
| Empleado | Define servicios que puede atender, horario propio y bloqueos personales. | Solo puede reducir o especializar la disponibilidad de la configuración, no ampliarla. |
| Cita | Consume empleado, servicio, configuración, slot y reglas de conflicto. | Debe ser validada por evento antes de guardarse. |
Reglas pendientes para completar el flujo
- Relacionar cada servicio con una configuración de agenda.
- Validar que un servicio no pertenezca a más de una configuración.
- Agregar horario macro de configuración, similar al horario del empleado.
- Validar anticipación mínima y máxima desde la configuración.
- Aplicar la política de aprobación automática o forzada en
BeforeNew. - Hacer que los días libres de organización puedan aplicar por configuración cuando corresponda.