The whole scheduling job, in order
Import, generate, audit, export. Each step hands the next one something it can actually use.
Build a slate that matches the courts you have
Import
Start from the files you already have
Bring in teams, divisions, coach conflicts, and court availability from HTG, TazForm, or a spreadsheet — setup is a review step, not a retyping step.
Full details →HTG team CSV and Excel
Upload the export you already run. TazSchedule reads team name, division, coach, conflict dates, linked teams, and venue priorities without a custom mapping step.
TazForm and registration exports
Bring a roster from TazForm or another registration file. Division age mapping keeps 14U in one file aligned with 14U in another.
Venue season grids
Upload a session court workbook — venues across the top, date rows as time windows — and it expands into on-the-hour field slots, including split days and mid-day closures.
Leagues
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.
Full details →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.
Tournaments
USYF formats plotted onto the courts you uploaded
Tournament divisions use Championship Series formats by team count, pack pool play first, then seat knockouts championship-first — with scores, standings, and advancement on the same competition.
Full details →USYF Championship Series formats
Formats are chosen per division by team count (4–20, including 10A/10B). Multiple divisions in one tournament can each use a different format.
Pool then knockout packing
Pool round-robin uses USYF points and tiebreakers. Championship rounds are seated first and work backwards. Day-1 stays pool-only on a two-day inventory; finals land on the last day.
Paired semis and Sunday rest
Both semifinals in a division share the same kickoff on different courts. Sunday never stacks back-to-back championship games — each team and each round leaves at least one empty hour.
Conflicts
Name the match, then propose the swap
Catch double-booked coaches, impossible turnarounds, and court-hour mistakes before anyone travels — then Fill remaining, Hail Mary, or drag a leftover onto an open court.
Full details →Named conflict audit
The audit lists the match causing each problem — coach overlap, overlapping kickoffs, court-hour violations, mid-day closures — instead of a wall of warnings.
Fill remaining and Hail Mary
Fill remaining places leftovers into open slots and can one-hop a scheduled game to free a needed court. Hail Mary goes further with two-step move chains and same-division opponent swaps.
Drag-and-drop court grid
Unscheduled pairings stay on the Schedule tab. Drag them onto Available cells, or move and swap matches already on the grid.
Venues
The courts as they actually are that weekend
Model split days, partial closures, and venue priorities — then append newly available court time without wiping the slate you already built.
Full details →Season grid or simple slot list
Upload a session workbook with venues across the top and date rows as time windows, or a simple slot list when that is all you have.
Mid-day closures and split days
Availability is per block, not per day. A gym that closes at noon on Sunday is modeled as it actually is, and the conflict audit enforces it.
Venue priorities from HTG
Priority columns (1 = best, 0 = never) prefer home courts first. Venue lock keeps a team on the courts you promised.
Export, publish, and keep a backup
Export
Hand the slate to HTG, Exposure, or a printer
When the slate is clean, export the same weekend to the platforms you already use — or download a printable PDF, spreadsheet, and conflict-audit PDF.
Full details →HTG CSV and Excel
Download DIVISION, DATE, TIME, FIELDNAME, TEAM1, TEAM2 in the layout HTG expects, including USYF terminology for unfilled knockout sides.
Exposure game-import CSV
Export a game-import file for Exposure when that is how the event is published to families.
Printable schedule PDFs
Court grids and per-team schedules as PDFs for the front desk, coaches, and whoever still wants paper.
Public schedule
One link for the whole event
Share a live webpage parents and coaches can open — divisions, games, scores, and standings — no account required.
Full details →Shareable event homepage
Each competition gets a public page listing every division. Copy the link; parents do not need a login.
Per-division pages
Pools, game lists, scores, and standings on a division URL, for both league weeks and tournament brackets.
Live score updates
Update a score in TazSchedule and the public page refreshes on its own. You do not republish by hand.
Backup
Try the aggressive regenerate — you can always come back
A competition can be exported whole and restored whole, so an experiment is never a risk and locks survive the next generate.
Full details →Full competition backup
Download the competition to a single file — teams, courts, locks, and the current slate.
Restore to compare approaches
Restore into a new competition to compare two structures side by side before you pick one to publish.
Locks survive regeneration
Confirmed matches stay put across Generate, Fill remaining, and Hail Mary when you have locked them.