The booking backend for sports venues that don't have one. Courts, halls, classes — double-booking made impossible at the database level, with a clean API ready to plug in.
The hard parts of a booking system, solved at the root.
Book half a hall? The whole court disappears. It's database physics, not a check you can forget.
60/90/120′ slots on a 30′ grid, with anti-fragmentation rules: no unsellable half-hours.
Capacity classes with an instructor, auto-generated every week, skipping closures on their own.
OpenAPI ready. Any system books with a Bearer token. Spec → generated client.
Generate a token from the dashboard, and your system books via API. Availability, hold, confirm — the same states you already know.
Open the API docs →# hold a slot, then confirm curl -X POST /holds/exclusive \ -H "Authorization: Bearer bk_…" \ -d '{"resourceId":"…","from":"18:00","to":"19:00"}' # → 201 { "status": "pending" } curl -X POST /bookings/…/confirm # → 200 { "status": "booked" }
An account, a few courts, and you're online. Your branded public page is ready.