Court rentals, open gym, and league blocks on one calendar.
Private rentals, scheduled open gym, and league nights all draw from the same court inventory — so the front desk is reading one grid instead of a printed schedule taped next to a booking app.
Sound familiar?
- Open gym on a printed schedule, private rentals in an app, league blocks in a third place
- Peak weeknight hours gone in minutes, with no read on who is taking them
- Membership status and prepaid balances kept somewhere the booking system can’t see
- Concessions and court time rung up on separate registers
One system, six modules, one ledger.
Rentals and open gym on one court inventory
Peak and off-peak pricing set per court, session length configured per space, maintenance holds while a floor is down — and a Postgres constraint that makes double-booking a court structurally impossible.
One answer at the desk and in the app
Membership status, plan, and prepaid balance live on one member record with a card on file, so what someone is entitled to is the same number wherever it’s read. Renewals run through Stripe and failed cards get chased by dunning.
Leagues, camps, and skills sessions with real rosters
Leagues, youth camps, and skills sessions run as programs with capacity limits, levels, and waitlists that promote the next player automatically instead of sitting there.
Concessions and court time on one ledger
Drinks, gear, and rentals charge to the same account as court time — one revenue number, broken out by court or category when you need it.
Move players into the empty daytime hours
Describe the send, the AI drafts it in your facility’s voice and segments by who books and how often — you approve before it ships.
The peak-hour crunch, quantified
Three ranked moves every morning with dollar estimates attached — which hours are oversubscribed, which sit empty, which members stopped showing up.
Questions worth asking
Can we rent half-courts as well as full courts?+
Each bookable space is configured independently, so a half-court can be set up as its own space with its own pricing and session length. What Courtlines does not do today is model one physical court as two overlapping halves — if you sell both, they are separate spaces on the grid.
Can open gym and private rentals live on the same calendar?+
Yes — open gym runs as a program with its own capacity while private rentals book the court outright, and both draw from the same court inventory so they cannot collide.
Can we see who is taking all the peak hours?+
Booking rules are configured per space and per time window, and the AI advisor surfaces the members taking a disproportionate share of peak time so you can act on it deliberately instead of guessing.
Do you handle waivers?+
Yes — digital waivers are collected at signup, and staff can see who still has an unsigned waiver before someone steps on the floor.
Can you import our existing member list?+
Yes — a CSV import wizard maps your export’s columns to member records and validates every row before anything commits.
See it on your basketball facilities' own schedule.
A 20-minute walkthrough, tailored to your facility’s size and how you actually run it.