I built the booking system for Bali Racquet Society (BRS), an indoor tennis and padel club here in Bali. It's the thing members open before they show up. Pick a court, pick a time, done. Nothing fancy. But it had to be right, because a wrong booking means someone drives out to the club and finds their court already taken.
Website: baliracquet.com
Members log in, check what's open, and book a court. That's the whole job. Admins run the place from a dashboard, courts, schedules, the works. There's a public side too, for people still deciding whether to join.
I didn't try to make this feel like a big SaaS product. A racquet club doesn't need that. It needs the calendar to be honest.
Booking a court starts simple: pick a court, pick a time, confirm. The part that matters most happens right after you hit confirm, where the system locks the slot, checks it's genuinely free, and only then commits the booking. If someone else got there half a second earlier, you find out immediately. Not after you've already told your padel partner 7pm is locked in.
After building the booking core, the admin dashboard, and the payment flow that ties it all together, Bali Racquet Society is live and handling real court bookings for real members. Watching a system designed around a single database lock actually hold up under real people, at real times, booking real courts. That's the part that's hard to explain until you've felt a booking system almost fail you before, and then built one that doesn't.
If you're in Bali and want to book an indoor tennis or padel court without wondering whether the slot is actually yours, that's what BRS is for.
Book A Court