Gestion des réservations¶
Obtenir la liste des réservations d’un utilisateur¶
La liste des réservations d’un utilisateur est accessible à l’adresse /api/bookings/
via la méthode HTTP GET
.
Paramètres¶
Nom | Description | Exemple |
user_external_id | Identifiant unique de l’utilisateur (obligatoire). | {{form_user_nameid}} |
agenda | Restreindre les réservations à un agenda. | Slug d’un agenda. |
category | Restreindre les réservations à une catégorie d’agenda. | Slug d’une catégorie. |
date_start | Filtrer les réservations selon leur date de début. | 2021-09-15 |
date_end | Filtrer les réservations selon leur date de fin. | 2021-09-20 |
Exemple¶
GET /api/bookings/?user_external_id=xxx { "err": 0, "data": [ { "id": 4, "in_waiting_list": false, "user_was_present": true, "user_absence_reason": "", "extra_data": null }, { "id": 11, "in_waiting_list": false, "user_was_present": null, "user_absence_reason": "", "extra_data": null } ] }
Obtenir des informations sur une réservation¶
Les informations sur une réservation sont accessibles à l’adresse /api/booking/ID-DE-LA-RESERVATION/
via la méthode HTTP GET
.
Exemple¶
GET /api/booking/4/ { "err": 0, "data": { "booking_id": 4, "in_waiting_list": false, "user_was_present": true, "user_absence_reason": "", "extra_data": null } }
Erreur : réservation annulée¶
{ "err": 1, "err_class": "booking is cancelled" }
Mettre à jour les informations sur une réservation¶
Les informations sur une réservation sont modifiables à l’adresse /api/booking/ID-DE-LA-RESERVATION/
via la méthode HTTP PATCH
.
Paramètres JSON, corps de la requête¶
Nom | Description | Exemple |
user_was_present | Information de pointage témoignant de la présence de l’utilisateur. | true |
user_absence_reason | Motif d’absence |
Il est possible de passer n’importe quel paramètre en plus de ceux ci-dessus : ils seront enregistrés et apparaîtront dans la clé extra_data
de l’API qui retourne les informations d’une réservation.
Exemple¶
PATCH /api/booking/4/ { "err": 0, "booking_id": 4, }
Erreur : réservation annulée¶
{ "err": 1, "err_class": "booking is cancelled" }
Erreur : réservation en liste d’attente¶
{ "err": 3, "err_class": "booking is in waiting list" }
Erreur : l’évènement est marqué comme déjà pointé¶
{ "err": 5, "err_class": "event is marked as checked" }
Annuler une réservation¶
Il est possible d’annuler une réservation grâce à un appel à l’adresse /api/booking/ID-DE-LA-RESERVATION/cancel/
via la méthode HTTP POST
.
Exemple¶
POST /api/booking/4/cancel/ { "err": 0, "booking_id": 4, }
Erreur : réservation déjà annulée¶
{ "err": 1, "err_class": "already cancelled" }
Accepter une réservation¶
Il est possible de déplacer une réservation de la liste d’attente vers la liste principale grâce à un appel à l’adresse /api/booking/ID-DE-LA-RESERVATION/accept/
via la méthode HTTP POST
.
Exemple¶
POST /api/booking/4/accept/ { "err": 0, "booking_id": 4, "overbooked_places": 0 }
Erreur : réservation annulée¶
{ "err": 1, "err_class": "booking is cancelled" }
Erreur : la réservation n’est pas en liste d’attente¶
{ "err": 3, "err_class": "booking is not in waiting list" }
Suspendre une réservation¶
Inversement, il est possible de déplacer une réservation de la liste principale vers la liste d’attente grâce à un appel à l’adresse /api/booking/ID-DE-LA-RESERVATION/suspend/
via la méthode HTTP POST
.
Exemple¶
POST /api/booking/4/accept/ { "err": 0, "booking_id": 4, }
Erreur : réservation annulée¶
{ "err": 1, "err_class": "booking is cancelled" }
Erreur : la réservation est déjà en liste d’attente¶
{ "err": 3, "err_class": "booking is already in waiting list" }
Redimensionner une réservation¶
Il est possible de modifier le nombre de places prises par une réservation grâce à un appel à l’adresse /api/booking/ID-DE-LA-RESERVATION/resize/
via la méthode HTTP POST
.
Paramètres JSON, corps de la requête¶
Nom | Description | Exemple |
count |
Nombre de places. | 2 |
Exemple¶
POST /api/booking/4/resize/ { "err": 0, "booking_id": 4, }
Erreur : réservation annulée¶
{ "err": 1, "err_class": "booking is cancelled" }
Erreur : évènement plein¶
{ "err": 3, "err_class": "sold out" }
Anonymiser une réservation¶
Il est possible d’anonymiser une réservation grâce à un appel à l’adresse /api/booking/ID-DE-LA-RESERVATION/anonymize/
via la méthode HTTP POST
.
Exemple¶
POST /api/booking/4/anonymize/ { "err": 0, "booking_id": 4, }
Supprimer une réservation¶
Il est possible de supprimer une réservation grâce à un appel à l’adresse /api/booking/ID-DE-LA-RESERVATION/
via la méthode HTTP DELETE
.
Exemple¶
DELETE /api/booking/4/ { "err": 0, "booking_id": 4, }
Erreur : réservation annulée¶
{ "err": 1, "err_class": "booking is cancelled" }