Cosa succede quando un cliente entra al ristorante
Dieci passi, dal cliente che si siede al conto pagato. Per ogni passo: cosa vede il cliente, cosa fa lo staff, cosa fa Ordina dietro le quinte.
Ordina non e' un'app che il cliente scarica. Non e' nemmeno un POS. E' il livello che sta in mezzo: tra il cliente che ha fame e la cucina che cucina, tra la cassa che incassa e l'erario che pretende lo scontrino. Ecco com'e' una giornata-tipo da Punta Ala estate 2026, raccontata passo per passo.
01
Il cliente arriva
- Cliente
- Si siede al tavolo che la sala gli ha indicato, posa le chiavi, guarda fuori. Sente odore di pane caldo.
- Staff
- Lo accoglie, lo accompagna al tavolo, gli dice 'avvicina il telefono qui per il menu' e indica il tag NFC sul tavolo.
- Ordina
- Niente per ora. La sessione del tavolo si aprira' al primo tap.
02
Il tap NFC
- Cliente
- Avvicina il telefono al tag sul tavolo. Si apre Safari/Chrome con il menu del ristorante. Niente app da scaricare, niente fotocamera, niente login.
- Staff
- Niente. E' il momento del cliente.
- Ordina
- Crea una BillSession per quel tavolo. Carica il menu nella lingua del browser (italiano o inglese, fallback italiano). Se c'e' una prenotazione confermata per quel tavolo nello slot corrente, la marca come 'arrivato' in automatico.
03
Sfoglia il menu
- Cliente
- Scorre piatti per categoria. Tocca uno, vede foto grande, descrizione, allergeni, modifiers (es. 'pasta senza glutine', 'olio extra'). Aggiunge al carrello con un tap.
- Staff
- Continua il servizio agli altri tavoli.
- Ordina
- Tutto il menu è in cache (ISR 60s) — caricamento istantaneo. Foto lazy-loaded. Nessuna chiamata server fino al submit dell'ordine.
04
Compone l'ordine
- Cliente
- Aggiunge i piatti che vuole, scrive una nota libera ('niente cipolla') nel campo testo, vede il totale aggiornarsi. Tocca 'Invia ordine'.
- Staff
- Si avvicina solo se il cliente alza la mano (bottone 'Chiama il cameriere' nell'app — pg_notify allo staff).
- Ordina
- Il payload dell'ordine viene salvato in localStorage finche' non e' confermato dal server. Se il guest perde la rete, il submit aspetta il ritorno della connessione.
05
L'ordine parte
- Cliente
- Vede una pagina di tracciamento: 'Ordine ricevuto, in attesa di accettazione'. Timeline visibile.
- Staff
- In dashboard appare la card del nuovo ordine, accompagnata da un beep e una piccola vibrazione del tablet. Numero tavolo grande, contenuto compatto.
- Ordina
- Insert dell'Order in PG, pg_notify('orders'), SSE push verso tutti i client iscritti al canale tenant. Latenza < 200ms.
06
Lo staff accetta
- Cliente
- Vede 'Ordine accettato' con stima 12 minuti. Niente refresh — la pagina si aggiorna sola.
- Staff
- Tap 'Accetta' sul tablet. L'ordine passa al KDS in cucina, raggruppato per categoria (primi, secondi, contorni).
- Ordina
- Aggiorna OrderStatus → ACCEPTED, scrive OrderStatusEvent, emette pg_notify per il tracker del cliente. AuditLog scritto.
07
La cucina cucina
- Cliente
- Aspetta. Beve. Parla con chi e' a tavolo.
- Staff
- In cucina lo chef giovane ha il KDS davanti. Vede il pacchetto di ordini, marca 'in preparazione' all'inizio, 'pronto' alla fine.
- Ordina
- Nuovi stati propagati al cliente. Il timer di permanenza dell'ordine in IN_PREP serve da metrica per i report (latenza media cucina).
08
Il piatto arriva
- Cliente
- Tap 'Servito' dal cameriere. Il cliente vede animazione 'Buon appetito' (Caveat red, accent brand).
- Staff
- Porta i piatti al tavolo, tap 'Servito' sul carrello volante.
- Ordina
- Status finale SERVED. Snapshot di Order.foodCostMinor preso da Recipe.foodCostMinorCached del momento — questo e' il margine reale, non quello stimato.
09
Il pagamento
- Cliente
- Apre la pagina del suo ordine, tap 'Paga'. Stripe Element propone Apple Pay (riconosce iPhone) o carta. Tap, sblocca con FaceID, paga in 3 secondi. Lascia 10% di mancia.
- Staff
- Niente — il cliente ha pagato dal telefono. Avviso passivo sulla dashboard ('Tavolo 7 ha pagato e va bene').
- Ordina
- PaymentIntent Stripe creato server-side, webhook 'payment_intent.succeeded' marca paymentStatus PAID. Mancia tracciata separata. Receipt fiscale (RT) emesso dal provider scelto dal ristorante.
10
Il cliente esce
- Cliente
- Saluta, esce. Ha mangiato in 45 minuti, ha pagato in 3 secondi, ha detto 'grazie' a un cameriere che non gli ha mai portato il bagno.
- Staff
- Pulisce il tavolo, appende la prossima prenotazione confermata sulla schermata.
- Ordina
- BillSession chiusa, tavolo torna disponibile, le prenotazioni successive vengono notificate (email t12 al guest se assegnato il tavolo).
Vuoi vederlo dal vivo?
Dieci minuti di demo remota. Ti facciamo girare tu il flusso, dal tavolo finto alla cucina simulata. Niente impegno, niente carta di credito.
Prenota la demo →