Réserver un cours
Le scénario est le suivant : une application à destination des membres du club affiche le planning de la semaine et permet de réserver une place sur un cours et de l'annuler.
Suivez au préalable la documentation permettant de récupérer le planning.
Une fois le cours identifié, il ne reste plus qu'à déclarer la participation d'un contact. Une inscription sera alors automatiquement reversée au regard des places disponibles :
- dans la liste principale des inscrits au cours
- dans la liste d'attente servant de débord à la liste principale
- dans la liste des refus une fois la liste d'attente pleine
Il est possible de prédire l'arrivée avec les données du cours.
Faire une requête POST à l'API Resamania comme suit :
https://{api_base_url}/{client_token}/attendees/
Body
{
"classEvent": "{class_event_id}",
"contactClubId": "{club_id}",
"contactCreatedAt": "{created_at}",
"contactFamilyName": "{family_name}",
"contactGivenName": "{given_name}",
"contactId": "{contact_id}",
"contactNumber": "{contact_number}",
"contactPictureId": "{picture_id}"
}
paramètre | description |
---|---|
api_base_url | L'url de l'API que vous souhaitez utiliser. Celle-ci varie selon les environnements d'intégration et de production |
client_token | Chaque chaîne de club possède son identifiant Resamania appelé client_token |
class_event_id | Identifiant textuel du cours auquel ajouter l'inscription. Il est de la forme /{client_token}/class_events/{id} |
club_id | Identifiant textuel du club du contact qui participera au cours. |
created_at | Date de création du contact qui participera au cours |
family_name | Nom de famille du contact qui participera au cours |
given_name | Prénom du contact qui participera au cours |
contact_id | Identifiant textuel du contact qui participera au cours |
contact_number | Numéro de membre du contact qui participera au cours |
picture_id | Identifiant textuel de la photo de profil du contact. |
Annuler une réservation
L'annulation de réservation se traduit par un changement d'état et non une suppression "physique" de la réservation.
Faire une requête POST à l'API Resamania comme suit :
https://{api_base_url}/{client_token}/attendees/{attendee_id}/transitions
Body
{
"transition": "cancel"
}
paramètre | description |
---|---|
api_base_url | L'url de l'API que vous souhaitez utiliser. Celle-ci varie selon les environnements d'intégration et de production |
client_token | Chaque chaîne de club possède son identifiant Resamania appelé client_token |
attendee_id | Identifiant de la réservation à annuler |
Liste des erreurs que vous pouvez rencontrer
Lors du process de réservation et d'annulation de réservation, plusieurs règles métiers configurées par le client peuvent interdire la prise de réservation ou son annulation. Voici la liste des codes erreurs que vous pourrez rencontrer et leur définition :
Code erreur | Description |
---|---|
api.error.attendee.event-in-the-past | La date de début du cours est déjà passée. |
api.error.attendee.already-attending | Vous êtes déjà inscrit au cours. |
api.error.attendee.contact-attendees-blocked | Vous n'avez plus le droit de réserver |
api.error.attendee.contact-debt | Réservation impossible car vous avez une dette à régler |
api.error.attendee.no-units | Vous n'avez pas de carnet. |
api.error.attendee.no-valid-counter-credit | Vous n'avez pas de carnet pour cet événement avec suffisamment de crédit. |
api.error.attendee.no-valid-counter-type | Vous n'avez pas de carnet qui corresponde à cet événement. |
api.error.attendee.no-valid-tag | Vous n'avez pas d'abonnement qui corresponde à cet événement. |
api.error.attendee.is-suspended | Réservation impossible car votre abonnement est suspendu à cette date |
api.error.attendee.limit-reached | Il n'y a plus de place disponible pour cet événement. |
api.error.attendee.limit | Vous avez dépassé le nombre de réservation autorisée. |
api.error.attendee.anticipation | Le délai d'anticipation n'est pas respecté. |
api.error.attendee.automatic-reject | Le cours n'accepte pas de réservation. |
api.error.attendee.club-restriction | Vous n'avez pas d'abonnement ou de carnet vous permettant de réserver un cours dans ce club. |
api.error.attendee.coach-restriction | Vous n'avez pas d'abonnement ou de carnet vous permettant de réserver un cours avec ce coach. |
api.error.attendee.deadline | La deadline n'est pas respectée. |
api.error.attendee.delay-exceed | Le délai d'annulation de réservation n'est pas respecté. |
api.error.attendee.missing-mandate | Réservation impossible car vous n'avez pas de mandat valide |
api.error.attendee.no-counters-with-rule | Vous n'avez pas de carnet qui corresponde à cet événement. |
api.error.attendee.no-tags-with-rule | Vous n'avez pas d'abonnement qui corresponde à cet événement. |
api.error.attendee.no-tags | Vous n'avez pas d'abonnement. |
api.error.attendee.online.limit | Le nombre d'inscription ne permet plus l'inscription en ligne |
api.error.attendee.period-restriction | La restriction horaire n'est pas respectée. |
api.error.attendee.studio-restriction | Vous ne pouvez pas vous inscrire à cet événement. |
api.error.attendee.tags-and-counters | Vous n'avez pas d'abonnement ou pas de carnet. |
api.error.attendee.tags-or-counters | Vous n'avez ni abonnement ni carnet valide pour la réservation. |
api.error.attendee.unable-to-debit | Impossible de débiter le(s) carnet(s) actuellement |