Os horários semanais dizem ao sistema quando você atende — em quais dias da semana e em quais janelas. É o que define a disponibilidade que o cliente vê no link público.
Onde editar
No painel: Horários. URL /{sua-barbearia}/horarios. Cada barbeiro edita só os próprios.
Como funciona
Você define intervalos recorrentes por dia da semana. Um intervalo tem:
- Dia da semana (segunda, terça, ..., domingo).
- Início (ex: 09:00).
- Fim (ex: 12:00).
Você pode ter múltiplos intervalos no mesmo dia — útil pra pausa de almoço:
- Segunda — 09:00 às 12:00
- Segunda — 14:00 às 19:00
Funciona como uma "janela aberta": durante esses períodos, o cliente pode tentar agendar. Fora deles, indisponível.
Regras
- Início antes do fim (8h-7h é inválido).
- Horários múltiplos de 15 minutos (8:00, 8:15, 8:30 ok; 8:07 não).
- Dois intervalos do mesmo dia não podem se sobrepor (8h-12h e 11h-15h dá erro).
O sistema valida ao salvar e mostra mensagem clara se algo bater.
Editar
A página tem uma tabela com 7 linhas (uma por dia da semana). Em cada linha:
- Botão + adicionar intervalo — adiciona uma janela.
- Botão lixeira ao lado de cada intervalo — remove.
- Campos de horário editáveis na hora.
Ao salvar, todos os intervalos são reenviados — o sistema apaga os antigos e insere os novos. Idempotente.
E os feriados?
Não há toggle de feriado. Pra dia esporádico que você não vai trabalhar (feriado, viagem, consulta médica), use Bloqueios de horário — bloqueio é por data específica, sem mexer no recorrente.
Mudou o horário recorrente e tinha agendamento marcado num horário que agora ficou fora da janela? Os agendamentos existentes não são cancelados. Só a disponibilidade futura fica diferente. Se quiser limpar a agenda também, cancele manualmente cada agendamento (ver Atender, cancelar e marcar no-show).
Como aparece pro cliente
Quando o cliente abre /b/{barbearia}/{barbeiro} e seleciona uma data:
- O sistema busca os intervalos do barbeiro pra aquele dia da semana.
- Pra cada intervalo, gera horários espaçados pelo passo da granularidade (5, 10, 15, 20 ou 30 min).
- Filtra os horários onde o serviço escolhido caberia inteiro (do início até o fim do intervalo).
- Remove horários que colidem com agendamentos já marcados.
- Remove horários que colidem com bloqueios.
- Mostra os que sobraram.
Tudo é calculado on-the-fly — não há tabela pré-gerada de slots. Mudou o horário? A agenda do cliente reflete na hora.
Próximos passos
- Serviços que você atende — sem isso você fica invisível mesmo com horários.
- Bloqueios de horário — pra cobrir folgas pontuais.