Skip to content

La libre réservation

La libre réservation est un concept destiné aux organisations multi club. Cela permet de définir des accords entre clubs pour que les membres d'un club A puissent réserver dans un club B.

Quels impacts techniquement ?

Sans la libre réservation

Différents endpoints permettent de gérer les plannings et prises de réservation.

  • /events
  • /attendees
  • /studios
  • /coaches
  • /activities
  • /showcase_activities
  • /clubs

Limitation technique

Attention à l'identification du contact

La libre réservation n'est possible qu'en identifiant le contact qui réserve (pour permettre à l'API de savoir à quel(s) club(s) le contact a accès).

Il est donc nécéssaire d'utiliser un mode d'authentification différent de client_credentials pour chacuns des appels suivants.

Le meilleur compromis étant d'utiliser http://contactclientcredentials

Avec la libre réservation

La mécanique est strictement identique, les endpoints vont changer ...

Libre résa ou pas ? Comment savoir ?

Les deux modes coexistant, il faut déterminer quel set de endpoints utiliser. Le caractère de réservation libre est lié au club. Cela se détermine donc en regardant la réponse du GET /clubs ou GET /clubs/{id}. La réponse d'un club comporte le paramètre sharingBookingClubs à interpréter ainsi : Si NULL ou tableau vide, nous sommes en mode SANS libre réservation Si NON NULL, il s'agit d'un club AVEC libre réservation

Avec quels autres clubs partage t'on la réservation ?

Au regard de ce que contient le paramètre sharingBookingClubs des clubs on peut penser que son contenu nous donne la liste des clubs. C'est vrai mais cela donne des clubs et des groupes de clubs. Cela demanderait donc de l'interprétation. Un point d'API fait cette interprétation pour vous et vous retournera uniquement la liste des clubs unitaires il s'agit du endpoint GET /club_network_domain/sharing_booking auquel il faudra passer l'iri du club source (le même que celui passé dans le header ... qui n'est pas utile sur ce endpoint).

Annexes techniques

Différence entre /events et /class_events

Ces 2 endpoints permettent effectivement d'interroger le planning de cours avec des capacités de filtrages distinctes. Le format de réponse, quant à lui, est strictement identique ! Seul le endpoint /class_events a été porté vers la libre réservation. Il est donc important de connaître les différences de filtrage ci après détaillées dans son extrait de documentation. A noter qu'il est également possible de basculer tout le fonctionnement de la récupération des plannings sur le /class_events avec ou sans libre réservation.

Extrait de la documentation API GET /{client_token}/club_network_domain/sharing_booking

La documentation sera prochainement disponible sur le portail développeur en ligne, en attendant voici ce qu'il faut savoir.

PATH PARAMETERS

Paramètre (📌 = obligatoire)Description
client_token 📌string

QUERY PARAMETERS

Paramètre (📌 = obligatoire)Description
clubId 📌Club IRI (example: /myclub/clubs/1234)
pageinteger The collection page number
itemsPerPageinteger The number of items per page (30 by default)

Extrait de la documentation API