Hospitality
Pizza pe Bune: from GloriaFood and a phone's contact list to one system
A delivery pizzeria. Two months after launch: 469 orders, 443 delivered, 64,230 lei, and the kitchen ticket prints itself.
- Client
- Pizza pe Bune, Predești, Prahova
- Sector
- Hospitality
- Published
The scale
- orders
-
469
orders
- delivered
-
443
delivered
- delivered value
-
64,230 lei
delivered value
- customers
-
220
customers
- came back
-
73
came back
System data, 5 Aug–7 Oct 2026, excluding demo and imported orders. Published with the client's consent.
What a Friday evening looked like before
Online orders came in through GloriaFood. Customers who had caused trouble on delivery were 1,423 contacts in a phone's address book, with “don't take the order” written next to the name. Recipes were laminated cards with handwritten corrections. The delivery area was a post on Facebook. Every order meant a walk or a phone call to the kitchen.
What happens now when an order comes in
Customer → checkout → kitchen → courier → review. A system of its own: an ordering site with a menu, a product configurator and customer accounts; automatic checks of the delivery area and the minimum order at checkout (60 towns); a live kitchen screen with acceptance and an estimated time; a thermal ticket printed automatically when the order is placed; a courier flow with cash or card at the door; “Who's calling?” for phone orders; table service; a review invitation after delivery; and pausing orders in one click.
Two months in figures
August (5–18 and 28–31 Aug): 120 orders placed, 114 delivered, 17,846 lei. September: 301 placed, 283 delivered, 39,638 lei. October (1–7 Oct): 48 placed, 46 delivered, 6,746 lei. In total: 469 placed, 443 delivered, 64,230 lei. System data, excluding demo and imported orders.
What nobody does by hand any more
1. Copying the order out for the kitchen: the ticket is generated and printed by itself when the order is placed. 2. Announcing the order: the email to the customer, the email to the restaurant and the push to the staff go out automatically. 3. Keeping scheduled orders in mind: they are released to the kitchen automatically. 4. Tracking each courier's cash: marking the order delivered writes it. 5. Checking the area and the minimum: checkout turns away an address outside the area by itself. 6. Looking the customer up in the phone's contacts: “Who's calling?” shows the history by number. 7. Asking for reviews: the invitation goes out after delivery. 8. Retyping the menu and the recipes: imported from GloriaFood, recipes extracted from photographs.
In detail
Every restaurant already has an operating system. It is made of a shout across the pass, a printed slip held down by a jar, a waiter who remembers that table six has already had the bread, and a courier counting cash out of his own pocket at the end of the night. It works, in the sense that food reaches people. It does not close a shift by itself, it does not survive somebody being ill, and it cannot tell the owner on Tuesday what Monday actually cost.
The website was the part that already had software, and it turned out to be the easy half. What a public checkout has to do is refuse things: too small an order, an address outside the delivery zones, a kitchen that is closed. All of that is a gate, and gates are well-understood. The order that arrives at a table has to pass none of it, and that difference is most of the engineering.
A table is already seated. Nobody is going to tell four people at nine in the evening that the kitchen shut at half past eight, and nobody is going to enforce a minimum order on a couple who want one more coffee. So the floor has its own route in. The waiter builds a draft against the table’s session rather than against a customer — a table does not have a customer, and pretending it does is where this design usually goes wrong — and sends it in waves. Starters now, the rest when they have decided. Each wave becomes an order in its own right, with its own tickets, and a wave is sent whole or not at all.
Which leaves the question of what the table owes, and the answer is that nothing stores it. The bill is derived across every wave in the session, every time it is asked for. Payments against it are entries in an append-only ledger, never a running total on a column, and they settle on coverage rather than on equality: four people paying for six is normal, and somebody absorbing the difference is a decision a person makes and the ledger records, not an arithmetic error the software has to hide. Closing a session asks for a signature and a reason. A reversal is a negative entry, not a deletion.
The kitchen sees none of that complexity, which is the point. An order breaks into tickets by production station rather than by menu category, because categories are a menu’s idea and stations are a building’s. The bar sees its own slice and announces that it is ready; the kitchen sees the announcement on the card and is the only station that can close the order. Two screens, two different kinds of authority, one map from a staff member’s abilities to what they are allowed to see — and the same map serves the web panel and the Android app, so the two cannot drift into disagreeing about who sees what.
Printing is where the theory meets the hardware. The server never talks to a printer. It publishes print jobs; a tablet in the kitchen claims one, drives the thermal printer over Bluetooth itself, and reports the result. The claim is the interesting part: it is locked on the pair of account and device, not on the account, because the first version compared only accounts and two tablets on the same kitchen login produced exactly the double paper the lock exists to prevent. Failed attempts are logged rather than retried blindly, a reprint is something a human asks for, and there is an absolute ceiling per station. Bluetooth thermal printers fail often enough that all of this is load-bearing rather than defensive.
Money closes the same way it is taken. A courier’s cash is a ledger, opened by the first delivery rather than by a button, and the entry is written by the delivery being marked delivered rather than by anyone pressing anything. The session belongs to a person in a role, not merely to a person, so the same human waiting tables and driving later in the week keeps two separate envelopes. Closing is blind: you declare what you are handing over, and only then does the system show you the difference.
The staff app is a single Android binary that becomes six different products depending on who signs in: kitchen, bar, printer, courier, waiter, owner. The courier’s screen is the one that had to work with no signal — everything needed for one delivery in one request, cached, with the route through pick-up, en route, arrived and delivered available from a van in a courtyard. Push notifications and a live channel keep the screens current; a device holds its own token, so disabling somebody removes the panel, the app and the phone at once.
Pizza pe Bune runs on Restaurant OS, the same system as Erra and the two Prestij restaurants.
Stack
- Laravel
- Livewire
- Filament
- Bluetooth
- GA4
Capability
- Online orders
- Kitchen
- Couriers
- Table service
- Reviews
- Phone CRM
Contact