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:
- Anonimitza nom, correu i telèfon a
reservations(manté la fila per a auditoria/comptabilitat). - Anonimitza
email_logs,email_queue,marketing_campaign_sends. - Esborra totes les identitats (
customer_identities). - Esborra el client.
- Registra l'esborrat a
activity_logper 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":
- Verifica que és realment ell (correu coincideix).
- Obre la seva fitxa a
/app/clientes. - Acció Esborrar (GDPR).
- Confirma — és irreversible.
- Comunica-li per correu que s'ha processat.
Termini legal de resposta: 30 dies.