Available — Local Digital Products
HCA · Studio
TR Contact ↗
Technical Note 04 · Product Architecture

Restaurant POS system architecture

The hard part of a POS system is not recording orders. The hard part is staying readable during a rush, remembering the sale you deleted, surviving a dropped connection and guaranteeing that price comes from one place.

Domain
Restaurant & café
Topic
System architecture
Basis
Drawn from practice
Short answer

Five decisions determine the outcome of a restaurant POS: (1) voids and undos must not be forbidden but must leave a trail; (2) the till interface must be touch-first and low-tap, usable by reflex; (3) the kitchen screen must be a status display showing waiting time by colour, not an order list; (4) menu price must come from one source, QR menu included; (5) loyalty data must be a natural part of the sales record, not a bolted-on module. These decisions matter more than the language or framework.

The wrong starting point

Most developers writing a POS start with the data model: table, order, product, payment. That model works within a week and the system looks finished.

The real problems start afterwards, and none of them are about the data model:

  • The person at the till takes seven taps to do what should take three.
  • An item was entered wrongly, deleted, and nobody knows what happened.
  • There are twenty orders on the kitchen screen and no way to see which is late.
  • The price on the QR menu differs from the price at the till.
  • At month end, "how many times did this customer visit" has no answer in the system.

Not one of those is solved by a better database schema. All of them are product decisions.

Voids and the audit trail

The most sensitive function in a POS is not adding a sale but removing one.

Both extremes are wrong. Forbid voids and the system becomes unusable — mistakes happen in every service and must be correctable. Allow free voids and you have opened the easiest route to till shrinkage: enter the item, take the money, delete the record.

The correct setup is in the middle: voids are allowed but leave a trail.

  • The record is not physically deleted; it is marked as voided.
  • Who, when, which line, for how much — all retained.
  • Reports surface those records; voids are their own line in the end-of-day report.
  • A void after payment is a different operation from a void before payment and requires separate authority.

Technically a small decision — mark rather than delete. Operationally, the entire reliability of the system comes from it.

The till interface

The only measure of a till interface is speed, and speed comes from tap count, not visual minimalism.

  • The most-used products must always be visible. A menu may hold 200 items but 80% of service comes from 20. Those 20 should never require a search.
  • Touch targets must be large. The interface cannot assume mouse precision; it will be used with wet hands, in a hurry, at an angle.
  • Confirmations must be rare. Every confirmation is a tap. Confirm only irreversible actions — closing the day, not adding an item.
  • Correcting must be fast. Undoing the last line should be one tap, because that is the most frequent mistake.

A web-based POS has an advantage here: the same application can run as different views on the till, a tablet and the kitchen screen. No per-device install, no version drift.

The kitchen screen

The most common mistake is giving the kitchen the admin order list. That list was designed for an e-commerce operation: filters, search, pagination, bulk actions.

The person in the kitchen does not read lists. They glance at the screen from a metre and a half away with their hands full. The screen has to tell them one thing: what should I do now?

  • Today only, active only. Completed and yesterday's orders must not occupy the screen.
  • Waiting time and colour. Each order should show how many minutes it has waited, and the card should change colour past a threshold. Colour is the only signal understood without reading.
  • A clear marker for new orders. During a rush a newly arrived order gets missed without one.
  • Flicker-free refresh. The screen must refresh regularly but must not redraw the whole list each time. Only changed cards should update. Otherwise the screen flickers constantly, staff stop reading it, and the panel becomes unused. It looks like a small detail and it is the detail that gets panels abandoned in the field.

A single price source

In restaurants, price appears in at least three places: the till, the printed or QR menu, and the online ordering site if there is one. Held in separate systems, they inevitably drift — a price rises, one is updated, the other forgotten.

The result is an argument with the customer, and the business loses that argument every time.

The correct setup: price has one source and every other surface reads from it. The QR menu should be fed by the POS product data — not a separate menu site but another view of the same data. Update the price at the till and the menu at the table is current.

Offline resilience

In a restaurant, the connection will drop. That is not a probability but a matter of time. If the system is unprepared, service stops and the business falls back to paper — and that service's data is lost permanently.

For a web-based POS, resilience is tiered and each tier costs more:

  • Minimum: on disconnection the system warns clearly and loses no data; it resumes when the connection returns.
  • Middle: open orders are held locally on the device, ordering continues during the outage, and everything syncs when connectivity returns.
  • Full: the system runs on a local server; the internet is needed only for backup and reporting.

Which tier is required depends on the business — and it is a budget decision, not a technical necessity. But the decision must be made deliberately. The worst case is the setup where nobody asked, and the answer is discovered during the first outage.

Why loyalty can't be added later

In most systems the loyalty programme is a module added afterwards, and that is why it works badly: the sales record and the customer record live in different places, matching them depends on the cashier's initiative, and the data is collected half-complete.

Yet all loyalty needs is recording who the sale was made to. That is a decision to make at the start.

Once it is made, everything else follows: stamps, points, coupons and campaign rules bound to time, product or customer group.

The critical design decision is that the rule must not be baked into the code. "Double stamps on filter coffee on Tuesdays" should not require a software update; it should be definable. Otherwise the business stops experimenting and the system carries a dead feature.

Summary

What distinguishes a POS is not the technology choice but five decisions: voids leave a trail, the till works in few taps, the kitchen screen shows status, price comes from one source, and the sale knows who it was made to.

Get those right and an ordinary technology stack is enough. Get them wrong and even the most modern stack gets abandoned in the field.

An example of this architecture in practice: the Sisa Atelier POS and loyalty system.

Decision list
Voids
Never delete, mark — retain who, when and how much
Till
The top 20 products always visible; undo the last line in one tap
Kitchen
Today only + waiting time + colour threshold; partial refresh (no flicker)
Price
One source — the QR menu reads POS product data
Offline
Choose the tier deliberately: warn / local queue / local server
Loyalty
Record who the sale was made to, from day one
Campaigns
Rules must be definable, not hard-coded
Deployment
Container-based delivery — no version drift across devices
Frequently Asked Questions

About POS architecture.

Off-the-shelf POS or custom software?

For a single-site business operating conventionally, an off-the-shelf product is usually cheaper and sufficient. Custom becomes worthwhile when loyalty design, campaign logic or reporting needs do not fit the shape the product allows. The deciding question: how valuable is it that the system remembers the customer and that you set the rules?

Is a tablet enough for the kitchen screen?

Yes, provided the screen is readable from a distance. Kitchen staff look from about a metre and a half away; a small-type order list is useless. Being able to see waiting time and the lateness colour from that distance matters more than screen size.

Does the system stop if the internet drops?

It depends which resilience tier the setup is built to. At the simplest tier the system warns and loses no data but cannot take orders. At the middle tier open orders are held on the device and sync when the connection returns. It is a budget decision — what matters is making it deliberately at build time.

Do digital stamps and points actually work?

They work more for bringing existing customers back than acquiring new ones — which is where café profitability largely sits. The condition is that the rule fits the business and can be tuned by trying. In a system where the rule is fixed, the loyalty feature falls out of use quickly.

Availability and Quotes

Visible in local search.
Credible in the product.