Criar minha reserva

Disponibilidade

A disponibilidade é calculada. Nunca gerada.

Nada de um botão "gerar calendário" que alguém esquece de clicar, nem milhares de linhas criadas só por precaução. Cada data que um cliente vê é resolvida na hora, a partir de regras, seja para amanhã ou daqui a dez anos.

  • Na hora Cada data é calculada no momento da consulta, nunca pré-gerada
  • 3 Formas de vender o tempo: horário fixo, janela de horas ou o dia inteiro
  • Seu próprio fuso horário O prazo limite de reserva é calculado onde a experiência acontece, não no servidor

Três formas de vender o tempo. Duas formas de repeti-lo.

Um único motor decide quando alguém entra e com que frequência isso se repete, sem precisar de uma configuração diferente para cada caso.

01

Horário fixo

Saídas exatas do dia, como um tour às 10h00 e outro às 15h00. O cliente escolhe um horário específico, não uma faixa.

02

Janela de horas

Várias janelas de chegada por dia, como "8h00 às 11h00" ou "13h00 às 18h00". O cliente escolhe a janela, não um minuto exato.

03

Dia inteiro

Sem franjas: o produto fica aberto o dia todo, como uma entrada geral para um museu. O cliente reserva a data, não um horário.

04

Recorrente ou datas fixas

Um horário semanal que se repete sem fim, ou uma lista curta de datas exatas para algo pontual, como um show ou uma sessão única.

Como se resolve

Como se decide se uma data está aberta

Cinco passos, exatamente nesta ordem, toda vez que alguém consulta o calendário.

  1. 1

    Exceção de calendário

    Existe uma exceção configurada para este dia exato? Um fechamento pontual ou um horário especial sempre vence qualquer regra recorrente.

  2. 2

    A regra recorrente mais específica

    Se não há exceção, busca-se qual regra se aplica àquele dia da semana. Se duas regras se sobrepõem (uma geral e uma sazonal), vence a mais específica: a que tem data de início e fim próprias.

  3. 3

    Franjas horárias

    A regra ou exceção retorna seus horários, interpretados de acordo com o modo de disponibilidade da opção: horário fixo, janela ou dia inteiro.

  4. 4

    Prazo limite de reserva

    Cada franja é comparada com o prazo limite configurado, calculado no fuso horário do produto, nunca no do servidor. Se esse instante já passou, a franja deixa de ser oferecida mesmo que ainda faltem horas para esse horário local.

  5. 5

    Horizonte máximo

    Se a opção tem um horizonte de reserva (por exemplo, 90 dias), qualquer data além desse limite nem chega a ser calculada.

A API, tal como é

O que o checkout vê é o que você vê aqui

A mesma consulta que resolve o calendário também resolve o preço final, já com impostos, e a capacidade restante de cada franja. Não existe um "a partir de" não confirmado à parte: isto é exatamente o que o checkout usa para cobrar.

GET /api/v1/products/observation-deck/calendar
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
{
  "date": "2026-08-14",
  "is_open": true,
  "min_price_display": "€42.00",
  "slots": [
    {
      "start_time": "18:00",
      "end_time": null,
      "is_open": true,
      "remaining_capacity": 12,
      "min_price_display": "€42.00"
    },
    {
      "start_time": "20:30",
      "end_time": null,
      "is_open": true,
      "remaining_capacity": 4,
      "min_price_display": "€48.00"
    }
  ]
}
200 Disponibilidade resolvida

O detalhe que quase ninguém testa

Um show não pode perder o próprio dia

As datas são sempre comparadas como texto de calendário ("2026-08-14"), nunca como instantes absolutos. Comparadas como instantes, uma opção de "datas fixas" (um show, por exemplo) podia deixar de resolver como reservável justamente no seu próprio dia, dependendo de qual lado do fuso UTC o produto ficasse. Encontramos esse caso, documentamos e fechamos com uma bateria de testes dedicada. Um produto sem franja horária (dia inteiro) também não fica sem prazo limite: seu limite é ancorado ao fim do dia local, não a um instante arbitrário.

Perguntas frequentes

Vence a mais específica. Se há uma regra geral para todas as terças e outra sazonal que também cobre aquela terça com data de início e fim próprias, aplica-se a sazonal. As regras são ordenadas por especificidade antes de resolver, então não importa qual foi criada primeiro.

Contra o horário exato da franja, no fuso horário do próprio produto. Uma franja das 8h00 com duas horas de antecedência deixa de aparecer às 6h01, calculado onde a experiência acontece, não onde está o servidor. Para um produto sem franja horária, o prazo é ancorado ao fim do dia local.

Não. Nada é pré-gerado ou materializado. Cada consulta calcula as datas e franjas na hora, a partir das regras e exceções vigentes, então um horário configurado hoje continua funcionando exatamente igual daqui a dez anos, sem nenhuma manutenção.

Sim. A mesma consulta resolve o calendário, o preço final com impostos e a capacidade restante de cada franja, considerando o pior caso entre os tipos de ingresso que compartilham capacidade. É exatamente o que o checkout usa para cobrar, não uma estimativa à parte.

Sim, com uma exceção de calendário. Dá para fechar uma data pontual, como um feriado, ou dar a ela um horário diferente, como um horário reduzido no Réveillon, sem alterar a regra recorrente que rege o resto do ano.

Mais reservas. Mais canais. A mesma calma.

A Tiqory mantém disponibilidade, preços, pagamentos e acesso a trabalhar juntos enquanto a sua operação cresce. Conte-nos para onde vai; mostramos como chegar lá sem recomeçar.