Scheduling constraints are rules that prevent the scheduler from assigning games in ways that would be unfair or impractical. Used correctly, they produce a schedule that is both competitive and humane. Set too aggressively, they conflict with each other and silently drop games — leaving you with an incomplete schedule and no obvious explanation of why.
This guide explains each common constraint, what it does, and how to detect when your constraints are working against you.
Minimum rest days
This constraint sets the minimum number of days that must pass between two games for the same team. A setting of 1 means a team can play on Monday and Tuesday but not Monday and Monday. A setting of 2 means a team that plays Monday cannot play again until Wednesday.
When to use it
- Contact sports (ice hockey, football, rugby): 2–3 days minimum is standard to allow physical recovery.
- Non-contact sports (basketball, volleyball): 1 day is typically fine; competitive leagues often go up to 2.
- Recreational leagues: 1 day is usually sufficient, but match what your players can realistically manage.
When it breaks things
If your minimum rest days is equal to or greater than the gap between your available play days, teams can only play every other available slot — effectively halving your scheduling capacity. For example: a league that only plays on Tuesdays and Thursdays (2 days apart) with a minimum rest of 2 days will work. But set minimum rest to 3 days and a team that plays Tuesday must wait until Saturday — which is not a play day. That team can only play Thursdays, cutting your game count in half.
A good scheduler will warn you when this situation arises. Check for those warnings before generating.
Maximum games per week per team
This caps how many times a team can play in any given calendar week (Monday–Sunday). Common values:
- 1 game/week: Standard for recreational leagues. Predictable for players; easy to communicate.
- 2 games/week: Common in competitive leagues or when the season window is short and you need to fit more games in.
- 3+ games/week: Appropriate for tournament weekends or end-of-season catchup rounds only.
Interaction with minimum rest days
These two constraints can conflict. If minimum rest is 6 days (essentially one game per week) but max games per week is set to 2, the max-games setting is moot — the rest requirement already prevents a second game in the same week. Set both to values that are mutually achievable.
Team blackout dates
Individual teams can block specific calendar dates when they are unavailable to play. These are dates when the team's players have commitments — a holiday tournament, a religious observance, a team trip — that take priority over the league schedule.
Collect them early
The biggest operational mistake with team blackouts is collecting them after generating the first schedule. If a team submits their blackout dates after you have already assigned their games, you will need to regenerate and potentially cascade rescheduling across the whole calendar. Send a blackout date collection form to all team captains before you begin scheduling.