Guide

Schedule Builder Guide

A complete walkthrough of the League Schedule and Practice Schedule builders — every step, every setting, and how to share the result.

Which Tool?League SchedulePractice ScheduleViewing & SharingEditingCSV ImportTips & TroubleshootingFAQ
🧭

Which Tool Do I Need?

🗓️ League Schedule Builder

Builds your game schedule — a regular-season round robin or a pool-play tournament — across one or more divisions, with fields, rules, and conflict-free times.

📅 Practice Field Scheduler

Builds practice slots for each team, matching fields to divisions by base-distance eligibility instead of game rules. Can stand alone, or be added to an existing league schedule from its Practice tab.

💡

Both are free to build and share. Signing in and subscribing (or buying a one-time schedule/practice pack) unlocks PDF, iCal, and CSV exports plus link sharing.

🗓️

League Schedule Builder — Step by Step

1
Setup
Choose your sport (baseball or fastpitch softball), name the league/season, optionally note an age division, and set the season's start and end dates. A name and both dates are required before you can continue.
2
Structure — Format & Divisions
Format: pick Regular Season (round robin — every team plays every other team, and final standings set playoff seeding) or Tournament / Pool Play (teams split into pools, top finishers advance to a bracket — choose 2, 3, 4, 6, or 8 pools). The format applies to the whole league.

