Documentation
Menu And QR OrderingMenu And Table QR Ordering

Menu And Table QR Ordering

Build categories, add menu items, manage availability, food type, publish QR menus, and prepare customer ordering.

The menu is the source of truth for what you sell and at what price. It powers:

  • staff order entry (New Order, Orders)
  • customer QR ordering in the browser
  • kitchen display item names
  • billing line items and tax
  • POS tiles
  • analytics (item performance)
  • inventory recipes (when linked)

A messy menu creates messy service. Keep it simple enough for staff to update during a busy shift.

1CategoryCustomersections2ItemPricefood type3AvailabilitySold outactive4QR testScansubmit

Categories

Use names customers understand:

  • Starters, Soups, Main Course
  • Beverages, Combos, Desserts
  • Today's Specials

Avoid internal kitchen codes unless staff also use those names aloud.

Inactive categories hide whole sections without deleting history. Delete only when you are sure you will never need the category again.

Items

For each item, set at minimum:

FieldPurpose
NameKDS, bills, QR (keep short)
PriceLocked on order lines at time of sale
CategoryNavigation on all surfaces
AvailabilityOn/off without deleting
Food typeVeg / Non-veg / Not set

Optional but valuable:

  • description (answers "what is in this?" before staff is called)
  • image or icon (QR and POS conversion)
  • modifier groups and options (see below)
  • allergens, station, or promo tags (kitchen routing and marketing)

Modifier groups and options

A modifier group is a question the customer answers about an item — sugar level, spice, add-ons, size. Each group holds options, and each option can carry its own price.

Per group you set:

  • Required or optional — a required group must be answered before the item can be added
  • Minimum and maximum selections — "pick exactly one", "pick up to three"

Per option you can set branch availability and pricing, so an add-on that costs more at your airport outlet, or is unavailable there, behaves correctly without a separate menu.

Chosen modifiers travel with the order:

  • they print on the KOT, so the kitchen cooks what was asked for
  • they print on the receipt, with their prices
  • they consume inventory if the option is linked to a raw material

Set groups up once and attach them to as many items as apply. Changing a group changes it everywhere it is attached.

Food type (Veg / Non-veg)

Indian customers often filter by food type. Set Veg or Non-veg consistently. Marks appear on:

  • customer QR menu
  • staff order screens
  • POS tiles
  • receipts (where configured)

"Not set" should be temporary—fix before go-live.

Availability during service

When something sells out:

  1. Mark item unavailable
  2. Do not delete the item

Unavailable items disappear from active ordering but stay in history, recipes, and reports. Turn availability back on when prep restocks.

Branch menus

Multi-branch groups may have:

  • organization menu shared across branches
  • branch overrides for price or availability per location

After org-wide import, review each branch that differs locally.

Import and bulk setup

For large catalogs:

  1. Use menu import tool
  2. Preview categories, names, prices
  3. Fix errors in preview
  4. Apply when correct
  5. Spot-check 10 items on QR and staff screens

Import saves hours but still needs a human review pass.

Images

Upload clear photos for customer-facing menus. Tips:

  • consistent lighting and framing
  • reasonable file size for mobile data
  • avoid text-only images (bad for accessibility and search)

Staff POS and QR both benefit from recognizable thumbnails.

Table QR ordering (customer flow)

Customer-facing menu sections follow the restaurant's persisted category and item display order. Imports preserve the reviewed source sequence, and editing an item does not move it to the top of the guest menu. Table ordering can also show small, availability-aware pairings after a guest adds an item. Pairings are ranked from that restaurant's completed order history and remain normal priced suggestions until the order quote supports a true discounted bundle.

Customers do not install an app. They scan a table QR and order in the mobile browser. There is also a separate customer app for diners who want discovery, reorder, and rewards across restaurants.

The public menu is a compact, token-backed shell with a category rail and a single cart action on mobile. Customers can browse while service is closed — the menu opens and reads normally, it simply does not invite them to add or submit. If service pauses between adding items and checking out, the cart is preserved and the screen explains what happened.

Staff responsibilities

  • unique QR per table
  • menu accurate and available items only
  • shift open (orders may not flow if shift closed)
  • accept/reject QR orders in Orders queue
  • kitchen follows same KDS path as staff orders

Customer journey

Scan QR → see menu → add to cart → submit order
        ↓
Staff accept → kitchen prepares → serve → bill → pay

Customers may see limited status in browser depending on setup. Staff remain in control of acceptance and kitchen flow.

Bill and payment

Your outlet may:

  • collect at table via staff Billing
  • show UPI on receipt
  • use provider checkout where configured

Train staff on who initiates bill request for QR tables.

Test before publishing QR codes

Run this on a customer phone (not staff simulator only):

  1. Scan table QR
  2. Confirm table number and restaurant name
  3. Add item with variant/modifier if used
  4. Submit order
  5. See ticket on KDS or Orders
  6. Complete kitchen and billing test

Repeat for one Veg and one Non-veg item if filters apply.

Public product page

For marketing context on QR ordering in India, see QR menu restaurant software for India.

Common problems

ProblemFix
Item missing on QRCheck availability, category active, branch override
Wrong price on billPrice snapshots at order time—new orders get new price
Kitchen sees wrong nameShorten item name; use description for detail
Import duplicated itemsRe-run preview; merge duplicates before apply