All work

Tablebook

Table bookings with UPI deposits for a restaurant group

TablebookPreview
Screenshot of Tablebook on a desktop

Tablebook is a sample brief. We imagined a Mumbai restaurant group with a terrace in Bandra, a dining room in Fort and a bar in Lower Parel, a booking flow guests quietly hated, and tables that went empty on Saturday nights. The group is imaginary. The booking system isn't: we designed and engineered it, and you can book, pay a deposit and run the host side in the live build below.

A sample brief, a real product. We wrote this brief ourselves. The business is imaginary; the product is not: we designed and engineered it, and you can use it above. We publish results only for work a client has let us verify, so this page shows none.

01

The brief

We imagined a restaurant group in Mumbai with three much-loved venues, a booking flow guests quietly hated, and large tables that never showed up on a Saturday. Confirmations went out by hand on WhatsApp, and deposits were a conversation nobody wanted to have.

We asked what the booking system should be if it were as considered as the rooms, and built both sides of it: the guest's flow and the host stand.

02

The problem

Availability across venues is complex, and a deposit makes it harder: the table has to stay held while someone switches to a UPI app, and a company booking needs a proper GST invoice. The interface has to hide that complexity without ever lying about it.

  • Availability across venues, always current
  • A flow that never dead-ends
  • Deposits that feel fair and refund cleanly
  • A host side the front desk enjoys
03

The approach

We modelled the availability rules first, then wrapped them in a flow that only asks the next necessary question. Large parties and peak sittings hold a refundable deposit through a Razorpay-style checkout (UPI, cards or netbanking), the table is re-checked after payment, and the confirmation arrives as a WhatsApp Business template. Business bookings get a GST invoice with the deposit adjusted. In the demo the checkout is a sample; no money moves.

What would change for a group like this: fewer empty tables on the busiest nights, and no more chasing deposits or typing confirmations by hand.

  • A booking core built around each venue's rules
  • One decision per step, itemised price throughout
  • Deposits, refunds and no-show charges in one ledger
  • A calm host side for the people who live in it
04

What shipped

  • Party-size-aware calendar with peak slots marked
  • Slots with seat counts
  • Refundable deposits for large parties and peak sittings
  • Razorpay-style checkout: UPI, cards, netbanking
  • WhatsApp Business API confirmation template
  • GST tax invoice for business bookings, with GSTIN check
  • Manage and cancel, with full refund
  • Host side: service list, floor plan, guest book, waitlist
  • Deposit ledger: refunds, bill adjustments, no-show charges
  • Availability heatmap, reports and venue policies
05

Under the surface

How it is built

SvelteKit server routes talk to a Prisma and PostgreSQL core that models rooms, tables and terraces as one availability graph. Razorpay holds and refunds deposits, the WhatsApp Business API sends confirmation templates, and Fly.io runs it from Mumbai, close to guests.

  • Availability solved as interval trees, not cron checks
  • No double-booking: serialisable transactions, re-checked after payment
  • Razorpay orders, captures and refunds, webhook-verified
  • WhatsApp Business API templates with a manage link
  • GST invoices with GSTIN check-digit validation

Considered and turned down

Self-hosted Cal.com got close; bespoke rules for shared spaces and deposits tipped it to custom.

Stack

SvelteKitNode.jsPrismaPostgreSQLRazorpayWhatsApp Business APIFly.io
06

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.

What are you building?

Pick one and we will show 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.

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

Ask an AI about Yakooha

Opens with a question already written. Check us somewhere we don’t control.