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.
- Year2025
- Runs onWeb
- DisciplineSaaS Applications

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.
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.
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
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
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
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
The mechanism, working
The part of Tablebook that was hardest to get right, as a small model you can operate.
Interval-tree availability
Rooms, tables and terraces are one availability graph. Double-booking is impossible, not just unlikely.
