Comenzi
Tab-ul Orders este panoul live pentru fiecare comandă Cafenea plasată de clienții dvs. Interoghează cloud-ul la fiecare 3 secunde și afișează activitatea nouă cu o notificare desktop, o alertă audio și o insignă de număr în așteptare pe antetul tab-ului.
Aspect
Pagina Orders are două zone:
| Zonă | Scop |
|---|---|
| Status Tabs | Filtrează după starea comenzii: all, placed, confirmed, preparing, ready, served. Comenzile cancelled și refunded sunt filtrate implicit. |
| Order List | Un card per comandă, grupat cu cele mai recente primele. Fiecare card afișează codul mesei, telefonul clientului dacă a fost furnizat, articolele, totalurile și butoanele de acțiune. |
Polling live
Panoul Orders interoghează /v1/cafeteria/admin/orders/poll la fiecare 3 secunde. Fiecare comandă nouă declanșează:
- O notificare desktop cu codul mesei și numărul de articole.
- O alertă audio pe difuzoarele serverului dacă notificările sonore sunt activate în Settings > Cafenea.
- Creșterea insignei cu numărul de comenzi în așteptare din tab-ul Orders.
- Tipărirea automată a bonului dacă imprimanta este configurată cu Auto Print on New Order.
Insigna rămâne vizibilă până când fiecare comandă cu starea placed sau confirmed avansează într-o stare ulterioară sau este respinsă. Insigna este vizibilă global în secțiunea Cafenea din bara laterală; nu trebuie să țineți deschis tab-ul Orders ca să o vedeți.
Ciclul de viață al comenzii
Fiecare comandă trece printr-o secvență definită de stări.
| Stare | Semnificație |
|---|---|
| placed | Clientul a trimis comanda. Încă nu s-a făcut nicio acțiune din partea personalului. |
| confirmed | Personalul a confirmat comanda. |
| preparing | Bucătăria lucrează la comanda. |
| ready | Comanda este gata pentru servire sau ridicare. |
| served | Comanda a fost livrată clientului. |
| cancelled | Comanda a fost anulată de personal. Este eliminată din vizualizările live, dar păstrată pentru istoric. |
| refunded | A fost emisă o rambursare după plată. |
Bara de acțiuni de pe fiecare card al comenzii afișează următoarea stare disponibilă. Avansarea se face dintr-un singur clic. Interfața folosește o strategie optimistă de actualizare: noua stare este afișată imediat. Dacă serverul respinge schimbarea, starea revine și apare o notificare de eroare.
Starea per articol
Unele comenzi au mai multe articole care se termină în momente diferite. De exemplu, un burger poate fi gata înaintea unei pizza. Starea per articol vă permite să urmăriți separat fiecare linie.
Fiecare articol are propriul dropdown cu cinci opțiuni: placed, preparing, ready, served, cancelled. Fiecare articol are și trei marcaje temporale:
created_ateste setat când ajunge comanda.ready_ateste setat prima dată când articolul intră înready.served_ateste setat când articolul intră înserved.
Meniul clientului afișează o insignă lângă fiecare linie, astfel încât clientul să poată vedea ce articole sunt gata sau pe drum.
Anularea unei comenzi
- Deschideți cardul comenzii.
- Dați clic pe Cancel.
- Confirmați în dialogul care apare.
- Comanda trece în starea
cancelled. Rămâne în istoric, dar dispare din vizualizarea live implicită.
Anularea este o acțiune la nivel de comandă întreagă. Pentru a anula o singură linie, schimbați starea per articol a acelei linii în cancelled.
Decontare (Settle Check)
Decontarea închide toate comenzile deschise de la o masă dintr-un singur pas. Folosiți această acțiune atunci când clientul pleacă și dorește să plătească toată nota.
- Deschideți masa din pagina Tables sau din meniul de acțiuni Floor Plan.
- Dați clic pe Settle Check.
- Modalul listează toate comenzile de la masă care nu sunt deja
served. - Alegeți o metodă de plată. Opțiunile sunt: Cash, Card, Online, Other.
- Confirmați.
Serverul execută următoarele acțiuni atomic:
- Fiecare comandă deschisă de la masă trece în
servedcupayment_status=paid. - Se creează o înregistrare
cafeteria_settlementscu suma totală, metoda de plată și momentul creării. - Se înregistrează un audit trail settlement-orders care arată ce comenzi aparțin acestei decontări.
- Codul de securitate al mesei expiră, astfel încât QR-ul devine invalid.
- Masa revine la starea
idle.
Dacă ați ales Online ca metodă de plată, înregistrarea de decontare este marcată ca plătită online. Această acțiune nu declanșează o taxare Stripe. Plata online din partea clientului este procesată la plasarea comenzii; acțiunea de decontare înregistrează fluxul de numerar pentru evidența dvs.
Cronometrul opened-at
Fiecare masă are un marcaj temporal opened_at setat când clientul este așezat. Pagina Floor Plan și pagina Tables afișează un cronometru live de atunci. Acesta ajută personalul să observe mesele care sunt active de mult timp fără a comanda sau mesele care s-ar putea apropia de sfârșitul sesiunii.
Cronometrul revine la zero la Close Table sau Settle Check.
Afișarea timpului dinamic de preparare
Când timpul de preparare dinamic este activ pentru un produs, cardul comenzii afișează estimarea lângă numele articolului. Personalul vede estimarea chiar și atunci când comutatorul Show Prep Time on Menu este dezactivat pentru clienți.
Estimarea se actualizează de fiecare dată când este plasată o comandă nouă și de fiecare dată când o comandă se finalizează. Sistemul învață din ritmul real al bucătăriei.
Comportamentul notificărilor pentru comenzile noi
Notificările sunt declanșate la nivelul întregii aplicații, nu pe tab-uri separate. Asta înseamnă că primiți alerte chiar și când navigați în altă parte din serverul HandyCafe, de exemplu în Admin Panel sau Settings. Alerta audio poate fi activată sau dezactivată din Settings > Cafenea > Sound Notification.
Notificările desktop necesită ca sistemul de operare să fi acordat permisiunea de notificare pentru HandyCafe. Dacă nu vedeți o notificare după o comandă nouă, verificați setările de notificări ale sistemului de operare.
Sfaturi
- Folosiți Status Tabs pentru a împărți volumul de lucru. Un ecran filtrat pe
preparingafișează coada bucătăriei. Un alt ecran pereadyarată ce trebuie livrat. - Settle Check este cea mai rapidă metodă de a închide o masă. Folosiți Cancel pe comenzi individuale doar pentru greșeli explicite.
- Instruiți personalul să avanseze starea în mod consecvent. Estimatorul dinamic de timp de preparare învață din aceste semnale, deci săritul peste stări îi reduce acuratețea.
- Auditați periodic comenzile anulate și rambursate din endpoint-ul de administrare pentru a identifica tiparele de eroare ale personalului.