AI KIOSK · back office

Sign in

Your email and password. The token lasts for this browser tab only and is never written to disk.

Sign in with the platform key instead — for an account created before passwords existed.

New dish

Type prices the way you write them on the board — 219, 219,50 or 219.50. Same as the spreadsheet importer. Anything that is not clearly a number is refused rather than guessed.

Dishes

Sizes and extras live on each row — press Details. A tile is drawn here in the browser and uploaded, so it costs nothing on the server and a real photo you upload later simply replaces it.

CategoryStation Take-awayDine-inMinOpenLivePhoto

Categories

What groups dishes on the kiosk grid. The code is the stable handle the CSV importer matches on — change a title freely, change a code and the next import creates a second category.

Categories get the same drawn tiles as dishes — this strip is the first thing a guest sees after choosing how they are eating.

CodeSortLiveDishes

Tax rates

Most shops need none of these: every dish is taxed at the branch's own rate and that is the end of it. Add one when a government disagrees — zero-rated groceries in Canada, alcohol at a higher band in Norway, a deposit that is not a sale. A dish left on branch default is unaffected by anything here.

The percentage is what a guest is charged. The code is what you type in the CSV importer, so keep it short and keep it the same.

CodeNameBasis pointsDishes

Groups of extras

A group is a question the kiosk asks — “Sauces”, “Add cheese” — and the options are the answers. Min and max say how many a guest may pick: 0/1 is optional, 1/1 forces a choice. A price of 0 is free, and is written down rather than left blank.

Print sections

A station that makes things: a hot line, a bar, a wine area. Each dish belongs to one; each printer serves one. A dish with no station goes to whichever section is marked default, so nothing a nobody categorised can fall on the floor.

CodeDefaultLiveDishes

Import a menu

The template comes back with your current menu already in it, so the normal path is download, edit, re-upload — not retype. It opens correctly in a Nordic Excel: semicolons, a BOM, and CRLF line endings. An upload is staged and validated first; nothing changes until you press Apply.


      

What guests said, and the kiosk did not understand

Every phrase the matcher could not place is recorded here with a count, in the language it was said in. Bind the frequent ones to a dish and every later guest who says it is understood — including on tablets that are offline, because the binding travels in the menu snapshot rather than being looked up.

This is the whole reason the kiosk gets better in a shop rather than staying as good as the day it was installed. A phrase said four times is four guests who had to tap instead.

HeardLanguageTimes Last heardThey meant

Languages the kiosk offers

The app ships string tables for all of these. A guest sees the ones you tick, in this order — English and Arabic first, without a flag, because neither belongs to one country.

This branch

The kiosk waits that many seconds with nothing touched, then asks whether the guest is still ordering and gives them ten seconds to answer. No answer and it starts over, so the next guest never inherits a basket. Between 10 and 600.

Tablets

Issuing a code unpairs that tablet until the code is typed in. It lasts 15 minutes.

LabelPairedLast seen