All workCase study Product · Web

Tablebook

Booking system for a boutique group

A booking engine for a boutique hospitality group that turns a fiddly reservation into a two-tap yes.

TablebookRuns live
Screenshot of Tablebook on a desktop

A sample brief, a real product. We wrote this brief ourselves to show how we work; the client and their story are illustrative. The product is not: it was designed and engineered here, and you can use it below. We publish results only for work a client has let us verify, so this page shows none.

Tablebook live demoReady
The real front end, in your browser. Sample data. Nothing is saved.Open in a new tab (opens Tablebook full screen)
Screenshot of Tablebook on a desktop
1

The brief

Tablebook runs a handful of much-loved venues on a booking flow guests quietly hated. We rebuilt it into something as considered as the rooms.

2

The problem

Availability across venues is genuinely complex; the interface had to hide that complexity while never lying about it.

  • Real-time availability across venues
  • A flow that never dead-ends
  • Clear pricing with zero surprises
  • An admin the front desk enjoys
3

The approach

We modelled the messy availability rules first, then wrapped them in a flow that only ever asks the next necessary question.

  • A booking core that respects real rules
  • Progressive disclosure, one decision at a time
  • An honest, itemised price at every step
  • A calm admin for the people who live in it
4

What shipped

  • Party-size-aware calendar
  • Slots with seat counts
  • Deposits
  • WhatsApp confirmation
  • Manage and cancel
  • Availability heatmap
  • Host side: service list, floor plan, guest book, waitlist
  • Reports and venue policies
5

Under the surface

How it is built

SvelteKit server routes talk to a Prisma/PostgreSQL core that models rooms, tables and terraces as one availability graph; Twilio confirms by SMS/WhatsApp, Stripe holds deposits, Fly.io keeps it close to guests.

  • Availability solved as interval trees, not cron checks
  • Double-booking impossible: serialisable transactions
  • Twilio WhatsApp confirmations with magic-link manage
  • Deposit auth/capture flows via Stripe

Considered and turned down

Cal.com self-hosted got close — bespoke inventory rules for shared spaces tipped it to custom.

Stack

SvelteKitNode.jsPrismaPostgreSQLTwilioStripeFly.io
6

The mechanism, working

The part of Tablebook that was hardest to get right, as a small model you can operate.

lab/intervalsOpen in the Lab

Interval-tree availability

Rooms, tables and terraces are one availability graph. Double-booking is impossible, not just unlikely.

Start here

What are you building?

Pick one and we hand you the closest thing we have already built. Or go straight to the brief: a person replies within one working day, with an honest view on scope, time and cost.

Start a project
studio@yakooha.com+91 81042 13809Mumbai10:00 to 19:00 IST, Monday to Friday
What are you building?