| teams | No | The teams, 3 to 24: ["Lions","Tigers","Bears","Wolves"] or objects with a home venue [{"name":"Lions","venue":"Riverside Park"}]. Names must be different. Convert a pasted list into this array. | |
| title | No | Optional league name printed on the schedule, e.g. "Spring U10 League". | |
| format | No | "single" (default): every pair plays once. "double": every pair plays twice, home and away (the second half repeats the pairings with home and away swapped). | |
| venues | No | Optional shared venues used by all teams, e.g. ["Field 1","Field 2"]. With time_slots, each round fills venue x time slots. Leave empty to use each team's home venue. | |
| end_date | No | Optional last allowed date, e.g. "2027-05-31". If the rounds do not fit, the tool says how many dates are missing and what to change. | |
| timezone | No | Optional IANA time zone for the calendar files, e.g. "America/Chicago". Without it, times are local clock times. | |
| page_size | No | "Letter" (default) or "A4". | |
| play_days | No | Weekday(s) with games, e.g. ["Saturday"] or ["Tuesday","Thursday"] (one round on each play date). Default: the weekday of start_date. | |
| date_order | No | Optional order for dates like 03/04/2027: "mdy" (US, default) or "dmy". | |
| start_date | No | Date of the first round, e.g. "2027-01-09". Required. | |
| teams_text | No | Fallback only: team names pasted as text, one per line or comma separated. Prefer teams. | |
| time_slots | No | Optional kickoff times on a play date, e.g. ["09:00","10:30","12:00"]. Slots rotate between rounds so no team always plays first. | |
| every_weeks | No | 1 (default) for every week, 2 for every other week, up to 4. | |
| game_minutes | No | Length of a game in the calendar files, 10 to 600 minutes. Default 90. | |
| kickoff_time | No | Optional single kickoff time for every game, e.g. "19:00" or "7pm". Ignored when time_slots is given. | |
| blackout_dates | No | Dates with no games (holidays, school breaks): ["2027-02-13", "2027-04-03 to 2027-04-10"] or [{"from":"2026-12-20","to":"2027-01-03","reason":"Winter break"}]. Rounds move to the next play date. | |