Schedule Generation
Last updated July 2026
Before you generate a schedule
Schedule generation has a dependency chain. All of these must be complete before the auto-generate button will produce a valid schedule:
- Venues added with a physical address
- Fields created under each venue
- Field hours set — without hours, the scheduler has no time boundaries and cannot assign games
- Divisions created with game length set
- Fields assigned to divisions — each division needs at least one field assigned
Common issue: If schedule generation produces no games or fails, the most frequent cause is missing field hours or no fields assigned to a division.
Setting field hours
Go to Venues → select a venue → expand a field → Set Availability. Set the days and hours that field is available. You can set default hours for all fields in a venue at once using the Default Hours shortcut at the top of the venue card.
Auto-generating a schedule
Once all dependencies are met, go to Schedule → Auto-Generate. The scheduler will:
- Distribute games evenly across available fields
- Respect the game guarantee per division
- Apply the buffer time between games on each field
- Stay within the field availability windows you set
Buffer between games
The buffer is a per-division setting, not a tournament-wide or per-field one. Go to Divisions, edit the division, and set Buffer Between Games (min). This is the minimum gap the scheduler enforces between any team's consecutive games in that division, and it also spaces out back-to-back games on the same field. It always operates within a field's configured availability hours — the scheduler never books outside a field's open/close window regardless of buffer. The tournament-level Settings page still has a Default Buffer Between Games (min)field, but it only pre-fills the buffer value for newly created divisions — it does not affect scheduling for existing divisions.
Team blackout windows and opponent rules
If a team is unavailable during certain times (traveling late, outside commitment, or weather), you can block them from being scheduled during those windows. You can also control which opponents a team can (or must) play against — useful for competitive balance when multiple teams are from the same club, or to ensure certain matchups happen.
Both settings live in the same place, accessible via Scheduling Rules on the Schedule page. The modal has two tabs:
- Blackout Windows:Add the date and time range when the team cannot play, and optionally include a reason (e.g. “Traveling from regionals”). The scheduler will never assign a game to that team during a blacked-out window.
- Opponent Rules:
- Avoid:Select opponents this team must never play. If Team A avoids Team B, the rule is automatically mutual — Team B cannot play Team A either, even if you only set the rule on Team A.
- Must Play:Guarantees the scheduler generates this matchup. It does not restrict the team to only that opponent — the team still fills the rest of its pool-play games normally.
Scheduling rules
For finer-grained control than blackout windows and opponent rules provide, you can set division-scoped scheduling rules from the same Scheduling Rules entry point (also reachable via Manage Ruleson the Auto-Generate wizard's Configure step). There are three rule types:
- Max games per team on a day: A hard cap on how many games a specific team (or every team, if left unspecified) may play on a given date. This is day-scoped and tighter than the flat tournament-wide max-games-per-day setting. The scheduler will never violate this rule.
- Min games per field on a day (goal): A best-effort target for how many games a specific field (or every field assigned to the division, if unspecified) should have on a given date. The scheduler biases placement toward this goal but does not guarantee it.
- Extra game assignment (goal):Names a team that should receive the extra/odd-team-out game when the division's team count doesn't divide evenly. Also best-effort.
Hard vs. best-effort:Only the max-games-per-team-on-a-day rule is a hard guarantee — the scheduler will never violate it. The two goal-type rules are best-effort: the scheduler biases toward them but doesn't guarantee them, and any shortfall shows up as a non-blocking note in Check Schedule rather than a failure.
Pool play day packing
On the Configure step of the Auto-Generate wizard, choose how pool play uses the tournament's available days: Spread across days (default — distributes games evenly across every available day) or Minimize days used(fills the day closest to the bracket day first, using as few days as possible). This only affects pool play — bracket games always run on the final day.
Editing after generation
After generation, you can:
- Drag and drop games to different time slots or fields
- Click a game to edit the time manually
- Delete individual games and add them back
- Lock games to fix a team, field, or time slot. Click the lock icon on a game card to prevent it from changing during a schedule revision.
Revising an existing schedule
After you've generated a schedule, you can make changes and regenerate only the unlocked games. This is helpful if you need to add more games, fix conflicts, or accommodate late changes without starting from scratch.
Go to Schedule and click Revise Schedule (appears once games exist). The scheduler will regenerate only unlocked games while treating locked games as fixed obstacles that cannot move. Every revision is recorded in an audit log for reference.
Checking your schedule for conflicts
Before publishing, you can run a validity check to catch common problems in one pass.
Go to Schedule and click Check Schedule. The checker will verify:
- Each team has the correct number of pool-play games
- No team is scheduled for back-to-back games with no gap between them
- No game is scheduled during a team's blackout window
- All scheduled matchups respect team opponent avoid rules
- No team exceeds a day-scoped max-games-per-team Scheduling Rule
- Whether any Scheduling Rule goals (min games per field per day, extra-game-team assignment) came up short — shown as non-blocking notes rather than failures
Results are shown in a summary with pass/fail badges for each check. Any issues found are listed in plain language so you can locate and fix them quickly.
Weather delay
When weather forces field closures or shortened play, use the Weather Delay button on the Schedule page to close fields and reschedule games around the disruption, one division at a time. The wizard has four steps:
- Division: choose which division to reschedule
- Configure: select one or more affected dates (multiple days are supported), and for each date independently mark fields closed or narrow their open/close hours. You can also optionally shorten game length or reduce games-per-team for the event.
- Compare:review 2–3 system-generated reschedule options, each showing which games get repositioned and which get dropped
- Confirm: commit the chosen option per division
Games that fit under the chosen option are repositioned to a new time/field and remain in play. Games that don't fit anywhere under the chosen option are marked cancelled and excluded from standings.
Notifications:Committing a reschedule option automatically sends push notifications — a schedule update to both teams of every repositioned game, and a cancellation notice to both teams of every dropped game.
Postpone/cancel games
For quickly marking a handful of games without running the full Weather Delay wizard, use Postpone/Cancel Games on the Schedule page. Select any combination of scheduled or in-progress games and choose a status:
- Postponed:The game didn't happen as planned and will be rescheduled later. It still counts toward games-per-team until a Weather Delay run repositions or drops it.
- Cancelled:The game will not be played. It's excluded from standings and game counts entirely.
You can customize the push notification message sent for each status, or use the default wording. Notifications are sent to both teams of every affected game.
Publishing the schedule
When you're satisfied, click Publish Schedule. This makes the schedule visible to coaches, parents, and fans on the public tournament page and sends push notifications to followers.