A fine-dining restaurant in Istanbul's Nişantaşı neighborhood ships a thMenu pre-order link to every OpenTable booking 24 hours before service. The kitchen locks prep timing to the seating clock. Average service time fell from 1h54m to 1h27m; table turns rose 18%.
OpenTable Webhook → thMenu Pre-Order Flow
Connect OpenTable Reservation API's reservation.created webhook to thMenu's /api/pre-order/invite endpoint. From party_size, reservation_time and guest_email the server mints an HMAC-SHA256 pre-order token with a 48-hour TTL.
The guest receives menu.thmenu.com/r/{slug}/pre-order/{token}. Expired tokens return 410 Gone — no replay surface. Pre-order rows land in D1_OPS.pre_orders and are auto-released to the KDS 90 minutes before the reservation.
Kitchen Prep Timing Engine
Each course has its own pickup window: amuse-bouche 3 min, appetizer 8 min, main 22 min, dessert 14 min. With pre-order data in hand, the sous chef builds a reverse timeline.
thMenu's course-timing engine reads the party_size × course_count matrix and stages fire times so every guest's main plates within the same 22-minute window. Late arrivals? One button issues a +15min shift to every active ticket.
Case Study: Nişantaşı Fine-Dining
A 14-table Modern Anatolian restaurant (avg check 1,850 TRY per cover) rolled out the pattern in March 2026. Three-month before/after metrics:
- Service time: 1h54m → 1h27m (−27 min, 23.7% faster)
- Table turns: 2.1 → 2.48 per day (+18%)
- Pre-order adoption: 63% of bookings completed 24h ahead
Incremental monthly revenue: 14 tables × 0.38 extra turns × 1,850 TRY × 30 days = 295,260 TRY. Stack cost (OpenTable Pro $249/mo + thMenu Platinum $59/mo) pays back in a week.
FAQ
What if the guest never pre-orders? The system sends a 6-hour reminder. If still empty, the booking falls back to live ordering — the kitchen's prep buffer expands but service still works.
Is OpenTable Lite enough? No — the webhook ships only on Pro ($249/mo) and Enterprise. Lite forces polling with 5-minute latency.
How do allergy notes propagate? thMenu's special_requests field inherits OpenTable's note automatically and flashes a red banner on KDS; the station must acknowledge before the ticket fires.
Found this helpful? Share it.
Related articles
The Complete Guide to Running a Multilingual Restaurant Menu
Serving international guests? Learn how to set up a menu that automatically spea…
What Is a QR Code Menu? The Complete Guide for Restaurants
A QR code menu lets customers access your full restaurant menu instantly on thei…
Understanding Your Restaurant's Data: A Practical Analytics Guide
Your menu generates data every day. Learn how to read it, act on it, and use it …