Saltar al contingut principal

El teu CRM de clients

/app/clientes centralitza tots els clients del teu workspace, sense duplicats, amb mètriques de comportament i timeline.

Llistat consolidat per workspace

El llistat mostra tots els clients independentment del local del teu workspace en què hagin reservat. RestaPro consolida automàticament: si en Joan va reservar al Bar A i després al Bar B, continua sent el mateix client.

Cada targeta mostra:

  • Nom + correu/telèfon principal
  • Total de reserves (en qualsevol local)
  • Última reserva
  • Indicador "Revisar" si hi ha conflictes d'identitat

Ordre per defecte: per última activitat descendent.

Mètriques per client

RestaPro calcula automàticament:

  • Total reserves
  • Confirmades / completades / cancel·lades / no-shows
  • Restaurants visitats (recompte de locals diferents del workspace)
  • Última reserva (timestamp)

Cerca flexible

El cercador (Cercar client) accepta nom, correu o telèfon — fins i tot parcial:

  • "Joan" → troba Joan García, Joana Martín…
  • "gmail" → tots els correus de Gmail
  • "600" → troba +34 600 123 456, +34 600 987 654
  • "34 600" → mateix conjunt (RestaPro normalitza dígits)
  • "+34" → tots els espanyols

El normalitzador de telèfon desa només dígits. Quan cerques, RestaPro extreu els dígits de la teva query i filtra per substring contra el camp normalitzat. Funciona amb o sense espais, guions, parèntesis o +.

Cerca amb debounce de 300 ms — actualitza a l'instant.

Filtre per restaurant

Dropdown "Tots els locals" per filtrar el llistat per un de sol. Combinable amb la cerca.

Identitats múltiples per client

Un client pot tenir diversos telèfons i correus:

  • Joan García: joan@gmail.com, joan@empresa.com, +34 600..., +34 91 234...

En entrar una reserva amb identitat nova, RestaPro fa fuzzy matching: si troba coincidència probable amb un client existent, vincula automàticament.

Indicador "Requereix revisió"

Apareix quan RestaPro té dubtes: ha detectat identitats semblants però no idèntiques. El teu equip ho revisa manualment i confirma o separa.

Fitxa individual

Clic en un client → tauler lateral amb:

  • Capçalera: nom, "Des de [data]", correus i telèfons vinculats.
  • Notes internes: textarea privada de l'equip.
  • Reserves: últimes 8 (si n'hi ha més, comptador). Cadascuna amb local, data, hora, party size, estat, referència.
  • Timeline: esdeveniments de reserves + esdeveniments de màrqueting (vistes, clics, campanyes).

Timeline

Combina dues fonts:

  • Reservation events: canvis d'estat (confirmed, arrived, completed, cancelled).
  • Marketing events: vistes a /c/:slug, clics en campanyes, paràmetres UTM.

Ordre cronològic descendent. Permet veure el customer journey complet: primer contacte → primera reserva → segona visita → clic en correu → tercera reserva.

GDPR: esborrar un client

Només admins. L'edge function customer-gdpr executa el RPC gdpr_delete_customer:

  1. Anonimitza nom, correu i telèfon a reservations (manté la fila per a auditoria/comptabilitat).
  2. Anonimitza email_logs, email_queue, marketing_campaign_sends.
  3. Esborra totes les identitats (customer_identities).
  4. Esborra el client.
  5. Registra l'esborrat a activity_log per a auditoria legal.

El client apareix com a "Eliminat" en reserves passades.

Rebre sol·licituds GDPR

Si un client t'escriu demanant "esborreu les meves dades":

  1. Verifica que és realment ell (correu coincideix).
  2. Obre la seva fitxa a /app/clientes.
  3. Acció Esborrar (GDPR).
  4. Confirma — és irreversible.
  5. Comunica-li per correu que s'ha processat.

Termini legal de resposta: 30 dies.

ESENCA