Case Study · Hospitality

Restaurant Booking Platform: From Phone Calls to 80% Online Reservations

A Nairobi restaurant group with three locations needed centralized reservation management and a way to reduce no-shows.

Representative case study. Anonymized version of a real client engagement.

80%

Online reservations

-71%

No-show rate

+24%

Cover utilization

The Client

A premium restaurant group operating three locations across Nairobi (Westlands, Karen, and Kilimani) with a combined seating of 280 covers per night. Established 8 years, well-known on the Nairobi dining scene. Pre-engagement, reservations were taken by phone — each restaurant had a dedicated reservation line answered by hostess teams.

The Problem

  • Phone reservations didn't scale. Lines were busy during peak booking windows (Friday afternoons especially). They estimated losing 15-20% of would-be reservations to busy signals.
  • No-show rate was 22%. Friday/Saturday nights saw the worst. Empty reserved tables couldn't be re-booked because the system was paper.
  • No central view of bookings. Each restaurant had its own paper book. Repeat customers couldn't be recognized across locations.
  • Hostess time was wasted on reservation calls when they should be greeting in-person guests.

What We Built

A custom reservation platform across all three locations:

  • Online reservation widget embedded on each restaurant's page and main brand site. Date/time/party size/preferences in 30 seconds.
  • M-Pesa deposit for prime slots — Friday/Saturday 7pm-9pm bookings require KES 500/person deposit. Refunded against the bill if they show up.
  • Customer recognition across locations via phone number lookup. Birthday and anniversary auto-detection.
  • Hostess management dashboard showing today's bookings, table assignments, dietary preferences, customer notes.
  • Reminder workflow — SMS at 24 hours before, 2 hours before, with one-tap confirm or cancel link.
  • Waitlist and walk-in management — when bookings fill, customers can join waitlist and get notified if a slot opens.

Stack

Next.js 14, PostgreSQL with strong concurrency for booking conflicts, Africastalking for SMS, Daraja API for M-Pesa deposits, Resend for email, Vercel for hosting.

Process

11-week build with substantial UX iteration on the booking widget:

  • Weeks 1-2: Discovery across all three restaurants, observation of hostess workflows
  • Weeks 3-5: Booking engine, hostess dashboard, M-Pesa deposit logic
  • Weeks 6-7: Customer recognition, SMS reminders, dietary preferences
  • Weeks 8-9: Waitlist, walk-in handling, reporting dashboards
  • Weeks 10-11: Pilot launch at one restaurant, iterate, full rollout

Results After 4 Months

  • Online reservations: 0% → 80% of all bookings now happen online. The remaining 20% are walk-ins and a few regulars who still prefer phone.
  • No-show rate: 22% → 6.4% (-71%). The M-Pesa deposit on prime slots was the biggest factor — putting any money down dramatically reduces frivolous bookings.
  • Cover utilization: +24% on Friday/Saturday — empty no-show tables now refilled via waitlist within 15 minutes.
  • Repeat customer recognition: Hostess teams now see "Visited 8 times, vegetarian, allergic to nuts, anniversary 14 March" on arrival.
  • Hostess time saved: ~3 hours per shift previously on phone calls now redirected to guest experience.

What Worked

  • M-Pesa deposit was decisive. Before launch we worried customers would hate paying upfront. They didn't — they actually appreciated the implicit table guarantee. No-shows dropped immediately.
  • Customer recognition delighted regulars. Hostesses greeting them by name on first visit at a sister location was a wow moment that drove word-of-mouth.
  • SMS reminders had 94% open rate. Email reminders had 31%. SMS clearly the right channel in Kenya.

What We'd Do Differently

  • Phone fallback longer. We turned off the phone line in week 8 too aggressively. Some older regulars were upset. Should have kept phone available for 6+ months alongside.
  • WhatsApp Business reminders. SMS works but WhatsApp Business API would have higher engagement. Adding now.
  • Better menu integration. Customers wanted to see the menu before booking. We didn't integrate it well at launch — fixed in month 3.

Engagement Continues

Standard maintenance plus monthly feature additions. Currently building loyalty program (visit-based rewards across all three locations).

Run a Restaurant in Kenya?

See our restaurant website service or book a free consultation.

Book Free Consultation