rslts athlete performance platform

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, or alumni
  • 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
  • Email
  • 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:

  1. Find a roster entry on the team where first_name, last_name, birth_year, and gender match.
  2. If exactly one match exists, update that roster entry.
  3. If no match exists, create a team-owned placeholder athlete and roster entry.
  4. 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:

  1. Match an existing contact on the same roster entry by contact_email.
  2. If no email match exists, match by contact_phone.
  3. 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,,,,,,,