Start with the thing that costs you the most today: usually a digital menu with online ordering that sends each new order to your kitchen on WhatsApp. Once that runs smoothly, add delivery zones, table reservations and a simple loyalty program. With an AI builder like Fanann you describe each piece in plain Arabic or English, test it with real orders, and own the code and customer data instead of renting them from an aggregator.
- restaurant app with ai
- how to build a restaurant ordering app
- ai for restaurants
- restaurant app without aggregator fees
Why restaurants are a perfect fit for AI-built apps
Restaurants run on repeatable flows: a guest looks at the menu, picks items, adds notes, pays, and waits. The kitchen receives the order, prepares it, and someone hands it over or sends it out. Flows this well understood are exactly what an AI builder produces quickly and reliably, if you describe your own operation clearly.
Many owners juggle a PDF menu behind a QR code, phone and WhatsApp orders, and delivery aggregators. None of them gives you a clean list of your regular customers. A small app of your own can bring these pieces together without replacing what already works.
- PDF menu that is hard to read on a phone
- Orders scattered across calls and personal WhatsApp chats
- No record of repeat customers
- Hours and prices updated by hand in several places
- Loyalty on paper stamp cards that get lost
- Mobile-first Arabic and English menu with photos
- Every order in one dashboard, with a WhatsApp alert to the kitchen
- Customer list with order history you own
- Change a price or opening hours once, everywhere
- Digital points tied to the customer's phone number
The restaurants use case page shows typical screens and flows.
What to build first: a priority order that actually works
The most common mistake is trying to launch everything at once: ordering, reservations, loyalty, a mobile app and an AI assistant. Launch in layers instead, where each layer is useful on its own.
| Layer | What it includes | Why this order |
|---|---|---|
| 1. Digital menu | Categories, photos, prices, modifiers (size, extras), availability toggle | Useful on day one even without ordering; replaces the PDF behind your QR code |
| 2. Online ordering | Cart, pickup or delivery, notes, online payment or cash on delivery | Direct revenue; builds your customer list |
| 3. Kitchen alerts | New order sent to a WhatsApp number plus a simple order board | Makes sure no order is missed |
| 4. Delivery zones | Areas or radius, minimum order and fee per zone | Avoids orders you cannot deliver profitably |
| 5. Reservations | Time slots, party size, confirmation and reminder | Most useful for dine-in focused venues |
| 6. Loyalty | Points per order, rewards, phone-number sign-in | Works best once you already have repeat orders |
| 7. AI menu assistant | Answers questions about dishes, ingredients and hours | Adds polish after the basics are stable |
Building the digital menu and online ordering
Before you write a single prompt, gather your menu in one place: item names in Arabic and English, short descriptions, prices, photos, and the options for each item. Note time-limited items, such as breakfast or suhoor dishes.
- 1Describe your venue
Name, branches, cuisine, pickup or delivery or both, and the payment methods you accept. Mention that the app must be Arabic-first with an English option.
- 2Define the menu structure
Categories, item fields, modifiers such as size or extra cheese, and an availability switch so staff can mark an item as sold out.
- 3Describe checkout
Pickup time or delivery address, order notes, phone-number sign-in with a one-time code, and payment by card, mada or Apple Pay, plus cash on delivery if you allow it.
- 4Add the staff side
An order board that shows new, preparing, ready and delivered, with a sound alert and a print-friendly ticket.
- 5Test with real orders
Place orders from your own phone, pay with a real card in test mode, and walk the order through every status.
Build an Arabic-first (with English toggle) ordering website for my café "Bayt Al Qahwa" with 2 branches in Riyadh. Customers browse a menu by category (Hot drinks, Cold drinks, Desserts, Breakfast). Each item has a name in Arabic and English, description, photo, price in SAR, and optional modifiers (size: small/medium/large with price differences; milk type; extra shot). Staff can mark items as sold out. Breakfast items are only orderable from 7:00 to 11:30. Customers choose pickup branch and pickup time, sign in with phone number and OTP, and pay with mada, Apple Pay or card. Add a staff dashboard with an order board (New, Preparing, Ready, Picked up) and a sound alert for new orders.
Try it in FanannFor payment details and which local methods fit your market, see the payments overview and our guide to local payment methods.
WhatsApp order notifications that the kitchen actually sees
In many Gulf kitchens, staff check WhatsApp first. Sending each new order there, cleanly formatted, often ends missed orders.
The simpler approach sends a message to a branch WhatsApp number or group. The more structured one uses the official WhatsApp Business Platform through an approved provider, which also lets you send order-status updates to customers using approved message templates. It requires business verification; check current requirements with your provider.
When a new order is paid (or confirmed as cash on delivery), send a WhatsApp message to the branch number with: order number, pickup or delivery, customer first name and phone, items with modifiers and quantities, notes, total, and payment status. Format it with each item on its own line. If the message fails to send, show a red banner on the staff dashboard and retry. Also send the customer a WhatsApp update when the order status changes to Ready or Out for delivery, using a template message.
Try it in FanannYou can browse ready connections on the integrations page, and the glossary entry on webhooks explains how one system notifies another when something happens.
Delivery zones, reservations and Ramadan hours
Delivery zones
Delivery is where margins quietly disappear. Define zones by neighborhood names (easier for customers) or by distance from each branch (easier to maintain). Each zone can have its own fee, minimum order and estimated time.
Add delivery zones per branch. Each zone has a name in Arabic and English, a list of neighborhoods, delivery fee, minimum order value, and estimated delivery time. At checkout, the customer picks their neighborhood; if it is not covered, show a friendly message and suggest pickup from the nearest branch. Let me edit zones from the admin dashboard without touching code.
Try it in FanannTable reservations
Keep reservations simple: time slots, party size, a name and phone number, and an optional note for occasions. Limit how many covers you accept per slot, send a confirmation, and send a reminder a few hours before. Add a no-show flag in the dashboard.
Ramadan and seasonal hours
During Ramadan many venues close in the day, open around iftar, and stay open late through suhoor. Build this as a schedule, not a manual switch you flip at sunset.
Add a schedules feature. I can create a special period (for example Ramadan, from a start date to an end date) with its own opening hours per branch, such as 17:30 to 03:00, and its own menu categories (Iftar boxes, Suhoor). During the period, ordering and reservations only allow times inside these hours, and the home page shows a banner with the Ramadan hours. When the period ends, regular hours return automatically. Also support one-off closures for Eid days.
Try it in FanannLoyalty that customers understand in one sentence
The best loyalty programs fit in one sentence: "Every 10th coffee is free" or "Earn 1 point per riyal, 100 points gets you a dessert". Tie points to the phone number guests already sign in with, so there is no extra card to remember.
- Points per order or stamps per item: stamps suit cafés, points suit restaurants with varied basket sizes.
- Clear rewards: a specific item is easier to understand than a percentage.
- Expiry rules: decide whether points expire and show the date in the customer's account.
- Staff redemption: a simple screen where the cashier enters a phone number and redeems a reward.
- Abuse limits: cap points per day and exclude cancelled or refunded orders.
Add a loyalty program. Customers earn 1 stamp per hot or cold drink ordered (not desserts). After 9 stamps, the 10th drink is free. Stamps are linked to the customer's phone number and shown on their account page with progress. Cancelled or refunded orders remove their stamps. Cashiers can look up a customer by phone in the staff dashboard and apply a free drink to an in-store order. Stamps expire 6 months after they are earned.
Try it in FanannAn AI chat assistant for menu questions, with guardrails
Guests ask the same questions daily: Is this spicy? Is there a vegetarian option? Does the cake contain nuts? A small AI assistant on your menu page can answer these in Arabic and English, at any hour. The key is that it answers only from your own data, a pattern known as grounding, so it does not make things up.
Language models can produce confident but wrong answers, which is called hallucination. A wrong answer about allergens is not a small mistake. That is why the assistant needs firm guardrails.
| Guardrail | What it means in practice |
|---|---|
| Answer from menu data only | The assistant reads item names, descriptions, ingredients and tags from your database, not from general knowledge |
| Allergen caution | For allergy questions it lists the recorded ingredients and always advises confirming with staff |
| No invented prices or offers | Prices come from the menu record; if an offer is not in the system, it does not exist |
| Admit what it does not know | If the data is missing, it says so and offers to contact the branch |
| Stay on topic | It politely declines questions unrelated to the restaurant |
| Hand off to a human | A button to call or message the branch is always visible |
Add a chat assistant on the menu page that answers customer questions in Arabic or English, matching the customer's language. It must answer only using our menu items, ingredients, tags (spicy, vegetarian, contains nuts, contains gluten, contains dairy), branch addresses and opening hours stored in the database. If information is missing, say you are not sure and show the branch phone number. For any allergy question, list the recorded ingredients and add: please confirm with our staff before ordering. Never invent prices, discounts or dishes. Politely decline unrelated questions. Let customers add a suggested item to the cart from the chat.
Try it in FanannFor a deeper look at how assistants answer from your own data, read RAG explained.
Launch checklist and what comes next
Before you print new QR codes or post on social media, run a soft launch. Ask staff and a few friends to place real orders during a quiet shift.
- Place an order for each type: pickup, delivery, cash, card, Apple Pay.
- Confirm each order triggers a WhatsApp alert and appears on the order board.
- Mark an item sold out and confirm customers cannot order it.
- Test a delivery address outside your zones.
- Place an order just before closing and just after opening, including after midnight.
- Process a refund and confirm loyalty stamps are removed.
- Ask the menu assistant about allergens and an unrelated topic, and check its answers.
- Check the whole flow on an older phone with Arabic and English.
Our pre-launch quality checklist goes deeper on testing anything an AI builds. Once the web version is stable, the same conversation can produce a real mobile app for iOS and Android if your regulars want one. Because you own the code and data, you can keep aggregators while moving loyal guests to your direct channel.
Launch the menu, then the order, then the habit. Every layer should earn its place before you add the next.
Key takeaways
- Build in layers: digital menu and ordering first, then WhatsApp alerts, delivery zones, reservations and loyalty.
- Write prompts that describe your real operation: branches, prep times, delivery radius, Ramadan hours and payment methods.
- An AI menu assistant is useful only with guardrails: it answers from your menu data and never invents allergens or prices.
- Test with real staff during a quiet shift before you announce anything to customers.
- Owning your ordering channel means you keep the customer relationship and the data, alongside any aggregator you still use.
Frequently asked questions
Do I need to stop using delivery aggregators?
How long does it take to build an ordering app with Fanann?
Can customers pay online with local methods?
Is the AI menu assistant safe for allergy questions?
Can I manage Ramadan hours without changing the app daily?
Who owns the customer data?
Ask your AI assistant about this
Copy this prompt into the AI assistant you use, then add the details of your own case.
I am reading this guide: “AI for restaurants and cafés: ordering, WhatsApp and loyalty” https://fanann.com/en/blog/ai-for-restaurants/ My question: restaurant app with ai Use that page as a source and explain the answer step by step for my situation, tell me what to check before I start, and cite the page link.