Skip to content

Chapter 1 — Kitchen Display (KDS)

The kitchen display is a browser page that opens on a screen in the kitchen or bar and shows order tickets live. Kitchen staff use it to move orders from "new" through to "ready". It is connected to the internet and receives orders in real time.

⚠️ App language: this app opens in German by default, and the Persian translation of the kitchen is incomplete — that is, even if you switch the language to Persian, some labels (such as Done, Preparing, Refresh) remain in English. The labels shown in parentheses in this chapter are exactly what you actually see on screen.

1-1. Signing in

  • Sign in with your email and password (the same account as the till). The sign-in page also has a phone tab, and if two-factor authentication is enabled, a code step is added as well; there are also social sign-in options and the registration/forgotten-password pages.
  • Lock screen / quick PIN: just like the till, if a user has a PIN they can lock the board and unlock it again with their PIN (without signing out completely), and from the list they can switch user or add another cashier.

1-2. Selecting a location and station (before the board)

After you sign in, a separate screen asks you to choose the location (Location) and station (Station) for this display:

  • Any station already taken by another user is shown as disabled.
  • After you select one, a percentage progress bar loads the initial data and then you enter the board. If part of the data was not cached, the message "the board will open but…" appears with a try again button.
  • If there is a problem: "the kitchen session could not be loaded" (→ go to sign-in) or "the locations could not be loaded" (→ try again).
This step is different from selecting a destination (Destination) inside the board; that one is explained in section 1-3.

1-3. The order board

The main screen is a board with status columns, each of which scrolls separately:

  • New (New): newly arrived orders.
  • Preparing (Preparing): work that has been started.
  • Ready/completed (Completed): finished work.
  • Cancelled (Cancelled): cancelled orders (red).

The head of each column shows its ticket count and item count; an empty column has its own message ("No new work", "Nothing preparing", "No completed work", "Nothing cancelled").

The bar at the top of the board

  • Selecting a destination (Destination): choosing which kitchen monitor/station this display shows (for example "hot kitchen" or "bar"). If there is only one destination, it is selected automatically and your last choice is remembered. If no destination is available, a help message appears and you must select a destination before loading.
  • Refresh button (Refresh), the "Refreshing" label while refreshing, the time of the last check, the ticket/item count, and the last live event.
  • Pagination notice: if the server has more than has been loaded, "Showing X of Y backend orders" is shown — meaning that after a filter/page change on the server side, press Refresh.

What you see on each ticket

  • Source type: Open cart, Finalized order or Kitchen dispatch; the revision number ("Rev N").
  • The order title, source line, the created and updated times, and the status label.
  • Item row: the quantity shown as xN (a negative number for returns), the product name, "Note:" for notes, add-ons, and nested complementary items labelled "Cross-sell for …"; where configured, each product's coloured background.

1-4. Moving an order along (Bump)

On each ticket, only the buttons permitted for that particular status are shown:

  • Start preparing (Start preparing) → only from the new state → moves to "preparing".
  • Done (Done) → only from the preparing state → moves to "ready/completed".
  • Cancel (Cancel) → from new or preparing → moves to "cancelled" (a red button).

Every action is recorded on the server and the page refreshes; while an action is being recorded, the other buttons on that ticket are hidden. Impermissible actions have no button at all (they are hidden, not disabled). If saving a status fails, a separate red bar ("Kitchen status could not be updated") is shown.

Printing a ticket (Print)

  • The print button is only present on printable tickets.
  • Success: "Kitchen ticket sent to …".
  • If a print template has not been configured: the warning "No kitchen print template is configured…".
  • Errors are separated by cause: a template problem ("…template could not be prepared…") versus a hardware problem ("…could not be printed… Check the printer connection").

1-5. Alert sound

  • A beep/chime is played for new work or a change so that you notice even without looking at the screen.
  • The sound is played only after genuine confirmation from the server (new work, a newer revision, or a status change) — not when the page first opens, and not during the refresh after reconnecting. Nor does it pile up back to back (a minimum gap of 1.5 seconds).
  • Sound permission bar: until the browser has granted permission to play sound, a yellow bar at the bottom of the screen ("Kitchen alerts need sound permission") with an "Enable kitchen sound" button is shown.
💡 If the sound is not playing, that same "Enable kitchen sound" button, or a single touch on the screen, resolves the problem.

1-6. Connection status and recovery

At the top of the screen there is a Live / Stale / Offline indicator ("Stale" means the connection is slow/reconnecting). When the live connection has a problem, a prominent bar appears:

  • "Live order updates are offline" (disconnected)
  • "Reconnecting to live order updates…" (connecting)
  • "Live updates may be behind" (one update was missed; the board refreshes itself automatically)

If the live connection drops, the reliable route is the manual Refresh button at the top of the screen. The board keeps the existing tickets between refreshes and only shows the new status.

  • The "determining location" state has its own dedicated button ("Retry location"); if the board did not load at all, the "Refresh board" recovery screen appears.
  • Requests have a timeout (if it takes too long, the message "request timed out — use Refresh").

1-7. Settings

From the user menu, account settings with tabs for profile, security, appearance (theme), notifications and integration — and sign out. ⚠️ The integration (Integration) tab is disabled and does not open.

System settings has only two tabs: catalogue and sales (the "general" link also goes to the catalogue). If you do not have write permission, it opens with a read-only bar; and if you do not have view permission, it does not open at all.