Documentation en ligne

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" 
}

Dernière mise à jour le 21/02/2022 14:37 — Éditer