Documentation
Roster Management
The roster page is for coaches and team owners. It keeps team-specific information such as roster status, grade, notes, and parent or guardian contacts separate from an athlete’s performance history.
Roster contacts are private team data. They are visible to team coaches and owners, but they are not shown on public roster pages.
Roster Entries
A roster entry is an athlete’s spot on your team roster. It points to the athlete used for results, PRs, and connected watch data, but it also stores team-specific fields:
- Status:
active,prospect,inactive, oralumni - Grade
- Notes
- Parent, guardian, or emergency contacts
Team-created athletes can be used as placeholders. If an athlete later joins the team with an account-backed athlete that has the same name, birth year, and gender, the roster page shows a proposed replacement on the placeholder row. The system does not swap automatically, because name collisions can happen.
When a coach confirms a proposed replacement, the roster entry moves to the account-backed athlete, contacts stay with the roster entry, and manually maintained identity hints, such as aliases and result profile URLs, are copied to the account-backed athlete.
Contacts
Each roster entry can have multiple contacts. For example, one athlete can have both a mother and father contact row.
Contacts can include:
- Name
- Relationship
- Phone
- Primary contact flag
- Emergency contact flag
- Receives messages flag
- Notes
Use primary contact for the main family contact. Use emergency contact for anyone who should be surfaced during urgent situations. Multiple contacts can be marked as emergency contacts.
CSV Import
Use roster CSV import to batch-create or update athletes and contacts. The import matches existing roster entries by athlete name, birth year, and gender. If no matching roster entry exists, the import creates a new team-owned placeholder athlete and roster entry.
The CSV should include this header:
first_name,last_name,birth_year,gender,status,grade,notes,contact_name,contact_relationship,contact_email,contact_phone,contact_primary,contact_emergency,contact_receives_messages
Example:
first_name,last_name,birth_year,gender,status,grade,notes,contact_name,contact_relationship,contact_email,contact_phone,contact_primary,contact_emergency,contact_receives_messages
Jane,Smith,2008,F,active,10,Needs waiver,Pat Smith,mother,[email protected],555-0101,true,true,true
Jane,Smith,2008,F,active,10,Needs waiver,Sam Smith,father,[email protected],555-0102,false,true,true
New,Runner,2009,M,prospect,9,New signup,Alex Runner,parent,[email protected],555-0202,true,false,true
The first two rows update the same athlete and add or update two contacts. The third row creates a new placeholder athlete because no existing roster entry matches that athlete.
Matching Rules
Roster import matches rows in this order:
- Find a roster entry on the team where
first_name,last_name,birth_year, andgendermatch. - If exactly one match exists, update that roster entry.
- If no match exists, create a team-owned placeholder athlete and roster entry.
- If multiple matches exist, skip that row and return a row-level error.
The CSV does not require athlete IDs. Coaches should use names, birth years, and gender in the import file.
Contact Updates
If a row includes contact fields, the import updates or creates one contact for that roster entry.
Contact matching works in this order:
- Match an existing contact on the same roster entry by
contact_email. - If no email match exists, match by
contact_phone. - If neither matches, create a new contact.
Blank contact fields mean no contact is added for that row. To import multiple contacts for one athlete, repeat the athlete fields on multiple rows and use different contact information.
Field Reference
| Column | Required | Notes |
|---|---|---|
first_name |
Yes | Athlete first name. |
last_name |
Yes | Athlete last name. |
birth_year |
Yes | Four-digit birth year. |
gender |
Yes | M, F, Male, or Female. |
status |
No | active, prospect, inactive, or alumni. Defaults to active when blank. |
grade |
No | Team-specific grade value. |
notes |
No | Team-private roster notes. |
contact_name |
No | Required only when other contact fields are present. |
contact_relationship |
No | Examples: mother, father, parent, guardian. |
contact_email |
No | Used first for contact matching. |
contact_phone |
No | Used for contact matching when email is blank or not found. |
contact_primary |
No | true/false, yes/no, or 1/0. Defaults to false. |
contact_emergency |
No | true/false, yes/no, or 1/0. Defaults to false. |
contact_receives_messages |
No | true/false, yes/no, or 1/0. Defaults to true. |
What CSV Import Does Not Do
Roster CSV import does not delete athletes or contacts. To remove an athlete from normal roster views, set their status to inactive or alumni. To remove a contact, delete it from the roster page.
Roster CSV import also does not import race results, PRs, or watch data. Those are handled by athlete result profiles, race-result imports, and connected platforms.
CSV Export
The roster page can export CSV files for race registration or team administration.
Use the row checkboxes to select specific athletes. If no rows are selected, exports use the current filtered roster view.
Available exports:
- Export Athletes: one row per athlete.
- Export Athletes + Contacts: one row per athlete contact. Athletes without contacts are still included with blank contact fields.
Export Athletes Format
first_name,last_name,gender,birth_year,age,grade,status
Jane,Smith,F,2008,18,10,active
New,Runner,M,2009,17,9,prospect
The age column is estimated from birth year and the current calendar year. If a race requires exact age on race day, confirm the value before registering.
Export Athletes + Contacts Format
first_name,last_name,gender,birth_year,age,grade,status,contact_name,contact_relationship,contact_email,contact_phone,contact_primary,contact_emergency,contact_receives_messages
Jane,Smith,F,2008,18,10,active,Pat Smith,mother,[email protected],555-0101,true,true,true
Jane,Smith,F,2008,18,10,active,Sam Smith,father,[email protected],555-0102,false,true,true
New,Runner,M,2009,17,9,prospect,,,,,,,