Skip to content

Kitchen display

The kitchen display is the screen above the line. When the server taps Send on the terminal, the order fans out by station: the pizza on the hot line, the caprese on cold prep, the Negroni at the bar. Each station’s display shows only its own slice. The cook taps once on an item to mark it Cooking, taps again when it’s plated to mark it Ready, and the server’s cart on the terminal sees the green badge appear a heartbeat later. The line never picks up the phone, never shouts; the ticket moves the conversation.

This page is for the chef who runs the line, the line cook tapping through tickets in the middle of the rush, the owner who wants to understand what replaced the paper ticket rail. If you’ve never seen the point of sale before, read the overview first — the kitchen display is one of the four surfaces. The order-taking side, where the Send that lands here comes from, is the terminal.

Why this page exists

The paper ticket rail is the legacy way kitchens coordinate, and it fails in three specific ways. First, handwriting — modifiers in shorthand the cook can’t read on a busy night, “no garlic” missed, the wrong allergy flag honoured. Second, lost tickets — the paper falls off the rail, blows under the line, gets stained illegible. Third, no state — the rail can’t tell the pass “the pizza for table 7 just came out of the oven”, because paper doesn’t change colour. The expo has to walk over and look.

The kitchen display fixes all three. The text is crisp, large, and the font scale is adjustable by the cook so it reads from across the line. Tickets never get lost — they sit on the screen until the cook explicitly advances them out. And state is the whole point: every item has a colour (slate for Sent, yellow for Cooking, green for Ready, red for Voided) and the pass sees those colours change in real time. When a ticket lands, an audio chime fires so the cook doesn’t have to be watching the screen.

The other reason this page exists is fan-out. A four-line order doesn’t land on one screen — it lands on every station that has work in it, and only those stations. The catalogue’s per-item station tag is the routing rule. Without it, the bar’s screen would fill up with pizzas and the line would shout. With it, each station’s display is a focused list of exactly what that station has to do, nothing more.

The rule

One ticket, one station. Each kitchen station only sees the lines from the order that belong to it; the cook only taps to advance their own lines. The fan-out is automatic, the audio chime announces the new ticket, the colour announces the state.

What you see on the screen

The display is a single full-bleed page with a thin header strip across the top and a horizontal row of order cards below it, oldest on the left, newest on the right.

The header strip carries, left to right: a back-to-admin tab, the title Kitchen Display, an amber pill with the active cook’s name, the row of station tabs, a status filter (Active / Preparing / Ready / Served), a Lock button, a Sound toggle (reading either Muted or Sound ON), and a font-size stepper showing the current size in pixels with a − and + on either side. Between the header and the cards, a small tab at the centre toggles Hide menu / Show menu so the cook can collapse the entire header when they want every pixel for tickets.

The station tabs are the routing filter. The first tab is All — every station’s items, used when the kitchen is small enough to run from a single screen. Each configured station then appears as its own tab, colour-coded (the dot on the tab matches the colour the cook picked when setting the station up), with the count of in-flight items shown as a small badge. A final Unassigned tab only appears when there are items routed nowhere — usually because a new dish was added to the catalogue without its station tag.

Each order card is one ticket’s slice for the current station. The top of the card shows the channel (Dine In, Takeaway, Online, Delivery), the table label if it’s dine-in, the order number, and an elapsed timer in minutes since the ticket landed. The card glows red around the edges when the timer crosses 15 minutes and the ticket isn’t yet Ready — the urgency ring is the cook’s “this one is slipping” cue.

The body of the card lists the items in this slice: name, quantity, modifiers (“no garlic”, “extra cheese”), notes in italics underneath. Each line has a status badge — slate Sent, yellow Cooking with a small pulsing dot and a running mm:ss timer, green Ready, red Voided with the reason struck through underneath. To the right of each line, the action buttonStart when the line reads Sent, Ready when it reads Cooking, nothing when it’s already done.

At the bottom of the card, when every line in this station’s slice is green, a single big Mark All Ready or Mark Served button finishes the card in one tap.

How to use it

The display opens from the sidebar, or directly at /admin/kitchen. The first thing it asks is who you are — a numeric PIN pad covers the screen until a staff member with kitchen access identifies themselves. After that, the cook normally never leaves the page during service.

Picking your station

Tap the station tab that matches where you’re standing. The hot-line tablet stays on Hot Line, the bar tablet stays on Bar, the cold-prep tablet on Cold Prep. The tab is sticky for the session — close the laptop lid, open it again, you come back to the same station. Tapping All is for a small kitchen running every section off one screen, or for the chef walking around the pass who wants the panoramic view.

Working a ticket

When a new card appears (and the audio chime fires), it lands on the left of the row. Read it, start cooking. Tap the line’s Start button — the badge flips from slate Sent to yellow Cooking with a pulsing dot and a live timer. Cook the dish. When it’s plated and on the pass, tap Ready. The badge flips green; the server’s cart on the terminal shows the green badge a beat later; the timer freezes at the final cook time.

Identical dishes read as one line, not a column of repeats. Four plain Beetroot Salads show as a single × 4 Beetroot Salad row, and one Start tap fires all four together. A dish prepared differently keeps its own row — × 3 Pizza Margherita sits above a separate × 1 Pizza Margherita · well cooked, each with its own Start, so you never start the wrong batch. Lines only merge when they’re truly the same: same dish, same modifiers, same note, same cooking state.

