Open source · self-hostable · no hassle

THE COURT IS
FREE.

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.

0double bookings
30″to go live
MITopen source
Court 1 · today · 60′ slotslive
What makes it different

Built for people who play for real

The hard parts of a booking system, solved at the root.

01 / shadowing

No hidden conflicts

Book half a hall? The whole court disappears. It's database physics, not a check you can forget.

02 / grid

Zero dead gaps

60/90/120′ slots on a 30′ grid, with anti-fragmentation rules: no unsellable half-hours.

03 / classes

Classes & recurrence

Capacity classes with an instructor, auto-generated every week, skipping closures on their own.

04 / api

API + tokens, not scraping

OpenAPI ready. Any system books with a Bearer token. Spec → generated client.

Machine to machine

Book
with a token

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" }
Open · MIT · self-hostable

Give your venue
a system

An account, a few courts, and you're online. Your branded public page is ready.