Orders — Dine-in, delivery, takeaway
Overview#
The Meni ordering system supports all key restaurant business scenarios:
| Order type | Description | Ideal for |
|---|---|---|
| Dine-in | Table order via QR code | Restaurants, cafés, bars |
| Delivery | Delivery to the customer's address | Restaurants with delivery |
| Takeaway | Pickup (customer picks up themselves) | Cafés, fast food, bakeries |
| Order via messenger | Latin America, Middle East | |
| Telegram | Order via Telegram Mini App | CIS, Georgia |
The admin panel has dedicated work screens for handling orders:
- POS — order entry by a waiter, table binding via QR;
- Kitchen (KDS) — kitchen display: queue, statuses, stations;
- Courier — own-delivery screen with a map and routes;
- Floor Plan — table map, waiters and reservations.
Dine-in — Table ordering#
How it works#
- The guest scans the QR code on the table
- The menu opens linked to the table number
- The guest selects items, add-ons, and adds notes
- Taps Order
- The order instantly appears for staff (on the kitchen screen / waiter's tablet)
- The waiter confirms the order → the kitchen starts cooking
- The guest receives a status notification
Setup#
- Turn ordering on for the location: Locations → the location → the WEB tab. The same fields are gathered in one place under My website → the Online ordering card → Configure → the Delivery & pickup section.
- Configure the floor plan in the Floor Plan section: tables, zones, bar counter (see Floor Plan).
- Bind QR codes to tables in the same Floor Plan section — after that a table order is recognised automatically.
There is no "Dine-in" tab in Settings, and no "Settings → Orders" page with ordering toggles either. The Settings → Orders tab is about something else: status automation, the guest blocklist and refund reasons (see "Order settings" below).
Table management#
- Visual floor plan with drag & drop
- Table statuses: free / occupied / reserved
- Automatic release after payment
Call a waiter#
The guest taps "Call a waiter" in the menu and picks a reason: bring water, the bill, help with the menu, or "other".
The call travels the same path as an order itself — a signal to the server and from there to the staff in real time:
- a bell in the Orders section — with the table number and reason, with sound (the sound can be muted with a button);
- the "Calls" tab in the Hall panel — the same list, next to the scheme and the queue;
- the "Acknowledged" button clears the call on both screens.
Separately from calls there is an addressed "order ready" push to the waiter: if a waiter is assigned to the table (see Floor plan, "Waiters" mode), the readiness notification goes to them rather than to the whole shift.
Pre-order slots#
If your kitchen can't absorb arbitrary "at 13:07" requests, turn on pre-order slots in the location settings. Then, for a scheduled order, the guest picks a slot rather than a free time:
| Setting | What it defines |
|---|---|
| Slot length | 15 / 30 / 60 minutes — the grid step |
| Slot capacity | how many orders to accept per slot (0 — unlimited) |
| Lead time | the minimum notice for accepting an order |
| Horizon | how many days ahead slots are opened (1–7) |
The values can be set globally and overridden separately for pickup and delivery — their loads differ.
The guest sees the nearest slots taking opening hours into account; full slots are greyed out. Slot occupancy is counted from orders already accepted and updates automatically.
The slot quota is soft: it is drawn for the guest and discourages overbooking, but there is no server-side "slot is full" rejection yet. If two guests pick the last slot at the same time, both orders go through.
Pay-at-table — the guest pays from the table#
At a QR table the guest gets a floating "Bill" button: it opens the table's current bill (items, quantities, total) and lets them pay it online.
The button only appears when both conditions hold: the QR code is bound to a table and online payment is enabled for the location. After payment a webhook marks the order paid — the till and the Orders section see it as usual.
The guest can pay the bill in full or their own share: the bill sheet offers a choice between “split evenly” (they say how many people are sharing) and “by items” (they tick their own dishes, quantities can be split fractionally). A tip can be added on top of the share. Each share goes through as its own payment and the bill stays open until it is fully covered, with the amount due recalculated on the fly: if a neighbour has already paid their part, “pay in full” takes only the remainder rather than the whole bill again. Two guests paying at the same time will not overlap — a share is reserved on the server.
While an order is being taken at the till, an upsell prompter works: after an item is added, "suggest with this" chips appear — dishes most often bought together with it. The prompt adds nothing by itself; the waiter decides.
Delivery — Delivery#
Setting up delivery zones#
- Open the Couriers section — polygon zones, the venue point and courier settings live there (the order settings hub links to it as "Delivery zones on the map, couriers and the courier network")
- Draw zones on the map or set a radius from the venue
- For each zone specify:
- Delivery fee
- Minimum order amount
- Estimated delivery time
General delivery terms (fee, free-from, minimum amounts, radius, notes) are set on the location: Locations → the location → WEB, or My website → Online ordering → Delivery & pickup. Details — Delivery.
Ordering flow#
- The customer opens the menu (via link, from social media, from packaging)
- Selects Delivery → enters the address
- The system determines the zone and shows the terms
- The customer places the order → pays online or on delivery
- The manager sees the order → assigns a courier
- The customer tracks the status: accepted → preparing → on the way → delivered
Courier management#
In-house delivery has its own Courier screen (see the guide):
- The courier sees the queue: preparing → ready for pickup → out for delivery → delivered
- "Take order" assigns the order to the courier, "Delivered" records the handover time
- A map with the route to the customer and the courier's location
- The payment method in the card: cash/card on delivery, online
Takeaway — Pickup#
How it works#
- The customer opens the menu → selects Takeaway
- Places the order → selects pickup time
- Pays online or chooses pay on site
- Receives confirmation with the order number
- Picks up the order at the scheduled time
Setup#
- Locations → the location → the WEB tab (or My website → Online ordering → Configure → Delivery & pickup)
- Enable takeaway
- Set the pickup terms: minimum amount and a note for the guest
- Configure minimum prep time (e.g., 15 minutes)
There is no separate "Settings → Takeaway" page: delivery and pickup are enabled by the same location fields.
WhatsApp orders#
A popular ordering channel in Latin America, the Middle East, and Asia.
Setup#
- Locations → the location → the WEB tab (or My website → Online ordering → Configure → Delivery & pickup)
- Turn on Accept orders via WhatsApp
- Enter the WhatsApp number in international format. Leave it empty to use the WhatsApp number from the location contacts
There is no "Settings → WhatsApp" page — the toggle and the number live in the storefront ordering block.
How it works#
- The guest builds a cart in the menu
- Taps Order via WhatsApp
- A WhatsApp chat opens with a pre-filled message (item list, quantity, total)
- The storefront separately sends an order to the system with the WhatsApp channel. It appears in the panel after successful submission; the guest still sends the WhatsApp message manually
- The manager matches the message to the order and confirms it. The WhatsApp conversation and order status updates are separate actions
Telegram orders#
Setup#
- Create a bot via @BotFather in Telegram
- In the admin panel → Integrations → Telegram
- Connect the bot to your location
- The menu will automatically become available as a Telegram Mini App
More details: Telegram Mini App — guide
Order management#
Orders panel#
All orders from all channels (dine-in, delivery, takeaway, WhatsApp, Telegram) are displayed in a single panel:
- New — just received, awaiting confirmation
- In progress — confirmed, kitchen is preparing
- Ready for pickup — the kitchen finished; the order waits for the courier or the guest
- Out for delivery — a courier took the order (for own delivery)
- Completed — customer received the order
- Canceled — order canceled
Notifications#
Staff receive notifications about new orders:
- 🔔 Sound notification on tablet/computer
- 📱 Push notification on phone
- 🖨 Automatic kitchen ticket printing (when a printer is connected)
The guest gets an e-mail confirmation. The checkout form has an optional “E-mail” field (entered once — the address is remembered in the browser and pre-filled next time). When an address is given, a confirmation e-mail goes out with the order contents, the total and a link to its status, followed by a digital receipt once the order is paid. Letters come from the venue, in the guest's language. The order settings give the field three modes: hidden, optional (the default) and required — the last one makes sense where a receipt is always needed, for instance with online payment for takeaway. A consent checkbox for the venue's news can be shown next to the field: without it, the address is used only for this order and its receipt.
Kitchen Display System (KDS)#
The Kitchen (KDS) screen in the admin panel shows the order queue (see the KDS guide):
- Dish order by time received, timers
- Item statuses: queued → preparing → ready; bump and recall
- Stations — filtering by menu categories
- All-day summary and a sound alert for new orders
Voice order management#
With the AI assistant, you can manage orders by voice:
| Command | Example |
|---|---|
| Open the order list | "Show orders", "Open orders" |
| Open a specific order | "Open order 42" |
| Accept an order | "Accept order 15" |
| Mark as ready | "Order 42 ready" |
| Mark as paid | "Mark order 5 as paid" |
| Cancel an order | "Cancel order 7" |
All commands that change status require confirmation. More details — in the voice assistant documentation.
Order settings#
Settings live in two places — worth knowing so you don't look in the wrong one.
Ordering terms belong to the location: Locations → the location → the WEB tab. The same things are gathered on one screen under My website → the Online ordering card → Configure, as an accordion of four sections:
| Section | What it configures |
|---|---|
| Delivery & pickup | Fees and free-from, minimum amounts, radius, notes, accepting orders via WhatsApp |
| Payments | Card payments online (your own provider account) and payment methods offered on delivery |
| Checkout | Checkout fields and the guest e-mail, scheduled pre-orders, checkout upsell |
| Fiscal receipts | Where receipts for online orders are issued |
The same hub links out to related sections: delivery zones and couriers, promo codes, loyalty, order automation rules, service charge and tips, taxes on the receipt.
The "Settings → Orders" tab is about handling orders that have already been placed:
| Block | What it does |
|---|---|
| Automation | Auto-cancel unpaid orders after N hours and auto-complete handed-over/delivered ones. Checked hourly; cancellation goes through the normal flow (stock, notifications) and is reversible from the order card |
| Guest blocklist | Phone numbers, e-mails and IPs whose orders are not accepted |
| Refund reasons | Your own list of reasons the staff picks from when issuing a refund |
Payment methods visible on the order card: cash, card on delivery, online, corporate account, charge to room (hotel) and On credit — the order was closed at the till into the debt ledger (see POS).
7. Floor plan and table management#
Floor plan editor#
- Open the Floor Plan section — it is its own sidebar item, not a Settings tab
- Drag and drop elements: tables (round, square, rectangular), chairs, walls, doors
- Specify the number and capacity of each table
- Create multiple zones: main hall, terrace, VIP, bar counter
Details — Floor Plan.
Table statuses#
| Status | Color | Description |
|---|---|---|
| 🟢 Free | Green | Table is ready for seating |
| 🟡 Occupied | Yellow | Guests are at the table |
| 🔵 Reserved | Blue | There is a reservation for this time |
There are no separate "awaiting payment" or "service" table statuses. On the POS floor scheme two extra signals are highlighted on top of the status: waiter call and order ready.
Linking QR codes to tables#
- Each table gets a unique QR code
- When scanned, the system identifies the table number
- The order is automatically linked to the table
- The waiter sees which table the order came from
8. Reservation system#
Reservations for guests#
Guests can reserve a table:
- Via the QR menu → "Reserve a table" button
- Via the venue website
- Via a Telegram bot
- By phone (manager enters it manually)
Reservation setup#
- Time slots: reservation duration
- Guest limit: minimum and maximum per table
- Deposit: require a prepayment for the table — a fixed amount or per guest; separately you choose what happens to the deposit if the guest doesn't show up (forfeited or refunded)
- Waitlist: the guest joins a queue, and the invitation to a freed table is valid for a limited time
- Confirmation: automatic or manual
All parameters and their defaults — in Reservations and Floor Plan.
Notifications#
- The guest receives confirmation (email / Telegram)
- The manager sees all reservations in the calendar
9. Room Service (in-room dining)#
For hotels, hostels, and apartments:
Setup#
- Locations → the location → the Business type field → Hotel. Business type sets the terminology and default presets of the location; it does not limit any features
- In the Floor Plan section switch to Rooms mode and create rooms (101, 102… or names) instead of tables
- Place a QR code in each room
Ordering flow#
- The guest scans the QR in the room → sees the menu
- Selects dishes → places an order
- Enters the room number and delivery time
- The kitchen receives the order → prepares → staff deliver to the room
Additional options#
- Ordering additional services (towels, pillows, cleaning)
- Breakfast schedule with dish selection
- Mini-bar: consumption tracking
- PMS (Property Management System) integration
10. Split Bill#
The bill is split at the till, by a waiter or cashier:
- by items — each guest picks their dishes and pays only for them;
- equally — the total is divided by the number of guests.
Each part is closed with its own payment method (cash, card, corporate account), and the order counts as paid once all parts are closed. Details — POS.
Guests can split the bill too — with the "Bill" button at a QR table (pay-at-table, above): evenly or by items, with a tip on top of the share. Till-side and guest-side splitting compute the same shares and do not conflict: the till sees the parts guests have already paid and closes only the remainder.
11. Kitchen Display System (KDS) — detailed setup#
Hardware#
KDS works on any device with a browser:
- Tablet (10–12 inches) — recommended for small kitchens
- Smart TV (32–55 inches) — for large kitchens
- Monitor with a PC — for large venues
- Multiple screens at once — each shows its own station
Multiple kitchen screens: station presets#
There is no screen builder in the admin panel — a screen is configured on the kitchen screen itself. The number of screens is unlimited, and each one is locked to its own station.
How to connect#
- Open the Kitchen (KDS) section
- In the Stations panel tick the menu categories this screen should see (the hint says exactly that: "Show only dishes from selected categories")
- Press Save current as preset and name it (for example, "Grill")
- Take Copy link or the QR of the saved preset and open it on the kitchen tablet, TV or monitor
- The screen locks to that station — a "This screen is locked to a station" note appears
Presets are stored on the account, so the same link can be opened on several devices.
If the link was saved and the preset was later deleted or renamed, the screen says so honestly: "Unknown station link — showing all orders".
Example layout for a restaurant#
| Preset | Menu categories | Device |
|---|---|---|
| Hot kitchen | Hot dishes, sides, soups | Smart TV 43" |
| Cold kitchen | Salads, appetizers, desserts | Tablet 10" |
| Bar | Drinks, cocktails, fresh juices | Tablet 10" |
| Pizza | All pizzas | Smart TV 32" |
| All orders | no filter (assembly / handoff) | Monitor 24" |
How an item reaches the right screen#
Routing is done by the screen's menu-category filter, not by a field on the dish card: neither a menu category nor a menu item has a "KDS station" property. Whatever is ticked in the "Bar" preset is what the bar screen sees.
The only "station → hardware" link is the station printer: the same Stations panel defines which bridge printer prints that station's ticket and which one is its backup (see Kitchen printing).
Order queue board for guests#
The guest-facing screen is a separate thing, not a "KDS screen type". The public Order queue board shows order numbers that are being prepared and ready.
It is enabled on the location: Locations → the location → the integrations section → Order queue board. The same card holds the "Show delivery orders" toggle (off = counter orders only), the public link, a QR code and an "Open board" button. All that is left is to open the link on a TV in the dining area or at the pickup counter.
Station setup#
A station is a saved set of menu categories:
| Station | What it shows |
|---|---|
| Hot kitchen | Hot dishes, sides |
| Cold kitchen | Salads, appetizers, desserts |
| Bar | Drinks, cocktails |
| All orders | No filter — for assembly and handoff |
Time color indication#
- 🟢 < 10 min — within normal range
- 🟡 10–15 min — needs attention
- 🔴 > 15 min — critical, priority
The thresholds (10 and 15 minutes by default) are set in the KDS appearance settings and are shared by every kitchen screen of the account — there is no per-station threshold.
Managing orders on KDS#
- Tap a dish → "Preparing", tap again → "Ready"
- Start — take the whole ticket into work
- Bump — the ticket is assembled and goes to handoff; the waiter is notified
- Sound alert for new orders and when time is exceeded
- All day — how many identical items are in progress in total
There are no swipe gestures and no bump-bar support on the kitchen screen — everything is done with taps and buttons.
KDS offline mode#
If the internet goes down:
- KDS keeps showing the last known state — the orders and appearance settings already loaded
- The screen reconnects on its own; orders missed meanwhile are fetched from the server once the connection is back
- Statuses sync automatically
Manual order creation#
A waiter or manager can create an order directly from the order list without the guest. This is useful for phone requests, counter orders or guests who do not use QR codes.
How to create an order manually#
- Open Orders in the admin panel.
- Click New order at the top of the screen.
- In the dialog, choose the order type:
- Dine-in — select a table if a floor plan is configured;
- Takeaway — the guest will collect the order;
- Delivery — enter the address and customer details.
- Enter the customer's name and phone number where required.
- Add menu items, quantities, variants and extras.
- Click Create order. The order appears in the list and on the kitchen display (KDS).
If information is missing, the button explains what to complete below it: add items, select a location, enter the guest's name, correct the phone number for the selected country or enter a delivery address. Requirements depend on the order type: takeaway and delivery need a name and phone number; only delivery needs an address.
A manual order follows the same route as a guest order: the kitchen receives a notification and the waiter sees it in their list.
At the POS, an upsell assistant suggests items frequently bought together with the item just added. The suggestion adds nothing automatically; the waiter decides.
Orders panel and monitor#
Informative cards#
Each order card or row shows:
- Order type — an icon for Dine-in, Takeaway or Delivery.
- Customer name — for delivery and manual orders.
- Payment method and status — cash, card or online, including Pending payment or Payment failed.
- Tips — the amount left by the guest or entered by the waiter; see Tips.
- Notes and special requests — an indicator when the order has a comment.
- Target time — a preorder's due time and countdown; overdue times are red.
Urgency and sound alerts#
Cards change colour according to waiting time:
| Colour | Meaning |
|---|---|
| Green | A recent order, within the normal time |
| Yellow | A long wait: more than 10 minutes by default |
| Red | Overdue: more than 20 minutes by default |
Thresholds are configured on the device. New orders and waiter calls can play a sound; enable it with the sound button at the top of the page.
Filters and display modes#
- List / Cards — switch between a compact table and larger cards; the device remembers the choice.
- My orders — show orders assigned to the current waiter.
- By tables — group active orders by table and floor-plan zone, including a No table group.
- Search — search by order number, table or customer name; status and location filters are also available.
Scheduled orders#
Preorders with a target time appear in a separate Scheduled strip above the main list. Overdue preorders are highlighted in red.
Browsing now and abandoned carts#
Two indicators above the list identify guests who have not placed an order yet:
- Browsing now — the table has opened the menu but has not added anything to the cart: a useful moment to approach;
- Abandoned carts — carts with no confirmed items and no activity for more than 45 minutes. New guest activity returns a cart to the regular list.
Live updates#
The header shows Online while order updates arrive immediately. On connection loss it shows Offline and reconnects automatically; the refresh button can also reload the list. The new-order sound can play once or repeat until the order is opened.
Quick actions#
Without opening the order dialog, you can:
- click Ready to mark an order ready for collection;
- collapse or expand Completed and Cancelled groups, which are hidden by default;
- Export CSV to download the currently displayed orders, respecting search and status filters, for Excel.
Actions inside an order card#
- Merge / move table — merge a bill into another open bill, in either direction, or move guests to a free table. Before confirmation, a warning explains that the source order's discounts, service charge and coupons are not transferred and that any printed pre-bill must be reprinted. Ineligible orders are blocked with an explanation: closed or aggregator orders, partial payments or deposits, corporate-account charges, redeemed loyalty points, family carts or an online payment in progress.
- Payment link — send the guest a link to pay online.
- Issue receipt — issue a fiscal receipt from the waiter's device through the connected till. Choose the payment method and change; the receipt is linked to the open cash shift.
- Block guest — block a false order's phone number, email or IP. Further attempts are rejected and appear in the activity feed.
- Family cart — group orders appear as one card with the host and participants, with expandable details.
- Handed to customer — record collection of a takeaway order.
Aggregator orders in the same panel#
Orders from delivery aggregators are handled in the same card:
- Wolt — accept or reject with a reason, such as unavailable items, closing time or excessive workload; set preparation minutes, confirm a preorder, mark Ready or Handed to customer, and see customer comments and courier waiting information.
- Glovo — see the pickup code, cutlery request, courier details and arrival time, customer collection and platform cancellations.
Shipment for product orders#
For ecommerce and other product businesses, the Shipment block shows the carrier, delivery method, pickup point, localized status and linked tracking number. The tracking number can be entered or corrected manually when a label was issued elsewhere.
Print label appears only for adapters that can issue labels: CDEK, Trackings.ge and Exline. Other adapters only calculate rates. The Mark as shipped and notify checkbox emails the tracking details once, on the first transition to Shipped. Changing the tracking number does not send another email.
Cancelling and reopening an order#
Staff can cancel an entire order from the panel regardless of its current status.
Cancelling an order#
- Open the order in the list.
- Click Cancel order.
- Confirm the action; restoring it requires reopening the order.
- The order becomes Cancelled and moves to the collapsed Cancelled group.
Individual items can also be cancelled: tap an item to open its line-status controls.
Reopening an order#
If an order was cancelled by mistake or circumstances change:
- Expand Cancelled at the bottom of the list.
- Open the order.
- Click Restore. It returns to the active list with In progress status.
Regular guests#
The order card can display a returning-customer badge with completed visits and total spend. Open it for the guest’s order history. Recognition uses the identifiers available in orders; see Customers for matching and segmentation limits.
12. Order cancellations and refunds#
Cancellation policy#
| Order status | Cancellation possible? | Refund |
|---|---|---|
| New | ✅ Yes (automatically) | Full refund |
| Accepted by kitchen | ⚠️ With manager approval | Partial/full |
| Preparing | ❌ Manager only | At manager's discretion |
| Ready | ❌ No | No (if picked up) |
| Out for delivery | ❌ No | Upon claim |
Refund process#
A refund is not issued from the Orders section: the order card only displays the refund status. There is no "Refund" button there right now — it is in the works.
- The guest contacts the manager
- The manager opens POS → Receipts, finds the sale receipt and issues the refund against it
- Selects items to refund (full or partial) and the refund method
- Retail-vertical orders with a submitted refund request are visible in the Returns section
Details — Receipts and refunds and Returns.
What you need to get started#
- At least one order channel: the QR storefront, the POS, the Telegram shop, an order widget on your site, or a manual order created by a manager.
- An understanding of the "guest order needs confirmation" setting. By default an order placed by a guest reaches the kitchen, the POS and the courier board only after an operator accepts it here; the location setting switches back to "straight to work" — for points where there is nobody to accept orders manually.
- Employee roles — access to the section and to "My orders" is governed by permissions (Staff).
- Configured order types — dine-in, pickup, delivery: each has its own guest fields and its own rules.
Limitations#
- The order-acceptance setting is per location. There is no bulk "switch on for all locations of the account".
- Updates arrive automatically: over WebSocket, with a fallback refresh every 30 seconds while the tab is visible. Returning to the tab or reconnecting the socket refreshes the list immediately. New data still requires an internet connection (If the internet goes down).
- The time promised to the guest is static. It comes from a location setting and is not computed from current kitchen load; there is also no automatic channel pause on overload.
- Aggregator orders require approval and connection setup. For the particular location, check live mode, the exchange log and a test order. Success with simulated data does not prove that the real channel is ready.
- The WhatsApp message and the order are sent separately. The storefront button opens the chat and attempts to save an order with the WhatsApp channel. If the connection fails, the message may be sent while the order has not reached the panel — check the order number before creating it manually to avoid a duplicate.
- The only writer of an order is the server. Edits arrive as separate signals, so a change does not land instantly and "direct editing of the order file" does not exist.
Troubleshooting#
A guest's order did not reach the kitchen. Most likely it is waiting for an operator to accept it: accept it here, or switch the location to "straight to work".
The status does not update on screen. Check the internet connection and return to the tab: the list refreshes automatically. While the tab is visible, the fallback refresh runs every 30 seconds; you can also refresh manually.
A guest says the promised waiting time is wrong. The promised time is static and set by a location setting — change it in the order settings.
An order from an aggregator is missing. Check platform approval, the selected location, live mode and errors in the exchange log. Compare the order with the platform account; test mode does not receive real orders.
An order is "stuck" in a status. Check that somebody further down the chain can move it: the kitchen display, the handoff screen or the courier board must be enabled and open.
Related sections#
- POS — creating and paying for orders
- Kitchen display — preparation queue
- Tips — tips at checkout and POS
- Receipts and returns — receipts and refunds
- Customers — customer profiles and history
FAQ#
Must I reload after a connection failure?#
No. Reconnection and returning to the tab refresh the list automatically; the visible tab also refreshes every 30 seconds. An internet connection is required.
Does a WhatsApp message create an order?#
The storefront’s Order via WhatsApp button separately sends an order to the system, independently of pressing Send inside WhatsApp. The order appears in the panel after successful submission. An ordinary message written directly in WhatsApp does not create an order by itself; if the connection fails, check the order number in the panel first.