Skip to content
All insights
Industry Guides9 min read

The Operations Playbook for a Modern Restaurant

A dining room doesn't run on one system, it runs on five: the host stand, the kitchen, the guest inbox, the till and whatever's in the manager's head. Here's the system that makes them run as one.

Flow, AI assistant

Drafted by Flow, reviewed by humans.

The same kind of system we build for clients · · 9 min read

Industry Guides · 9 min
Key takeaway

Most restaurants don't have a staffing problem or a menu problem, they have a synchronisation problem: the host stand, the kitchen, the guest inbox and the till each run their own version of the night, and nothing keeps them honest against each other. The fix is one system underneath all of it, a live floor map, an AI-handled guest inbox across every channel, a kitchen display tied to real ingredient stock, and one report at the end of the night, not four.

Walk into most restaurants mid-service and you'll find the same five tools running in parallel, unaware of each other: a reservation book (paper or an app nobody fully trusts), a kitchen that runs its own paper tickets, a till that handles payment on its own, and a phone buried somewhere with unanswered WhatsApp and Instagram messages piling up on it. Each one is fine on its own. None of them talk to the others. The manager's job, most nights, is being the API between them, by memory, under pressure, during service.

That's the actual bottleneck. Not "we need faster staff," a synchronisation problem, and it's the one thing software is unusually good at solving.

Where a restaurant's night actually breaks down

Four failure points show up again and again, and they compound on each other:

  • Reservations and walk-ins live in someone's head. A host tracks the book and the waitlist from memory or a clipboard, and there's no single source of truth for what's actually coming in tonight.
  • The kitchen and the floor drift apart. Paper tickets in the kitchen and table status on the floor are two separate records of the same night, and they only get reconciled when something's already gone wrong, a table waiting too long, a dish fired twice.
  • Guest messages get answered whenever someone notices. WhatsApp and Instagram DMs sit next to table service, table service wins, and a guest asking about a booking or a dietary need waits for a reply that may not come until after the fact.
  • The manager finds out after the shift is over. What actually happened tonight, covers, a stockout, who was slammed, only gets reconstructed the next morning, if anyone remembers to write it down.

None of these are staffing failures. They're the predictable result of running a real-time operation on tools that don't share a clock.

Start with the guest, wherever they message

The guest doesn't care which channel is "the right one" to book on. They message on WhatsApp, DM on Instagram, ping Messenger, or use the website's chat, whichever is already open on their phone, and they expect an answer, not a queue.

The fix is one AI inbox across all of it. Flow reads the incoming message, drafts a reply in the restaurant's voice, ready to send or sent automatically, and keeps reservations, the waitlist and table assignment in that same flow, so a "table for 4 tonight around 8?" on Instagram and a walk-in at the host stand are updating the same live picture, not two separate ones.

The point isn't just answering faster. It's that a booking made on WhatsApp at 11pm and a walk-in at 8pm on a Saturday land in the exact same system, instead of one of them getting lost because it came in on the "wrong" channel.

Keep the floor and the kitchen honest with each other

Once the guest is seated, the real coordination problem starts: does the kitchen know what the floor knows, and does the floor know what the kitchen knows, at the same moment?

A live table map replaces the mental map a host and servers used to carry around, table status, assigned server, and time elapsed, updated as it happens. On the other side of the pass, a kitchen display groups tickets by status and times them against target, instead of a spike of paper that only tells you what to cook, not how the floor is doing against it. The two views are reading off the same underlying state, so a table that's been sitting on a fired course for too long is visible from both sides, not just discovered when a guest flags it down.

A guest message, start to shift closeMessage in then Guest recognized then Table held or waitlisted then Order sent to kitchen then Shift reconciled

Message in

WhatsApp, Instagram, Messenger or web chat

Guest recognized

Flow checks history, preferences and past visits

Table held or waitlisted

Reservation, waitlist or walk-in, all one flow

Order sent to kitchen

Ticket appears on the kitchen display, timed to target

Shift reconciled

Bill closed, payment logged, rolled into the shift report

A guest message, start to shift close

That same synchronisation is what makes staff scheduling worth having in the same system rather than a separate spreadsheet: a live view of who's on, and how loaded each server actually is right now, sits next to the floor map instead of behind a different login.

Don't lose a dish, or a dollar, to guesswork

Two more things tend to go quietly wrong in the background of a busy service: a dish runs out mid-ticket, and money moves without a clean record of it.

Ingredient tracking that watches stock in real time can flag a dish before it runs out, rather than the kitchen finding out by trying to fire it and failing. That's the difference between 86'ing a dish on your terms, ahead of time, and apologising to a table that already ordered it. On the payments side, every open bill, payment method and void gets logged automatically as it happens, instead of being reconstructed from till tape at close. Roll both of those up, along with revenue and dish performance, and you get one report instead of the four separate ones a manager used to stitch together by hand.

Manual

Reservations & walk-ins
Kept on paper or by memory, whoever's on the host stand that night is the source of truth.
Kitchen & floor
Paper tickets and table status are two separate records that only get reconciled when something's already wrong.
Guest messages
Pile up across WhatsApp and Instagram, answered whenever someone on the floor notices.
Ingredient stockouts
Discovered when the kitchen tries to fire a dish and can't.
End-of-night picture
Reconstructed the next morning from whoever remembered to write it down.

Automated

Reservations & walk-ins
One live floor map, host and kitchen looking at the same table status in real time.
Kitchen & floor
Kitchen display grouped by ticket status, timed to target, synced to the same floor map the host is watching.
Guest messages
Flow drafts a reply across every channel the moment the message comes in.
Ingredient stockouts
Flagged before the dish gets 86'd, so it's a decision, not a scramble.
End-of-night picture
Revenue, incidents and staffing visible in real time, and a shift report generated automatically at close.

The manager's night, after

Instead of being the person who holds the reservation book, the kitchen's status, the guest inbox and the till total in their head simultaneously, the manager watches one dashboard: what's booked, what's on the floor right now, what's been flagged, what's been said to a guest and by whom. The system is doing the reconciling that used to happen in someone's memory at 1am.

That doesn't remove the manager from the floor, it removes the part of the job that was never really management, just manual data entry between systems that should have been talking to each other in the first place.

This playbook is restaurant-specific, but the underlying shape isn't: meet the customer on whatever channel they're already using, keep every part of the operation reading off the same live state, and put the whole night on one screen instead of five. We build that shape differently for every industry we work in.

We built exactly this for a working restaurant, see the system screen by screen, or read how a build runs from discovery to handover.

Want a system like the ones we write about?