menu-MENAmenu-MENA
HomePricingBlogContact UsGet Started
The order drawer open over a restaurant's menu page, showing 'Your order (2)' with two added items, each with a quantity stepper and an 'Add a note' link

A Menu That Takes Orders: No App, No Install

Ordering & Payments

By menu-MENA Team

Published on August 29, 2026


Order mode, not a separate app

When a guest wants to order, they tap the order entry point on the menu and a green banner replaces the header: "Order mode, tap items to add them." That's the entire onboarding. No account, no download, no App Store redirect. The guest is still on the same page they used to browse the menu, in the same browser tab, and the interaction everyone already knows (tap a product, it lands in a cart) just starts working right there, wherever they arrived from a QR code and WhatsApp in the first place.

Under the hood, this cart state lives in a single provider mounted once per page, so the menu grid and the floating cart button both read and write the same order. Add an item on one card and the quantity badge on the floating button updates immediately, because they're not two widgets syncing through local storage. They're one piece of state.

The order drawer is a real cart

Tap the floating cart and a bottom sheet slides up: "Your order (2)," a list of what's been added, and a total. Each line has a quantity stepper, minus, count, plus, that responds to a tap or a press-and-hold for repeated increments, a small "Add a note" link for something like "extra spicy" or "no onions," and a trash icon.

Removing something doesn't delete it right away. It marks the line pending, slides it out with an "Undo" toast, and only actually removes it five seconds later if the guest doesn't tap Undo. Swipe a line sideways past a threshold and the same thing happens: the row reveals a red delete zone as you drag it. Undo has to restore the exact same quantity, note, and modifiers, and that five-second pending window is what makes that possible.

The running total animates when it changes rather than jumping, and it excludes whatever sits in that five-second pending-removal window, so the number a guest sees always matches what will actually reach the kitchen.

Review before anything goes out

Tapping "Review" opens a second sheet: "Review your order." This is where the cart turns into an actual order. A Dine-in/Takeaway toggle switches which fields show. A table number field appears only for dine-in and disappears for takeaway. Name and phone are both optional, and an email field appears only if the guest skipped the phone number, since every WhatsApp order becomes a customer record keyed on whichever contact detail the guest actually gave. There's a general order note field, and for restaurants that have set up modifier groups like size or add-ons, those show up under each line alongside its own note field.

If the tenant has an active coupon, a promo code field appears. Type a code and it validates against the cart total on the spot, showing the discount amount or a specific reason it failed: expired, not started yet, minimum not met. Whatever comes out the other end, subtotal, discount, tax, and grand total, is calculated once and reused everywhere those numbers get shown. The total in the drawer, the total in the review sheet, and the total in the message that gets sent can't quietly disagree with each other.

What happens when the guest taps send

Tap "Send via WhatsApp" and the app builds the order message, checks whether it fits inside a WhatsApp link, and opens wa.me with the message pre-filled. If the order is long enough to blow past WhatsApp's URL length limit, it copies the message to the clipboard instead and opens WhatsApp with an empty box for the guest to paste into. If the clipboard itself refuses, which happens in some in-app browsers, a text box shows the exact message with its own copy button. An order never just fails silently.

Every path also logs the order in the background before the WhatsApp window even finishes opening, so it shows up in your dashboard whether or not the guest actually taps send on their end.

Why this beats an app download

A branded ordering app asks for a lot before the first order: find it in a store, wait for the download, grant it permissions, and probably never open it again after one visit. A cart built into the menu page asks for none of that. The guest is already there because they scanned a QR code or clicked a link. Ordering is just what the page does next.

That's also why WhatsApp is the handoff point instead of a proprietary checkout. It's already on the guest's phone, already has their number, and the restaurant already knows how to run a WhatsApp inbox. The job of the ordering flow is to get a clean, itemized message into that inbox with as little friction as possible along the way, not to become one more app competing for a spot on someone's home screen.

What it costs

The order drawer and review sheet are part of the base menu-MENA subscription, no separate ordering add-on. The trial runs 14 days, no credit card required. After that it's 90 EGP a month or 1,000 EGP a year for one branch, with each additional branch at half price: 45 EGP a month or 500 EGP a year.

Frequently Asked Questions

No. Ordering happens on the same menu page they're already viewing. There's no login, no App Store redirect, and no separate ordering site to visit. Tapping the order entry point just switches the page into order mode.

They get five seconds to tap Undo before the line is actually removed, whether they swiped it away or tapped the trash icon. The line comes back exactly as it was: same quantity, same note, same modifiers.

Only when the guest selects Dine-in. Switching to Takeaway hides the table number field and clears whatever was typed into it.

The message is copied to the clipboard automatically and WhatsApp opens with an empty box to paste into. If the clipboard itself is blocked by the guest's browser, they get the message in a text box with its own copy button, so the order never just fails silently.

A WhatsApp Business number is recommended since it gives you business hours and quick replies, but any WhatsApp number configured on the branch works with the order drawer.

No. It's part of the base plan: 90 EGP a month or 1,000 EGP a year for one branch after the 14-day free trial, with additional branches at half price.