Cui vorbim: patron / manager care vrea claritate operațională.
chelnerCine este: persoana care preia comanda la masă, trimite la divizii, livrează preparatele, cere nota.
Drepturi:
date_emitted + pos_source).Scoping tipic:
NU are drept să:
bucatarCine este: persoana de la o stație (kitchen-hot, kitchen-cold, bar, dessert, coffee), execută bonurile de producție.
Drepturi:
date_emitted + pos_source).Scoping tipic:
POS-sala / kitchen-hot.NU are drept să:
manager_turaCine este: persoana care supraveghează tura, rezolvă escaladări, închide tura.
Drepturi:
pending-bill → open (rar — clientul vrea să mai adauge ceva după ce a cerut nota).horeca_shift_month), split bacșiș chelneri (calcul on-the-fly din {order_count, gross_total, avg_total}, tip % = parametru FE — nu se persistă), detecție anomalii pierderi (rolling window per MPN, threshold multiplier configurabil, default 1.0σ warn / 2.0σ alert, min 0.5σ).Închide tura / Shift close) — generează raportul de închidere ca snapshot retroactiv per calendar-date × POS: totaluri pe subtipuri (production / sell / writeoff / transfer / supply / transform / ecommerce — fiecare cu rows, folder_count, qty, cost, revenue), topLosses[10] = {mpn, events, qty}, sumar note de plată {count, total_revenue}, generated_at. Butonul filtrează pe stage-uri finalizate (updated-stock, ready, done) — nu verifică, nu blochează pe comenzi deschise / bonuri neemise / Z-ul MCR nedat; curățenia rămâne responsabilitatea managerului. Jurnalul contabil detaliat pe conturi SNC (611 / 711 / 712 / 713 / 714) + breakdown per motiv/reason-code sunt ⚙️ activabile la cerere (v1: subtype-aggregated only).Notă. Tura HoReCa (management snapshot) este distinctă de tura MCR / raportul Z fiscal —Închide turadin ERP nu emite, nu așteaptă și nu verifică Z-ul casei de marcat. Cele două se închid independent, în fluxuri separate.HORECA_REPORT__SHIFT_CLOSEpoate fi acordat wildcard sau restrâns per POS (HORECA_REPORT__SHIFT_CLOSE:POS:<pos-id>). Închiderea nu emite lifecycle events (fără notificare inbox, fără push, fără atingere de status pe folder-uri); snapshot-ul este frozen — nu se auto-refresh după close, iar dublu-click pe acelașidate × POScreează un al doilea snapshot paralel (fără dedup viahorecaGenUid).
Scoping tipic:
NU are drept să:
casierCine este: persoana care emite bonurile fiscale și încasează plățile.
Drepturi:
E_FACTURA_STOCK_SELL).pos-cash-register — collectingRecords (definire fond inițial, colectări intermediare, depunere bancă, refund-uri). Fără reconciliere automată numărat vs. așteptat la închiderea turei și fără prag configurabil de alertă — numărătoarea cash-ului la final de tură se face manual (⚙️ flux automat activabil la cerere).Scoping tipic:
NU are drept să:
barman_supervisor
Bucătar la bar + dreptul de a adăuga produse noi în meniul barului (ex.: cocktail special al zilei). Util în baruri unde barmanul are libertate creativă.host
Doar managementul sălii — atribuie mese, gestionează rezervări, vede ocuparea live. Nu serveste, nu încasează.chelner_senior
Chelner + dreptul de a anula linii post-prep (în loc să cheme manager). Pentru chelneri experimentați, în restaurante mici.auditor_intern
Read-only pe toate comenzile, bonurile, încasările. Pentru proprietar care vine ocazional.| Acțiune | chelner | bucatar | manager_tura | casier |
|---|---|---|---|---|
| Deschide comandă | ✅ | — | ✅ | — |
| Adaugă rând la comandă | ✅ | — | ✅ | — |
| Trimite la divizii | ✅ | — | ✅ | — |
| Anulează rând pre-prep | ✅ | — | ✅ | — |
| Anulează rând post-prep | — | — | ✅ | — |
| Acceptă bon producție | — | ✅ | ✅ | — |
| Start preparare | — | ✅ | ✅ | — |
| Marchează "Gata" | — | ✅ | ✅ | — |
| Marchează "Livrat" | ✅ | — | ✅ | — |
| Adaugă pierdere în-flux | — | ✅ | ✅ | — |
| Adaugă pierdere standalone | ✅ | ✅ | ✅ | — |
| Aprobă pierdere peste prag | — | — | ✅ | — |
| Cere nota | ✅ | — | ✅ | — |
| Deblochează "pending bill" | — | — | ✅ | — |
| Anulează comandă | ✅* | — | ✅ | — |
| Emite bon fiscal | — | — | — | ✅ |
| Emite e-Factura B2B | — | — | — | ✅** |
| Storno bon | — | — | ✅ | ✅** |
| Vede rapoartele financiare | — | — | ✅ | — |
| Închide tura | — | — | ✅ | — |
E_FACTURA_STOCK_SELL.La onboarding configurăm utilizatorii. Exemplu real pentru un restaurant de 30 mese:
Sergiu Crăciun (admin) → administrator (orice POS, orice divizie)
Vasile Popescu (proprietar) → administrator + auditor_intern
Andrei Mocanu (manager seral) → manager_tura @ POS-sala
Maria Cojocaru (chelner) → chelner @ POS-sala / Zona-1
Ion Petrov (chelner senior) → chelner_senior @ POS-sala
Vlad Andronic (bucătar pizza) → bucatar @ POS-sala / kitchen-hot
Daria Stratulat (bucătar prep)→ bucatar @ POS-sala / kitchen-cold
Mihai Lupu (barman) → bucatar + barman_supervisor @ POS-sala / bar
Tatiana Gheorghe (casier) → casier @ POS-sala (cu E_FACTURA_STOCK_SELL)În timpul zilei operaționale, dacă un chelner trebuie să acopere temporar la bar (pauză barman):
bucatar @ POS-sala / bar.Close shift nu emite lifecycle events (fără inbox notification, fără push, fără hook care să revoace granturi de rol) și nu declanșează revocare automată.