Skip to content

Rosters & participants

Before swimmers can be entered, the meet needs to know which teams are competing and which roster each brings.

Team membership lives on the meet hub’s Details tab: add each competing team, and pick the host (or explicitly No host). The host matters — it anchors the home/visitor lane split in league (dual/tri) meets, and its configured award-label rules drive the “labels ready to print” prompts. With no host (or an unusual team count), seeding falls back to center-out and there’s no team scoring.

The derived lane assignment for each team is shown right there and can be hand-edited per team when your league does something unusual.

Meets created through the league’s season schedule builder arrive with teams and host already set.

The Details tab’s Rosters section attaches a roster snapshot to each team in the meet — the list of that team’s swimmers (name, age/birth date, USS#). Each team row shows which import it’s bound to; uploading a roster file inline on the row imports and binds it in one step.

Rosters are imported ahead of time under Admin → Rosters (SD3 zip or per-team CSV; merge is the default, replace must be chosen deliberately), or inline per team as above. A roster file that contains multiple teams is split per team — the API requires explicit confirmation and per-team permission for multi-team files, so one club’s upload can’t silently rewrite another club’s roster.

When an imported row is an ambiguous match against an existing athlete (a similar name, a changed birthdate), it lands in a needs-review queue instead of guessing. Work the queue on the Admin → Rosters screen (it’s not shown on the meet hub): bind the row to the matched athlete, create a new athlete, or dismiss the row. Do this before meet day — unresolved rows aren’t on any roster.

If a swimmer appears on two teams’ rosters, the Seed section’s Validate report flags it — as an error when they actually have entries for both teams in this meet, as a warning otherwise. Resolve it by fixing the entries (or re-importing the right roster) before seeding, so the swimmer doesn’t score for two clubs.

A swimmer’s competition age is computed from the league’s age rule — for OMPA-style leagues, age as of June 15 of the season — so the same roster seeds consistently across the season. Birth date on the roster is what matters. (Other leagues can configure a different basis — age on meet day, or year-end — and a meet imported from Lenex can carry its own age-up date.)

With teams and rosters in place, move on to Entries & seeding.