For basketball leagues and clubs

Basketball league scheduling software built around gym time

Most basketball schedules break on gym hours, not matchups. Play 2 Earn Sports lets a league organizer enter every court with its permit hours, block out holidays and closures, and generate a round robin that fits. Conflicts are flagged, and when a game moves, both teams and the referee are told.

Get the app on iPhone Get the app on Android

Free for up to 10 teams. Players join free. See plans and limits.

  • Gyms and courts
  • Divisions
  • Referees
Two youth athletes ready for the season
  • Basketball
  • Hockey
  • Football
  • Baseball
  • Volleyball
  • Tennis
  • Track
  • Swimming
  • Golf
  • Martial Arts
  • Fitness
  • Lacrosse
  • Rugby
  • Cheer
  • Wrestling
  • Skating
  • Gymnastics
  • And More

Why basketball is different

A basketball schedule is a gym-time budget

Before you think about matchups, count the hours you actually hold on a court. Everything else follows from that number.

Few community basketball leagues own a gym. Court time is rented or borrowed from a school board's community-use program, a city recreation department, a church hall or a private facility, and each booking has its own rules: when the doors open, when the building must be empty and which events bump you. Twelve teams and plenty of volunteers don't help if you hold six hours of court time a week.

So basketball scheduling is a capacity problem first. Turn your permits into court-slots (one game, one court, one time window), subtract holidays and closures, and compare the total with the games your format needs. If the numbers don't work, no software fixes that: you need another gym, a longer permit, shorter slots or fewer games.

Indoor leagues rarely lose games to rain, but they lose whole buildings: a snow day, an exam or assembly in the gym, a floor being refinished. Every game in the building moves at once, so a good basketball schedule keeps a few court-slots in reserve instead of packing every minute.

The real constraints

Eight things that shape a basketball season

These details decide whether a draft survives its first Saturday. Collect them before you generate anything.

  • Permits and community-use bookings

    School gyms usually come through the school board's community-use or rental process, city gyms through the recreation office. Permits name specific days and hours, often for a term, and school activities come first. Schedule against the hours on the permit, not the hours you asked for.

  • Curfews and custodial hours

    The building closes at a fixed time and someone has to lock up after you. Work the latest start time back from the curfew, leaving room for an extra period and clearing the floor, and give the youngest divisions the earliest slots.

  • One floor, two layouts

    Many gyms run one full court or two cross courts on the same floor, often split by a curtain. USA Basketball's youth guidelines describe the game for ages 7–8 as a cross-court game on a full-size court. The floor is two small courts or one big one, never both.

  • Hoop height by division

    The NBA and USA Basketball recommend an 8-foot basket for ages 7–8 and a 9-foot basket for ages 9–11 when possible, and accept that not every gym can adjust its baskets. Group the divisions that need lowered hoops at the gym that has adjustable ones.

  • Game clock versus slot length

    The same guidelines recommend four 8-minute periods for ages 7–11, with the clock stopping on every dead ball, so a game runs far longer than its listed minutes. Build each slot from warm-up, the game, breaks, a possible extra period and the changeover.

  • Referees and the table crew

    Every game needs referees and someone at the table for the score and the clock. Officials prefer a block of back-to-back games at one site to driving between gyms, so keep each site's games together, and decide early who staffs the table.

  • Winter season and closures

    Basketball seasons often run through winter break, public holidays and exam weeks, and in many regions snow days close schools and their gyms. Enter the closures you know before you generate, and keep spare slots for the rest.

  • Practices share the permit

    If clubs also practise in the gym the league rents, agree the split between games and practices before you build either, or the last team to ask gets the late Friday slot every week.

Worked example

8 teams, 2 courts, Saturday mornings

One division of eight teams wants a single round robin. The league holds a school gym with two courts on Saturdays from 9:00 to 12:00. With 60-minute slots (the game plus warm-up and changeover), each Saturday offers six court-slots.

Eight teams in a single round robin play 28 games over seven rounds, four games a round. One round per Saturday fills four of the six court-slots and leaves two open.

