OptimoCMS Docs
Back to overview

Dine-in Table Ordering

Guests order from their table via QR code or table number. Tips, bill splitting, kitchen integration and session management.

Activating dine-in

How to enable dine-in: 1. Go to Menu → Ordering → Fulfillment Types 2. Enable 'Dine-in' 3. Choose payment mode: pay upfront (per round) or pay afterwards (at the end) 4. Choose table mode: QR code, manual table number, or both After activation, the dine-in tab appears in the ordering flow on the live website.
Tips
  • Choose 'both' as a fallback in case a QR code doesn't work.
  • With upfront payment, the guest pays per round via Stripe.

Managing tables

Manage your tables via Menu → Dine-in → Tables: • Create a table — Give it a name or number (e.g. 'Table 1', 'Terrace A3') • Edit — Click a table to change its name • Delete — Remove tables that are no longer in use • Generate QR codes — Click 'Generate QR' per table • Download QR — Download as PNG, ready to print
Tips
  • Print QR codes on standard A6 format for on the table.
  • Use clear table names so the kitchen immediately knows where an order goes.

How it works for guests

The guest experience with dine-in: 1. Guest scans the QR code on the table → the menu opens automatically in dine-in mode 2. Or: guest opens the menu and manually enters a table number 3. Add items to the order 4. 'Place order' → items are sent to the kitchen as a round 5. Order more: guest adds new items and places another round 6. Check out: guest selects tip, optionally splits the bill, and pays via Stripe
Tips
  • Guests can place multiple rounds within the same session.
  • With pay-afterwards, the guest only pays when all rounds are placed.

Managing orders (kitchen)

Recognizing and processing dine-in orders: • Dine-in orders show a table badge (e.g. 'Table 5') in the orders overview • Each round appears as a separate block with round number • Mark a round as 'Served' when the food leaves the kitchen • Cancel an individual item if it's no longer available — the total is recalculated • View the full session overview or print a receipt
Tips
  • The sound notification for new orders also works for dine-in orders.
  • The receipt automatically includes the table number.

Tips and bill splitting

Tips: • The guest chooses from preset percentages (e.g. 5%, 10%, 15%) or enters a custom amount • The tip is calculated on top of the subtotal Bill splitting: • Equal split — divide the total among a number of people • Custom split — each person pays a self-chosen amount • Each partial payment goes separately through Stripe • The session only closes when the full amount is paid
Tips
  • With equal split, the amount is divided fairly, including tip.
  • With custom split, the system validates that all partial amounts cover the total.

Session management

A dine-in session runs from the moment a guest opens the table until payment: • Auto-close — after full payment the session closes automatically • Manual close — staff can close a session via the admin panel (with warning for outstanding balance) • Idle timeout — set a time after which inactive sessions are automatically closed Closed sessions are archived and can be found in the session overview.
Tips
  • The idle timeout prevents forgotten sessions from staying open indefinitely.
  • When manually closing, you receive a warning if there is still an outstanding amount.

Review email after visit

After a dine-in visit, a review request can be sent automatically: • The system sends an email to the guest (if an email address is available) • The email contains a link to the restaurant's review form • Timing is configurable (default 7 days after visit) Requirement: the guest must have provided an email address during checkout.
Tips
  • Review emails increase the chance of positive feedback.
  • Adjust the timing in the notification settings.
Note
  • With pay-afterwards, guests can only check out after placing at least one order.
  • Without the guest's email address, no review request is sent.

Call us