Concepts
Core Concepts
The key building blocks of Train and how they fit together.
Train is built around two roles and a clear flow from availability to booking. Understanding these concepts makes the rest of the platform easy to navigate.
The flow
Trainer
├── Sets availability (working hours + schedules)
├── Creates session types (name, duration, capacity)
└── Approves trainees (via access requests)
└── Trainee books a session
└── Booking confirmed on trainer's calendarKey concepts
| Concept | Description |
|---|---|
| Trainer | A user who offers coaching sessions. Has a profile, availability, and a public booking page. |
| Trainee | A user who books sessions with a trainer. Must be approved by the trainer first. |
| Session type | A template for a session — defines the name, duration, and how many trainees can join. |
| Session | A scheduled instance of a session type at a specific date and time. |
| Booking | A confirmed reservation from a trainee for a specific session. |
| Session request | A trainee's request to gain access to a trainer before they can book. |
| Availability | The working hours a trainer sets to define when they can be booked. |
| Availability schedule | A named set of working hours (e.g., "Summer hours") that can be applied to specific date ranges. |