Platforms & products
Multi-tenant booking and payments platform
We built and we run the software that takes a rental from the first click all the way to a paid booking, for a company with several locations.
A booking and payments platform that runs a multi-location rental business end to end: real-time availability, live card payments, a phone-answering voice agent, an embeddable booking widget, and a documented public API. It is the platform the operator's own customer storefront now runs on.
- Next.js 16
- Supabase / Postgres
- Row-level security
- Stripe (live)
- Twilio
- ElevenLabs
- TypeScript
The operator ran bookings across several locations on a patchwork of disconnected tools. Pricing logic, deposits, customer records, and availability each lived somewhere different, and nothing could carry a reservation from first inquiry through paid balance without a person stitching the steps together by hand. They needed one platform that could hold inventory, price a booking correctly, collect a deposit, charge the balance, and keep every location's data strictly separate from every other location. We designed and built that platform from the ground up, and we operate it in production today.
Every location's bookings, customers, and payments had to stay invisible to every other location, enforced in the database rather than trusted to application code.
Money handling left no margin for error. Deposits, balance charges, refunds, and tax all had to be calculated on the server so staff could never override a total by mistake.
Renters could never see the platform underneath. The booking and self-service experience had to feel native to each location's own website.
The business runs around the clock, so time-sensitive actions like inventory holds, deposit releases, reminders, and late fees had to fire automatically.
It had to ship in stages without ever interrupting live revenue, because real bookings flowed through it the entire build.
Designed a multi-tenant data model on Postgres with tenant isolation enforced through row-level security, hardened across 82 sequential migrations. A dedicated security review caught a cross-tenant access regression, and we closed it before it reached production.
Built server-authoritative pricing and a live Stripe payment flow covering deposits, off-session balance charges, refunds, and tax, with role-based permissions and an audit trail around every manual override.
Shipped a tokenized customer portal and an embeddable booking widget, so renters complete the whole flow on each location's own site without ever touching the platform directly.
Put a voice agent into production on ElevenLabs and Twilio and routed all email and SMS through one notification layer, so inbound calls and customer messaging run without manual dispatch.
Built an in-product training academy of 16 tracks and 34 lessons, plus fifteen scheduled jobs covering inventory holds, deposit releases, reminders, late fees, and abandoned-booking recovery, and exposed a documented public API for downstream integrations.
Outcomes
The platform processes real card payments today. Deposits, balance charges, refunds, and tax are all calculated on the server, so a total can never be changed by accident at the counter.
Tenant isolation lives at the Postgres layer through row-level security, hardened across 82 sequential migrations and validated by a security review that caught and closed a cross-tenant gap.
Delivered across five product milestones and roughly 120 defined requirements while live bookings kept flowing, with no interruption to revenue.
