الترجمة قادمة قريبًا
نعرض لك النسخة الإنجليزية من هذا المقال.
Overview
This article walks through the customer journey in the Tappya online-ordering app, useful both for understanding the product and for answering "how do I do X?" questions from your diners. It mirrors the v2 app currently in production.
Landing on your menu
Whichever way the customer arrived (QR, link, or URL):
- They see your cover image and logo with your brand colours.
- The menu is laid out by category with item cards (image, name, short description, price, nutrition badge if available).
- A language toggle (English / Arabic) sits in the header, picking Arabic also flips the layout to right-to-left.
- A search bar filters items by name client-side.
If the customer arrived via a QR code on a table, the app knows the table and immediately offers either:
- Join the table's active order (if other guests have already started one), or
- Start a new order for the table.
Browsing items
Tapping an item card opens the Item Detail screen with:
- A bigger photo.
- The full description.
- Any variant picker (size, etc.), required to add to cart.
- Any modifier groups (toppings, sauces, etc.) honouring the min/max selections you configured.
- Item-level notes (free text, "no onions please").
- Nutrition panel (KSA SFDA-compliant) when the item has nutrition data.
- A quantity stepper and an Add to Cart button that shows the running line total.
The cart
- Per-branch, persisted in the customer's browser. They can close the tab and come back to find their cart intact.
- Shows line items with chosen variants/modifiers, subtotal, applicable taxes, service charges, and any active promotions.
- A promo code field lets them try a code; it validates against the promotions you have currently active.
Signing in
Sign-in is OTP only and only required at checkout (or when the customer wants to manage addresses, view past orders, or use loyalty).
- The customer enters their phone number (international format, picker provided).
- Tappya sends a 6-digit code by SMS.
- They enter the code. Done.
There's no password, no email-required step. A first-time customer becomes a saved customer purely off their phone number.
Profile and saved data
A signed-in customer has:
- Saved addresses: with map pins, dropped using MapLibre / AWS Location services. They can edit, delete, and pick a default.
- Saved payment methods: depending on the payment provider enabled for the branch (Stripe / Paymob / Fawry). Saved cards are stored at the provider, not in Tappya.
- Order history: orders they've placed, with re-order shortcuts and live tracking for in-flight orders.
- Loyalty wallet: points balance, points history, cashback wallet, available rewards.
The customer's email is optional everywhere. Many of your customers will never set one. Don't assume an email-based recovery path exists.
Checkout
For pickup and delivery:
- Customer confirms the order, picks ASAP or schedules a time (where you allow scheduled orders).
- For delivery: confirms an address. The app validates it's in one of your delivery zones; if it isn't, they get a clear message and can pick a different address.
- For pickup: just confirms the branch.
- Customer picks a payment method and pays. For card payments, Stripe / Paymob / Fawry handles the actual card capture; Tappya only stores success/failure plus a reference.
For dine-in:
- The bill is added to the table's running ticket. The customer can keep adding throughout the meal.
- At the end, the bill can be settled either via the same online-ordering app (where you've enabled in-app payment for dine-in) or at the till.
Order tracking
After placing an order the customer lands on the Tracking screen:
- Shows the current status (Received → Preparing → Ready → On The Way → Delivered, with steps adapting to order type).
- Polls the order until it reaches a terminal status, then stops.
- For delivery, includes the assigned driver and (where enabled) a map.
Loyalty and promotions
If your tenant has loyalty enabled:
- The customer accrues points based on your earn rules.
- They can redeem points for rewards from the in-app Rewards screen.
- Cashback balance, where you've configured cashback rules, sits alongside points.
Promotions (auto-applied) show as line discounts in the cart with a labelled badge. Promo codes appear the same way once entered and validated.
Reorder, history, and groups
- Re-order: one tap on a past order copies it back into the cart.
- Group orders: for dine-in, multiple devices can join the same table session, each customer adds their own items, the bill is one shared ticket.
- Split-pay: at dine-in checkout, the table can split the bill multiple ways (evenly, by item, or by amount).
Errors the customer might see
Related articles
- Online Ordering Overview
- Merchant Setup
- Troubleshooting
Key Concepts
- OTP sign-in: Phone-based; the only sign-in method.
- Delivery zone: A polygon you draw around a branch; addresses outside it can't order delivery from that branch.
- Table session: A shared ticket at one dine-in table that multiple guests can add to.
- Terminal status: An order status that won't change again (Delivered, Picked Up, Cancelled). Tracking stops polling at this point.

