Regras de preço
O motor que decide quanto custa cada ingresso em cada dia. As regras ficam penduradas em um passaporte e são resolvidas por prioridade — sempre de forma determinística.
Para que serve
Permitir precificação dinâmica sem intervenção diária: fim de semana mais caro, alta temporada com valor próprio, promoção de uma data específica e desconto para quem compra com antecedência.
Quem pode acessar
- Ver as telas:
passports.view. - Criar e editar regras:
passports.manage_rulessensível.
Como acessar
Menu lateral → Passaportes → Regras de preço. Dentro há a listagem e o Calendário de preços.
Os cinco tipos de regra
| Tipo | Quando usar | Campos próprios |
|---|---|---|
| Fixa do passaporte | Preço padrão do ingresso, base para os demais. | Preço cheio (e antecipado). |
| Dia da semana | Sábado e domingo mais caros, por exemplo. | Seleção dos dias da semana. |
| Período | Alta temporada, férias, feriadão. | Data inicial e data final (ambas obrigatórias). |
| Ocorrência específica | Um dia pontual com valor diferente. | A ocorrência escolhida. |
| Promocional | Modificar o preço que já venceu, com desconto ou acréscimo. | Tipo de modificador e valor. |
Modificadores da regra promocional
| Modificador | Efeito | Piso em zero? |
|---|---|---|
| Desconto % | Reduz o preço vencedor em um percentual. | Sim |
| Desconto R$ | Reduz o preço vencedor em um valor fixo. | Sim |
| Acréscimo % | Aumenta o preço vencedor em um percentual. | Não se aplica |
| Preço promocional fixo | Substitui o valor por um preço absoluto. | Não se aplica |
Como o sistema escolhe a regra vencedora
- Filtra as regras aplicáveis àquele passaporte e àquele dia.
- Ordena por prioridade, que é o critério principal — quanto maior, mais forte.
- Desempata pelo tipo, nesta ordem: ocorrência específica > promocional > período > dia da semana > fixa do passaporte.
- Se ainda houver empate, vence a regra criada mais recentemente.
- Aplica o modificador promocional, se a vencedora for promocional, sobre o preço da regra subjacente.
Quando duas regras do mesmo tipo e da mesma prioridade se sobrepõem, a tela mostra um aviso de conflito. O sistema continua resolvendo de forma determinística, mas o alerta indica que a configuração está ambígua para quem lê.
Preço antecipado
Cada regra não promocional pode ter um preço antecipado, aplicado quando a visita é para uma data futura. Compra para hoje paga o cheio.
| Modo | Como funciona |
|---|---|
| Sem antecipado | O antecipado é igual ao cheio. |
| Valor próprio (R$) | Você informa o valor do antecipado diretamente. |
| % de desconto sobre o cheio | O antecipado é o cheio menos o percentual informado. Acima de 100% é recusado. |
- A virada acontece à meia-noite no fuso do parque — na prática, o corte é 23h59 da véspera.
- O passaporte sem regra (só preço base) não tem antecipado.
- Se o antecipado ficar maior que o cheio, o formulário avisa, mas não bloqueia.
- A ordem de cálculo é: patamar (cheio ou antecipado) → modificador da regra → depois cupom, promotor e desconto manual.
Calendário de preços
Ao escolher um passaporte, a tela mostra o preço resolvido dia a dia:
- seletor de passaporte e navegação entre meses;
- cada dia mostra o preço final e um selo do tipo de regra vencedora;
- ao clicar em um dia, um painel lateral mostra o preço resolvido, a explicação da regra vencedora e todas as regras aplicáveis ordenadas por prioridade;
- arrastar e soltar reordena a prioridade das regras, com opção de desfazer;
- ações por regra: editar, duplicar e desativar;
- é possível criar uma exceção para um único dia — o sistema cria uma regra de período com início e fim no mesmo dia.
Regras de negócio
- O servidor recalcula o preço na venda e descarta o valor enviado pela tela.
- Sem preço calculável, a venda é recusada (
price_unavailable) — nunca se vende sem preço. - O preço fica congelado na venda. Alterar a regra depois não muda vendas antigas.
- O cálculo é determinístico: a mesma entrada sempre produz o mesmo resultado.
- O arredondamento é centralizado em duas casas decimais, item a item.
O valor cobrado é sempre o que o servidor calculou. Porém, o rótulo de auditoria que indica se a venda foi “cheia” ou “antecipada” é gravado a partir do que a tela enviou. Na virada da meia-noite, ou com o relógio do cliente fora de hora, o dinheiro fica correto, mas esse rótulo pode divergir. É uma limitação conhecida — considere isso ao analisar relatórios por patamar de preço.
Erros e dúvidas comuns
| Mensagem | Causa |
|---|---|
| Selecione um passaporte | Regra sem passaporte definido |
| Selecione ao menos um dia da semana | Regra de dia da semana sem dias marcados |
| Período exige data inicial e final | Regra de período incompleta |
| Data final menor que a inicial | Intervalo invertido |
| Selecione uma ocorrência | Regra de ocorrência sem data escolhida |
| Selecione o tipo de modificador | Regra promocional sem modificador |
| O desconto antecipado não pode passar de 100% | Percentual inválido |
| Valor inválido / Valor do modificador inválido | Valor negativo ou não numérico |
Boas práticas
- Sempre tenha uma regra fixa do passaporte como base — ela evita “preço indisponível”.
- Use prioridades espaçadas (10, 20, 30) para conseguir inserir regras entre elas depois.
- Confira no calendário de preços antes de publicar uma campanha.
- Prefira desativar uma regra a excluí-la, para manter o histórico do que foi praticado.
- Lembre que cupom e promotor entram por cima do preço da regra — some os efeitos antes de anunciar um valor.