POS terminal
The terminal is the single screen the server stares at all shift. On the left, a grid of menu tiles grouped by food type — Food, Drinks, Deli — with categories underneath: pasta, pizza, antipasti, cocktails, white wine, red wine. On the right, the running ticket: who’s at the table, what’s been ordered, what’s been sent to the kitchen, what’s been paid, what’s still owed. At the bottom of the right pane, two buttons that decide everything: Send to Kitchen and the big blue Pay button with the running total inside it. The terminal is built for speed — items in two taps, modifiers in three, payment in four — because on a Saturday night the line between a thirty-cover service and a forty-cover service is whether the server can take another order in the time it takes to think.
This page is for the people who use the terminal every shift. Servers, cashiers, the manager who steps behind the till during the rush. If you’re the owner setting the system up for the first time, you want the POS overview first; then come back here for the screen the staff will actually live on.
Why this page exists
The terminal replaces the order pad. That sentence sounds small until you count the things the order pad doesn’t do. The pad can’t tell you the salame e burrata is 86’d. The pad can’t fan a single ticket out to three kitchen stations and a bar. The pad can’t split a four-top’s bill in two without the server doing arithmetic on the back of a napkin. The pad can’t deduct the wine the table just drank from the cellar. The pad can’t tell the cashier dashboard the till’s gone up €68. The pad does one thing — capture what the table ordered — and even that, the cook above the line can’t read because the handwriting is in another language.
The terminal does all of those, and it does them in a single tap chain that never lets the order leave the server’s screen. Send lands the ticket on the line in under a second. Split bill opens a workspace where lines drag between buckets. Pay opens a pad with a method picker. The pantry is debited automatically the moment payment clears. The dashboard ticks up automatically the same moment.
The rule
The terminal is the only place an order is written. Once a line crosses Send it belongs to the kitchen and the ledger; you don’t fix it by typing in another room, you fix it by voiding it here. One order, one ticket, edited in one place.
What you see on the screen
The screen splits into two panes, side by side on a tablet or desktop, and stacks one-at-a-time on a phone with a floating pill that swaps between them.
The left pane is either the floor plan or the menu grid. Dine-in tickets land on the floor by default — so you can see your other tables while you take the order — and swap to the menu when you tap + Add to Order in the cart. Takeaway and online tickets land on the menu by default. The grid has a search bar across the top, a row of food-type tabs (Food / Drinks / Deli / Shop / All), and beneath them a row of categories drawn from the POS menu catalogue — Antipasti, Pasta, Pizza, Secondi, Dolci. Categories with children — Drinks → Wine → Red wine — surface a third row of subcategories so you reach the right tile in two or three taps even on a deep menu. The Shop tab only appears once you’ve set up retail categories — items you sell to take home (a loaf, a bottle, a jar of sauce) rather than serve at the table. They ring up exactly like any other item, with one difference: a shop item carries no service charge (controlled on the category’s own settings — see Tax rates), so a bill that mixes a plate at the table with a jar to take home charges service on the plate alone.
The right pane is the ticket, called the cart. At the top: the channel chip (dine-in, takeaway, delivery, kiosk, online); the order number (something like A-042); a ⋮ Actions menu for the heavier operations (split bill, transfer table, change order type, issue tax invoice, discard); and an + Add Customer button when no customer is linked yet. Below that, the lines themselves, grouped into three coloured sections — a green SENT TO KITCHEN block with items the line is cooking, an amber NEW — NOT SENT block with items still being typed, and a red VOIDED block for any line pulled after sending, with its reason underneath.
Underneath the lines, the running totals — Subtotal, Discount if any, Service charge, Tax if your venue isn’t VAT-inclusive, and the bold Total. Below them, two buttons: the small grey Floor Plan on the left, the big blue Pay €X on the right. When there are unsent items in the amber NEW group, a large green Send to Kitchen appears above them — the most visible button on the screen, because that’s the one the rush depends on.
How to use it
The terminal opens from two places: from a green tile on the floor plan (which asks for guest count then opens a fresh dine-in ticket), or directly at the landing view’s + Quick Service (Takeaway) button for counter orders. If no cashier session is open, the screen blocks you with an Open Cashier Session dialog first — the terminal won’t take an order without an active shift behind it, because there’s nowhere for the money to land. See the cashier dashboard for the open-shift flow.
Building the order
Tap a food-type tab at the top, then a category, then a tile. The line lands instantly in the amber NEW group of the cart on the right. Tap the same tile a second time to add a second of the same item; the cart line shows × 2 without a new row. Every not-yet-sent line carries a − N + stepper on its right edge — tap + for one more of the same, tap − to take one off (and at × 1 the − removes the line outright). So three plain Beetroot Salads are one × 3 line, not three rows you have to scroll past.
If an item has more than one price — a wine by the glass or the bottle, a dish in Regular / Large — tapping it pops up a quick chooser with each size as its own button showing the price (Glass €8 · Bottle €40). Tap the size and it rings straight onto the ticket; the cart line then shows that size beside the name. Changed your mind? Tap Edit on the line and pick a different size — the price re-rings to match. (If the item also has modifiers, the sizes sit at the top of the Item Config modal alongside them, and you confirm as usual.) Sizes you haven’t priced don’t appear here — only the priced ones show, and a tile with several priced sizes reads from ฿X (its cheapest). Which size is the default — pre-selected, and shown as the tile’s headline price — is set per item in the menu editor’s Set default control.
To go beyond a simple add — choose modifiers, add a “no garlic” note — tap the Edit button on the cart line and the Item Config modal opens with the modifier groups for that item: pick the required ones, pick the optional ones, type into the Notes field if the kitchen needs a free-form instruction, Confirm. Above the notes box you’ll often see a row of one-tap quick-text shortcuts (“dressing on the side”, “no ice”) — these are presets set once on the item’s category and offered on every item underneath it, so the server doesn’t retype the common notes. Tapping one drops its text into the note; tapping it again removes it. Unlike a modifier, a quick-text shortcut is pure text — it never changes the price or pulls anything from stock. The line in the cart now shows the modifier list under the name, prefixed with a +, plus the note in italics underneath.
Because identical items stack, the way you make one of them different is the Edit button, not a second tile tap. Edit a × 3 line, add “well cooked”, Confirm — the stack drops to × 2 and a new × 1 · well cooked line appears beside it. The plain ones stay plain; only the unit you singled out carries the change. The kitchen then sees both: a × 3 group and a separate × 1 · well cooked group, so nothing gets cooked wrong.
The search bar across the top of the menu pane is the fast path for any item whose name you know. Type carbonara, the grid filters to matching tiles, tap.
Sending courses
When the order has what you want the kitchen to start on, tap the green Send to Kitchen button. The amber NEW lines flip to the green SENT TO KITCHEN group, each tagged with a status badge — Queued when sitting on the kitchen display, Cooking when the line tapped to start, Ready when plated and waiting for service. A small timer ticks next to Queued and Cooking so the server can see how long the kitchen has been on it.
Most service is course-by-course. The server takes the full order — antipasti, primi, secondi, dessert — then sends only the antipasti, lets the table eat, comes back, sends the primi once the antipasti are cleared, and so on. The mechanic is the same every time: add items to the amber NEW group, tap Send. Each Send creates a fresh kitchen ticket; the previously-sent items keep their Cooking / Ready badges. The pace of the kitchen is set by the server’s Send taps, not by when the order was originally taken.
Modifying or pulling lines
A line in the amber NEW group is disposable: nudge its quantity with the − N + stepper, tap Edit to change modifiers (or to peel off a variant, as above), or tap Remove to make it disappear without a trace. The kitchen never saw it; there’s nothing to undo.
A line in the green SENT TO KITCHEN group is committed: the kitchen has it. Two affordances remain — Hold pauses the line so the kitchen knows to stop preparing it (only available while the badge still reads Queued; once it reads Cooking, hold isn’t physically meaningful and the button goes away), and Void pulls the line entirely. Voiding requires a reason and writes an audit trail; the line stays in the cart with a red strike-through and the reason underneath, so the ledger is honest.
Splitting the bill
Open the ⋮ Actions menu, pick Split Bill. A workspace appears with one column per bill; lines move from the Main column into bill columns, either dragged or selected in bulk and pushed with Move to → Bill 2. Each bill has its own running total and its own payment status. The cashier rings each bill separately, and the lines on a settled bill turn pale green in the cart with a Paid with Bill 2 badge so the server sees which dishes are off the hook. The whole order closes only when every bill has been paid.
For the heavier cases — two tables turn out to be one because a friend joined, or one turns into two because the parties want completely separate orders — use Transfer table or Merge table from the same actions menu. Both write audit trails and keep the ticket history intact.
Settling
When the customer’s ready, tap the blue Pay €X button. The payment dialog opens with a row of method tiles — Cash, Card, QR / Mobile, Bank transfer, On account / by invoice (closes the ticket but doesn’t collect cash; the customer pays later against the issued invoice). Pick the method. For cash, type the Cash received amount; the dialog shows the change due, Confirm. The payment status flips to paid, a green strip across the cart says so, and the Pay button is replaced by Close Table (or Close Order for takeaway). Tap it — the table flips green on the floor plan, the receipt prints, the cart returns to the landing view.
Switching channels mid-order
A customer who started at the bar wants the order to go, or a table wants their leftovers wrapped to take home. Tap the channel chip at the top of the cart (the one reading dine-in with a fork icon) — if the chip has a small ▾ beside it, the order is swappable. The Change order type dialog asks for the new channel and (if going from takeaway to dine-in) a table number. Dine-in and takeaway are the only two swappable in-terminal; delivery, kiosk, and online came from other surfaces and stay sticky to their channel.
What happens behind the scenes
Every tap on the terminal goes through the same one-second loop: the screen updates immediately (the line appears, the badge flips, the total recomputes), the change is sent up to the system, the system confirms or rolls back. The optimistic update means the server never waits — by the time the next tap is registered, the previous one has settled.
When you tap Send to Kitchen, the system slices the pending lines by kitchen station and writes one kitchen ticket per station that has at least one line in the slice. The hot line gets a ticket with the pasta and the pizza; the cold prep gets a ticket with the insalata caprese; the bar gets a ticket with the Negroni. Each station’s kitchen display shows only its slice. The server’s cart shows all of them, badged with whatever state each line is currently in across the kitchen.
When you tap Pay and confirm, the payment is recorded against the ticket — or, if you’re in split-bill mode, against the specific bill you’re working — and the ticket’s payment status moves to partial or paid. Once the payment status reads paid, the inventory deduction runs: the system walks each line, looks up the menu item’s linked recipe, and subtracts that recipe’s ingredients from the pantry. A dish without a recipe doesn’t move stock — the till still rings the sale, but the pantry’s count is unchanged. The recipe is the bridge between the till and the stock; without it, you’ve got a beautiful receipt and a kitchen running blind.
When you tap Close Table, the order moves to closed, the table flips green on the floor plan, and the cashier dashboard’s open-tables strip drops the row. The cashier session’s running totals — revenue, cash, card, mobile, on-account, average ticket — all settle their increment for this order.
Worked example — a Tuesday-night two-top with courses and a split
Tuesday, 8:40 PM. Two guests at table 5, an anniversary. Sara, the server, taps the green tile for table 5 on the floor plan, the Open Table dialog asks for guest count, she types 2, taps Open. The terminal opens on a fresh dine-in ticket, channel chip reads dine-in, order number A-074.
Sara takes the order: an antipasto della casa to share, two tagliatelle al ragù as the primo with a glass of Chianti Classico each, then they’ll think about secondi. She taps Food → Antipasti → Antipasto della casa (€16). She taps Food → Pasta → Tagliatelle al ragù twice (€18 each). She taps Drinks → Wine → Red wine → Chianti Classico; the size chooser pops up and she taps Glass (€8, versus the €40 Bottle), which rings it straight in, then taps the tile again and Glass once more for the second.
The cart’s amber NEW group now shows four lines totalling €68. Sara taps Send to Kitchen. The lines flip green; the cold prep gets the antipasto, the hot line gets the two tagliatelle, the bar gets the two glasses of Chianti. All five lines show a Queued badge. Three minutes later the antipasto’s badge turns yellow with a flame — Cooking. Six minutes later it turns green — Ready. Sara picks it up. Eighteen minutes pass; the hot-line cook taps Cooking on the tagliatelle. Sara glances at her terminal, sees the yellow flame, paces back to the table and clears the antipasto plates so the primi arrive on a clean cloth.
The guests are full after the pasta, no secondi. They want two espressos and one cantucci con vin santo. Sara taps + Add to Order, picks Food → Dolci → Cantucci con vin santo (€8), taps Drinks → Caffè → Espresso twice (€2.50 each). Three new lines in the amber NEW group, Send to Kitchen. A second small kitchen ticket fans out: the bar gets the espressos and vin santo, the cold prep gets the cantucci. The previously-sent lines stay green.
The guests want the bill split 50/50. Sara taps the ⋮ Actions menu, picks Split Bill. The workspace opens with one column (Main) holding all eight lines and €83 subtotal. She taps + Add Bill twice, getting Bill 1 and Bill 2. Selects the antipasto, one tagliatelle, one Chianti, one espresso, taps Move to → Bill 1 — €44.50. Selects the rest, Move to → Bill 2 — €38.50. Done.
Back in the cart, each line now carries a small blue Bill 1 or Bill 2 chip. Sara taps Pay while scoped on Bill 1; the dialog opens for that bill’s outstanding amount. The first guest pays card. Card → Confirm. Bill 1’s lines turn pale green with the Paid with Bill 1 badge. Sara taps Pay again, dialog opens for Bill 2. Cash, €40 received, change €1.50, Confirm. Both bills paid.
The cart footer now reads PAID — €83. The button row changes from Pay to Close Table. Sara taps it. Table 5 flips green on the floor plan. The pantry deducts the ingredients of all eight recipes — 200 g of tagliatelle, 480 g of ragù sauce, the antipasto’s prosciutto, mortadella, two cheeses, olives and bread, two glasses of Chianti from the open bottle, one cantuccino, two short pours of vin santo, two shots of espresso. The cashier dashboard’s revenue ticks up €83, the order count ticks one more, the cash and card KPIs each take their slice.
One ticket, two bills, four sends, two payments, eight inventory deductions. Sara walks back to the floor plan and looks at her next available table.
Related features
- POS overview — the four surfaces and how they share one ticket; read first if you’re new to the system
- Cashier dashboard — the till that the terminal works inside; opens and closes the shift the terminal rings sales into
- Floor plan — the entry point for dine-in tickets and the surface that flips colour when Close Table fires
- Kitchen display — where every Send to Kitchen lands; the badges in the green SENT group of the cart mirror this screen in real time
- Recipes — how the kitchen turns ingredients into a costed output — why every menu item needs a recipe behind it for the Pay step to debit the pantry
- Inventory — overview — the pantry that gets debited on every settled ticket, and where the chef sees what tonight cost
- Where your information lives — the till is one of the five rooms; the menu grid is the till talking to the window
- Prices, costs, and margins — the three numbers behind every line on the terminal: the price, the cost, the margin