Skip to main content

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:

StatoColoreDescrizione
freeVerdeTavolo libero, disponibile per nuovi clienti
occupiedRossoTavolo occupato con comanda attiva
openArancioneComanda aperta, ordini in corso
reservedBluTavolo riservato per una prenotazione
dirtyGrigioTavolo da pulire dopo la partenza dei clienti
payment_pendingGialloIn attesa di pagamento

Selezionare e Aprire un Tavolo

Per iniziare il servizio su un tavolo:

  1. Dalla mappa tavoli, toccare il tavolo desiderato (deve essere in stato free)
  2. Inserire il numero di coperti (pax)
  3. Il tavolo passa in stato occupied e si apre la schermata comanda
  4. 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 a free

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

Questa pagina ti è stata utile?