Roles
How the Trainer and Trainee roles work, and what each can do.
Train has two roles: Trainer and Trainee. They are independent — a user can hold one or both at the same time.
Trainer
Trainers are coaches who offer sessions. A trainer:
- Sets up a public profile with a username and bio
- Defines session types (what they offer and for how long)
- Configures their availability (working hours)
- Approves trainees who want to book with them
- Manages their booking calendar and session history
Trainer accounts are provisioned by the platform — you cannot self-sign-up as a trainer.
Once your trainer account is created, you'll be routed to the trainer dashboard when
you visit /train.
Trainee
Trainees are players who book sessions. A trainee:
- Finds a trainer via their public booking page (
/book/[username]) - Requests access to a trainer (the trainer must approve)
- Books sessions directly from the trainer's booking page
- Views their upcoming and past sessions on the trainee dashboard
Any authenticated user can be a trainee — no special provisioning required.
Routing
Visiting /train automatically sends you to the right dashboard:
| Your role | Where you land |
|---|---|
| Trainer only | /train/trainer |
| Trainee only (or no trainer account) | /train/trainee |
| Both | /train/trainer (with a switcher available) |
Role switcher
If you hold both roles, a role switcher appears at the top of your Train dashboard. It lets you toggle between:
- Trainee — your personal bookings and trainers
- Trainer — your dashboard, schedule, trainees, and settings
The switcher is only visible when you have an active trainer account. Trainees who are not also trainers will never see it.
Access requests
Before a trainee can book with a trainer, the trainer must approve them. This keeps trainer rosters intentional.
The flow:
- Trainee visits the trainer's public booking page and submits a request.
- The trainer sees the pending request in their Trainees tab.
- The trainer approves or declines the request.
- Once approved, the trainee can book sessions directly.