Divisions: choose One Group if every team plays together, or Multiple Divisionsfor age groups like 10U/12U/14U — each gets its own schedule. Every division sets a pitching/mound distance (No Mound, 46ft, 50ft, 54ft, 60'6", or a custom value). Divisions share one format but can each carry their own scheduling rules — see Step 5.
💡

Divisions with different mound distances are never scheduled on the same field on the same day, so nobody has to move or re-measure the mound between games.

💡

Need a standalone single-elimination bracket instead of pool play? Use the separate Tournament tool once your regular season standings are set.

3
Teams
Add teams one at a time, jump to a common count (4/6/8/10/12/16) with the quick-select buttons, or import a CSV. Each team carries two separate availability settings: Unavailable Days is the weekly pattern (this team never plays Sundays), and Unavailable Datesis one-off days off — a tournament weekend, a school trip. With multiple divisions, every team must be assigned to one. Name the head coach on any team and the generator keeps that person in one place: two teams with the same coach are never scheduled to play at the same time, even in different divisions. The overlap is judged by game length, so a 60-minute division can run a coach's two games back to back.
💡

Use a team's own dates rather than a league-wide blackout when only that team is away. A league-wide blackout cancels every other team's games that day too.

4
Fields
Add each field's name, the days it's available, and separate weekday vs. weekend game-time slots — use the range generator (From / To / every N minutes) or add one-off times. Closed Dates takes the field out on specific days — maintenance, a tournament — without touching the rest of the league. Optionally cap games per day by day-type (overrides the league-wide default from Step 5), and — with multiple divisions — restrict a field to specific divisions only.
5
Rules
Set season length as either Fill the Season (keep scheduling until dates/fields/caps run out) or a Target Games Per Team, plus weekly game caps, day-type caps (weekday/Saturday/Sunday), minimum rest days between games, double-headers, game time/inning limits, games-per-field-per-day, and league-wide blackout dates — days nobody plays at all, like a holiday. For one team or one field, use that team's or field's own dates instead.
💡

With multiple divisions, this step is a template— use "Apply to All Divisions" to copy it into every division, then fine-tune any division independently. Pool-play divisions get a simplified version of this panel, since weekly caps and season length don't apply to a compressed bracket event.

6
Locked Games (optional)
Add any matchups that are already committed — an opening-day game, a rivalry game on a fixed date — and the generator builds every other game around them. Skip this step entirely for a fully auto-generated schedule.
💡

The form warns before you add a game that lands on a blackout date or a team's own day off, on a weekday one of the teams said it can't play, in a slot that's already taken, or on a field that is closed or not open that day. A locked game always wins over those rules, so the warning is there to catch a typo rather than to stop you.

7
Review & Generate
See an estimate for each division — games per team, available slots (which account for blackout dates and field closures), and warnings if a division has no eligible fields or won't reach its target game count — before you commit. Click Generate to build the schedule.
📅

Practice Field Scheduler — Step by Step

1
Setup
Choose your sport, name the league/program, and set the start and end dates.
2
Divisions
Add one or more divisions with a name, a base distance range (e.g. 60–70 ft — the field sizes this division is allowed to practice on), an optional max fence distance, practices per week (1–4x), session length (60–120 min), and minimum days between practices.
3
Fields
For each field, select every base distance it supports, an optional fence distance, available days, and weekday/weekend time slots. Duplicate a field to quickly clone its settings, or import a CSV.
💡

The Field Eligibility Preview shows, live, which fields qualify for each division — so a base-distance mismatch (e.g. a 12U division with no field in range) shows up before you generate, not after.

4
Teams & Generate
Add teams under each division (with any days they can't practice), or import a CSV. The "Ready to Generate" summary totals divisions, fields, and teams before you click Generate. The result view lets you browse the schedule By Date, By Team, or By Division, and calls out any warnings (e.g. a team that couldn't get its full number of slots).
🔗

Viewing, Sharing & Exporting

Every generated schedule gets its own shareable link — no login required to view it. A league schedule's page has three tabs:

  • ⚾ Game Schedule — List or Calendar view, filterable by division/team, list groupable by date/team/division.
  • 📅 Practice Schedule — build and manage practices for this league right from the same page.
  • 🗓️ Combined — games and practices together on one calendar.
Share With Teams

Every team gets its own private link showing only that team's games — perfect for texting or emailing a single coach without sending the whole league's schedule.

Export Options

🔗 Share link · 📄 PDF · 📅 iCal (adds every game to a calendar app) · CSV in GameChanger, SportsConnect, or SportsEngine format.

CSV export only includes fully-scheduled games with confirmed teams — byes and TBD matchups are skipped since those platforms require a real date, time, and both team names on every row. Pool-play divisions that reach a bracket stage also get a printable bracket.

SportsEngine has two products with incompatible importers — pick the one your league actually uses, or the upload will be rejected.

Sport Managementis the classic League/Division/Team setup, and it's what Babe Ruth leagues use. It comes in two flavors. Games creates real games that feed standings, but SportsEngine identifies teams there by an internal Team ID we have no way to know — so the Team1_ID and Team2_ID columns are pre-filled with team names for you to swap for your own IDs (find them on your SportsEngine Team/Division ID page) before uploading. Events needs no IDs and uploads exactly as downloaded, but the entries land as calendar events rather than games. Practices always export as calendar events here, since a practice has no opponent.

Season Management is the newer product. It identifies teams by name with the division in its own column, so there are no IDs to look up — that file uploads exactly as downloaded, with nothing to fill in.

✏️

Editing & Regenerating

Click ✏️ Edit Scheduleon any schedule's page to reopen the full wizard pre-filled with everything you entered — including per-division customizations — right where you left off. Regenerating replaces the schedule's games but keeps the same share link, so any links you've already sent out keep working.

📄

CSV Import Reference

Every import screen has a "Download Template" button with the exact headers pre-filled — headers must match exactly. Uploading a new file replaces whatever you'd already entered for that step.

League Schedule — Teams
Team Namerequirede.g. Rogers Cardinals
DivisionMust exactly match a division name you created — leave blank with one division
CoachHead coach's name. Two teams with the same coach are never scheduled at the same time — across divisions too.
Contact Namee.g. Coach Mike
Contact Emaile.g. mike@email.com
League Schedule — Fields
Field Namerequirede.g. Bentonville Main Diamond
Available Daysrequirede.g. Saturday,Sunday
Weekday Max GamesLeave blank for the league default
Saturday Max GamesLeave blank for the league default
Sunday Max GamesLeave blank for the league default
Practice Schedule — Teams
Team Namerequirede.g. Rogers Cardinals
DivisionrequiredMust exactly match a division name you created
Practice Schedule — Fields
Field Namerequirede.g. Field 1
Base DistancerequiredComma-separated, e.g. 60,70,90
Fence DistanceOptional, single value in feet
Available DaysrequiredComma-separated day names, e.g. Monday,Tuesday
Weekday TimesrequiredComma-separated 24h times, e.g. 17:30,19:00
Weekend TimesComma-separated 24h times
🛠️

Tips & Troubleshooting

  • "No eligible fields" warning — check the division's base distance / fence range against your fields, and any per-division field restrictions.
  • Division names must match exactly (case-insensitive) between your team CSV and the divisions you created — a mismatch drops those teams into the first division with a warning toast.
  • Mound distance groups fields per day — in the League Schedule Builder, divisions with different pitching distances never share a field on the same day.
  • Falling short of target games? Check that enough fields are available on enough eligible days, that weekly/day-type caps aren't too tight, and that minimum rest days leave enough room in the season.
  • Locked games fix one matchup to one date/time/field — they don't bypass your other rules for the rest of the schedule.
  • Wizard progress autosaves in your browser as you go, so closing the tab mid-setup usually lets you pick back up — but it won't carry over to a different device or browser.
❓

FAQ

Do I need an account?
No — building and sharing a schedule works without signing in. Signing in and subscribing (or buying a one-time pack) unlocks PDF/iCal/CSV export and the share-link/copy actions.
Can I edit a schedule after I've shared it?
Yes. Use “✏️ Edit Schedule” and regenerate — the share link stays exactly the same, so links you've already sent keep working.
Can teams see only their own games?
Yes — every team gets its own private share link from the “Share With Teams” panel.
What sports are supported?
Baseball and fastpitch softball, for both the League Schedule and Practice Schedule builders.
Can I combine a league schedule and its practice schedule on one calendar?
Yes — open a league schedule and use the “🗓️ Combined” tab.

Ready to build your schedule?