Design sample Invented restaurant, invented menu, invented prices. Nothing here is a real business or a real till. Read the system design →

M Meridian Kitchen

Table 6 Server D. Salih Covers 0

Menu

Ticket

Modifier — applies to the last dish added

Subtotal
0.000
Service 10%
0.000
Tax 5%
0.000
Total
0.000

Kitchen display

amber 20s · red 40s

How it is designed

A till and a kitchen screen are two halves of one system, and almost every cheap version gets the seam between them wrong. Three decisions here are worth pulling out.

Money is never a float

Every price, modifier, subtotal, service charge and tax figure in this page is an integer number of fils. Nothing is ever a decimal until the moment it is turned into a string for display. The minor unit here is deliberately 1000 rather than 100, so that any code quietly assuming two decimal places would break loudly instead of silently.

This is not theoretical. Run the same four prices both ways — the figures below are computed live by this page, not typed in:

A till that adds floats drifts by a fil here and a fil there, and the drawer does not balance at close. The person who gets blamed is the cashier, not the developer who wrote 0.1 + 0.2.

The kitchen clock starts when the kitchen gets it

Not when the waiter began tapping. A ticket that sat on the till for four minutes while a table argued about drinks is not four minutes late in the kitchen, and colouring it red would train the staff to ignore the colour — which is the only thing the display is for. Tickets go amber at twenty seconds and red at forty here so the behaviour is visible in a demo; a real kitchen would set those per station.

A modifier splits the line rather than changing it

Add two lamb kebabs, then tap extra spicy. The modifier applies to one portion, so the line splits: one spicy, one plain. The lazy alternative — applying it to the whole stacked line — sends the kitchen an instruction nobody asked for, and the customer who wanted it mild gets it back.

Other demos · Hire the developer