Níveis de Fidelidade
O sistema de níveis de fidelidade recompensa clientes regulares com descontos automáticos baseados em sua atividade acumulada. Conforme os membros usam a lan house (gastando dinheiro, fazendo login, comprando pacotes ou fazendo pedidos) eles ganham pontos de fidelidade. Quando o total de pontos ultrapassa o limite de um nível, eles avançam para um nível superior e recebem um desconto maior nos preços das sessões.
Estrutura do Nível
Cada nível de fidelidade é definido por quatro campos:
| Campo | Descrição |
|---|---|
code |
Um código curto e único para o nível (ex.: silver, gold, vip). Usado internamente para identificação e em respostas da API. |
name |
Um nome de exibição legível (ex.: "Membro Prata", "Membro Ouro"). Mostrado no perfil do membro e na tela de bloqueio do cliente. |
threshold_points |
O número mínimo de pontos de fidelidade que um membro deve acumular para se qualificar para este nível. |
discount_bps |
O desconto aplicado ao preço das sessões, expresso em pontos base. 100 BPS equivale a 1%. Um valor de 500 significa 5% de desconto. |
Os níveis são ordenados pelo valor de threshold_points. Um membro pertence ao nível mais alto para o qual atende o limite de pontos.
Descontos em Pontos Base (BPS)
Os descontos são expressos em pontos base (BPS) ao invés de porcentagens para evitar erros de arredondamento de ponto flutuante em cálculos financeiros. Um ponto base equivale a 0,01%, ou um centésimo de porcento.
Valores comuns de desconto:
| Valor BPS | Porcentagem | Exemplo em tarifa de 1000 unidades/hora |
|---|---|---|
| 250 | 2,5% | Membro paga 975 por hora |
| 500 | 5% | Membro paga 950 por hora |
| 1000 | 10% | Membro paga 900 por hora |
| 1500 | 15% | Membro paga 850 por hora |
| 2000 | 20% | Membro paga 800 por hora |
Quando um membro com desconto de nível inicia uma sessão, o motor de preços reduz a tarifa base por hora pelo discount_bps do nível antes de calcular os custos dos segmentos.
Eventos de Fidelidade
Membros ganham pontos através de eventos de fidelidade. Cada evento registra uma alteração de pontos e a atividade que a acionou:
| Tipo de Evento | Descrição | Pontos Típicos |
|---|---|---|
spend |
O membro pagou por uma sessão (pós-paga ou dedução de carteira). Os pontos são proporcionais ao valor gasto. | Varia conforme o valor gasto |
usage |
O membro usou um PC ou console para uma sessão, independente do pagamento. Os pontos são baseados na duração do uso. | Varia conforme os minutos usados |
visit |
O membro fez login em um PC cliente. Um bônus fixo por visita, incentivando a frequência regular. | Fixo por visita |
topup |
O membro adicionou fundos à sua carteira. Os pontos refletem o valor da recarga. | Varia conforme o valor da recarga |
order |
O membro fez um pedido de produto (comida, bebidas, etc.). Os pontos são proporcionais ao total do pedido. | Varia conforme o total do pedido |
adjustment |
Um ajuste manual de pontos feito por um administrador. Usado para correções, promoções ou recompensas especiais. | Qualquer valor (positivo ou negativo) |
Cada registro de evento de fidelidade inclui:
- points_delta: O número de pontos ganhos (positivo) ou perdidos (negativo) neste evento.
- amount_minor: O valor monetário associado ao evento (em unidades menores de moeda), se aplicável.
- minutes_delta: O número de minutos associados ao evento, se aplicável.
- source_entity / source_entity_id: Uma referência à sessão, pedido ou transação que gerou o evento.
- event_at: O timestamp de quando o evento ocorreu.
Progressão de Nível
A progressão de nível funciona da seguinte forma:
- Um membro realiza uma atividade (sessão, compra, login, etc.).
- O sistema cria um evento de fidelidade com o
points_deltacorrespondente. - O total de pontos do membro é recalculado como a soma de todos os valores
points_deltados seus eventos de fidelidade. - O sistema verifica se o novo total atinge o limite para um nível superior.
- Se o membro se qualifica para um novo nível, o campo
tieré atualizado e o novo desconto entra em vigor na próxima sessão.
A atribuição de nível também pode ser definida manualmente por um administrador, sobrescrevendo o cálculo automático.
Como Descontos de Nível se Aplicam ao Preço das Sessões
Quando o motor de preços calcula o custo de um segmento de sessão para um membro:
- O preço base por hora é determinado pela faixa de preços ativa.
- Se o membro tem um nível com valor
discount_bps, o preço base é reduzido:preço_descontado = preço_base * (10000 - discount_bps) / 10000. - Adicionalmente, descontos individuais no nível do membro (
member_discount_bpsno registro do membro) são aplicados se presentes. - A tarifa final descontada é usada para calcular o custo do segmento.
Descontos de nível e descontos individuais do membro podem acumular, concedendo ao membro o benefício combinado de ambos.
Criando e Gerenciando Níveis
Para criar um novo nível:
- Navegue até Configurações e abra a seção Preços (ou a área dedicada de gerenciamento de níveis).
- Clique em Adicionar Nível.
- Informe o código (único, minúsculo), nome (rótulo de exibição), pontos limite e desconto BPS.
- Salve o nível.
Para editar um nível existente, selecione-o na lista e modifique qualquer campo. Alterações no discount_bps de um nível entram em vigor para todos os membros atribuídos a esse nível a partir da próxima sessão.
Para excluir um nível, remova-o da lista. Membros que estavam atribuídos ao nível excluído voltarão para o próximo nível inferior para o qual se qualificam com base nos seus pontos.
Exemplo de Configuração de Níveis
Uma configuração típica de três níveis pode ser assim:
| Código | Nome | Pontos Limite | Desconto BPS |
|---|---|---|---|
bronze |
Bronze | 0 | 0 |
silver |
Prata | 500 | 500 |
gold |
Ouro | 2000 | 1000 |
vip |
VIP | 5000 | 1500 |
Nesta configuração, um novo membro começa no Bronze (sem desconto). Após acumular 500 pontos de visitas, gastos e pedidos, ele automaticamente sobe para Prata com 5% de desconto. Com 2000 pontos atinge Ouro (10%) e com 5000 pontos alcança o status VIP (15%).