Priority 3 Β· Recreational Sports Coordination

Reliable Rosters for Weekly Games. Zero Last-Minute Scramble.

Stop managing court bookings in chaotic group chats. CourtCrew enforces strict capacity limits, automated FIFO waitlists, and time-expiring seat offersβ€”keeping your games full without organizer headaches.

100% Full
Automated Waitlist Backfilling on Dropouts
0 Over-book
Strict Confirmed + Held ≤ Capacity Invariant
Expiring Offers
Time-Bounded Holds Reclaimed on Timeout
Late Cutoff
2-Hour Cancellation Policy Enforcement

Interactive Roster & Replacement Simulator

See how cancellations automatically dispatch time-expiring seat offers to the waitlist in real-time.

🏸 Thursday Badminton Doubles (Court 3)

Metro Sports Arena Β· 8:00 PM – 10:00 PM

4 / 4 Confirmed (FULL)
SLOT #1
Alex P.
Confirmed
SLOT #2
Maya K.
Confirmed
SLOT #3
David L.
Confirmed
SLOT #4
Sarah T.
Confirmed

Ordered Waitlist Queue (2 waiting)

Strict FIFO Queue
#1 Ken W. (Earliest Waiter)
#2 Chloe S.

Designed for Fair & Reliable Game Allocation

Built strictly on Section 4 and 5 of the CourtCrew specification.

πŸ”’

Strict Capacity Invariant

$Confirmed + ActiveHeldOffers \le Capacity$. The allocator locks session rows atomically so over-capacity errors and double bookings are mathematically impossible.

βš–οΈ

Deterministic FIFO Waitlist

Queue positions are determined by server join timestamps. There are no paid priority tiers or hidden organizer promotions in the MVP.

⏱️

Auto-Expiring Seat Holds

When a player cancels, an expiring reservation offer is sent to waiter #1. If not claimed within the window (e.g. 60m), it automatically cascades to #2.

🚫

Direct Joins Cannot Steal Holds

A stranger clicking "Join" while an offer is active cannot steal the reserved seat. The hold stays strictly reserved for the waitlisted player.

⏳

2-Hour Cancellation Cutoff

Players can cancel freely until the cutoff. Last-minute dropouts inside the cutoff are flagged in the attendance ledger to discourage serial flaking.

πŸ“œ

Append-Only Attendance Ledger

Check-ins and organizer corrections append an immutable history entry rather than silently overwriting, providing transparent records for recurring leagues.

Live Roster Badge Studio

Display real-time SVG badges on your club's website, Discord server, or group description.

Simple Club Organizer Pricing

Free for informal games; affordable subscriptions for weekly recurring clubs.

Free Organizer
$0 / forever

For casual badminton pairs and bi-weekly games.

  • 1 active sports club
  • Up to 12 capacity per game
  • Ordered waitlist automation
  • Expiring seat offers
  • Free player check-ins
Club Pro
$39 / month

For multi-court clubs and community leagues.

  • 10 active clubs
  • Up to 60 capacity per game
  • Slack & Discord webhook feeds
  • Attendance ledger history
  • Organizer substitute manager
League & Facility
$89 / month

For sports complexes, centers, and leagues.

  • 100 active clubs
  • Up to 200 capacity per game
  • SHA-256 attendance audit seals
  • Multi-court schedule exports
  • Dedicated setup concierge

Frequently Asked Questions

Clear details on waitlists, seat offers, and payment boundaries.

Does CourtCrew collect court fees or payments?

No. CourtCrew focuses purely on reliable roster and waitlist allocation. Organizers handle court bookings and payments directly, avoiding payment processing fees and split disputes.

What happens when a waitlisted player receives a seat offer?

The seat is held exclusively for that player with an expiration timer (e.g. 60 minutes). If they don't accept in time, the hold automatically expires and transfers to the next person in line.

Can strangers take a seat while an offer is pending?

No. The invariant $Confirmed + ActiveHeldOffers \le Capacity$ guarantees that direct joins cannot steal an offered seat.

Are players' phone numbers or contact details public?

No. Contact information is never disclosed to other players. Players only see names and queue positions, preserving privacy.