Skip to content

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.


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.

  • 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