Overview
ReadySeat is a multi-tenant reservation platform that lets hospitality venues — restaurants, cafes, bars, lounges, and co-working spaces — publish an interactive floor plan and take bookings for specific tables, booths, and stools. Diners choose the exact seat they want the same way they'd pick a spot at the cinema, while venue teams run the day's reservations and occupancy from a dedicated studio. It operates across three surfaces on per-tenant subdomains: a Tenant Studio for venues, a public booking view for diners, and a Platform Admin app for operators.
The Problem
Conventional reservation tools book a party size and a time slot but leave the actual seating to chance, so guests can't reserve the specific table they want and venues manage double-bookings by hand. ReadySeat replaces that with exact-seat booking backed by real-time locks that guarantee two guests never claim the same spot.
Key Features
- Visual floor plans — venues lay out their space with a drag-and-drop editor, placing tables, booths, and stools that diners can see and select directly.
- Exact-seat booking — diners pick the precise table, booth, or stool they want from the live floor plan, the way they'd choose a seat at the cinema.
- Real-time seat locks — a chosen seat is held for about five minutes at checkout using PostgreSQL row-level locks and Redis, so two guests can never grab the same spot.
- Guest-first checkout — OTP authentication lets diners confirm a booking with a one-time code instead of a forced signup, keeping account creation out of the flow.
- Local and card payments — checkout accepts Indonesian methods including QRIS, GoPay, OVO, Dana, and bank transfer alongside international cards through Midtrans and Stripe.
- Day-of operations — venue staff manage the day's reservations and track occupancy analytics from the Tenant Studio.
How It's Built
ReadySeat is built as a Turborepo monorepo with a React 18 frontend and Prisma as the data layer over PostgreSQL. Concurrency-safe seat holds combine PostgreSQL row-level locks with Redis to enforce short-lived reservations at checkout, ensuring a single seat can't be double-booked. The three surfaces — Tenant Studio, Diner booking view, and Platform Admin — are served on per-tenant subdomains to keep each venue's tenant isolated.
Tech Stack