Building a payments-grade scheduling platform from scratch
A multi-tenant booking and payments product that handles complex availability rules without double-bookings or failed charges.
The challenge
The team needed a booking platform where availability, time zones, team round-robin, and payment capture all had to stay perfectly consistent. A single race condition could double-book a slot or charge a customer for a meeting that never got reserved.
Our approach
We modeled the booking flow as a transactional saga: reserve the slot, authorize payment, then confirm — with automatic rollback at every step. We started with a thin vertical slice (one booking type, one calendar) to prove the model before expanding to teams, recurring events, and multiple payment providers.
What we built
- Multi-tenant Next.js app with per-organization data isolation
- Conflict-free availability engine with time-zone-correct slot math
- Saga-based booking + Stripe payment capture with automatic rollback
- Team round-robin, recurring events, and conditional routing rules
- Enterprise SSO (SAML) and role-based access for organizations
The results
- Eliminated double-bookings entirely under concurrent load
- Sub-40ms availability checks even with complex rule sets
- Reliable payment capture with self-healing on partial failures
- Shipped MVP in weeks, then scaled to teams and enterprise SSO
"They didn't just build screens — they got the hard concurrency and payment logic right, which is exactly where booking products usually break."