Manual - Bloqueios de Reservas
Como funcionam os bloqueios de horário de um local de reserva, em linguagem de negócio. Sem código.
O que é um bloqueio
Um bloqueio impede que sejam feitas reservas em um local durante um determinado período. Exemplos de uso: manutenção da quadra, evento interno, horário reservado a um mensalista.
Um bloqueio é uma única configuração, mesmo quando se repete por vários dias. Você define:
- Data inicial e data final — o intervalo de dias que o bloqueio cobre.
- Hora inicial e hora final — a faixa de horário bloqueada em cada dia (opcional).
- Dias da semana — opcional; restringe o bloqueio a dias específicos (ex: só sextas).
Regras principais
- O horário se repete a cada dia do intervalo. Um bloqueio "de 03/07 a 31/12, das 15h às 16h" significa "das 15h às 16h em cada dia", e não "ocupado direto de 03/07 até 31/12".
- A data final é inclusiva — o último dia também é bloqueado.
- Sem horário definido → o dia inteiro fica bloqueado.
- Dias da semana vazio → vale para todos os dias do intervalo. Preenchido → vale só nesses dias.
- A data inicial não pode ser depois da data final.
- Bloqueio com menos de 3 dias não pode escolher dias da semana (não faz sentido recorrência num período tão curto).
- Só reservas ativas (aprovadas, em check-in ou aguardando). Reservas canceladas e reprovadas são ignoradas.
- A reserva precisa cair no mesmo dia e na mesma faixa de horário do bloqueio. Reserva em horário diferente do mesmo dia não impede o bloqueio.
Quando um bloqueio é recusado
Ao criar ou editar um bloqueio, o sistema recusa se já existir reserva ativa que caia dentro da faixa bloqueada. O que entra nessa conta:
Mensagem exibida: "Não é possível criar um bloqueio quando já existem reservas para esse período".
Exemplos
Exemplo 1 — Bloqueio de um único dia
Quadra A — 03/07/2026, das 15h às 16h
|
Reserva |
Bloqueio recusa? |
|
02/07 das 15h30 |
❌ Não (dia anterior) |
|
03/07 das 15h00 às 15h30 |
✅ Sim (dentro da faixa) |
|
03/07 das 15h30 às 15h45 |
✅ Sim (dentro da faixa) |
|
03/07 das 14h às 15h |
❌ Não (encosta nas 15h, mas não invade) |
|
03/07 das 16h às 17h |
❌ Não (encosta nas 16h, mas não invade) |
|
Reserva |
Bloqueio recusa? |
|
03/07 das 17h às 18h |
❌ Não (outro horário) |
|
04/07 das 15h30 |
❌ Não (dia seguinte) |
|
10/07 das 15h30 |
❌ Não (outro dia) |
Exemplo 2 — Mensalista (recorrente, várias semanas)
Quadra A — toda sexta, das 15h às 16h, de 03/07 a 31/12/2026
Na prática, o bloqueio acontece assim:

|
Reserva |
Bloqueio recusa? |
|
Sexta 03/07 das 15h30 |
✅ Sim |
|
Sexta 03/07 das 17h às 18h |
❌ Não — mesmo dia, mas fora das 15h–16h |
|
Sábado 04/07 das 15h30 |
❌ Não — sábado não é dia bloqueado |
|
Domingo 05/07 das 15h30 |
❌ Não — domingo não é dia bloqueado |
|
Terça 07/07 das 15h30 |
❌ Não — terça não é dia bloqueado |
|
Sexta 10/07 das 15h15 |
✅ Sim — outra sexta, dentro da faixa |
|
Sexta 17/07 das 15h45 |
✅ Sim — outra sexta, dentro da faixa |
|
Sexta 24/07 das 19h |
❌ Não — sexta, mas fora das 15h–16h |
|
Sexta cancelada 31/07 das 15h |
❌ Não — cancelada não conta |
Era exatamente aqui que estava o problema antigo: o sistema tratava o mensalista como "ocupado sem parar de julho a dezembro" e recusava reservas das 17h, 19h etc. Agora respeita o horário de cada dia.
Exemplo 3 — Bloqueio de dia inteiro
Quadra A — de 03/07 a 06/07/2026, sem horário definido
Os dias 03, 04, 05 e 06/07 ficam totalmente bloqueados — qualquer reserva nesses dias é recusada.
|
Reserva |
Bloqueio recusa? |
|
02/07 das 10h |
❌ Não (dia anterior) |
|
03/07 das 08h |
✅ Sim |
|
04/07 das 20h |
✅ Sim |
|
05/07 das 13h |
✅ Sim |
|
06/07 às 23h |
✅ Sim (último dia) |
|
07/07 das 09h |
❌ Não (dia seguinte) |
Exemplo 4 — Bloqueio que passa da meia-noite
Quadra A — de 03/07 a 05/07/2026, das 22h às 02h
Como o fim (02h) é antes do início (22h), o sistema entende que a faixa atravessa para a madrugada do dia seguinte:
![]() |
|
Reserva |
Bloqueio recusa? |
|
03/07 das 21h |
❌ Não — antes das 22h |
|
03/07 das 23h |
✅ Sim (noite de 03) |
|
04/07 à 1h da manhã |
✅ Sim — madrugada faz parte da noite de 03 |
|
04/07 às 3h da manhã |
❌ Não — já passou das 2h |
|
04/07 ao meio-dia |
❌ Não (fora de qualquer faixa) |
|
04/07 das 23h |
✅ Sim (noite de 04) |
|
05/07 à 1h da manhã |
✅ Sim — madrugada da noite de 04 |
|
05/07 das 23h |
✅ Sim (noite de 05) |
|
06/07 à 1h da manhã |
✅ Sim — sobra da última noite (05/07) |
|
06/07 das 22h |
❌ Não — a noite de 06 não está no bloqueio (terminou em 05) |
Ponto-chave: a madrugada pertence à noite anterior, não ao dia em que o relógio vira. Por isso 1h da manhã de 04/07 conta como parte do bloqueio que começou em 03/07.
Exemplo 5 — Vários dias, com horário, sem dia da semana
Quadra A — de 03/07 a 06/07/2026, das 15h às 16h, todos os dias
Sem dia da semana selecionado, a faixa das 15h às 16h é bloqueada em todos os dias do intervalo:
![]() |
|
Reserva |
Bloqueio recusa? |
|
02/07 das 15h30 |
❌ Não (dia anterior, fora do intervalo) |
|
03/07 das 15h30 |
✅ Sim |
|
04/07 das 15h15 |
✅ Sim — sábado também, não há restrição de dia |
|
05/07 das 15h45 |
✅ Sim — domingo também |
|
05/07 das 10h |
❌ Não (mesmo dia, fora das 15h–16h) |
|
06/07 das 15h30 |
✅ Sim (último dia) |
|
06/07 das 17h |
❌ Não (fora das 15h–16h) |
|
07/07 das 15h30 |
❌ Não (dia seguinte, fora do intervalo) |
Diferença para o Exemplo 2: lá só as sextas valiam; aqui, todo dia do intervalo está bloqueado na faixa das 15h às 16h.

