A tela /clientes/[id] é o dossier completo de um cliente. Tudo que aconteceu com ele, num lugar só.
Bloco 1 — Dados pessoais
No topo, os dados do cadastro:
- Nome (grande, com avatar)
- Telefone (com botão "abrir conversa WhatsApp")
- CPF
- Aniversário (com countdown "faltam 12 dias")
- Email, endereço
E a barra de estatísticas chave:
- 🟢 Total de visitas (incrementado a cada presença marcada)
- 📅 Última visita ("hoje", "há 5 dias", "há 3 meses")
- 📞 Última conversa (timestamp da última msg trocada)
- ⭐ Cartão fidelidade (X de Y selos)
Bloco 2 — Tags
Logo abaixo, chips coloridos com as tags atribuídas. Click numa tag pra ver detalhe ou remover. Botão (+) pra adicionar nova.
Detalhes em Tags e segmentação.
Bloco 3 — Agendamentos
Lista cronológica:
- Próximos no topo (azul/verde)
- Histórico abaixo (verde-escuro = compareceu, vermelho = faltou, cinza = cancelado)
Cada linha mostra data, hora, serviço, status. Click abre detalhe do agendamento.
Bloco 4 — Conversas
Lista de conversas com esse cliente. Click leva pra /conversas/[id] com a timeline aberta.
Mostra:
- Quando foi a conversa
- Quantas mensagens trocadas
- Status (ativa/encerrada/arquivada)
Bloco 5 — Cartão fidelidade
Se o cliente tem cartão ativo, mostra:
- Progresso (ex: "5 de 10 selos") com barra visual
- Tipo de regra (visitas ou valor gasto)
- Bônus ("Ganha 1 corte grátis")
- Validade (quando os selos expiram)
- Botão "Resgatar" (se completou)
Detalhes em Fidelidade.
Bloco 6 — NPS / Feedback
Notas das pesquisas NPS que cliente respondeu:
- Última nota dada (1-10)
- Comentário (se deu)
- Data
- Histórico de respostas
Útil pra ver: cliente está satisfeito? Recomendaria?
Bloco 7 — Notas internas
Campo de texto livre que só você (e outros donos) veem — cliente nunca vê. Útil pra:
- "Cabelo quebradiço, recomendado tratamento"
- "Marido se chama João, sempre vem junto"
- "Aniversário do filho dia 12, gosta de brindes"
- "Cuidado: chegou irritada da última vez"
Click em qualquer lugar do bloco abre edição inline.
Trigger SQL — total_visitas + ultima_visita
Os campos total_visitas e ultima_visita não são editáveis manualmente. Eles são atualizados via trigger no banco quando você marca presença num agendamento (status='concluido').
Se você precisa corrigir manualmente (caso raro), abre suporte — fazemos via SQL direto.
Histórico de cobranças (se Asaas integrado)
Quando você usa cobranças via Asaas, aparece também:
- Lista de cobranças (Pix e cartão)
- Status de cada uma (pago, pendente, vencido)
- Total faturado com este cliente
Detalhes em Cobranças (categoria futura).