Fair weekend slates, not a spreadsheet of exceptions
League scheduling fills Saturday and Sunday on-the-hour blocks against games-per-team, rematch limits, coach conflicts, venue priorities, and youth hours — then you can lock what is already right.
What you get
Weekend on-the-hour blocks
Games land on Saturdays and Sundays in on-the-hour time blocks against the courts you actually uploaded, not a generic weekday calendar.
Fairness before density
Placement prefers even game counts, then one game per playable week, then avoids two playable weekends off in a row. Weeks 1–2 are pushed so every team that can play gets an early game.
Rematch and rest rules
Pairs preferably meet at most twice. A third rematch is a last resort and never in three consecutive weeks. A team may play two games the same day, never more than two, with a cap on how far apart those kickoffs sit.
Youth hours and coach conflicts
U12-and-under divisions (including Developmental) only play 9:00 AM–7:00 PM. Coach conflicts are honored first; coach locks and venue locks on the By team view keep those constraints hard.
Competition → Setup → League, then Schedule → Generate
Setup lives in the TazSchedule admin. Public pages and exports update when you save.