Clients et listes de clients
Comment un coach prend en charge des membres, attribue des séances d'entraînement, lit les bilans hebdomadaires et écrit à chaque client, et ce que voit le membre.
Pour le pack Full Stack
Qui coache qui
Un membre a au plus un coach actif. Deux permissions se partagent le travail :
| Permission | Détenue par | Ce qu'elle ouvre |
|---|---|---|
coaching.clients | Head Coach, Personal Trainer | La propre liste de clients de l'appelant : My Clients, le programme, les bilans hebdomadaires et les messages de chaque client. Les clients de personne d'autre. |
coaching.assign | Head Coach, Coach, Gym Manager | Le côté salle : affecter n'importe quel membre à un coach, ou le retirer de toutes les listes de clients. |
Le seed donne au Head Coach la liste de clients la plus complète, en donne une plus petite au Personal Trainer de démonstration (trainer@example.com) et à chaque autre compte Personal Trainer et Coach, et laisse le reste des membres (onze sur un seed neuf) sans coach, pour qu'un coach ait des personnes à prendre en charge. Seul un compte avec coaching.clients voit Mes clients : le Head Coach et les Personal Trainers. Le rôle Coach du seed ne l'accorde pas : un compte qui le détient, comme john.smith@staff.com, a des clients sur sa liste mais ne les voit jamais.
Ce que voit un coach
- La vue d'ensemble du coach à
/en/dashboard: combien de clients se sont entraînés cette semaine, qui est devenu silencieux (rien de terminé depuis 7 jours), les bilans hebdomadaires en attente de réponse, et le travail attribué pour aujourd'hui sur toute la liste de clients. - My Clients à
/en/dashboard/clients: la liste de clients avec, pour chacun, sa dernière séance, ses séances et minutes de la semaine, et la part de son programme réalisée. Add client cherche parmi les membres sans coach et en prend un en charge. - La page d'un client à
/en/dashboard/clients/<username>: sa semaine, le travail attribué marqué fait, manqué ou à venir, ses bilans hebdomadaires avec une zone de réponse, et le fil de messages.
Attribuer du travail
- Un coach donne à un client une séance d'entraînement du catalogue, une date de début et une note facultative. La séance d'entraînement apparaît sur la page Workouts du membre.
- Ce sont les séances terminées par le membre lui-même qui marquent le travail attribué comme fait. Rien n'est coché à la main.
- Un coach retire une attribution depuis la page du client.
Bilans hebdomadaires
- Depuis la page Workouts, un membre remplit un bilan hebdomadaire par semaine : son ressenti de la semaine de 1 à 5, un poids facultatif et des notes facultatives. En remplir un autre la même semaine remplace le précédent.
- Le coach le lit sur la page du client et sur la vue d'ensemble, les bilans sans réponse en premier, et y répond. Le membre voit la réponse sous son bilan hebdomadaire.
- Remplir un bilan hebdomadaire et y répondre envoient chacun une notification à l'autre partie.
Messages
Chaque coach et chaque client partagent un fil privé. Un message contient jusqu'à 2 000 caractères et jusqu'à 6 pièces jointes (images, clips ou fichiers), qui passent par la route d'envoi et demandent un bucket de médias. Chaque message envoie une notification à l'autre partie.
Transférer des membres entre coachs
Sur la page d'un membre, sous Gym, les membres de l'équipe avec coaching.assign choisissent le coach du membre, ou le retirent de toutes les listes de clients. La liste propose les comptes qui détiennent le rôle nommé Coach, avec le nombre de clients de chacun.
Donner une liste de clients au rôle Coach
Le rôle Coach du seed n'accorde pas coaching.clients : un compte qui ne détient que ce rôle n'a donc pas accès à My Clients pour les membres qui lui sont affectés. Accordez coaching.clients au rôle Coach sur l'écran Coach Roles si vos coachs doivent travailler sur leurs listes de clients. Le Head Coach et les Personal Trainers prennent eux-mêmes des membres en charge, depuis Add client.
Les routes de coaching
Chaque route se trouve sous /api/fitness/coaching et demande un jeton bearer. Les routes de liste de clients répondent pour le compte qui fait la requête et personne d'autre.
| Routes | Permission | Ce qu'elles font |
|---|---|---|
GET /clients, GET /clients/:username, GET /available-members, POST /clients | coaching.clients | La liste de clients, un client, les membres sans coach, la prise en charge d'un membre ({ username }) |
GET /workouts, GET|POST /clients/:username/plan, DELETE /plan/:id | coaching.clients | Le catalogue depuis lequel attribuer, le programme d'un client, l'attribution ({ workoutSlug, startsOn, note? }), le retrait |
GET /roster/assigned-work, GET /roster/check-ins | coaching.clients | Le travail du jour et les bilans hebdomadaires de la semaine sur toute la liste de clients |
GET /clients/:username/check-ins, POST /check-ins/:id/reply | coaching.clients | Les bilans hebdomadaires d'un client, et une réponse ({ body }, jusqu'à 2 000 caractères) |
GET|POST /clients/:username/messages | coaching.clients | Le fil avec un client |
GET /my-coach, GET /my-plan, GET /check-ins, GET /messages | fitness.view | Le côté membre : son coach, son programme, ses bilans hebdomadaires et son fil |
POST /check-ins, POST /messages | fitness.edit | Remplir le bilan hebdomadaire de la semaine ({ energy, weightKg?, notes? }), écrire au coach |
GET /coaches, GET /assignments/:username, POST /assignments, DELETE /assignments/:username | coaching.assign | Les comptes du rôle Coach, qui coache un membre, le transfert d'un membre ({ coachUsername, memberUsername }), le retrait d'un membre |
Les erreurs reviennent sous forme de clés que le tableau de bord traduit, par exemple already_your_client, member_has_coach, not_a_coach, no_coach et message_required.