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.