
Turn WhatsApp Orders Into a Real Customer List
By menu-MENA Team
Published on August 24, 2026
The order that disappears into a chat thread
A guest scans the QR, builds a basket, taps the WhatsApp button, and sends the order. It lands in the branch's WhatsApp inbox, the kitchen confirms, the food goes out. That part works well. But once the order is marked done, the guest is gone, not gone as in they left the restaurant, gone as in there's no record anywhere that this person exists. Their name is whatever shows up next to their number in WhatsApp, buried under a hundred other one-off order threads.
Ask a restaurant owner who takes orders through WhatsApp who their ten most loyal customers are. Most can point to a few names they vaguely recognize scrolling through chats, and that's it. The orders happened. The loyalty is real. None of it got written down anywhere a person could look at later.
Reservations never had this problem, because a reservation already asks for a phone number to hold the table. WhatsApp orders never did. The order just opens in the guest's own WhatsApp app and sends from there, so menu-MENA never saw a phone number and never had anything to build a customer record from.
What shipped: /admin/customers
There's now a lightweight customer list at /admin/customers, built from data your restaurant is already collecting.
Every reservation already asks for a phone number, so every reservation automatically creates or updates a customer record. That part needed no new UI and no new form for guests to fill in. The data was already there, just unused.

For WhatsApp orders, the order review form gained one new field: "your phone (optional)". A guest who wants to be remembered types their number in before sending the order. A guest who doesn't want to, or is in a hurry, leaves it blank and the order goes through exactly as it did before. Nothing about the ordering flow changes for a guest who skips it.
Why phone number, and why optional
There's no other identifier that reliably ties one order to the same person the next time they order. No account, no login, no email, no cookie that survives a phone switching browsers. A phone number is the one thing a repeat guest is likely to type the same way twice. Making it optional matters as much as adding it: forcing every guest to hand over a phone number before ordering food would cost orders, and the field exists so a guest can choose to be remembered, not so the restaurant can force it.
Records are keyed by phone number. A guest who orders three times over a month doesn't show up as three rows, they show up as one customer with a visit count of 3. A guest who orders once by WhatsApp and later books a table folds into that same record too.
How the list is organized: new, repeat, lapsed
The list auto-sorts every guest into one of three segments, computed by counting, nothing more:
- New: one order or reservation so far.
- Repeat: two or more visits, with the most recent one inside the last 60 days.
- Lapsed: hasn't ordered or booked in 60+ days, no matter how many times they visited before that.
A guest who ordered six times last year but hasn't shown up since spring lands in lapsed, not repeat. Total visit count alone doesn't keep someone in the repeat bucket; recency does.
Filter chips at the top of the page let you click into just one segment: see only your new guests, only the ones who keep coming back, or only the ones who've gone quiet.

What this isn't
This is a contact list, not a marketing tool. There's no button to blast a WhatsApp message to everyone in the lapsed segment, no email campaign builder, no automated "we miss you" message that fires on day 61. None of that exists yet.
What you have is a screen you can look at. What it isn't, yet, is a list you can email. That's deliberate: this feature is the foundation something like a campaign tool could sit on top of later, but it ships today as a list, not a send button.
Manual ways to use it
Since there's no automation attached, using the segments means someone on your team actually looking at the list and deciding to act. For a small operation that's not a gap, it's the right-sized tool.
A few ways owners are likely to put the repeat and lapsed segments to work:
- Scroll the repeat segment before a slow Tuesday and personally WhatsApp two or three regulars: something like "we've got your usual today if you're around."
- Check the lapsed segment once a week and message the ones you actually remember. A quick "haven't seen you in a while" from the owner reads very differently from an automated blast, and lands better because of it.
- Use the new segment to see whether a promotion actually turned into first orders, not just impressions.
Every one of these is a person picking up their own phone and typing a message. The feature does the counting and sorting; the outreach is still yours to do.
Key takeaways
- /admin/customers is a new built-in list, no separate CRM tool required.
- Reservations already collect a phone number, so they've always fed this list automatically.
- WhatsApp orders now have an optional "your phone" field; leaving it blank changes nothing about how the order sends.
- Records are keyed by phone number, so a guest ordering repeatedly shows up as one customer with a rising visit count, not several.
- Guests are sorted into new, repeat, and lapsed by counting, with a 60-day recency window deciding repeat vs. lapsed.
- There's no bulk messaging built on top of this yet. It's a list to read and act on yourself, not a campaign tool.
If your restaurant runs orders through WhatsApp, check /admin/customers next time you're in the dashboard. Chances are your regulars have already started showing up there, order after order, with no extra setup on your end.