ScheduleMyAthletics — League Generator
SCHEDULE BUILDER · LEAGUE

League Generator

Describe your league in plain English and let the AI fill everything in, or enter it yourself. We check that it’s actually possible, show you exactly what to fix and how, and only then build the full season schedule.

1 Describe or enter your data2 Feasibility check3 Fix anything flagged4 Preview a trial run5 Generate & export
Start with Setup. Describe your league in plain English and the AI will fill every step, or enter it yourself. Problems are flagged as you type with a one-click fix.
✨ NEW · AI

AI Schedule Optimizer

Describe your league the way you’d explain it to a friend. Messy is fine. The AI fills in every step (divisions, teams, fields, hours, rules, blackouts), then the feasibility check rates it and shows what to improve. Nothing is generated or charged until you click Generate.

Helpful details: dates, divisions, team names or counts, practices and games per team, fields and when they’re open, days teams can’t play, shared coaches, holidays or closures. Anything you leave out gets a sensible default, and we list every assumption for you to review. Tip: Ctrl+Enter to submit.
Try an example:

1. League Setup

The season window and the defaults every division and team starts from.

Shown on your dashboard and in the exported file.
A label only. It doesn’t change how scheduling works.
First day a session may be placed. Example: first Monday of the season.
Last day a session may be placed (included).
Start times step by this amount. 15 → 5:00, 5:15, 5:30… Larger steps are faster; smaller steps find more fits.
Used by any division or team that doesn’t set its own.
Used by any division or team that doesn’t set its own.
Written into the CSV so calendar apps show the right local time. Examples: America/New_York, America/Denver, America/Los_Angeles.
Safety limit on total sessions. The Check step warns you if your requests would go over it.
Balanced: spreads opponents as evenly as possible, whoever still needs games. Round-robin: every team plays every other team once before anyone repeats an opponent.
Pricing: $40 × 0 teams = $0
The price is $40 for each active team in your league, so the total updates as you add or switch off teams. You can build, check and preview your league before paying; payment is handled separately from schedule generation.

2. Divisions

One row per age group or skill level. Teams only play games against teams in their own division.

DivisionPractice DurationGame DurationPractice Buffer?Practice Buffer MinGame Buffer?Game Buffer Min
What does each column mean?
Division
The group name. Example: 12U, 14U, Majors.
Practice / Game Duration
How many minutes a session takes by default for teams in this division. Example: practice 60, game 90.
Practice / Game Buffer
Extra minutes the field is held after a session for changeover or warm-up. Switch it on and enter minutes. Example: 15 → a 5:00–6:30 game blocks the field until 6:45.

3. Teams

Each team has its own requests, day and time rules, weekly limits and allowed fields. Open a team to edit it; every option explains itself.

4. Fields & Availability

A session can only be placed when a field is active, allows that type of session, is open at that day and time, and is ticked in the team’s Allowed Fields.

Fields

ActiveField NameLocation / AddressNotesPractice AllowedGame Allowed
What does each column mean?
Active
Untick to take a field out of use without deleting it (for example, closed for renovation).
Field Name
Must be unique. Example: Briar Patch P1.
Location / Address
Printed in the CSV venue column so families can find it. Example: 100 Park Rd, Springfield.
Notes
For you only. Example: “lights off at 9”.
Practice / Game Allowed
Some fields suit only one type. A small practice pitch might allow practices but not games.

When each field is open

Quick add: pick a field, tick the days, set the hours and click Add hours. Example: Field 1 · Mon–Fri · 5:00 PM–9:00 PM. You can edit individual rows below.
FieldDayAvailableOpenClose
What does each column mean?
Day / Open / Close
The weekday and the hours a field can be used on that weekday, every week of the season. A field can have several rows on one day (a morning and an evening block).
Available
Set to No to keep the row but ignore it.

5. Blackouts

Dates or times when nothing may be scheduled: holidays, tournaments, field maintenance, team trips.

ActiveScopeDateStartEndFieldTeamReason
What does each column mean?
Scope
League blocks every field and team. Field blocks one field only (maintenance). Team blocks one team only (a trip). Pick the field or team in the matching column.
Date / Start / End
Leave Start and End empty to block the whole day. Example: 2027-05-31 with no times for Memorial Day.
Reason
For your reference.

6. Check & Fix

Before any schedule is built we test your data for impossible or contradictory settings. Fix each item here, right in place, then run a trial placement to preview what will and won’t fit.

Feasibility check

Updates instantly as you make changes.

Trial placement (preview)

Runs the real scheduler without saving anything and shows what could not be placed, why, and how to fix it.

No trial run yet. Click Run trial placement to preview coverage.

Pricing & payment

What you pay and when.

Price per team$40
Active teams0
League total$0

Only active teams are counted. Checking, fixing and previewing never cost anything; payment is handled separately from schedule generation.

7. Schedule

8. Audit

Saved League Schedules

Schedules you saved to your dashboard. Load one to review or export it again.

Loading saved schedules…