Descontos e cupons

Campanhas que reduzem o valor da compra. Podem exigir um código digitado pelo cliente (cupom) ou aplicar-se automaticamente quando as condições são atendidas.

Como o módulo se organiza

CampanhaDefine tipo, valor, escopo, validade e limites
CódigosUma campanha do tipo cupom gera N códigos
ResgatesCada uso confirmado vira um registro — a fonte de verdade dos limites

Quem pode acessar

  • discounts.view — ver campanhas.
  • discounts.manage — criar e editar campanhas.
  • discounts.generate_codes sensível — gerar códigos.
  • discounts.view_redemptions — abrir a tela de resgates.

Como acessar

Menu lateral → Descontos. O submenu Resgates mostra os usos.

Listagem de Descontos e cupons do TrackTickets, com busca por nome, filtros por sabor e status, chave Excluídos e a tabela com Nome, Sabor, Tipo, Escopo, Valor e Status.
Listagem de campanhas. As colunas resumem a configuração inteira: Sabor (cupom ou sem código), Tipo (percentual, valor fixo ou preço fixo), Escopo (carrinho, atração, passaporte ou produto) e Valor. O botão Resgates, no topo, leva ao registro de uso — que é a fonte de verdade dos limites.

Tipos de desconto

TipoEfeitoRestrição
Percentual (%)Reduz um percentual do valor.Respeita o teto de abatimento, se definido.
Valor fixo (R$)Reduz um valor absoluto.Respeita o teto de abatimento, se definido.
Preço fixo (R$ no item)Força o preço de um item específico.Proibido no carrinho inteiro — só em escopo de item.

Escopo: sobre o que o desconto incide

EscopoAlvo
Carrinho inteiroNão usa alvo.
AtraçãoExige escolher a atração.
PassaporteExige escolher o passaporte.
ProdutoExige escolher o produto.

Sabor: com ou sem código

  • Cupom (com código) — a campanha gera códigos que o cliente digita. Aceita limites de uso.
  • Sem código — aplica-se automaticamente quando as condições são atendidas.
Trocar de cupom para “sem código” descarta limites

Se a campanha tinha limites de uso total ou por CPF e você a converte para “sem código”, esses limites são descartados. O formulário exibe um aviso amarelo antes de salvar.

Limites e validade

CampoSignificadoEm branco
Teto de abatimento (R$)Limite máximo de desconto por aplicação.Sem teto
Valor mínimo do pedidoElegível só acima deste total.Sem mínimo
PrioridadeMaior prioridade aplica primeiro na cascata.Ordem padrão
Início e fim da validadeJanela em que a campanha vale.Sem limite de data
Uso totalSomatório de usos de todos os códigos.Ilimitado
Usos por CPFQuantas vezes o mesmo CPF pode usar a campanha.Ilimitado
O limite por CPF é da campanha, não do código

Se a campanha permite um uso por CPF, gerar dez códigos não permite que a mesma pessoa use dez vezes: o limite é contado na campanha inteira.

Acúmulo e ordem de aplicação

  • Se algum desconto aplicável for marcado como não acumulável, ele se torna exclusivo: nenhum outro entra.
  • Se todos forem acumuláveis, aplicam-se em cascata por prioridade — cada um sobre o resultado do anterior.
  • O total nunca fica negativo: o piso é zero.
  • O desconto nunca aumenta o valor da compra.
  • O cálculo é determinístico e o arredondamento acontece item a item, sem perder centavos.

Códigos

  • São gerados pelo sistema, sem caracteres que se confundam.
  • São únicos por empresa — o mesmo código pode existir em outra empresa sem conflito.
  • Cada código tem o próprio limite de usos, além do limite geral da campanha.

Resgates

A tela Descontos → Resgates lista cada uso confirmado, com campanha, código, CPF e venda. Ela é a fonte de verdade dos limites — o contador exibido no código é apenas um espelho.

  • O resgate só conta quando a venda é confirmada, nunca em carrinho abandonado.
  • Cancelamento total da venda reverte o resgate e devolve o uso, se o cupom ainda estiver válido.
  • Estorno parcial mantém o resgate — o uso não volta.

Regras de negócio importantes

  • O cupom é revalidado e recalculado no servidor ao gravar a venda. A tela só exibe.
  • Se o carrinho mudar e o cupom deixar de ser elegível (por exemplo, o total cai abaixo do mínimo), a tela deixa de enviar o código para não travar o pagamento; a venda segue pelo valor cheio.
  • Dois resgates simultâneos no último uso: só um passa.
Duas limitações conhecidas
  • O campo “ignora promoção” existe no cadastro e é respeitado apenas na exibição. No cálculo server-side que define o valor cobrado, ele não é considerado — o desconto incide também sobre itens promocionais. Está em avaliação de produto.
  • O desconto manual do PDV grava o valor e o motivo na venda, mas não gera linha de resgate. Ele não aparece no relatório de uso de cupons — é uma lacuna de auditoria conhecida.

Passo a passo: criar uma campanha de cupom

  1. Descontos → Novo.
  2. Dê um nome claro (por exemplo “Black Friday 20%”) e mantenha o status ativo.
  3. Escolha o sabor Cupom (com código).
  4. Escolha o tipo e informe o valor (percentual ou reais).
  5. Defina o escopo e, se for de item, o alvo.
  6. Configure os limites: teto, valor mínimo, validade, uso total e usos por CPF.
  7. Salve e gere os códigos (exige a permissão de geração).
  8. Teste na loja com um pedido de valor próximo ao mínimo, para conferir a elegibilidade.
  9. Acompanhe em Resgates conforme a campanha roda.

Erros e dúvidas comuns

SituaçãoMotivoSolução
O cupom não aplica no checkoutFora da validade, abaixo do mínimo, limite atingido ou escopo não presente no carrinhoConferir cada condição na campanha
O cliente diz que usou e o contador não subiuA venda não foi confirmadaVerificar o status da venda
Preço fixo recusadoFoi configurado no escopo “carrinho inteiro”Mudar o escopo para item
Dois cupons não somaramUm deles não é acumulávelRevisar a configuração de acúmulo

Boas práticas

  • Defina sempre uma validade — campanhas sem data tendem a ser esquecidas ativas.
  • Use limite por CPF em campanhas de aquisição, para evitar concentração.
  • Prefira teto de abatimento em descontos percentuais sobre carrinhos grandes.
  • Acompanhe Resgates durante a campanha; é lá que se enxerga o uso real.

Páginas relacionadas