Skip to content
v26.3

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 → Tab Self-Order → Block QR Table Ordering


Table of Contents

  1. Feature Overview
  2. Setup
  3. Creating QR Codes
  4. Seats (Optional)
  5. Guest View (Smartphone)
  6. POS View (Staff)
  7. Self-Payment
  8. Call Waiter
  9. Settings
  10. 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: Activate Module

  1. Admin → Settings → Tab Features
  2. Enable Table Self-Order
  3. Save

Step 2: Enable QR Table Ordering

  1. Admin → Settings → Operations → Tab Self-Order
  2. In the QR Table Ordering block, switch Enabled on
  3. Save

Note: This switch was previously located under Online Ordering → Tab Ordering. It has been moved to Settings → Operations → Self-Order. It no longer exists in the Online Shop admin.

If guests are to pay themselves at their smartphone (self-payment), additionally set up a payment provider (Stripe or PayPal) under Admin → Online Ordering → Tab Payment.

See the Online Shop manual for details on the admin screen.

Step 3: Maintain Menu

The self-order feature uses the same online menu as the online shop:

  1. Admin → Articles → open desired article
  2. Tab Online → enable Visible in online shop
  3. Optional: add description, images, and allergens
  4. Save

Tip: Only articles that are enabled for the online shop appear in the self-order menu.

Step 4: Create QR Codes

See section Creating QR Codes.


Creating QR Codes

Each table requires its own QR code. The QR code contains a cryptographic token that uniquely identifies the table.

Generating a QR Code

  1. Admin → Tables → select table
  2. In the detail panel, click Generate QR code
  3. The system creates a new, unique session token
  4. The QR code is displayed as an image

Testing a QR Code Locally

The QR code points to the guest domain ({name}.order.dikas.de), which is only reachable from the internet. To test from the POS/workstation device:

  1. Admin → Tables → select table → Generate QR code
  2. In the QR section click the Test locally button (flask icon)
  3. The guest order view of the table opens in a new tab — directly on this device, without the guest domain

Printing a QR Code

  • Click Download QR code (PNG format)
  • 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:

  1. Admin → Tables → select table → Generate QR code
  2. The old QR code becomes invalid immediately
  3. 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:

  1. Admin → Settings → Tab Table Self-Order
  2. Enable Renew QR code tokens at end-of-day report
  3. 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

  1. Admin → Tables → Tab Groups
  2. Edit table group
  3. Enable Use seats
  4. Set number of seats (default: 4, max: 99)
  5. 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

Tab: Pay

See section Self-Payment.

Guest Account (optional)

If the Customer Accounts switch is active in the online shop (Admin → Online Ordering → Ordering), 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 phone 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 Order appears for confirmation in the POS under Table Orders (icon in the top POS bar) and is accepted or rejected there

Tip: Automatic confirmation is the default mode and recommended for most businesses.

💡 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 and delivery orders from the online shop, by contrast, run through the delivery service module.

Setting: Admin → Settings → Tab Table Self-OrderAutomatically confirm orders

Table Cleaning

If the table cleaning requirement is enabled (Admin → Settings → Operations → Table cleaning after payment), 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

  • Payment provider must be set up (Stripe or PayPal)
  • Admin → Online Ordering → Configuration → enter Stripe/PayPal credentials

Payment Process (Guest View)

  1. Tap the Pay tab
  2. Bill with all open items is displayed
  3. With seats: choose between "Only my seat" and "Pay entire table"
  4. 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
  1. Total amount (including tip) is displayed
  2. "Pay by card" for card payment via Stripe
  3. Alternatively: "Pay cash — call waiter" calls the server for cash payment

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/PayPal)

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)

  1. Tap the bell button
  2. 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
  1. After sending: "Waiter has been called" is displayed
  2. 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:

  1. Admin → Settings → Operations → Tab Alarm → enable Alarms and create at least one alarm type
  2. In the Automatic Triggers section, choose the alarm type for "Alarm on waiter call / payment request"
  3. 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

Module Settings

Admin → Settings → Tab Table Self-Order

Setting Description Default
Automatically confirm orders Orders are created directly as OpenBon without manual review Enabled
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 Ordering → Tab Configuration

Field Description
Stripe Publishable Key Public Stripe key for payment processing
Stripe Secret Key Secret Stripe key (never sent to the browser)
PayPal Client ID PayPal client ID for payment processing
PayPal Secret PayPal secret for payment processing

Seats

Admin → Tables → 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? Yes, the table self-order uses the online shop infrastructure (menu, payment provider). The online shop must be enabled, but a delivery service is not required.

What happens if the QR code has expired? The guest sees the message "Table not found or QR code expired" and is asked to scan the QR code again. You need to generate a new QR code in the admin.

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.