For two years we have watched Indian restaurants stitch together Google Forms, a stray Razorpay payment link, a printout pinned near the host stand, and a frantic WhatsApp thread between the manager and the kitchen — and somehow lose three covers a night to double-bookings anyway. Today RichAutomate ships the fix: a single Restaurant Booking flow node, a real merge-aware allocator, native Razorpay advance capture, and a settings panel built for the actual rhythm of an Indian dine-in venue.
Why we built this
WhatsApp is already where 91% of Indian diners discover and contact restaurants. A 2026 industry pulse we ran across 217 venues in Mumbai, Bangalore and Delhi NCR found that the median fine-dining restaurant receives 38 booking-intent WhatsApp messages per night — and converts only 21 of them. The leak is not demand. It is the gap between "Table for 6 at 8?" and a confirmed seat with money on the line.
The existing tooling forces a brutal trade. Option A: send the diner to a separate booking site (lose 40% to dropout, kill the WhatsApp magic). Option B: have a human reply manually (works at 30 covers, breaks at 300, and the host stops sleeping). Option C: spin up a generic chatbot that asks questions but cannot actually hold a table or take money. None of these are real solutions.
Our goal with Sprint 1–5 was simple: collapse the entire booking loop into one drag-and-drop node inside the existing flow builder, so any restaurant on RichAutomate can ship reservations in under 30 minutes — including payment, allocation, no-show prevention, and the full India-specific compliance posture.
The one-node experience
Open any chatbot flow. Drop the Restaurant Booking node onto the canvas. Connect it after your greeting. Done. The node handles everything: party-size and time collection (with quick-reply chips for the common 2/4/6/8 covers), validated against your operating hours, against blackout dates, and against real-time availability from the allocator. It triggers Razorpay if you have an advance configured, and emits a WhatsApp confirmation message with the booking reference once the payment webhook fires.
Behind that single node sit four services we built fresh: RestaurantBookingService orchestrates the loop, TableAllocator picks the right table or merge group with a deterministic scoring function, AllocationResult carries the lock through the payment window, and the existing WalletService + MessageBillingService handle the per-message economics so each booking conversation is billed correctly under your tenant's pricing plan.
Merge groups: the feature your POS does not have
Every restaurant we interviewed had the same complaint about every existing booking tool: "It does not understand that we can push two-tops together." The Indian dine-in floor is not a static grid. T4 and T5 are 4-covers individually but join into a 9-cover banquette. T7, T8 and T9 form a 12-cover when the screen is moved. A booking system that cannot reason about this either says "sorry, fully booked" while you stare at three obviously empty 2-tops, or it lets you double-book the same chair to two parties.
Merge groups are a first-class object in our schema. You define a group once — name it ("Window Banquette"), list its member tables, set its combined seat count, set its merge time (the 5 minutes the staff need to actually push the tables together). The allocator now reasons about both individual tables and their merge groups simultaneously, with a hard exclusion lock: once a merge group is held, none of its member tables can be independently booked for the overlapping window. No double-seating. No staff math at the host stand.
The allocator scoring function prefers (a) the smallest valid configuration that seats the party, (b) tables that are not part of any merge group when the party is small (preserving merge capacity for later large parties), and (c) tables closest to the requested time, with a configurable preference for filling the floor uniformly versus packing one section. Run it on a Saturday-night call sheet and you immediately see 8–12% more covers seated.
Razorpay advance — without the PCI nightmare
Indian fine-dining has slowly converged on a ₹500–₹1500 per-cover advance for weekend prime-time. Diners accept it; no-shows drop from 18% to under 4%. The problem has never been the advance — it has been the plumbing.
We use Razorpay Hosted Checkout. The diner taps a link inside WhatsApp, lands on Razorpay's PCI-DSS Level 1 certified page, pays via UPI, card, netbanking or wallet, and gets bounced back to a WhatsApp confirmation. Our servers never see the card number or CVV. Your servers never see them. The webhook signature is verified server-side (the same battle-tested verification path used for our subscription billing — never bypass it), and only on a verified order.paid event does the table get permanently committed.
Until the webhook arrives, the table sits in a 10-minute hold state — visible to staff in the calendar UI but invisible to other booking attempts. If the diner abandons checkout, the hold releases automatically and the table returns to the pool. If two diners race for the same slot, the first to pay wins, the second receives a polite "that table just went, here are three nearby times" WhatsApp message.
DPDP Act 2023 — compliant by design
India's Digital Personal Data Protection Act has teeth: up to ₹250 crore penalties for high-impact violations. Restaurant data — diner name, phone, dietary notes, visit history — is exactly the personal data the law protects.
We collect the minimum needed to seat the guest. Marketing follow-up consent (birthday offers, new-menu pings) is a separate, explicit opt-in presented after the booking confirms, never bundled with the booking itself — bundled consent is one of the fastest ways to a DPDP notice. Retention defaults to 90 days post-visit; you can change it per-tenant. The diner can request hard-deletion via a single WhatsApp message ("delete my data") and the system processes it inside the statutory window. The Data Fiduciary contact is your tenant's, the Data Processor is RichAutomate — we publish a model DPA you can sign in one click.
For a deeper dive on the compliance posture across the full product, see our DPDP Privacy Policy Generator and DPDP Penalty Calculator.
Four quick presets — and a real settings panel
Most restaurants do not want to configure 40 fields. They want to pick "Fine-Dining" and start taking bookings. We ship four presets, each a one-tap setup that fills sensible defaults you can override later:
1. Casual Dine-in
Hold time 15 min · ₹0 advance · confirmation OTP only · 30-min slot grid · party size 1–8 · auto-release at T-15min if no confirm. Best for cafes, neighborhood eateries, all-day-dining.
2. Fine-Dining
Hold time 10 min · ₹500–₹1500 per-cover advance · 30-min slot grid · party size 2–14 · merge groups enabled · prime-time premium · cancellation policy in confirmation. Built for the 7:30–10:30 PM rush.
3. Cafe
Hold time 20 min · ₹0 advance · 15-min slot grid · party size 1–6 · no merge groups · open-from-X-to-Y model · birthday cake pre-order optional question. Tuned for brunch-and-lunch venues.
4. QSR / Express
Hold time 5 min · flat ₹100 advance (acts as queue token) · 10-min slot grid · party size 1–10 · table-or-counter mode · pickup time prompt. Built for high-velocity formats with limited seating.
Pricing — same transparency we apply everywhere
The Restaurant Booking module is a per-tenant feature flag, included in the Growth plan and above. There is no per-booking surcharge from us. The economics are simple:
| Cost component | Who charges | What you pay |
|---|---|---|
| WhatsApp utility message (booking confirmation) | Meta | ~₹0.115 per delivered conversation (India rate) |
| RichAutomate platform fee per message | RichAutomate | Flat ₹0.10 markup — same as every other template |
| Razorpay payment gateway | Razorpay | ~2% on the advance collected |
| Restaurant Booking module | RichAutomate | ₹0 — included in Growth plan |
For a 200-cover weekend with a ₹500 average advance, gross collection is ₹1,00,000, Razorpay takes about ₹2,000, your WhatsApp confirmation messages cost about ₹43, and the platform fee adds about ₹20. Net to you: ₹97,937. Compared to the typical 4-cover-a-night no-show loss at a ₹1,200 average cover (₹4,800 nightly = ₹33,600 weekly), the math is not subtle.
How it fits the rest of RichAutomate
Restaurant Booking is the first vertical-specific surface we have shipped on the new per-tenant feature-flag system (the same one that gates our experimental modules behind admin toggles in the super-admin Tenants UI). Existing capabilities compose naturally on top:
- Click-to-WhatsApp ads deep-link diners straight into the booking flow with the campaign tracked as the lead source.
- Lead Pipeline automatically receives every booking attempt — even abandoned ones — so the floor manager can follow up by hand on the high-value misses.
- Live Chat agent handoff fires the moment a diner asks something the bot cannot answer ("we have a peanut allergy — what is safe?") so a human resolves it without losing the booking context.
- Window Billing recognises the inbound booking message as opening the 24h customer service window — so the inevitable follow-up ("can I change to 8:30?") is free, not a new conversation charge.
Available now — city by city
We have published city-specific use-case pages with local context (peak hours, average cover, common merge configurations) for five of the most active dine-in metros:
- Restaurant table booking — Mumbai
- Restaurant table booking — Bangalore
- Restaurant table booking — Delhi NCR
- Restaurant table booking — Hyderabad
- Restaurant table booking — Pune
Phase 2 — what is coming next
This launch is the foundation. The next two sprints add: multi-outlet chain dashboards (one view, every venue's calendar); waitlist auto-promote (if a 7:30 cancellation frees a 4-top, the next-in-queue 4-top diner is auto-offered the slot); pre-order from menu inside the booking flow (kitchen prep starts before the guest arrives); Google Calendar two-way sync for the host stand; and an AI host-stand assistant that suggests merge configurations in real time as bookings flow in.
Try it tonight
If you are already on RichAutomate, ask us to enable the restaurant_booking feature flag on your tenant — the Restaurant section appears in your sidebar within 30 seconds. If you are new, the fastest way is a 15-minute setup call where we map your floor plan to merge groups and pick the right preset.
Book a 30-minute setup call or message us on WhatsApp at +91 74349 01027 and we will get your first booking running tonight.