Skip to content
Booking a private chef over WhatsApp — EatCookJoy UAE.
EatCookJoy UAE · WhatsApp Integration Brief

Book a chef, build a menu and pay — entirely on WhatsApp.

A complete engineering scope for the WhatsApp layer of EatCookJoy UAE. Clients select meals, get matched to a chef, confirm and pay inside one chat. Chefs onboard, accept jobs and message clients directly — no app download required. This document is the conversation flows, the architecture, the message templates Meta must approve, the AI layer, the timeline, and a clean Scope-of-Work you can download as PDF for quotation.

WhatsApp Cloud API EN + AR Single line · role routing Stripe pay-in-chat 10–12 week build
01 · The opportunity

Two journeys, one chat.

WhatsApp is the default channel in the UAE — every client and every chef already has it open. The integration removes the biggest friction in the funnel: the app download. The same booking loop that runs in the app (session type → menu → chef match → confirm → pay) runs as a guided conversation, and the chef confirms back to the client directly. Two parallel experiences, sharing one backend.

K

Chef on WhatsApp

Onboards through a guided WhatsApp Flow — ID, food-handler licence, photos, specialities, IBAN
Sets service areas and availability without leaving the chat
Receives matched booking requests with Accept / Decline buttons and a 60-second SLA
Reads the per-session recipe brief: dishes, ingredients, allergens, household notes
Confirms directly to the client, then messages them for any clarifications
Gets the auto grocery list, captures expenses by photo, marks "on the way" / "arrived" / "done"
Receives payout confirmation and auto reminders before licence expiry

Relationship to the main app

This WhatsApp layer is not a separate product — it is a new front-end channel onto the same EatCookJoy backend described in the App Development Blueprint: the same booking engine, chef-matching service, recipe vault, Stripe Connect and admin dashboard. Everything a client or chef does on WhatsApp appears in the admin dashboard exactly as an in-app action would. The two channels stay in sync through one shared API.

02 · Client conversation flow

From "Hi" to a confirmed chef.

The exact step sequence the client experiences. Each step maps to specific WhatsApp message types (interactive lists, reply buttons, WhatsApp Flows, CTA-URL) and a backend call. This is the build spec for the client journey.

1
Entry & opt-in
Client taps a wa.me link or scans a QR. Auto-greeting introduces ECJ, captures explicit opt-in consent (required by Meta + UAE PDPL), and detects language (EN / AR).
Welcome templateConsent captureLanguage detect
2
Intent menu
Reply buttons: Book a chef · Manage a booking · Talk to a human. New users are routed into the taste profile first.
Interactive buttons
3
Taste profile (first time only)
A single WhatsApp Flow form captures emirate & area, household size, preferred cuisines, dietary tags, allergens and budget band. Saved to the client profile and reused on every future booking.
WhatsApp FlowProfile API
4
Meal selection — three ways
Browse: interactive List Messages grouped by cuisine → a menu-builder Flow with multi-select. Type it: "Friday dinner, 6 people, halal, under AED 950" → the AI Meal Concierge proposes a menu. Snap-a-dish: client sends a food photo → AI identifies the dish → matches a chef who cooks it.
List messagesMenu-builder FlowGPT-4 conciergeVision
5
Session type & date
Pick a service tier — Dinner Prep (AED 349) · Meal Prep Light (AED 449) · Standard Meal Prep (AED 629) — plus date and arrival time via a Flow date/time picker against live availability.
Pricing tiersAvailability check
6
Chef matching
Backend matching returns the best 1–3 available chefs for the menu, cuisine, area and date. Each is shown as a card (name, cuisines, rating, photo, price). Client selects one.
Matching APIChef cards
7
Groceries & confirm
Choose grocery handling — chef shops · pre-delivery · premium sourcing (+AED 75). Then a clear summary card: chef, menu, date, groceries, subtotal, VAT, total.
Order summaryVAT line
8
Pay in chat
A Stripe payment link is delivered as a CTA-URL button. On the payment-success webhook the booking is created and locked. (WhatsApp Pay is not yet live in the UAE — Stripe link is the route.)
Stripe linkCTA URLPayment webhook
9
Chef confirms → direct chat
When the chef accepts, the client immediately gets "Chef Maria confirmed your Friday dinner." A platform-mediated thread then lets client and chef message each other directly for any tweaks — numbers stay masked, messages logged.
Confirmation templateNumber maskingRelay
10
Reminders, status & feedback
T-24h and T-2h reminder templates, calendar invite, live "chef on the way / arrived" updates. After the session: a 3-tap rating + NPS, the VAT receipt, and a one-tap re-book.
Reminder templatesLive statusRe-book
03 · Chef conversation flow

