Lister et consulter les réservations d'un client

  • Bookings
  • Réservation
  • 2 routes
Comment lister les réservations d'un client puis en ouvrir le détail ?

Ce scénario explique comment lister les réservations rattachées à un compte client puis ouvrir le détail d'un dossier sélectionné. Il convient à un parcours selfcare, à un outil conseiller ou à un suivi de dossier qui doit combiner une vue portefeuille et un niveau de détail plus fin.

Le parcours commence par la collection des réservations pour un customer_id connu, avec des filtres possibles sur la période, le statut de réservation ou le type de produit, puis réutilise le booking_id retourné pour ouvrir le détail complet du dossier.

Vue d'ensemble

Ce scénario est conçu pour les applications qui doivent afficher le portefeuille de réservations d'un client puis inspecter en détail un dossier sélectionné.

Prérequis

  • Un bearer token valide, un x-api-key et un header accept-language.
  • Un customer_id connu.
  • Un booking_id retourné par l'étape de liste pour accéder à la vue détaillée.

Résultat attendu

L'application peut afficher les réservations du client, appliquer les filtres disponibles et ouvrir le détail complet d'une réservation sélectionnée.

Process workflow

Legend:
Obligatoire
Optionnel
1

Lister les réservations du client

Obligatoire

Utilisez GET/v3/customers/{customer_id}/bookings pour lister les réservations rattachées à un compte client avant d'en ouvrir une en détail.

Prerequis

  • Disposer d'un customer_id valide.
  • Envoyez accept-language, authorization et x-api-key.
  • Préparez si besoin les filtres period, booking_status, min_creation_date, sort, page et limit pour resserrer la liste.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v3/customers/123456789/bookings?period=CURRENTS&booking_status=VALIDATED,OPTION&min_creation_date=2025-01-01&sort=-creation_date&page=1&limit=10' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'authorization: Bearer YOUR_TOKEN' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

[
  {
    "id": "12345",
    "booking_status": "VALIDATED",
    "payment_status": "PAID",
    "locale": "fr-FR",
    "allowed_to_pay": true,
    "option_durability": {
      "expiration_date_time": "2026-04-03T18:00:00Z",
      "is_reliable": true
    },
    "total_price": {
      "amount": 9815.4,
      "currency": "EUR"
    },
    "stays": [
      {
        "id": "AGAC20160415",
        "product_id": "AGAC",
        "label": "Agadir",
        "resort_arrival_date": "20160415",
        "duration": 7
      }
    ]
  }
]

info: le filtre period s'appuie sur les dates du booking, tandis que min_creation_date et sort aident à cibler rapidement les dossiers utiles pour un parcours service client ou vendeur.


Codes de reponse

  • OK Response (200): retourne la liste des réservations qui correspondent au client et aux filtres demandés.
  • Error (400): un filtre ou une valeur d'entrée est invalide.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (403): l'accès est interdit à cause d'un mismatch sur le client, l'issuer ou la locale.
  • Error (404): non documente dans le Swagger.
  • Error (416): la plage de pagination demandée n'est pas satisfaisante.
GET/v3/customers/{customer_id}/bookings
Voir plus
2

Consulter le détail d'une réservation

Obligatoire

Utilisez GET/v3/customers/{customer_id}/bookings/{booking_id} pour récupérer le contenu détaillé d'une réservation retournée par l'étape de liste précédente.

Prerequis

  • Réutilisez le customer_id et un booking_id retourné par l'étape de liste.
  • Envoyez accept-language, authorization et x-api-key.
  • Appelez cette étape après avoir sélectionné précisément la réservation à inspecter.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v3/customers/123456789/bookings/0123456789' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'authorization: Bearer YOUR_TOKEN' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

{
  "id": "12345",
  "booking_status": "VALIDATED",
  "payment_status": "PAID",
  "allowed_to_pay": true,
  "booking_renewal": true,
  "option_durability": {
    "expiration_date_time": "2026-04-03T18:00:00Z",
    "is_reliable": true
  },
  "total_price": {
    "amount": 9815.4,
    "currency": "EUR"
  },
  "stays": [
    {
      "id": "AGAC20160415",
      "product_id": "AGAC",
      "label": "Agadir",
      "resort_arrival_date": "20160415",
      "duration": 7
    }
  ],
  "easy_arrival": {
    "status": "AVAILABLE"
  }
}

info: v3 expose directement les contrôles de paiement et d'option dans le payload du booking, ce qui évite de croiser plusieurs réponses pour piloter un écran de détail.


Codes de reponse

  • OK Response (200): retourne le contenu détaillé de la réservation pour le client et le booking sélectionnés.
  • Error (400): une valeur d'entrée est invalide.
  • Error (401): l'authentification est absente, invalide ou expirée.
  • Error (403): l'accès est interdit à cause d'un mismatch sur le client, l'issuer ou la locale.
  • Error (404): le booking_id est introuvable pour le client donné.
GET/v3/customers/{customer_id}/bookings/{booking_id}
Voir plus