Módulo 3 - Motor de Agendamento & Recorrência (scheduling)
Módulo 3: Motor de Agendamento & Recorrência (scheduling)
Section titled “Módulo 3: Motor de Agendamento & Recorrência (scheduling)”O módulo Scheduling é o motor de agendamentos do Prime Crown. Ele cuida do ciclo de vida das solicitações de serviço, garante a não sobreposição de horários e projeta agendamentos futuros recorrentes.
📅 1. Serviços de Regra de Negócio
Section titled “📅 1. Serviços de Regra de Negócio”A. AvailabilityService (Janelas de Horários Livres)
Section titled “A. AvailabilityService (Janelas de Horários Livres)”- Função: Identifica horários disponíveis para agendamento em um determinado dia.
- Buffer de Trânsito (Transit Buffer): Adiciona automaticamente 30 minutos de deslocamento antes e depois de cada limpeza para permitir que a funcionária viaje entre os imóveis com segurança.
B. ConflictService (Prevenção de Sobreposição)
Section titled “B. ConflictService (Prevenção de Sobreposição)”- Função: Audita qualquer nova solicitação ou reagendamento.
- Validações:
- Garante que a funcionária alocada não tenha dois serviços no mesmo horário.
- Verifica se o cliente possui mais de um agendamento no mesmo endereço simultaneamente.
C. RecurrenceService (Motor de Recorrência)
Section titled “C. RecurrenceService (Motor de Recorrência)”- Função: Projeta os próximos atendimentos com base na frequência contratada:
- Weekly: Agenda a cada 7 dias no mesmo dia da semana.
- Bi-weekly: Agenda a cada 14 dias.
- Monthly: Agenda na mesma semana/dia do mês seguinte.
🛠️ 2. Arquivos Principais do Módulo
Section titled “🛠️ 2. Arquivos Principais do Módulo”- Serviço de Disponibilidade:
src/features/scheduling/services/AvailabilityService.ts - Serviço de Conflitos:
src/features/scheduling/services/ConflictService.ts - Serviço de Recorrência:
src/features/scheduling/services/RecurrenceService.ts - Página da Agenda:
src/pages/Schedule.tsx