Guia de pacotes para tratamentos
Como controlar pacotes de sessões na clínica de estética?
Controle pacotes cadastrando a oferta, registrando a venda na ficha da cliente e baixando uma sessão apenas no atendimento correto; a Bia mantém saldo, validade, estados e idempotência, mas não substitui cobrança ou conciliação financeira.
Um pacote parece simples quando a clínica olha apenas para o número total de sessões. A rotina real precisa responder qual oferta foi vendida, qual preço a cliente comprou, qual atendimento consumiu uma sessão, quanto ainda resta e o que acontece se alguém clicar duas vezes ou tentar usar o pacote depois do vencimento. A Bia separa o catálogo da venda e mantém essas respostas na ficha da cliente. Este guia descreve o fluxo existente, com seus limites: não inventa pagamento recebido, recorrência, estorno ou renovação garantida.
- Catálogo com pacote ou plano mensal e até 365 sessões
- Venda guardada como retrato do nome, total e preço
- Saldo usado sobre o total contratado na ficha da cliente
- Baixa vinculada ao atendimento e protegida por idempotência
- Validade comparada ao dia no fuso da própria clínica
- Estados ativo, concluído, vencido e cancelado com auditoria
1. Separe a oferta do pacote que já foi vendido
Comece pelo catálogo de serviços. A equipe cadastra nome, tipo, quantidade de sessões, preço total, preço por sessão e, quando houver, um serviço-base ativo. O tipo pode ser pacote ou plano mensal, mas essa classificação organiza a oferta e não cria uma cobrança recorrente. A clínica continua responsável por combinar o produto comercial com o contrato que usa.
Um item ativo aparece para uma nova venda; um item desativado deixa de ser oferecido sem desaparecer do histórico. O nome precisa ser único dentro da clínica, e o serviço-base precisa pertencer ao mesmo tenant e estar ativo. Essas validações evitam que um pacote aponte para um serviço de outra operação ou para um serviço que a equipe já retirou do catálogo.
A quantidade de sessões aceita pelo catálogo vai de uma a 365. Escolha um número que a recepção consiga explicar à cliente e revise preço total e preço por sessão antes de publicar a oferta. A Bia guarda os dados do catálogo para a próxima venda; ela não escolhe desconto, não aprova uma promoção e não decide se o tratamento deve ser vendido como recorrência.
- Pacote e plano mensal são tipos do catálogo, não cobranças automáticas.
- Serviço-base e nome passam por validação no servidor.
- Itens desativados continuam registrados para preservar a operação.
2. Registre a venda na ficha da cliente
Na ficha da cliente, a recepção escolhe um pacote ativo e registra o direito às sessões. A venda copia nome, total de sessões e preço para um registro próprio. Esse retrato é importante: se o catálogo mudar amanhã, o pacote que a cliente comprou não muda silenciosamente junto com a oferta futura.
A operação confirma que a cliente pertence à clínica e usa uma permissão de balcão. A tela mostra os itens ativos do catálogo e permite vender um pacote com a quantidade configurada; não é uma tela pública de pagamento. Registrar o pacote não prova que o cartão, o PIX ou o dinheiro foram recebidos.
Depois da venda, confira o nome mostrado, o total contratado e a data de validade, quando existir. Se a clínica precisa anexar nota fiscal, forma de pagamento, assinatura ou política de reembolso, mantenha esse registro no processo financeiro que realmente oferece esses campos. Não preencha a página com uma promessa que o contrato não entrega.
- A venda guarda um retrato imutável do nome, total e preço daquele momento.
- A cliente e o pacote precisam pertencer à mesma clínica.
- Venda registrada não é confirmação de pagamento ou de estorno.
3. Leia o saldo como sessões contratadas e usadas
A ficha da cliente mostra o total contratado, quantas sessões já foram usadas, uma barra de progresso e o estado atual. O servidor devolve o contador depois de cada operação; a clínica não precisa confiar em uma conta que só existe no navegador. Uma venda de dez sessões começa com saldo integral e diminui quando um atendimento válido é associado ao pacote.
Quando restam uma ou duas sessões, a operação tenta criar uma notificação deduplicada de pacote quase no fim. Esse aviso ajuda a recepção a conversar com a cliente no momento certo, mas não cria uma renovação e não garante que a oferta será aceita. A chave de deduplicação evita dez alertas iguais para o mesmo pacote.
A última baixa faz o estado passar para finished, exibido como concluído, e novas utilizações são recusadas. Um saldo não deve ser corrigido com um número inventado para esconder uma baixa perdida. Se a contagem não bate com a ficha ou com o atendimento, revise o registro e a auditoria antes de vender outro pacote.
- Saldo é o total comprado menos as sessões efetivamente usadas.
- Aviso de uma ou duas sessões restantes é apoio operacional, não renovação.
- O estado concluído bloqueia uma nova baixa além do total.
4. Baixe uma sessão no atendimento certo
A baixa exige um atendimento existente da mesma cliente. A recepção escolhe o pacote na ficha do cliente ligada ao atendimento e envia o identificador daquela operação. O servidor confirma o vínculo antes de alterar o saldo; abrir um pacote de outra cliente ou usar um atendimento de outro tenant retorna uma resposta segura.
A mesma conclusão não pode baixar duas vezes a sessão do pacote porque a operação usa uma chave idempotente.
A transação bloqueia o pacote, verifica validade e saldo, incrementa sessionsUsed e grava o uso com pacote, cliente, atendimento, estado, total e responsável. A chave de idempotência e o atendimento protegem a repetição. Se a mesma tentativa chegar de novo com os mesmos dados, o servidor devolve o resultado já registrado. Se a combinação for diferente, recusa o conflito em vez de consumir outra sessão.
- Uma sessão só é baixada por atendimento da mesma cliente.
- Locks e chave idempotente protegem duas tentativas concorrentes.
- Cada uso deixa registro de auditoria e uso do pacote.
5. Confira validade antes de prometer saldo
Um pacote pode não ter data de validade ou pode receber uma data civil definida pela clínica. Ao listar os pacotes e antes de usar uma sessão, o servidor compara a data com o dia no fuso configurado do tenant. Isso evita que a madrugada UTC do servidor encerre um pacote antes do dia que a recepção ainda considera válido.
Quando a data passa, o pacote ativo é marcado como expired, exibido como vencido, e a transição fica auditada. A checagem acontece também dentro da operação de uso. Se a virada do dia ocorrer entre a leitura e a atualização, a operação não força uma baixa fora do prazo.
Antes de confirmar uma sessão, leia validade, estado e saldo juntos. Uma cliente com pacote vencido precisa de uma decisão comercial real; a aplicação não estende prazo, não converte o saldo para dinheiro e não reabre um pacote automaticamente. Se a clínica deseja política de tolerância, registre como regra aprovada, não como comportamento presumido.
- Data civil é comparada no fuso horário configurado pela clínica.
- Vencimento é auditado e impede uso posterior.
- Sem data não há expiração automática.
6. Diferencie ativo, concluído, vencido e cancelado
Ativo significa que ainda pode haver baixa, desde que atendimento, validade e saldo permitam. Concluído significa que todas as sessões foram usadas. Vencido significa que a data civil passou. Cancelado é uma decisão de gestão que encerra o pacote sem apagar o registro. A ficha apresenta esses estados separadamente para não misturar falta de saldo com decisão administrativa.
O cancelamento preserva nome, total, sessões usadas, validade e auditoria. A ação exige permissão de gestão e bloqueia a linha antes de atualizar, de modo que um cancelamento concorrente com uma baixa não sobrescreva uma operação que acabou de terminar. Se o pacote já foi cancelado, uma nova tentativa é rejeitada em vez de criar outro histórico.
Não use o estado do pacote para representar pagamento, autorização clínica ou presença no atendimento. A baixa de sessão e a conclusão do atendimento são operações relacionadas, mas não são a mesma coisa. O pacote registra o uso que a equipe solicitou; os demais estados devem continuar nos contratos que os definem.
- Cada estado responde a uma pergunta operacional diferente.
- Cancelar preserva o registro e não apaga o saldo histórico.
- Pagamento, atendimento concluído e pacote são contratos separados.
7. Faça a conferência quando o pacote estiver perto do fim
Quando a notificação indicar uma ou duas sessões restantes, abra a ficha e confira os atendimentos usados. Compare nome, cliente, datas e responsável com o que a recepção registrou. O aviso é deduplicado e nasce fora da transação principal como melhor esforço; se o provedor de notificações estiver indisponível, a baixa do pacote não deve ser tratada como renovação automática.
A conversa de renovação continua humana. A clínica pode oferecer outro pacote, ajustar a oferta futura ou decidir que a cliente não quer continuar. O sistema não envia cobrança, não agenda recorrência e não marca uma nova venda sem que a equipe escolha o item e registre a operação. Descrever esse limite é mais seguro do que prometer uma recuperação de receita que o código não mede.
Se a contagem parecer errada, não use a venda seguinte para compensar uma sessão. Verifique a auditoria, o atendimento vinculado e a idempotencyKey usada na baixa. Um conflito pode indicar repetição, pacote errado ou atendimento de outra cliente; cada caso pede correção explícita e deixa uma explicação melhor para a próxima pessoa.
- Aviso de saldo baixo orienta a conversa, mas não cria uma venda.
- Conferência deve comparar ficha, atendimento e auditoria.
- Não compense uma baixa suspeita alterando a próxima venda.
8. Feche a rotina sem prometer cobrança ou estorno
No fechamento semanal, revise pacotes ativos, vencidos, concluídos e cancelados. Veja quais têm saldo e quais atendimentos consumiram uma sessão. A API aplica tenant, vínculo da cliente e permissões no servidor; esconder o botão não seria isolamento. O histórico permanece disponível para a dona explicar o que aconteceu sem reescrever o passado.
A venda usa snapshot, a baixa usa transação e idempotência, a validade usa o fuso da clínica e o cancelamento é auditado. Esses mecanismos resolvem rastreabilidade do uso, não todo o processo financeiro. Cobrança recorrente, conciliação, estorno, nota fiscal e cálculo de comissão devem ser tratados onde o sistema realmente possui esse contrato.
O resultado útil é uma frase que a recepção consegue repetir: qual pacote foi vendido, quantas sessões restam, qual atendimento consumiu a última baixa e qual estado exige uma decisão. A Bia organiza esse retrato e impede uma repetição silenciosa. Ela não inventa pagamento, cliente, renovação ou resultado clínico.
- Relatórios de pacote devem ser lidos junto dos registros financeiros reais.
- Isolamento por tenant e permissões são verificados no servidor.
- Cobrança recorrente, estorno e nota fiscal ficam fora desta rotina.
O que o controle de pacotes faz — e o que fica separado
A Bia registra ofertas, vendas, saldo, validade, uso idempotente e estados. A página não promete cobrança, recorrência, estorno, conciliação ou renovação automática.
- O catálogo aceita pacote ou plano mensal, mas o tipo mensal não gera cobrança recorrente.
- A venda guarda nome, total e preço, mas não confirma recebimento ou forma de pagamento.
- A baixa exige atendimento da mesma cliente e não conclui o atendimento por conta própria.
- Validade, saldo e estados impedem usos inválidos; sem data não existe vencimento automático.
- Cancelamento preserva histórico, mas não estorna dinheiro nem reabre sessões.
Perguntas frequentes
Dúvidas sobre pacotes e sessões na clínica
Editar o catálogo muda um pacote já vendido?
Não. A venda guarda um retrato do nome, total de sessões e preço daquele momento. A edição vale para novas vendas.
Uma repetição pode baixar duas sessões?
Não na mesma operação. O atendimento e a chave de idempotência encontram o uso já gravado; combinações conflitantes são recusadas.
O que acontece ao usar a última sessão?
O contador chega ao total e o pacote passa para concluído. Uma nova utilização é bloqueada.
O plano mensal cobra automaticamente?
Não. Plano mensal é um tipo do catálogo. Cobrança recorrente, pagamento e conciliação não fazem parte deste fluxo.
Cancelar apaga o pacote?
Não. O registro permanece cancelado com saldo, datas e auditoria preservados. Cancelamento não é estorno.
Teste o caminho completo antes da primeira venda
Crie um serviço e um pacote de teste, registre uma cliente fictícia e confira venda, atendimento e saldo antes de usar a rotina real.
Criar minha conta