Table Self-Order¶
Guests scan a QR code at the table and can order and pay directly from their smartphone — without having to wait for a server. The module is particularly suitable for self-service areas, beer gardens, festivals, and all businesses looking to speed up their service.
Activation: Admin → Settings → Operations → Operations → Module list → QR-Tischbestellung (QR table ordering)
For vending kiosks and the display of pickup numbers, read the step-by-step guide QR ordering & self-service. QR orders at the table are assigned to the table and do not receive a kiosk pickup number.
Table of Contents¶
- Feature Overview
- Setup
- Creating QR Codes
- Seats (Optional)
- Guest View (Smartphone)
- POS View (Staff)
- Self-Payment
- Call Waiter
- Settings
- Frequently Asked Questions
Feature Overview¶
| Feature | Description |
|---|---|
| QR Code at the Table | Each table receives a unique QR code that links to the ordering page |
| Menu on the Smartphone | Guests see the full menu with images, options, and prices |
| Order Without a Server | Orders are sent directly to the kitchen |
| Seat Assignment | When seats are enabled, each order is assigned to a seat |
| Self-Payment | Guests can pay their bill directly on their smartphone by card |
| Call Waiter | Guests can call the server at the press of a button |
| Tip | Tip selection (0 %, 5 %, 10 %, 15 %, or custom) when paying |
Setup¶
Step 1: Check Prerequisites¶
The Self-Service (QR ordering) module must be included in your license. For the table codes, your business's guest address must be set up.
Step 2: Enable QR Table Ordering¶
- Open Admin → Settings → Operations → Operations.
- In the module list, switch on QR-Tischbestellung and save.
- In the tab Operations → QR-Tischbestellung, set the ordering behavior. If the tab is missing, choose the view mode Expert.
You will find the settings for appearance, articles and online payment under Admin → Online-/QR-Einstellungen. No additional online shop license is needed for this.
Step 3: Maintain Menu¶
The self-order feature uses the digital menu:
- Admin → Articles → open the desired article
- In the Visibility section, leave the switch "Nicht in Speisekarte" (not in menu) switched off
- Optional: add description, images, and allergens
- Save
Tip: With the article import, many articles can be released for the menu at once.
Step 4: Create QR Codes¶
See section Creating QR Codes.
Creating QR Codes¶
Each table requires its own QR code. It takes the guest directly to the order for this table.
Generating a QR Code¶
- Admin → Settings → Operations → Servicebereiche (service areas) → select table
- In the detail panel, click QR-Code erzeugen (generate QR code)
- The system creates its own order link for this table
- The QR code is displayed as an image
Testing a QR Code Locally¶
The QR code points to your business's configured guest address. Check the printout with a guest's phone. For an additional test directly on the POS/workstation device:
- Admin → Settings → Operations → Servicebereiche → select table → generate QR code
- In the QR section click the Lokal testen (test locally) button (flask icon)
- The guest order view of the table opens in a new tab — directly on this device, without the customer domain
Printing a QR Code¶
- At the selected table, click the printer icon.
- For all tables of the selected group, use QR drucken (print QR) in the toolbar.
- Print the QR code on a weatherproof sign or table tent
- Recommended minimum size: 4 × 4 cm
Renewing a QR Code¶
A QR code can be renewed at any time:
- Admin → Settings → Operations → Servicebereiche → select table → Neu erzeugen (regenerate; arrow icon)
- The old QR code becomes invalid immediately
- Guests with the old QR code see an error message
Important: After renewal, the printed QR codes at the table must be replaced.
Automatic QR Code Rotation¶
Optionally, QR codes can be renewed automatically daily:
- Admin → Settings → Operations → QR-Tischbestellung
- Enable QR-Code-Tokens bei Tagesabschluss erneuern (renew QR code tokens at end-of-day report)
- At each end-of-day report, all QR codes become invalid and new ones are created
Warning: With automatic rotation, QR codes must be displayed digitally (e.g., on a tablet at the table), since printed codes would become outdated daily.
Seats (Optional)¶
When a table has multiple guests, orders can be assigned to seats. This way, the staff knows which order belongs to which guest.
Enabling Seats¶
- Admin → Settings → Operations → Servicebereiche → Tab Gruppen (groups)
- Edit table group
- Enable Use seats
- Set number of seats (default: 4, max: 99)
- Save
How It Works¶
- When ordering for the first time, the guest automatically receives the next available seat
- The seat is stored via a cookie in the browser (valid for 24 hours)
- Each guest only sees their own orders
- When paying, you can choose between "Only my seat" and "Entire table"
POS Display¶
When seats are enabled, additional seat tabs appear in the table view at the POS:
| Tab | Display |
|---|---|
| Total | All orders for the table |
| Seat 1 | Only orders from seat 1 |
| Seat 2 | Only orders from seat 2 |
| ... | ... |
Occupied seats are highlighted in color.
Guest View (Smartphone)¶
The guest scans the QR code and lands on a mobile-optimized page with three tabs.
Tab: Menu¶
- Category bar at the top: horizontal buttons for quick jumping between groups
- Article cards with image, name, description, and price
- Plus button to add to cart
- For articles with options (e.g., sides, extras): selection dialog opens automatically
- Diet badges: Vegan, Vegetarian, Gluten-Free are displayed automatically
Shopping Cart¶
- At the bottom of the screen, a cart bar appears: "3 items — 24.50 €"
- Tapping opens the cart overlay:
- Article name and selected options
- Plus/minus buttons to change quantity
- Input field for kitchen notes (e.g., "no onions")
- Order button
Tab: Orders¶
- Overview of all your own orders
- Article name, quantity, price, and selected extras
- Automatic refresh every 15 seconds
- Total at the end of the list
- "Nochmal" (again) per item: without options the article goes straight into the cart; with options the article dialog opens with the options chosen back then pre-selected. If the article is no longer on the menu or is "currently out", a notice appears instead of the button
Tab: Pay¶
See section Self-Payment.
Guest Account (optional)¶
If the Customer Accounts switch is active in the online shop (Admin → Online-/QR-Einstellungen → tab "Bestellung"), a person icon appears in the header of the QR ordering page. Guests can sign in or register — the same accounts as in the Online Shop.
- My orders: Logged in, the guest can see their previous online orders.
- Reorder: With one click, the items from a previous order (checked against the current menu) are placed into the table cart.
- Receipt & hospitality receipt: For each order, the guest can download the receipt as a PDF or receive it by email; a hospitality receipt (with optional occasion/participants) is available in the web account.
Sign-in is optional — anonymous table self-ordering works as usual without an account.
POS View (Staff)¶
Recognizing Self-Orders¶
Orders placed by guests via self-order are marked at the POS with a 📱 symbol before the article name.
Order Confirmation¶
Depending on the setting, orders are handled differently:
| Mode | Behavior |
|---|---|
| Automatically confirm | Order is immediately created as an OpenBon and sent to the kitchen |
| Manually confirm | With the online shop also active: the order appears for confirmation in the POS under Table Orders (icon in the top POS bar) and is accepted or rejected there |
Tip: Before the first guest, check whether your business wants to take over orders immediately or review them manually first.
QR license only
Without the online shop, QR orders are always handed over immediately as open tickets to the table and kitchen. An acceptance list is then not required and does not appear.
💡 Table Orders view: The POS Table Orders button (QR icon, badge = open table orders) shows only QR/table self-orders with the stages New → In Progress → Ready → Done. Pickup orders from the online shop are processed in online pickup; for delivery orders use the delivery service.
Setting: Admin → Settings → Operations → QR-Tischbestellung → Bestellungen automatisch bestätigen (automatically confirm orders)
Table Cleaning¶
If the table cleaning requirement is enabled (Admin → Settings → Operations → Tisch-Reinigung nach Kassierung), the table is automatically set to "Cleaning" status after a self-payment transaction.
Self-Payment¶
Guests can pay their bill directly on their smartphone without having to wait for a server.
Prerequisites¶
- Stripe must be set up — payment is made in your business's currency
- Admin → Online-/QR-Einstellungen → Zahlung → open the link to Hardware → Zahlungsoptionen and enter the Stripe credentials
Payment Process (Guest View)¶
- Tap the Pay tab
- The bill with all open items is displayed
- Choose what is paid — three ways:
- Everything (with seats: "Only my seat" or "Pay entire table")
- Tick individual items — only the selected ones are paid
- Split by persons — the open amount is divided by the number of persons; the cents are distributed so that all shares together add up exactly to the open amount, and each receipt carries a round cent amount
- Select tip:
| Option | Description |
|---|---|
| None | No tip |
| 5 % | 5 % of the bill total |
| 10 % | 10 % of the bill total |
| 15 % | 15 % of the bill total |
| Other | Enter custom amount |
- Total amount (including tip) is displayed
- "Pay by card" for card payment via Stripe
- Alternatively: "Pay cash — call waiter" calls the server for cash payment
Splitting the bill — everyone pays their share
Each partial payment has its own tip and its own receipt, which contains only what was chosen (with a share, every item appears proportionally). The rest stays open at the table — the waiter collects it as usual. Items that have already been paid disappear for the other guests at the table within a few seconds; anyone who submits an already paid item anyway gets a notice, nothing is booked. If two guests tap "Pay" at the same moment, only one payment is booked — if the second card has already been charged, DiKAS refunds the amount immediately and automatically, and the guest reads "refunded".
After Payment¶
- Success screen on the smartphone
- Receipt is created in the system (with payment method "Online payment")
- Table is automatically released (if all items are paid)
- With table cleaning requirement: table changes to "Cleaning" status
Security¶
- Each payment has a unique PaymentIntentId (idempotency protection)
- Duplicate payments are automatically detected and prevented
- Payment data is never stored on the DiKAS server (Stripe)
Call Waiter¶
On every page of the self-order, there is an orange bell button (bottom right). Guests can use it to call the server.
How It Works (Guest View)¶
- Tap the bell button
- Select reason:
| Reason | Typical Use Case |
|---|---|
| Advice | Question about the menu or recommendation wanted |
| Cash Payment | Guest wants to pay cash |
| Other | All other requests |
- After sending: "Waiter has been called" is displayed
- 60-second cooldown — cannot call again during this time
How It Works (POS View)¶
- The table receives a pulsing orange border
- A bell symbol appears on the table (for cash/card payment a coin or card symbol)
- Opening the table automatically acknowledges the waiter call
Optional Alarm (Sound + Alert Panel)¶
The table marking is only visible on the table screen. To have staff be notified of a waiter call or payment request anywhere with sound and alert panel, the alarm system can be connected:
- Admin → Settings → Operations → Tab Alarm → enable Alarms and create at least one alarm type
- In the Automatic Triggers section, choose the alarm type for "Alarm on waiter call / payment request"
- Save
From then on, every waiter call from the QR table ordering (Pay, Advice, Other) triggers the chosen alarm — with table number and reason in the message. If the trigger is left empty, only the silent table marking continues.
Settings¶
Appearance and Article Selection¶
Admin → Online-/QR-Einstellungen
With a pure QR table ordering license, the required areas are available there:
| Area | Use |
|---|---|
| Allgemein (general) | Name, slogan and contact data of the QR ordering |
| Design | Design template, logo, banner, colors, font and preview |
| Artikel (articles) | Define the visible articles of the digital menu |
| Zahlung (payment) | Enable Stripe payment for QR table orders |
| Öffnungszeiten (opening hours) | Maintain opening hours, breaks and special days for the shared guest and reservation page |
| Recht (legal) | Edit imprint, privacy policy, terms and withdrawal for the guest pages or generate them as a template |
Changes to the design are also used in the QR table ordering after saving.
Opening hours for QR ordering
Outside opening hours, the QR order page can show the notice "Currently closed". As long as QR table ordering is enabled, guests at the table can continue to order. If, on the other hand, the QR table ordering module is switched off, table ordering is blocked; guests are referred to the staff.
Imprint and privacy policy: If imprint and privacy policy are maintained in the Recht tab, the QR order page always shows the two links in the footer — even if the online shop is switched off.
Module Settings¶
Admin → Settings → Operations → QR-Tischbestellung
| Setting | Description | Default |
|---|---|---|
| Bestellungen automatisch bestätigen (confirm orders automatically) | With the online shop: orders are created directly as an open ticket without manual review. Without the online shop, QR orders are always accepted immediately. | Check setting |
| Nur PrePay (Bestellung erst nach Online-Zahlung annehmen) (prepay only — accept order only after online payment) | The order is only accepted after a confirmed Stripe payment; Stripe must be set up | Disabled |
| QR-Code-Tokens bei Tagesabschluss erneuern (renew QR code tokens at end-of-day report) | All QR codes become invalid at end-of-day report and new ones are created | Disabled |
Payment Provider¶
Admin → Online-/QR-Einstellungen → Zahlung
| Field | Description |
|---|---|
| Online-Zahlung (Stripe) aktiviert | Allows online payment in QR table ordering |
| Zahlungsanbieter konfigurieren | Opens Admin → Settings → Hardware → Payment options for the Stripe credentials |
Seats¶
Admin → Settings → Operations → Servicebereiche → Groups → edit group
| Field | Description | Default |
|---|---|---|
| Use seats | Orders are assigned to seats | Disabled |
| Number of seats | Maximum seat number per table in this group | 4 |
Practical Tips¶
Beer Garden / Outdoor Area¶
- Use weatherproof QR code signs (laminated or UV-resistant)
- Leave automatic token rotation disabled (printed codes)
- Disable seats (open seating)
Festival / Club Event¶
- Large, clearly visible QR codes on table tents
- Enable automatic confirmation (faster throughput)
- Enable self-payment for faster processing
Restaurant / Dining Room¶
- Print QR code discreetly in the menu or on a table tent
- Enable seats for correct assignment
- Call waiter feature facilitates the service workflow
Disco / Club¶
- QR codes at standing tables or in booths
- Combination with the ticketing module (tickets + table ordering)
- Self-payment for quick drink settlement
Frequently Asked Questions¶
Do I need an online shop to use table self-order? No. The license for QR table ordering is enough. The required areas under Online-/QR-Einstellungen are unlocked automatically. Öffnungszeiten (opening hours) and Recht (legal) are also available because they belong to the shared guest page. Pickup, delivery and online shop orders remain hidden without an online shop license.
What happens if the QR code has expired? The guest receives a notice about an invalid or expired link. Open the affected table in the service areas, print its current QR code and replace the old table tent. Also check whether QR table ordering is still enabled.
Can guests order without seat assignment? Yes, if seats are disabled, all orders are assigned to the entire table.
How long is a QR code valid? A QR code remains valid until it is manually renewed or the end-of-day report is performed with token rotation enabled.
Does self-order work without an internet connection? No, both the guest's smartphone and the DiKAS server require an internet connection.
Can a guest order for the entire table? Yes, each guest can order any number of articles. Seat assignment only serves for attribution when paying.
What happens if a guest closes the browser? The shopping cart is stored in the browser session. When scanning the QR code again, the previous cart is restored. Orders that have already been placed are preserved.
Can staff void orders from self-order? Yes, orders from self-order are regular OpenBons and can be voided at the POS as usual.
Are self-orders sent to the kitchen printer? Yes, self-orders are treated exactly the same as POS orders — including kitchen printing, kitchen display (KDS), and draught system integration.