When every line on the card is green, the card itself turns green and the Mark All Ready button at the bottom becomes the Mark Served finisher — the chef on the pass taps it when the food leaves the kitchen, the card slides off the active filter, and the order moves to the served state on the floor plan.

If a tap was a mistake, tapping a third time on the same item walks it back to Sent. It’s a soft undo, not an audit-trailed reversal — the only state changes that write to the audit log are voids, which come from the server’s terminal, not from here.

The audio chime

A chime plays the first time a new ticket lands. The browser blocks audio playback until the page has registered a user gesture — a tap on the screen — so on a fresh page load the cook should tap anywhere once. After that, every new line that lands triggers the chime for the rest of the session. The Sound toggle in the header mutes the chime when the kitchen is quiet enough to read by eye, or when the cook is tasting and wants no interruption.

Font and visibility

The font-size stepper lets the cook scale every word on the screen up to readable-from-three-metres or down to fits-eight-cards-on-one-tablet. The setting persists per device. The Hide menu tab at the centre of the top collapses the entire header strip when the cook wants the cards filling the whole screen.

Locking the station

When the cook walks away for a break, tap Lock in the header. The PIN pad covers the screen. Anyone tapping the screen sees the pad — the tickets are invisible, and an accidental swipe by a passing customer can’t advance anything. When the cook returns, they PIN back in and the cards reappear exactly as they were.

What happens behind the scenes

When the server taps Send on the terminal, the system walks the order’s pending lines, looks up each item’s catalogue entry, reads the station tag, and groups the lines by station. For every station that has at least one line in the slice, a ticket card is created and pushed to that station’s display in real time. Stations that have no lines in this particular order don’t see anything — the bar doesn’t get a card just because the order exists.

Items whose catalogue entry has no station tag land on the Unassigned pseudo-station. The chef should periodically check Unassigned and route any item they find — the fix is upstream in the catalogue, not on the display itself.

When a cook taps to advance an item, the change broadcasts to every other surface listening on this order — the terminal’s cart for the same ticket sees the badge change, the pass tablet sees it change, the manager glancing at a kitchen tablet sees it change. There is no “send the update to the printer” step; the surfaces are all reading the same record, and any one of them tapping it changes it for all.

The order’s overall state — Sent, Preparing, Ready, Served — is computed from the lines, not stored separately. When every line is green, the order is Ready. When the chef taps Mark Served, it flips to Served and falls off the active filter. The floor plan and the cashier dashboard read this same state to know whether the table is still in service.

Worked example — Friday at 8 PM on the hot line

Friday, 8 PM. The hot line tablet is on the Hot Line tab. The card row reads, left to right:

  • Table 7 (dine-in, 8 minutes elapsed) — margherita ×1, bistecca alla fiorentina ×1; both badges yellow Cooking.
  • Table 12 (dine-in, 6 minutes) — pizza capricciosa ×1; badge yellow Cooking with a running 04:12 timer.
  • Table 14 (dine-in, 4 minutes) — spaghetti carbonara ×2; both badges slate Sent.
  • Table 3 — second course (dine-in, just landed) — tagliatelle al ragù ×2; both badges slate Sent.
  • Table 3 — first course already cleared, this is the second card for the same table because the server sent the primi after the antipasti were eaten.
  • Takeaway (3 minutes) — margherita ×1, quattro formaggi ×1; both badges slate Sent.

The pizza chef pulls the margherita for table 7 out of the oven, taps Ready on its line. The badge flips green. On Sara the server’s terminal, the cart line for that margherita turns green a heartbeat later — Sara walks to the pass, picks the pizza up, takes it to table 7. The bistecca still reads Cooking because the steak’s not done yet; Sara waits at the pass thirty seconds, the bistecca’s badge flips green too, she picks it up and continues.

The chef on cold prep, on a different tablet, was looking at table 7’s insalata caprese line. They tapped Ready on it ninety seconds ago — Sara’s cart on the terminal has been showing the caprese green since then. The pass coordinates not because anyone is shouting “table 7’s salad is up” — it coordinates because every cook can see every other station’s badge on the same order if they tap into the All view, or by glance at the order header which shows the overall state.

The takeaway card sits on the line a few cards down. Two pizzas, both slate. The pizzaiolo gets to it after the table-7 push, starts both, four minutes later marks both Ready. The cashier at the front taps Pay on the takeaway, takes the cash, the pantry deducts the recipes. Nobody had to walk anywhere.

One screen, six cards, three stations, no shouting. The badges did the talking.

  • POS overview — the four surfaces and how they share one ticket; read first if you’re new to the system
  • POS terminal — where every Send that lands here comes from; the badges in the green SENT group of the cart mirror this screen in real time
  • Cashier dashboard — the till that frames the shift; orders served here eventually pay there
  • Floor plan — the dining-room map; the table label on a card matches the table colour on the floor plan
  • Recipes — how the kitchen turns ingredients into a costed output — what gets deducted from the pantry when the cashier rings the bill on the order this screen helped cook