The single most useful thing to internalize is the left-hand menu. There is no "Locations" item — fields and schedules both live under Operations, and the league game scheduler lives under Programs → Leagues. Get these two anchors right and the rest follows.
| You want to… | Go to |
|---|---|
| See / edit the field schedule (grid & list) | Operations → Schedules → Field Schedule |
| Add fields & facilities | Operations → Schedules → Fields / Facilities |
| Build practices | Operations → Schedules → Practices (Practice Scheduler) |
| Send a mass alert / close a field | Operations → Schedules → Field Schedule (megaphone icon / Close Fields) |
| Reopen a closed field | Operations → Schedules → More Actions → Open Fields |
| Build the league game schedule | Programs → Leagues → [League] → Division Settings + Schedule |
| Turn on the Practice Scheduler module | Club Administration → Modules → Practice Scheduler |
Based on our email threads, here's the current workflow we need to preserve or improve in PM:
Ben builds ONE final schedule — no conditional versions based on whether coaches have completed requirements. The schedule starts as soon as Division Coordinators finalize their coach lists, then Ben does drafts on a rolling basis across all 12 divisions. Quality-checking takes time.
Each division gets scheduled as its teams are finalized — Ben doesn't wait for all 12 to be done before starting. This rolling approach means he needs to start as early as possible. In PM this maps cleanly: divisions are scheduled independently inside the league, and the scheduler still shows cross-division conflicts while you work one division at a time.
First Saturday games: September 19, 2026. Exploring mid-week games as well (pending permits). 10 game weeks leading up to Thanksgiving.
Jay (CVPA) wants compliance verified before coaches get teams — background check + fingerprinting done before team assignment, video training done before Game 1. This means the compliance pipeline feeds into Ben's scheduling timeline. In PM, this is exactly what the "verified for the season" status is being built to do: a coach can't be fully assigned until compliance is green. This could actually help Ben by ensuring the coach list he gets from DCs is already vetted — no mid-season surprises.
The terminology and structure are different. Here's how the key scheduling concepts translate:
| Sports Connect | PlayMetrics | What Changed |
|---|---|---|
| Game Schedule (built manually or via scheduler) | League → Games (auto-generated or manual) | Different Games live inside the League (Programs → Leagues), not as a standalone schedule. PM auto-generates matchups by division. |
| Divisions (10UB, 12UG, etc.) | Divisions within a League | Similar Same concept. Rule of thumb from the webinar: teams that play each other must be in the same division. 10UB and 10UG are separate divisions if they only play same-gender. |
| Teams (assigned from Team Builder) | Teams (from Team Assignments) | Similar Teams must be assigned before scheduling can happen. |
| Fields (set up in SC admin) | Operations → Schedules → Fields / Facilities (with sub-fields, owners, closures) | Enhanced Fields have an identifier, name, owner, surface, and optional sub-fields with conflicts. Facilities carry an address (auto-Google-map for families) and an uploadable field map. |
| Game times (manually entered per game) | Time Slots on Fields | Different Set up time slots on fields first, then assign games/practices to slots. Slots can vary by day of week (default Mon–Fri). |
| Standings (manual or via SC standings module) | League Standings (automatic) | Enhanced Standings auto-calculate from game scores. Tiebreaker rules configurable. |
| Score reporting (admin enters) | Game Scores (coaches/team staff can enter) | Enhanced Coaches and team staff can enter scores from the field. Admins can edit too. |
| Practice schedule (separate from games) | Practice Scheduler (drag-and-drop on field calendar) | New Tool Practices and games share the same field calendar. Admin controls whether coaches can add/cancel/delete their own practices. |
| Email parents about schedule changes | In-app notifications + push alerts | Different Publishing a schedule or closing a field notifies affected teams in-app. Urgent "mass alerts" (the megaphone) are push notifications through the app only — not text or email. See the alerts section. |
| Export schedule to share | Calendar sync + public league link | New Parents subscribe to an iCal feed (full calendar) or add a Google Calendar link (games only). A public league link lets non-account-holders (grandparents) view the schedule. |
| Conflict checking (manual — you check) | Coach & field conflict detection (automatic) | Automatic The scheduler highlights coach double-bookings (across divisions in the league) and field overlaps as you build. |
| Import/export game data (manual Excel) | Game Import / CSV export (More Actions) | Similar CSV import available; exports are manual CSV pulls from the More Actions menus. Steven's export manager already produces game CSVs in this shape. |
Operations → Schedules opens the hub. A few things worth knowing on day one:
This is the one-time setup that everything else hangs off. Two distinctions to get right:
A facility has a name and an address. The address auto-populates a Google map that families see, and you can upload a field map image so parents know where to go inside a multi-field park. Fields are added inside the facility.
Each field has an identifier, a name, optional league field names, an owner (this person is notified whenever the field changes), and a surface. You can add sub-fields (e.g., a full field split into 1A / 1B for small-sided 6U/8U), each with its own ID and conflicts.
You can turn on Coach Access so coaches can view the field schedule — see what's available or booked each day — for all teams, specific teams, or a level of play. Be clear on what this does and doesn't do:
Three different "event" buckets that are easy to confuse, and the difference is who sees them:
| Type | Who sees it | Use it for |
|---|---|---|
| Reservations | Admin only — never shown to families | Rental, field prep, closure, coach training, field cleanup. Can be recurring. Blocks the field on the schedule. |
| Club Events | Outward-facing — shows on parent/player calendars | Club-wide events you want teams/families invited to. Based on team attendance. |
| Staff Events | Selected staff (with RSVP) | Board meetings, coach meetings. Beta Off by default — must be enabled for the region. RSVP is attending / not / partial + note. |
This is the centralized tool for practice field plans, and it's a genuine upgrade over the SC world where practices lived nowhere. First decision: do we manage practices centrally, or let coaches/team managers add their own? If coaches will self-schedule, the Practice Scheduler module (and its advanced settings) has to be enabled under Club Administration → Modules.
Both live on the field schedule. This is where the biggest expectation-correction is, so read the warning.
Pick a message, a start/end time, and the affected fields, then choose recipients (coaches / team staff / players). PM won't let you send if there are no teams or events on the selected fields. Good for "lightning spotted, take cover 30 minutes."
This is the heart of Ben's job, and PM gives only a brief overview in this webinar — the full league-operations training is in July. Here's the confirmed shape of it. It lives under Programs → Leagues.
Per division, set: division name, number of games per team, default arrival time, game duration, and the fields this division plays on. The default arrival time is your only lever for "show up early" / travel buffer — the scheduler does not calculate travel time between fields.
Set the start and end date, then toggle specific weeks off when a division isn't playing (they demoed switching off Memorial Day weekend). This is how you'd carve out, e.g., a holiday week in our fall season.
Choose the teams in the division, then the Schedule tab generates matchups. You can see a "scheduled" and a "not scheduled" view so it's obvious which teams still need games. For a recurring weekly pattern you really only build the structure once.
This is the powerful view. A field-by-time grid across the whole league, jump from date to date, drag games between slots, and hit Check for Conflicts. Coaching conflicts surface across divisions within the league — based on the coach's team assignment, not sibling/player overlap. View Settings control the time window and increments; the Icon Legend color-codes every division; an Unassigned Games panel holds anything not yet placed.
Publish all changes or selected weeks, and optionally notify impacted teams with a message. Watch the unassigned-games toggle: if you leave it off, unassigned games are deleted on publish and this cannot be undone. Keep it on unless you truly mean to discard them.
PM generates weekly matchups per division, tracks how often two teams have played, and flags teams not scheduled in a given week — replacing manual round-robin spreadsheets.
Coach double-bookings (across divisions in the league) and field overlaps are highlighted in the grid as you build, instead of being a manual eyeball check at the end.
When you schedule games you can see which fields already have practices or reservations on them. Drag-and-drop everywhere.
Parents get one consolidated calendar across all their kids, can deselect teams to focus on one child, set attendance in bulk or per-event, and subscribe via iCal (full) or Google (games). When you publish a change, synced calendars update.
If we need to import games from an external source (or export them), PM supports CSV import with these columns:
| Column | Description |
|---|---|
| Date | Game date |
| Start Time | Game start time |
| Game Duration (in minutes) | Length of game |
| Field Name | Must match a field set up in PM |
| Division Name | Must match a division in the League |
| Home Team Name | Must match a team in the division |
| Home Team Score | Leave blank for future games |
| Away Team Name | Must match a team in the division |
| Away Team Score | Leave blank for future games |
| External Game ID | Optional — for tracking against external systems |
PM has a built-in Ref Assignor account type (added under Staff → Ref Assignors). It gives a booking agent read access to league schedules so they can plan around them — no assigning or paying refs inside PM. A Ref Assignor can:
PM offers a native, real-time integration with Assignr.com — Assignr is the third-party platform that actually assigns refs and handles ref pay. Once connected, scheduled games and any changes push from PM into Assignr automatically (field/venue mapping, division→age-group mapping, pay settings, per-game sync status with failure notifications). The actual assigning and paying still happens in Assignr, not PM.
assignr.com/playmetrics), then email success@playmetrics.com to have it enabled. There is no equivalent native integration for CGI or any other assignor tool.
refadmin@ayso58.org) owns referee scheduling. We currently use CGI (~$350/yr); Assignr was demoed but runs ~$5,000. Because there's no native CGI bridge, the practical path with CGI is the manual one: Mike gets a Ref Assignor login (or Ben pulls the CSV) and we feed PM's game-schedule export into CGI, using Game Tracking to catch changes. Going with the live Assignr sync would mean paying for Assignr and asking PM to enable the integration — a cost/benefit call for Mike, not a technical blocker.
PM does NOT have the SC-style auto-team-building / serpentine auto-balance. Team assignment is drag-and-drop with player evaluation data. PM has acknowledged this matters for AYSO and says more is coming. For now, teams are built manually or imported from a spreadsheet.
Three things may need switching on for us specifically: staff events (off by default), the reservation plans beta (so coaches can request practice slots), and confirmation the Practice Scheduler module is enabled the way we want. Decide first whether we manage practices centrally or let coaches self-schedule.
How PM hands off to a ref tool is now documented in the Referee Scheduling section above (Ref Assignor role + the native Assignr.com sync). What's still open for us is the choice: stay on CGI (~$350/yr) with a manual CSV bridge, or move to Assignr (~$5,000) for the live integration. Mike Lauer's call.
Region 58 is set up only for Fall 2026 under the pilot. The webinar demoed Spring leagues, but our Spring 2027 league/season setup is still an open question for the pilot.
PM is running a rec-operations call and a league-operations training in July, closer to the season, that go much deeper on the league scheduler. Ben should register for both via the help desk.
| When | What Happens | Ben's Role |
|---|---|---|
| Now – June | Registration open, families signing up | Read this guide. Set up Facilities & Fields in Operations → Schedules (one-time). Confirm with Steven which practice-management model we want. |
| July | PM rec-ops & league-ops training | Register and attend both. Bring our division list and field setup so questions are concrete. |
| July – Aug | Registration closes, teams form, coaches vetted by Jay | Wait for DCs to finalize coach lists. Jay's compliance checkpoint happens here — coaches must clear BG check + fingerprinting before getting a team. |
| Aug (early) | R58 Fingerprint Fair (Jay organizing) | Coordinate with Jay — scheduling can't finalize until coaches are cleared. |
| Aug – early Sep | Teams finalized, rolling drafts | Build the league schedule in PM as divisions finalize. Auto-generate matchups, use Manage Schedule + Check for Conflicts, quality-check. Keep the unassigned-games toggle ON when publishing. |
| Sep 19 | First Saturday games | Schedule published, teams notified. Manage closures and changes through PM — but use email/MailChimp for any true day-of emergency since alerts are app-push-only. |
| What | Where in PlayMetrics |
|---|---|
| Set up facilities & fields | Operations → Schedules → Facilities / Fields |
| View/edit the field schedule | Operations → Schedules → Field Schedule (Grid / List) |
| Build / manage practices | Operations → Schedules → Practices (Practice Scheduler) |
| Send a mass alert | Field Schedule → megaphone icon |
| Close a field | Field Schedule → Close Fields |
| Reopen a field | Operations → Schedules → More Actions → Open Fields |
| Build teams | Teams (Team Assignments) |
| Generate the game schedule | Programs → Leagues → [League] → Division Settings + Schedule |
| Drag-and-drop game grid | Programs → Leagues → [League] → Manage Schedule |
| Public schedule link (no account) | League → League Link (or per-division link) |
| Parent calendar | Parents see Calendar in their player-contact view |
Jay's two-step enforcement plan (BG check before team, training before Game 1) directly drives Ben's scheduling timeline. Full compliance tiers, fingerprint fair planning, and legacy data migration. The compliance→scheduling dependency is documented in both guides.
Player data import creates the player pool that feeds team assignments, which feeds scheduling. If we import team-assigned players (post-draft), they come in with team names already attached.
Master project view showing where scheduling fits in the overall sequence: registration → import → team formation → compliance verification → scheduling → go-live.
Divisions, leagues, seasons, fields, packages — the terminology is different in PM. Maps 80+ concepts so Ben knows what things are called when navigating the admin.