Croisières : sélectionner une cabine dans une proposition

  • Réservation
  • Réservation
  • 5 routes
Comment construire une proposition croisière puis choisir une cabine physique ?

Ce scénario détaille le parcours permettant d'identifier une croisière ouverte à la vente, de créer une proposition, de lister les cabines disponibles, de vérifier la répartition si besoin puis d'appliquer la cabine retenue.

Il est spécifique aux croisières, où le client peut choisir une cabine physique et pas seulement un code chambre.

Vue d'ensemble

Les parcours croisière se distinguent des parcours resort classiques car le client peut sélectionner une cabine physique. Ce scénario couvre le flux complet, de l'identification de la croisière jusqu'à l'affectation finale de la cabine.

Prérequis

  • Identifier un produit croisière ouvert à la vente.
  • Conserver le product_id, puis le proposal_id, retournés par les étapes précédentes.
  • En cas de changement de code chambre initial, vérifier la répartition avant application.

Process workflow

Legend:
Obligatoire
Optionnel
1

Récupération des croisières disponibles

Optionnel

Utilisez GET/v2/products pour récupération des croisières disponibles.

Prérequis

Préparez les paramètres utiles à l'appel. Conservez x-api-key et, si la route est customer-scoped, un bearer token valide.

Calling CURL

curl -X GET \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: fr-FR" \
  "https://api.clubmed.com/v2/products?limit=20&page=1"

Example answer

[
  {
    "id": "product-1",
    "label": "Club Med Valmorel",
    "country_code": "FR",
    "type": "RESORT"
  }
]

info: Select the desired cruise product_id to create the proposal and then load the available cabins.


Codes de réponse

  • 200 OK : les données attendues sont renvoyées.
  • 400 Bad Request : la requête est invalide ou incomplète.
  • 404 Not Found : la ressource demandée est introuvable.
GET/v2/products
Voir plus
2

Créer la proposition croisière

Obligatoire

Utilisez POST/v1/proposals/search/best pour créer la proposition croisière de départ avant de choisir une cabine.

Prérequis

Préparez les paramètres utiles à l'appel. Conservez x-api-key et, si la route est customer-scoped, un bearer token valide. Vérifiez le body avant appel pour éviter une erreur de validation.

Calling CURL

curl -X POST \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: fr-FR" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "product-1", "start_date": "2026-07-05", "end_date": "2026-07-12", "attendees": [{"birthdate": "1990-03-12"}]}' \
  "https://api.clubmed.com/v1/proposals/search/best"

Example answer

{
  "id": "proposal-1",
  "product_id": "product-1",
  "price": {
    "amount": 2890,
    "currency": "EUR"
  },
  "option_available": true
}

info: Conservez le proposal_id renvoyé pour charger les cabines disponibles puis appliquer la sélection à la proposition.


Codes de réponse

  • 200 OK : l'opération est prise en compte et la ressource est renvoyée.
  • 400 Bad Request : le body ou les paramètres sont invalides.
  • 404 Not Found : la ressource ciblée est introuvable.
POST/v1/proposals/search/best
Voir plus
3

Récupérer les cabines disponibles

Obligatoire

Utilisez GET/v0/proposals/{proposal_id}/available_rooms pour lister les cabines physiques encore attribuables sur la proposition croisière.

Prérequis

Préparez proposal_id. Conservez x-api-key et, si la route est customer-scoped, un bearer token valide.

Calling CURL

curl -X GET \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: fr-FR" \
  "https://api.clubmed.com/v0/proposals/{proposal_id}/available_rooms"

Example answer

[
  {
    "id": "cabin-1",
    "label": "Deluxe cabin",
    "occupancy": 2,
    "remaining_stock": 4
  }
]

info: Comparez les caractéristiques des cabines et leur disponibilité résiduelle avant d'en verrouiller une sur la proposition.


Codes de réponse

  • 200 OK : les données attendues sont renvoyées.
  • 400 Bad Request : la requête est invalide ou incomplète.
  • 404 Not Found : la ressource demandée est introuvable.
GET/v0/proposals/{proposal_id}/available_rooms
Voir plus
4

Vérifier la sélection de cabine (optionnel)

Optionnel

Utilisez POST/v1/accommodations_arrangement/check pour valider l'affectation de cabine sélectionnée avant de l'appliquer à la proposition croisière.

Prérequis

Préparez les paramètres utiles à l'appel. Conservez x-api-key et, si la route est customer-scoped, un bearer token valide. Vérifiez le body avant appel pour éviter une erreur de validation.

Calling CURL

curl -X POST \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: fr-FR" \
  -H "Content-Type: application/json" \
  -d '[{"id": "room-1", "occupancy": 2, "attendees": [{"id": "attendee-1"}, {"id": "attendee-2"}]}]' \
  "https://api.clubmed.com/v1/accommodations_arrangement/check"

Example answer

[
  {
    "id": "room-1",
    "remaining_stock": 3,
    "differential_prices": {
      "amount": 120,
      "currency": "EUR"
    }
  }
]

info: Validez d'abord le stock et l'impact tarifaire, surtout lorsque plusieurs cabines restent possibles.


Codes de réponse

  • 200 OK : l'opération est prise en compte et la ressource est renvoyée.
  • 400 Bad Request : le body ou les paramètres sont invalides.
  • 404 Not Found : la ressource ciblée est introuvable.
POST/v1/accommodations_arrangement/check
Voir plus
5

Appliquer la sélection de cabine

Obligatoire

Utilisez la route de mise à jour rattachée à cette étape pour appliquer la cabine physique retenue sur la proposition une fois la disponibilité validée.

Prérequis

Préparez proposal_id. Conservez x-api-key et, si la route est customer-scoped, un bearer token valide. Vérifiez le body avant appel pour éviter une erreur de validation.

Calling CURL

curl -X PUT \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: fr-FR" \
  -H "Content-Type: application/json" \
  -d '[{"id": "room-1", "occupancy": 2, "attendees": [{"id": "attendee-1"}, {"id": "attendee-2"}]}]' \
  "https://api.clubmed.com/v1/proposals/{proposal_id}/accommodations_arrangement"

Example answer

HTTP/1.1 204 No Content

info: Le succès peut être renvoyé sans body. Relisez la ressource ensuite si vous devez afficher l'état final.


Codes de réponse

  • 204 No Content : l'opération est appliquée avec succès.
  • 400 Bad Request : le body ou les paramètres sont invalides.
  • 404 Not Found : la ressource ciblée est introuvable.
PUT/v1/proposals/{proposal_id}/accommodations_arrangement
Voir plus