One Saturday in the example (sample team names)
TimeCourt 1Court 2
9:00 Hawks vs Comets Rockets vs Lynx
10:00 Bears vs Storm Owls vs Jets
11:00 Open: makeup slot Open: makeup slot
Every team plays once each Saturday. With seven teams instead of eight, one team has a bye each round: 21 games, still seven rounds, three games a Saturday.

Season math

Does the season fit the gym?

The same example over a whole season. This is the check to do before you generate, because it tells you whether the format fits the gym at all.

Capacity check: 8 teams, 2 courts, three 60-minute slots per Saturday
ItemSingle round robinDouble round robin
Games 28 56
Rounds, one per Saturday 7 14
Court-slots used each Saturday 4 of 6 4 of 6
Open court-slots for makeups 14 28
Saturdays needed with 2 holiday closures 9 16
Games per cycle = teams × (teams − 1) ÷ 2. Open slots only help if both teams and a referee can make them.

If the double round robin doesn't fit before playoffs, the usual fixes are a second gym, a longer permit (9:00 to 1:00 turns six court-slots into eight), shorter slots for younger divisions, or two games per team on some Saturdays. Pick the fix your league can live with before you generate.

A younger division playing cross-court gets more games from the same floor, but only while no full-court division needs it: cross courts early, full court later.

Several divisions, one gym

Scheduling divisions that share courts

In Play 2 Earn Sports each league has one sport, one age group and one division, and each generated schedule covers one division. That suits basketball, where U10 and U14 rarely share a slot length or a hoop height. Generate the most constrained division first, usually the youngest.

Because a court can't be double-booked, the next division's games go into the court time that's still open. If one floor switches between a full court and two cross courts, enter all three as separate courts with hours that don't overlap (cross courts 9:00 to 11:00, full court 11:00 to 2:00). Generated games are only placed inside a court's hours, so the two layouts can't collide.

Teams can submit weekly availability windows, such as Saturday mornings only, and the generator keeps their games inside them. Player availability feeds the player's own calendar, not the league generator, so collect constraints from coaches at team level.

How Play 2 Earn handles it

From gym permit to published schedule

There's no separate basketball engine, and you don't need one: the gym, courts, closures and availability you've just collected map straight onto the sports scheduling software tools every sport on the platform uses.

Saturday · School gym, 2 courts Sample
  • SAT 9:00Hawks vs CometsCourt 1REF ✓
  • SAT 9:00Rockets vs LynxCourt 2REF ✓
  • SAT 10:00Bears vs StormCourt 1REF ✓
  • SAT 10:00 11:00Owls vs JetsCourt 2 · school event, moved to open slotREF ✓
0 double-booked courts Both teams notified

Illustrative schedule with sample teams.

  • Add the gym and its courts

    Add the gym as a venue (gymnasium is one of the venue types) and each court as a field with its hours, a buffer between games and a slot interval.

  • Block out closures

    Record holidays, school breaks, exam weeks and known gym closures as blackout dates. The generator respects them.

  • Collect team availability

    Each team can submit weekly availability windows, such as Saturdays before noon, and its games stay inside them.

  • Run the scheduling wizard

    Set season dates, teams, courts, allowed weekdays and the earliest and latest start times, then choose a single or double round robin. Odd team counts get a bye.

  • Preview, then generate

    The preview shows which teams are eligible and how many games to expect before anything is created. Double-booked courts and teams booked twice are flagged for you to resolve.

  • Staff the games

    League staff assign referees with checks on sport, officiating level and availability, or referees claim open games at their level. Set who pays the referee and track each fee.

  • Publish and keep it stable

    A published or locked schedule isn't regenerated over by accident. Changes after that go out as notices.

When the gym closes

Rescheduling a lost Saturday

Picture the example league on a snow day: four games need new homes. With two open court-slots every Saturday, two fit into next week's spare slots and two into the week after, if both teams and a referee can make them. Teams in a makeup play twice that morning, so check your rules on games per day.

