Overview
Online ordering is configured per branch, because hours, delivery zones, payment providers, and pricing can all vary by location. This article walks through the merchant-side setup in order.
Prerequisites
Before enabling online ordering for a branch you need:
- A published menu assigned to the branch (Catalog → Menus → Publish).
- The branch's address and timezone correctly set (Settings → Branches).
- At least one payment provider configured if you plan to accept online payments (see Payment below).
- A Menu Link if you want a brandable customer entry point (Sidebar → Menu Links).
Step 1: Enable online ordering on the branch
- Settings → Branches → [your branch] → Online Ordering.
- Toggle Online Ordering: Enabled.
- Pick which order types are allowed: any combination of Dine-In, Pickup, Delivery.
- Save.
Step 2: Set your online-ordering hours
In the same Online Ordering tab on the branch:
- Default: customers can order whenever the branch is open (uses the branch's general hours).
- Custom hours: define separate online-ordering hours per day. Useful if you take pickup later than dine-in, or open for delivery only at lunch.
- Future-order window: how far in advance customers can schedule an order (e.g. up to 7 days out).
- Cut-off: how close to closing time you'll still accept an ASAP order (e.g. orders must be placed at least 30 minutes before closing).
Step 3: Configure delivery zones (Delivery only)
If you've enabled Delivery:
- Settings → Branches → [your branch] → Delivery Zones.
- Add Zone to draw a polygon on the map around your branch's delivery area.
- Per zone, set:
- Delivery fee (flat or distance-based).
- Minimum order value.
- Estimated delivery time (shown to the customer).
- Active toggle.
- Save.
You can stack multiple zones, for instance an "Inner" zone with a small fee and a "Outer" zone with a higher fee and longer ETA.
Customers whose dropped pin doesn't fall inside any active zone will be told the branch can't deliver to them.
Step 4: Connect a payment provider
Settings → Payment Methods (or Branch → Payment Methods if you set them per branch).
Supported providers in online ordering today:
- Stripe: international card payments.
- Paymob: popular in MENA.
- Fawry: popular in Egypt.
Follow each provider's connect flow (you'll need a merchant account with them). Once connected, payment methods become available at customer checkout.
You can also enable Cash on Delivery / Pay at Pickup as non-online options that don't need a provider.
Step 5: Pick a customer entry point
You have three options, and you can use more than one:
Option A: A Menu Link
The most flexible. Sidebar → Menu Links → Create New Link. You configure:
- The branch + published menu pairing.
- Branding (logo, cover, primary / secondary colours).
- A custom URL slug.
- A printable QR code for table-talkers or flyers.
See Menu Links for the full flow.
Option B: Table QR codes (for Dine-In)
Each table can have its own QR code that drops the customer into the table's session.
- Sidebar → Table Management → Floors → [your floor] → Tables.
- For each table, click the QR action to download the table's QR code as PNG.
- Print and laminate the QR (table talker / sticker / menu insert).
When a customer scans, they land on the menu with the table pre-selected.
Option C: Direct branded URL
If you've configured a custom domain, the branch is reachable directly at https://order.<yourdomain>/<branch-slug>. Useful for embedding in your own website's "Order Now" button.
Step 6: Test the flow yourself
Before you go live:
- Open the customer entry point on your phone (not desktop, most customers will be on mobile).
- Place a real test order with a small item and a real card.
- Check it landed in Live Orders in the dashboard.
- Check it printed to the right kitchen station.
- Move it through statuses, confirm the tracking screen updates for the customer.
- Refund the test order from Orders → [the order] → Refund.
Day-to-day operations
Pausing online ordering temporarily
Slammed kitchen? Settings → Branches → [branch] → Online Ordering → Pause for N minutes. Customers will see "Branch is currently busy" until you un-pause.
86'ing an item (running out of an item)
Sidebar → Selling → Item Availability. Toggle the item off. It greys out on the customer menu within seconds; carts that already contain the item are warned at checkout.
Changing the menu mid-service
Publish your changes from the Menu page. The customer app pulls fresh menu data on each visit, so changes are visible to new sessions immediately. Carts already mid-flow keep their existing prices.
Handling a problem with one order
From Live Orders, open the order, then use Cancel (with a reason), Refund (full or partial), or Add a Note (visible internally). For dine-in disputes, the order's table session is on the same screen so you can see the full bill.
Related articles
- Online Ordering Overview
- Customer Experience
- Troubleshooting
- Menu Links
Key Concepts
- Per-branch settings: Most online-ordering config is branch-scoped because the operational realities differ per location.
- Delivery zone: A polygon (drawn on a map) where delivery is offered. Multiple zones can stack with different fees.
- Cut-off: How close to closing you'll still accept an ASAP order.
- 86 / Un-86: Restaurant slang for marking an item out of stock / available again.