Onboard and run jobs — from the chat.

The chef side of the integration: a self-service onboarding that feeds admin approval, and an operational loop for every booking. Chefs never need the app to get live and earning.

1
Invite & start
Chef receives a recruiter invite template (or messages the chef line directly). Opt-in captured, language set.
Invite templateOpt-in
2
Onboarding Flow
A guided WhatsApp Flow collects full name, Emirates ID, food-handler licence (photo upload), profile photo, cuisines & specialities, service areas, availability and bank IBAN. Documents are stored securely and queued for admin review.
WhatsApp FlowDocument uploadKYC
3
Admin approval
Admin reviews documents in the dashboard. Chef receives an "approved" or "more info needed" message. Only approved, compliant chefs become matchable.
Admin reviewStatus message
4
Booking request
A matched booking arrives as a template with the key details and Accept / Decline buttons, plus a 60-second accept SLA. No reply in time → auto re-offer to the next chef.
Request templateAccept/DeclineSLA timer
5
Recipe brief & direct chat
On accept, the chef gets the per-session recipe brief (dishes, ingredients, allergens, household notes) as a document, the client is notified, and the masked direct-chat thread opens for both sides.
Recipe briefRelay thread
6
Groceries & expenses
Auto-generated shopping list delivered in chat. Chef confirms the grocery option and captures expenses by sending receipt photos — logged against the booking.
Shopping listReceipt capture
7
Day-of status
Reminder + navigation link. Status buttons — On the way · Arrived · Session complete — each pushes a live update to the client.
Status buttonsClient live update
8
Completion & payout
"Session complete" triggers the Stripe Connect payout split. Chef receives a payout confirmation (T+2 business days) with the breakdown.
Payout triggerConfirmation
9
Compliance reminders
30-day and 7-day food-handler licence expiry reminders sent automatically; chef renews by replying with a new document. Non-renewed chefs are auto-paused from matching.
Expiry templatesAuto-pause
04 · Architecture & stack

What it's built on.

A thin, reliable WhatsApp layer in front of the existing EatCookJoy backend. The orchestrator holds conversation state; everything transactional (bookings, matching, payments) calls the same APIs the app uses.

Channel
WhatsApp Cloud API

Meta's WhatsApp Business Platform via a BSP (360dialog / Gupshup / Twilio). One number for both clients and chefs — routed by role on entry.

Cloud APIBSPVerified business
Messages
Interactive + Flows

Reply buttons, List Messages, CTA-URL, media, location, and WhatsApp Flows for structured forms (profile, onboarding, menu builder, feedback).

ButtonsListsFlowsTemplates
Orchestrator
Webhook + state machine

Node service receives webhooks, tracks per-user conversation state, and routes each step to the right backend call. n8n drives the async automations.

Node / NestJSRedis staten8n
AI / NLU
GPT-4 layer

Free-text intent, the meal concierge, snap-a-dish vision, and L1 support. RAG over the 16,848-recipe vault with an allergen-safety filter.

GPT-4VisionRecipe RAG
Core APIs
Existing ECJ backend

Reuses the app's booking engine, chef-matching service, recipe vault and profiles. No duplicate logic — WhatsApp is just another client of the same API.

GraphQL/RESTPostgreSQLMatching
Payments
Stripe links

Stripe payment links delivered as CTA-URL; success webhook locks the booking. AED + UAE VAT invoicing. Stripe Connect splits the chef payout.

Payment linksAED + VATConnect
Relay
Masked client↔chef chat

Platform-mediated messaging so client and chef talk directly without exposing personal numbers. Every message logged for safety & disputes.

Number maskingMessage log
Admin
Inbox + broadcast

Human-handover inbox, template/Flow manager, opt-out list, and WhatsApp KPIs surfaced in the existing admin dashboard.

Handover inboxBroadcastAnalytics

Compliance & policy — must be designed in, not bolted on

Meta: business verification, an approved display name, message-template pre-approval (utility / marketing / authentication / service categories), the 24-hour customer-service window rule, conversation-based pricing, and quality-rating protection to avoid number throttling.

UAE: explicit opt-in and easy opt-out per PDPL & TDRA anti-spam rules; halal-first menu defaults; AED + VAT-compliant receipts. Personal data is stored under the same PDPL posture as the main app.

05 · Templates & Flows to build

The message assets Meta must approve.

WhatsApp-initiated messages (reminders, confirmations, requests) require pre-approved templates; structured forms are built as WhatsApp Flows. All are bilingual EN + AR. This is the asset checklist the vendor delivers and submits for approval.

F

WhatsApp Flows (forms)