In Play 2 Earn Sports, moving or cancelling a game notifies the people on both teams: players, their linked parents, coaches, club staff and the assigned referee. Notices go out in the app, by email, by push where it's enabled, and as a schedule update in each team's chat. Edits made within two minutes are bundled into one notice, and a change less than three hours before tip-off goes out at once.

People can turn these notices off and push depends on the device, so for a same-day closure a message from each coach is still worth sending. Moved practices and club events go through the same notices.

Tournament days

Multi-court tournament days

A tournament packs weeks of court time into a weekend. The first check is the same as for a league: how many games, and how many court-slots you hold.

Minimum one-hour time slots for a single-elimination bracket
TeamsGamesRoundsSlots on 2 courtsSlots on 4 courts
8 7 3 4 3
16 15 4 8 5
32 31 5 16 9
Games = teams − 1. These are minimums: a team that has just played needs a rest slot, so real days run longer. In single elimination half the teams play only once, so some events choose a format where every team plays several games.

Play 2 Earn Sports has a free bracket generator for single-elimination brackets of 4, 8, 16 or 32 teams. A hosted tournament can be a round robin (one group), a knockout bracket (single elimination) or a group stage (two round-robin groups), and it can take teams from other clubs without using your own team allowance. Its scheduler fills court slots using game lengths set by sport, age and division, with setup and cleanup buffers, court availability and clash checks, and keeps every game ending by 10 p.m.

Who does what

Built for the people running the league

Organizers set the season up; everyone else gets the part that affects them.

  • League staff

    Base roles include League manager, Scheduler, Registrar and Referee coordinator, with permission switches for the schedule, fixtures, results and referees. Clubs join by applying or accepting an invitation.

  • Club organizers

    Run teams and rosters, practices and events with RSVPs and reminders, and announcements to members. Arriving mid-season? Import the existing schedule and check the preview before you confirm.

  • Coaches

    Take attendance, set lineups and reach players and parents in team chat, with separate team, coaches and parents channels and youth-safety guards.

  • Results

    The home side enters the score and the away coach or club confirms or disputes it within 48 hours. A disputed result never confirms itself, and league staff can step in.

Basketball scheduling FAQ

Questions organizersask us

Multiply the courts by the time slots that fit in the permit, then subtract holidays and closures. Two courts from 9:00 to 12:00 with 60-minute slots gives six games a Saturday. An 8-team single round robin needs 28 games, so keep a few slots spare for makeups.

Longer than the game clock. USA Basketball's youth guidelines recommend four 8-minute periods for ages 7–11 with the clock stopping on every dead ball, and breaks, timeouts, free throws and a possible extra period all add real time. Add warm-up and changeover, time a few games at each level, and set the slot from what you see.

Move the games into open slots or mark them postponed. Players, linked parents, coaches, club staff and the assigned referee on both teams are told in the app, by email, by push where enabled and in team chat, and a change less than three hours before tip-off goes out at once.

No. League staff assign referees, and each assignment checks sport, officiating level and availability, so a referee who has blocked a Saturday isn't put on its games. Referees can also claim open games that match their sport and level, and accept, decline or hand back an assignment.

You choose per league, per tournament or per game: the league pays, the two teams split it, or the home team pays. Fees are tracked game by game as owed, paid, or not owed when a game is cancelled, for the league, the clubs and the referee.

No app-store download is needed. Play 2 Earn Sports is a web app that runs in the browser and can be added to the phone's home screen, so you can send one link to every family in the league. On iPhone it is Share, then Add to Home Screen; on Android and Chrome the browser offers an install prompt.

Yes. A club can import an existing schedule from a calendar link, an .ics file or a CSV, check the preview and then confirm. Most major platforms publish a calendar link you can paste in, and imports don't flood families with notices when they land.

Starter is free for clubs with up to 10 teams and leagues with up to 10 clubs, and players join free. Larger clubs and leagues move to a paid tier, priced monthly in US dollars; see current plans and pricing for the current tiers and limits before you plan next season.

Running the league?

League scheduling for organizers

If you run the league rather than one club, the league scheduling software page covers the season builder, member clubs, referees and results for organizers.

Put your gym hours to work

Add your courts, block out the holidays and preview your first division before you commit to anything.