Récupérer plus d'hébergements

  • Réservation
  • Création option
  • 6 routes
Comment ajouter davantage d'hébergements à une proposition existante ?

Ce scénario explique comment étendre une proposition avec des répartitions d'hébergement additionnelles après la recherche initiale et la qualification des participants.

Vue d'ensemble

La séquence combine la création de proposition, la qualification des participants, la découverte des catégories d'hébergement, la recherche de répartitions, la mise à jour de la proposition puis la relecture de la répartition finale.

Prérequis

  • Une proposition doit déjà exister ou être créée au début de la séquence.
  • Le proposal_id est requis sur les routes de répartition d'hébergement.
  • Le product_id peut être nécessaire pour résoudre les catégories d'hébergement.
  • accept-language et x-api-key sont requis sur les appels documentés.

Process workflow

Legend:
Obligatoire
Optionnel
1

Rechercher une proposition

Obligatoire

Utilisez POST/v3/proposals/search pour rechercher une proposition.

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/v3/proposals/search"

Example answer

[
  {
    "id": "proposal-1",
    "product_id": "product-1",
    "price": {
      "amount": 2890,
      "currency": "EUR"
    },
    "remaining_stock": 4
  }
]

info: Conservez le proposal_id renvoyé pour demander ensuite des hébergements supplémentaires sur ce même dossier.


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.
Cliquez pour agrandir
POST/v3/proposals/search
Voir plus
2

Qualifier les participants de la proposition

Obligatoire

Utilisez PUT/v3/proposals/{proposal_id}/attendees pour qualifier les participants de la proposition.

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 '{"attendees": [{"id": "attendee-1", "first_name": "Jane", "last_name": "Doe", "birthdate": "1990-03-12"}]}' \
  "https://api.clubmed.com/v3/proposals/{proposal_id}/attendees"

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.
Cliquez pour agrandir
PUT/v3/proposals/{proposal_id}/attendees
Voir plus
3

Lister les catégories d'hébergement du produit

Optionnel

Utilisez GET/v0/products/{product_id}/accommodation_categories pour comprendre quelles catégories de chambres pourront ensuite être demandées dans la proposition.

Prérequis

Préparez product_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/products/{product_id}/accommodation_categories"

Example answer

[
  {
    "id": "cat-1",
    "label": "Superior rooms"
  }
]

info: Les catégories décrivent le catalogue produit ; la disponibilité réelle au niveau de la proposition devra encore être vérifiée à l'étape suivante.


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/products/{product_id}/accommodation_categories
Voir plus
4

Rechercher des répartitions d'hébergement additionnelles

Obligatoire

Utilisez POST/v1/accommodations_arrangement/search pour comparer les répartitions de chambres additionnelles réellement disponibles pour la proposition courante.

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/search"

Example answer

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

info: Comparez les répartitions renvoyées et les écarts tarifaires avant de choisir celle à appliquer.


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.
Cliquez pour agrandir
POST/v1/accommodations_arrangement/search
Voir plus
5

Ajouter une répartition d'hébergement

Obligatoire

Utilisez PUT/v1/proposals/{proposal_id}/accommodations_arrangement pour ajouter une répartition d'hébergement.

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.
Cliquez pour agrandir
PUT/v1/proposals/{proposal_id}/accommodations_arrangement
Voir plus
6

Relire la répartition d'hébergement mise à jour

Obligatoire

Utilisez GET/v1/proposals/{proposal_id}/accommodations_arrangement pour relire la répartition actuellement appliquée sur la proposition après la modification d'hébergement.

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/v1/proposals/{proposal_id}/accommodations_arrangement"

Example answer

[
  {
    "id": "room-1",
    "label": "Superior Room",
    "attendees": [
      {
        "id": "attendee-1"
      }
    ]
  }
]

info: Vérifiez les foyers, l'affectation des chambres et les impacts tarifaires avant d'exposer la proposition mise à jour à l'utilisateur.


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/v1/proposals/{proposal_id}/accommodations_arrangement
Voir plus