Client taste-profile capture
Menu builder — multi-select from recipe vault
Session type + date/time picker against live availability
Grocery-handling selection
Chef onboarding (ID, licence, photos, specialities, IBAN, areas)
Chef availability editor
Post-session rating + NPS
Human-handover request form
06 · AI in the conversation

Where AI does the heavy lifting.

Five AI workflows that make the chat feel effortless instead of like a rigid menu tree. All reuse the app's AI services.

1
Conversational Meal Concierge
Client types a request in plain English or Arabic ("Friday dinner, 6 people, halal, under AED 950") → GPT-4 parses constraints, queries the recipe vault via RAG, and returns a complete proposed menu — all inside the chat.
GPT-4Recipe RAGAllergen filter
2
Snap-a-Dish identification
Client sends a photo of a dish they love → vision model identifies it → the system finds the closest vault recipe and a chef who cooks it.
VisionRecipe match
3
Smart chef matching
Cuisine, dietary expertise, area, rating and live availability are ranked to surface the best 1–3 chefs — the same engine as the app, exposed to the chat.
Rules + vectorGPT-4 ranking
4
L1 support & FAQ deflection
GPT-4 + knowledge-base RAG handles "change my booking", "can the chef do keto?", "where's my chef?" — and hands over to a human in the admin inbox only when needed.
GPT-4KB RAGHuman handover
5
Bilingual auto-translation
Client↔chef relay messages are auto-translated EN↔AR so an Arabic-speaking client and an English-speaking chef can coordinate seamlessly.
TranslationEN / AR
07 · Delivery timeline

A 10–12 week workstream.

Runs in parallel with the main app build. The long pole is Meta business verification and template approval — started in week 1 so it never blocks development.

Week 1–2
Phase 0 — Account & access
WhatsApp setup & verification
Get the Meta plumbing in place — this is the dependency that gates everything.
Meta Business Manager + business verification
BSP selection & onboarding (360dialog / Gupshup / Twilio)
Single WABA + number, role-based routing on entry, display name
Opt-in plumbing on website / IG / QR + consent store
Week 2–4
Phase 1 — Foundations
Orchestrator, templates & Flows
Build the rails: webhook receiver, state machine, and submit all message assets for approval early.
Webhook service + conversation state machine
Draft & submit all EN + AR templates for Meta approval
Build WhatsApp Flows (profile, onboarding, menu, feedback)
Backend API contract with the core ECJ platform
Week 4–7
Phase 2 — Client journey
Book, select, match & pay
The full client loop end-to-end inside WhatsApp.
Taste profile + meal selection (browse / type / snap)
AI Meal Concierge + chef matching surfaced in chat
Order summary, Stripe pay-link, payment webhook
Confirmations, reminders, feedback & re-book
Week 6–9
Phase 3 — Chef journey
Onboarding, jobs & direct chat
The chef side and the masked client↔chef relay.
Chef onboarding Flow + admin approval loop
Booking request / accept-decline / SLA re-offer
Recipe brief, grocery list, expense capture, status updates
Masked direct messaging + payout & compliance reminders
Week 9–11
Phase 4 — Admin & AI
Inbox, broadcast & analytics
Operator tooling and the AI deflection layer.
Human-handover inbox + broadcast / template manager
L1 support bot + bilingual auto-translation
Opt-out management + WhatsApp KPIs in admin
Week 11–12
Phase 5 — QA & go-live
Hardening & pilot
Bilingual QA, quality-rating protection, then a controlled pilot before opening the lines.
End-to-end QA in EN + AR on real devices
Delivery / quality-rating monitoring + alerting
Pilot with founding chefs + first clients, then go-live
08 · Scope of Work · for engineer / vendor quote

The clean, simple-list Scope of Work.

Print or save this section as PDF using the button at the top of the page. The printed file contains only this Scope of Work — no marketing visuals — ready to email to a WhatsApp / engineering vendor for quotation.

1 · Project Overview

2 · WhatsApp Account & Platform Setup

3 · Client Journey — required features

4 · Chef Journey — required features

5 · Client ↔ Chef Direct Messaging

6 · Message Templates (EN + AR) — to build & get approved

7 · WhatsApp Flows (forms) — to build

8 · AI & Automation Layer — required

9 · Architecture & Stack — required

10 · Admin & Operations

11 · Non-Functional Requirements

12 · Assumptions & Dependencies (client provides)

13 · Out of Scope (this workstream)

14 · Vendor Deliverables on Quote

Ready to send to a vendor?

Tap the button to save this Scope of Work as a PDF in your Downloads folder. The PDF contains only sections 1–14 above — no marketing visuals — clean and ready to attach to a Request for Quotation.