Sounds, tones and the repeat alert

Four events get their own tone, the volume is the app's own rather than the tablet's, and a new order re-alerts every 30 seconds until acknowledged.

Settings group: Sounds. Updated 2026-08-20.

WHAT THIS ARTICLE CANNOT PROMISE

Nobody has heard any of this. This part of the app decides what should play and hands that decision on; it never opens an audio stream, and no tablet has run the app. Every sentence here is read from code, not from a kitchen.

Four events, four tones

A screen has a sound for four things: a new order arriving, an order already on the rail changing, a guest tapping to say they are here for a curbside order, and an order crossing its late threshold. Each of the four can carry its own tone.

The order-change tone is separate from the new-order one on purpose. A change to a ticket a cook has already read is the event most easily missed, and reusing the arrival tone for it makes the two indistinguishable at the moment it matters.

Tones are chosen by name from a short built-in set rather than uploaded. The app also knows which names it has, so a name it does not recognise is recognised as unknown instead of playing nothing and leaving you to work out why.

Two ways to be silent, and both work

Muting a screen stops its sound. Dragging the volume to zero is the same instruction said with the slider, and it is treated as silence rather than as a sound played at a level nobody can hear.

That volume is a level this app applies to its own alerts. It is not the tablet's media volume, so turning a kitchen screen down does not quieten anything else on that tablet, and nothing else on the tablet turns the kitchen screen up.

A late order never gets louder than you set it. There is no override that raises the escalation tone above your volume, because that would be a screen that gets louder at the worst point of a shift with no control that stops it.

The repeat alert

The failure this exists for is a ticket nobody noticed. One tone at the instant an order lands is missed whenever it lands while a basket goes into the fryer, so a new order alerts again on a repeating interval until somebody acknowledges it. It is on by default, at thirty seconds.

Only new orders repeat. An update or a late order does not start a second repeating tone of its own.

Four unacknowledged orders produce one repeat, not four. Four tones a second apart is exactly the noise a kitchen learns to tune out, which is the thing the repeat exists to prevent.

A silent screen does not stack them up. While a screen is muted it stops recording repeats at all, so unmuting it does not fire everything that arrived in the meantime.

Where this came from

Every statement above was read out of the source code named below, and the build re-reads those files and fails if a statement stops matching them. This article carries no claim that was not measured from one of these files.

  • android/app/src/main/kotlin/online/minirestaurants/kds/audio/SoundPolicy.kt
  • android/app/src/main/kotlin/online/minirestaurants/kds/audio/SoundSettings.kt
  • android/app/src/main/kotlin/online/minirestaurants/kds/audio/NagAlert.kt