Proteção contra agendamentos duplicados

Agendamento Público — atualizado em 15/09/2026

Funcionalidade disponível no plano PRO MAX.

O sistema de agendamento público da GOFOTÓGRAFO possui proteção em múltiplas camadas para evitar que dois clientes consigam agendar o mesmo horário simultaneamente.

Por que a proteção é necessária

Em situações de alta demanda (ex: você abre a agenda para uma data popular), múltiplos clientes podem tentar agendar o mesmo horário ao mesmo tempo. Sem proteção, isso geraria conflitos — dois clientes confirmados para o mesmo horário.

Como a proteção funciona

Camada 1 — Verificação antes da seleção (frontend):

Antes de exibir um horário como disponível, o sistema consulta o banco de dados em tempo real para confirmar que ainda não foi reservado.

Camada 2 — Verificação no momento do agendamento (servidor):

Quando o cliente confirma o agendamento, a Edge Function de processamento verifica novamente no servidor se o horário ainda está disponível antes de criar o agendamento.

Camada 3 — Constraint de banco de dados:

O banco de dados possui uma restrição técnica que impede fisicamente dois agendamentos confirmados no mesmo horário e dia. Mesmo que dois processamentos ocorram simultaneamente, apenas um será aceito.

Camada 4 — Operação atômica:

O bloqueio do horário e a criação do agendamento ocorrem em uma única operação indivisível no banco, eliminando a possibilidade de condição de corrida (race condition).

O que o cliente vê se o horário já foi reservado

Se dois clientes tentarem o mesmo horário e o segundo chegar alguns segundos depois:

  • O segundo cliente verá uma mensagem informando que o horário não está mais disponível
  • O calendário se atualiza mostrando os horários ainda disponíveis
  • O cliente é convidado a escolher outro horário

Proteção contra agendamentos duplicados do mesmo cliente

O sistema também detecta se o mesmo cliente tenta agendar mais de uma vez:

  • Verificação pelo e-mail informado no formulário
  • O sistema vincula o agendamento ao cadastro existente do cliente ao invés de criar duplicatas

💡 A proteção é automática e transparente — você não precisa configurar nada. Mas se notar um caso suspeito de duplicação, verifique o histórico do card no workflow para entender a origem do agendamento.