Gestione Tavoli e Sale: Guida Operatore
Panoramica
La gestione tavoli consente di monitorare in tempo reale lo stato di ogni tavolo del ristorante, suddiviso per sale. Dalla mappa tavoli e possibile aprire comande, assegnare camerieri, verificare coperti e importi, e gestire il flusso del servizio.
Stati del Tavolo
Ogni tavolo si trova in uno dei seguenti stati, rappresentati da colori diversi nella mappa:
| Stato | Colore | Descrizione |
|---|---|---|
free | Verde | Tavolo libero, disponibile per nuovi clienti |
occupied | Rosso | Tavolo occupato con comanda attiva |
open | Arancione | Comanda aperta, ordini in corso |
reserved | Blu | Tavolo riservato per una prenotazione |
dirty | Grigio | Tavolo da pulire dopo la partenza dei clienti |
payment_pending | Giallo | In attesa di pagamento |
Selezionare e Aprire un Tavolo
Per iniziare il servizio su un tavolo:
- Dalla mappa tavoli, toccare il tavolo desiderato (deve essere in stato
free) - Inserire il numero di coperti (pax)
- Il tavolo passa in stato
occupiede si apre la schermata comanda - Aggiungere i prodotti all'ordine
Il sistema genera un QR code univoco per ogni tavolo, utilizzabile dai clienti per consultare il menu o inviare ordini dall'app.
Locking Anti-Conflitto
Quando un operatore seleziona un tavolo, il sistema acquisisce un lock temporaneo (5 minuti di default) tramite Redis. Questo impedisce ad altri camerieri di operare sullo stesso tavolo contemporaneamente. Il lock viene rilasciato automaticamente alla chiusura della comanda o allo scadere del TTL.
Se un altro operatore tenta di accedere a un tavolo bloccato, visualizza un messaggio con il nome del cameriere che lo sta servendo.
Aggiornamento Stato in Tempo Reale
Ogni cambio di stato viene trasmesso in tempo reale tramite NATS a tutte le app collegate (cassa_ui, waiter_ui). Il messaggio contiene: ID tavolo, nuovo stato, importo totale, coperti e ID ordine associato.
Questo permette a tutti i dispositivi del ristorante di avere una visione sincronizzata e aggiornata della situazione sala.
Gestione Multi-Sala
I tavoli sono organizzati per sale. Dalla barra superiore e possibile passare da una sala all'altra per visualizzare i rispettivi tavoli. Ogni sala ha dimensioni configurabili e i tavoli sono posizionati su una griglia con coordinate x/y.
Verificare la Disponibilita
Per verificare se ci sono tavoli liberi per una specifica data, ora e numero di persone, utilizzare la funzione Verifica Disponibilita. Il sistema incrocia i dati dei tavoli con le prenotazioni esistenti, considerando una finestra temporale basata sulla durata media del pasto (default 90 minuti).
Liberare un Tavolo
Dopo il pagamento, il tavolo puo essere liberato manualmente o automaticamente:
- Automatico: alla chiusura dell'ordine con pagamento, il tavolo torna in stato
free - Manuale: un operatore puo cambiare lo stato a
dirty(da pulire) e poi afree
FAQ
D: Posso spostare una comanda da un tavolo a un altro? R: Si, tramite la funzione di trasferimento ordine. L'ordine viene scollegato dal tavolo originale e riassegnato al nuovo tavolo. Entrambi i tavoli aggiornano il loro stato.
D: Cosa succede se il cameriere perde la connessione? R: Il lock scade dopo 5 minuti e il tavolo torna accessibile. I dati dell'ordine sono salvati localmente (offline-first) e sincronizzati al ripristino della connessione.
D: Come funziona il QR code del tavolo? R: Ogni tavolo ha un QR code univoco generato alla creazione. I clienti possono scansionarlo con l'app per visualizzare il menu e, se abilitato, inviare ordini direttamente dalla propria app.
Vedi Anche
- Prenotazioni -- Gestione prenotazioni tavoli
- Configurazione Sale e Tavoli -- Impostazione sale e disposizione
- API Tavoli e Prenotazioni -- Endpoint API