Knowledge Base · 04

Clientes: ficha, histórico, RGPD e portal self-service

Como o FIRO modela o relacionamento com o cliente final: ficha completa com NIF e consentimento de marketing, histórico, notas internas, importação CSV, verificação por PIN e portal /minha-conta.

Leitura de 6 min · Conteúdo factual extraído do produto

  • Ficha completa: email, telefone, NIF, data de nascimento, marketing
  • Histórico de marcações, transações, notas internas e auditoria
  • Verificação de cliente por PIN antes de finalizar marcação
  • Portal /minha-conta com cancelamentos e RGPD self-service
01

A ficha do cliente

O modelo Customer guarda tudo o que importa para reconhecer e contactar:

  • Email e telefone (com código de país e número sanitizados).
  • NIF português (validado quando preenchido).
  • Nome e data de nascimento.
  • Última visita (last_visit) — actualizada automaticamente.
  • Notas internas em texto livre — para o profissional registar contexto que não cabe no histórico estruturado.

Estado do cliente

  • active — cliente activo no sistema.
  • is_blacklisted — cliente bloqueado de fazer novas marcações pelo portal público.

Consentimento de marketing

O atributo accepts_marketing guarda explicitamente se o cliente autorizou comunicação não transaccional. Importante para alinhamento com RGPD.

02

Histórico unificado

A ficha do cliente liga-se a:

  • Marcações — todas, em qualquer estado, com profissional e serviço.
  • Transações — pagamentos recebidos, devoluções, créditos.
  • Comentários internos (CustomerComment) — anotações da equipa, ordenadas no tempo.
  • Audit log (CustomerAuditLog) — quem alterou que dados e quando.

O contador bookings_count é desnormalizado para queries rápidas em listagens de clientes mais frequentes.

03

Verificação do cliente por PIN

Para reduzir fakes e marcações lixo, o FIRO suporta verificação opcional do cliente antes de finalizar a marcação:

  1. Cliente insere NIF (ou outro identificador) na página pública.
  2. Recebe um PIN por SMS ou email.
  3. Confirma o PIN para concluir a marcação.

Esta validação está implementada em BookingContactVerificationService + endpoint /booking/request-verification-code. É activável por tenant.

04

Cliente é global, marcações são por tenant

O FIRO trata o cliente como entidade global — não há um Customer por tenant. Vantagens:

  • Cliente que se mude entre fornecedores no FIRO mantém o seu acesso e ficha.
  • Ao registar-se uma vez, pode marcar em qualquer tenant que use FIRO sem repetir dados.
  • O histórico está sempre lá quando o cliente regressa.

As marcações são tenant-scoped — cada negócio só vê as suas. O cliente é a "ponte" que liga visões entre tenants do ponto de vista do cliente, não do negócio.

05

Portal do cliente: /minha-conta

Cada cliente tem acesso a um portal pessoal com login por magic link ou Google OAuth. Lá pode:

  • Ver o histórico de marcações com estado actual.
  • Cancelar marcações futuras (sujeito ao cancel_min_hours configurado pelo tenant).
  • Editar o perfil — email, telefone, NIF, consentimentos.
  • Abrir tickets de suporte dirigidos ao tenant.
  • Pedir exportação ou eliminação RGPD dos dados.

Reduz drasticamente o volume de chamadas que a recepção atende para "mudar a marcação para outra hora".

06

Importação CSV de clientes

Para tenants que migram de outras ferramentas, há um pipeline de importação:

  • Upload de CSV com mapeamento de colunas.
  • CsvSource regista de onde veio cada lote (qual ficheiro, mapeamento, data).
  • Cada cliente importado fica marcado com csv_source_id para rastreio.

Marcações importadas em massa

Se a importação trouxer também marcações históricas, ficam com a flag is_contact_import para distinguir de marcações criadas no produto.

07

RGPD: exportação e eliminação

O FIRO suporta os direitos do titular dos dados via GdprRequest:

  • Pedido de exportação: entrega ao cliente um pacote com os seus dados (perfil, marcações e transações).
  • Pedido de eliminação: retira os dados pessoais do cliente nessa loja; as faturas ficam guardadas pelo prazo legal.

O pedido só conta depois de o cliente abrir o link enviado para o email e, se indicou telemóvel, introduzir o código enviado por SMS. Nessa altura o cliente recebe um email com o prazo legal (30 dias), o dono da loja recebe um email e um aviso no backoffice, e a equipa da plataforma recebe um email para tratar do pedido no admin.

08

Auditoria das alterações

Cada vez que dados sensíveis do cliente mudam, é gravado em CustomerAuditLog: quem alterou, que campo, valor anterior e novo. Isto é importante para:

  • Resolver queixas ("o meu telefone no sistema está errado, alguém mudou").
  • Demonstrar conformidade RGPD em caso de auditoria.
  • Recuperar valores perdidos por engano.
Para a equipa comercial

O que dizer ao lead

A maioria das ferramentas trata o cliente como uma linha numa lista. O FIRO trata-o como entidade com histórico, contexto e direitos.

  • "O cliente é teu, mas pertence-lhe a ele" — portal self-service tira chamadas da recepção e dá ao cliente o controlo (cancelamentos, dados, RGPD).
  • "Verificação por PIN reduz lixo" — quem nunca teve uma marcação fake de quem dá o número errado para escapar?
  • "Importas o que tens hoje" — CSV com mapeamento de colunas. O lead que vem com 800 contactos no Excel não fica para trás.
  • "Cumprimento RGPD à séria" — endpoints de export/delete + audit log. Não é só ter um aviso de cookies.

Âmbito atual & roadmap

O produto evolui semana a semana. Aqui está o que existe hoje e o que está confirmado para chegar.

Hoje no produto

  • Ficha completa com NIF, marketing, blacklist
  • Histórico unificado (marcações + transações + notas)
  • Verificação por PIN (NIF + SMS/email)
  • Portal /minha-conta com Google OAuth
  • Importação CSV com mapeamento
  • GDPR export e delete via portal
  • Audit log de todas as alterações

A caminho

  • Segmentação automática (clientes inactivos, VIPs)
  • Comunicação por segmento (email + SMS marketing)
  • Programa de fidelização com pontos
  • Aniversários + sugestões automáticas

Perguntas frequentes

O cliente é meu ou da plataforma?

O cliente é entidade global mas os dados de marcações e notas são tenant-scoped — só tu vês os teus. Em caso de saída do FIRO, exportas o histórico em CSV.

Posso bloquear um cliente que falta sempre?

Sim, com a flag is_blacklisted. O portal público recusa novas marcações; os profissionais vêem o aviso no calendário.

Os meus clientes precisam de criar conta para marcar?

Não. Basta nome + contacto. O acesso a /minha-conta é opcional e sem fricção (magic link ou Google).

Quem processa o pedido de eliminação RGPD?

O cliente abre o pedido pelo portal. A administração do tenant é notificada e processa — fica registado no GdprRequest.

Tenho 1500 clientes no Excel. Posso importar de uma vez?

Sim, via upload CSV com mapeamento de colunas. Cada lote fica marcado com a CsvSource para rastreio.

Continua à conversa com a equipa comercial

Mostramos o produto a funcionar, respondemos a dúvidas específicas do teu negócio e ajudamos-te a escolher o plano certo.

Continua a explorar a Knowledge Base