Salta al contenuto

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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).
  8. 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.
  9. 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. 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
Come funziona — Italy On Demand — Italy On Demand