WhatsApp Ordering · Product Documentation Section IV · Chapter 3 2026 · call2kot.com
Product · WhatsApp channel

Orders come in the way
your customers already text.

Voice calls solve the phone ringing at 8pm. WhatsApp solves the customer who does not want to call at all. Same AI, same kitchen ticket, same three-second turnaround — different front door.

Customer's phone · Al Manara Grill · 20:41
Behind the scenes
i
Customer messages your business number.

Your restaurant lists its WhatsApp Business number on Google, Instagram, delivery flyers. Customer taps to chat. Meta delivers every incoming message to a webhook URL you register once during setup.

webhook · verified via HMAC
POST /api/whatsapp/webhook
X-Hub-Signature-256: sha256=a1b2c3...
{ from:"+971 50 ••• 4412",
  text: "Hi, I want to order for
         delivery to Marina Walk",
  timestamp: 1728324521 }
WhatsApp Cloud API HMAC verification <100ms webhook ack
ii
Session opens. Menu is loaded.

Each phone number gets a persistent session. First message triggers your restaurant's welcome, subsequent messages append to the running conversation. Menu, prices, and dialect notes are cached and prepended as system context.

wa-session.js
const session = sessions.getOrCreate({
  from: "+971 50 ••• 4412",
  restaurant: "al_manara_grill",
  ttl: 7200 // 2h session window
});
session.append({ role:"user", text: msg.text });
Same session per number Menu cached ~85% saving Multi-lingual
iii
Claude reads it. Extracts the order.

Same Claude Sonnet 4.6 model that answers phone calls, same prompt engineering, same tool-use to add items to a running order. Language detected automatically from the incoming text. Order state maintained turn-by-turn until customer confirms.

wa-claude.js · tool call
tool_use: "add_to_order"
{ items: [
    { qty:1, name:"Chicken Shawarma" },
    { qty:1, name:"Fattoush Salad" },
    { qty:1, name:"Orange Juice" } ],
  language: "ar",
  delivery: "Marina Walk" }
Claude Sonnet 4.6 Auto language detect Turn-by-turn state
iv
Customer confirms. KOT prints. Reply sent.

The moment the customer says "yes", we call the same createKOT() function the voice channel uses. Kitchen ticket prints. Order gets a number. Confirmation goes back to WhatsApp with ETA. Same monitor portal shows it live — so you can edit the ticket before the kitchen starts if the AI misheard.

wa-kot.js
const kot = await createKOT({
  restaurant: session.restaurant,
  items: session.order.items,
  total: 77,
  channel: "whatsapp",
  delivery: "Marina Walk"
});
sendWhatsApp(from, `Confirmed ✓ Order #${kot.n}`);
Same KOT pipeline Kitchen printer Live monitor portal
▸ Result · both sides
Order #4821 is now printing at the kitchen station.
The customer sees a confirmation message with an ETA. The kitchen sees a KOT ticket that looks exactly like the ones from voice orders — same format, same station.
2.4smessage to KOT 3turns to confirm AED 77captured
AL MANARA GRILL
DELIVERY · 20:41
Source: WhatsApp · Arabic
To: Marina Walk
1× Chicken shawarma28
1× Fattoush22
1× Orange juice15
1× Small hummus12
Total AED77
KOT #4821
Architecture

The same brain, three front doors.

Voice, WhatsApp, and the manual admin channel all funnel through the same order-extraction and KOT-print pipeline. The AI does not know or care whether the customer spoke or typed — it just sees a running conversation and a menu.

Inbound channels
Voice callSIP · Twilio · Call forward
→
WhatsAppMeta Cloud API
→
Admin entryManual input
── all funnel into ──
Order-extraction pipelineClaude Sonnet 4.6 · your menu · session state
Same prompt, same model, same tool-use — regardless of how the order arrived
── ready-to-cook order ──
Kitchen printerSame KOT format
→
KDS displayReal-time updates
→
Monitor portalApprove · edit · reject
The kitchen never has to know which channel the order came from
Channel · Voice
The customer who calls.

Best for guests who are hungry now, want it fast, don't want to type on a phone. Regular customers who already know your menu.

  • 2.8s from "hello" to KOT printed
  • Works with any phone — no app
  • Handles simultaneous callers
  • Best conversion for dinner-rush overflow
Channel · WhatsApp
The customer who texts.

Best for guests browsing the menu at leisure, ordering for a group, sending screenshots of what they want. Also — everyone in the UAE under 40.

  • Async · they can order over 10 minutes
  • Menu link, images, order history all inline
  • Works from Google, Instagram, flyers
  • Best for slower research-then-order behaviour
Frequently asked

The questions restaurant owners ask.

Do I need my own WhatsApp Business account?
Yes, but the setup takes about a day. You register a phone number with Meta's WhatsApp Business Cloud API, we plug our webhook into it, and your existing customer chat number becomes the AI ordering channel. If you already use WhatsApp Business, the same number can host both — you handle the important conversations, the AI takes orders.
What does Meta charge per conversation?
WhatsApp Business API pricing depends on where the customer is and who started the conversation. In the UAE, a customer-initiated service conversation is roughly USD 0.03 (about AED 0.11) for a 24-hour window — so a customer can send multiple messages during the ordering process for one small charge. We pass this through at cost.
Can staff take over a conversation from the AI?
Yes. The live monitor portal shows every WhatsApp conversation in progress. Your staff can click "take over" at any point, and the AI stops responding on that thread. The customer is not told — from their side, they just get replies from the same number. This is important for complex orders, complaints, or building relationships with regulars.
What happens if the AI gets an order wrong on WhatsApp?
Every WhatsApp order lands in the same monitor portal as voice orders. During the trial phase, you approve every ticket before it prints — same as voice. Once you go live, corrections happen either by the customer replying "actually make it two shawarmas" (AI updates the order automatically) or by your staff editing the ticket from the portal before the kitchen starts.
Does the customer know they're chatting with an AI?
Yes — the AI discloses this in the first message ("Ahlan! I can take your order right here in this chat"), and the WhatsApp Business profile shows an "automated replies" disclaimer per Meta's policy. That is also required under UAE PDPL from January 2027, so you're covered by default.
Which languages work on WhatsApp?
The same three as the voice channel: English, Arabic and Tamil. The AI detects the language from the first message and replies in it. Customers can switch mid-conversation and the AI switches with them — most here open in English and drop into Arabic or Tamil for one detail.
WhatsApp channel · included in Pro plan

Your customers already text.
Now they can order.

Voice and WhatsApp are both included in the Pro plan (AED 1,499/month). Same 30-day free trial, same install-in-a-day, same walk-away-if-not-happy.