Case study · restaurants · South Africa

A booking platform the restaurant owns.

A restaurant group wanted to stop renting its guest relationships from a third-party booking tool. We built the reservation system, the host dashboard and the guest CRM it now owns — with a WhatsApp booking assistant on top — and we run it.

AI for Restaurants

Case sheet

Client
A restaurant group in South Africa
Stage
In production, pilot phase
Built
Booking widget, host dashboard, guest CRM, WhatsApp assistant, marketing console
Runs on
Docker, on infrastructure Takat operates
The problem

Bookings in someone else's system

Most restaurants take bookings through a platform they do not control: the guest list, the history of each visit and the way guests are contacted all live with the vendor. The most valuable thing a restaurant has — the relationship with its regulars — ends up in a tool it rents.

The brief was simple to say and long to build: the same service for hosts on a Friday night, the full guest history kept, and messages to guests on the channel they answer — WhatsApp.

What we built

Five pieces, one guest record

  • Booking widget

    Guests book online in a few taps; the booking lands in the same system the hosts work in.

  • Host dashboard

    The service runs from the restaurant's own floor plan and a timeline of the evening, with tables assigned to servers.

  • Guest CRM

    Every guest's visits and preferences in one record — including the history imported from the previous booking tool.

  • WhatsApp assistant

    An AI booking assistant and a waitlist on WhatsApp, writing into the same system the hosts use.

  • Marketing console

    Guest journeys — confirmations, reminders, return visits — managed by the restaurant, not the vendor.

  • E-mail confirmations

    Every booking confirmed by e-mail as well, for guests who prefer it.

How it is built

Small services, one queue, one worker

Behind a single API gateway, each part of the product — bookings, guests, messaging, marketing — is its own service. They talk through events on a queue, and one worker runs the consumers and scheduled jobs: reminders, journeys, imports. An outbox makes sure an event is never lost between the database write and the message.

The platform first ran on a managed cloud. In September 2026 we moved it onto Docker on our own infrastructure, with the same public addresses and the same WhatsApp webhook. Writes were frozen briefly, the database was dumped and restored, and the row counts and latest update time of every table were compared before traffic switched. The old database was stopped, not deleted, and a nightly backup has run since.

Where it stands

Pilot phase, fixed in the open

The platform is in production in its pilot phase. Hosts' feedback lands in our operating system as items with an owner — a reservation form that did not scroll on a small screen, a timeline that stopped before the last booking — and each is closed with what was changed and when it went live.

The same engine is behind TablePilot, our booking and guest platform for restaurants.

Related work

Other hospitality projects

  • Restaurants · FranceLive

    A bilingual website and booking back office for a brasserie

    A French and English website for a brasserie, with its own booking system: the guest books online, the request lands in the restaurant's reservations inbox, and the team confirms or declines it from a back office — which e-mails the guest either way.

    • Two domains, one per language, from one codebase
    • Booking requests stored, e-mailed to the team and acknowledged to the guest
    • A back office where the restaurant confirms or declines each booking
    • Automated API tests and a one-command rollback
    • HTML
    • Node.js
    • Docker
    • Transactional e-mail
  • Hospitality · East AfricaSales demo

    QR menus, table ordering and a WhatsApp assistant for cafés

    A hospitality platform shown to café and restaurant groups: every dish with a photo and a video behind a QR code, ordering from the table, loyalty, and a WhatsApp assistant that answers questions about each shop — opening hours, locations, contacts.

    • Branded menus where every dish has a photo and a video
    • Ordering, loyalty and frequently asked questions on WhatsApp, with mobile-money payment simulated in the demo
    • Node.js
    • MySQL
    • PostgreSQL
    • Redis
    • WhatsApp Business Platform
  • Hospitality · prototypePrototype

    Voice ordering over a WhatsApp call

    A customer calls the business on WhatsApp and orders by voice; an AI voice agent takes the order, then the payment link and the tracking link arrive as WhatsApp messages.

    • Node.js
    • WhatsApp Business Platform
    • ElevenLabs
    • Stripe
FAQ

Frequently asked questions

  • Can a restaurant own its booking system instead of renting one?

    Yes. This group runs its own reservation system, host dashboard and guest CRM, built and operated by Takat, with the booking history imported from its previous tool.

  • Does the WhatsApp assistant replace the host?

    No. It takes bookings and manages the waitlist on WhatsApp, writing into the same system the hosts use; the service itself stays with the team.

Want to own your guest list?

Tell us how you take bookings today and what you would change.