Rafraîchir une proposition et rechercher une répartition d'hébergement

  • Réservation
  • 4 routes
Comment relire une proposition, la rafraîchir et comparer des répartitions d'hébergement ?

Ce scénario explique comment réutiliser une proposition existante pour consulter son contenu, récupérer le schéma de validation utilisé par l'interface, la rafraîchir puis comparer des répartitions d'hébergement. Il convient aux parcours de relecture de proposition et d'optimisation d'hébergement.

Le flux part d'un proposal_id connu et enchaîne consultation, support de validation, rafraîchissement et recherche d'arrangements.

Vue d'ensemble

Ce scénario aide une application à réutiliser une proposition existante pour valider sa structure, rafraîchir ses données commerciales et comparer des répartitions d'hébergement avant la suite du parcours de réservation.

Prérequis

  • Un proposal_id valide.
  • Les valeurs de ressource et de locale attendues par la route de schéma.
  • Un header accept-language valide et une x-api-key, ainsi qu'un contexte d'autorisation si la route le demande.

Résultat attendu

L'application peut afficher le détail de la proposition, vérifier la structure attendue par l'interface, rafraîchir la proposition et comparer des répartitions d'hébergement classées par différentiel de prix.

Process workflow

Legend:
Obligatoire
Optionnel
1

Obtenir les détails de la proposition

Obligatoire

Utilisez GET/v2/proposals/{proposal_id} pour relire une proposition existante avant de la rafraichir ou de recalculer ses hebergements. Cette route expose le prix courant, la duree d'option, les hebergements, les services inclus et les premiers indicateurs de stock.

Prerequis

  • Fournir proposal_id.
  • Envoyer x-api-key.
  • Conserver la meme locale fonctionnelle que celle utilisee pour la creation de la proposition si vous comparez ensuite les resultats.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v2/proposals/123456' \
  -H 'accept: application/json' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

{
  "id": "123456",
  "product_id": "MPAC",
  "label": "Proposal with one club room",
  "price": {
    "total": 9815.4,
    "currency": "EUR"
  },
  "remaining_stock": 2,
  "option_available": true,
  "option_durability": {
    "expiration_date_time": "20160415T10:23:00.234Z",
    "is_reliable": true
  }
}

info: Reutilisez price, remaining_stock, option_available et option_durability pour decider s'il faut rafraichir la proposition avant d'aller plus loin.


Codes de reponse

  • 200 OK : retourne le detail de la proposition.
  • 400 Bad Request : la requete est invalide.
  • 409 Conflict : les conditions economiques de la proposition ne sont plus valides ou le produit n'est plus ouvert pour les dates demandees.
GET/v2/proposals/{proposal_id}
Voir plus
2

Récupérer le schéma de validation

Obligatoire

Utilisez GET/v3/schemas/{resource}/{localeOrCountry} pour recuperer le schema de validation attendu par l'interface ou par une etape d'edition. Cette route aide a connaitre la structure et les champs attendus avant d'envoyer une mise a jour sur la proposition.

Prerequis

  • Fournir resource et localeOrCountry.
  • Envoyer x-api-key.
  • Conserver la meme locale metier que celle utilisee pour afficher ou editer la proposition.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v3/schemas/proposals/fr-FR' \
  -H 'accept: application/json' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

{
  "type": "object",
  "properties": {
    "proposal_id": {
      "type": "string"
    }
  }
}

info: Cette etape sert surtout d'aide de validation cote interface. Elle ne remplace pas la lecture metier de la proposition elle-meme.


Codes de reponse

  • 200 OK : retourne le schema associe a la ressource et a la locale.
  • 400 Bad Request : la ressource ou la locale est invalide.
  • 404 Not Found : aucun schema ne correspond a la combinaison demandee.
GET/v3/schemas/{resource}/{localeOrCountry}
Voir plus
3

Actualiser la proposition

Obligatoire

Utilisez POST/v1/proposals/{proposal_id}/refresh pour recalculer une proposition existante a partir de son contexte courant. Cette route permet de mettre a jour la fraicheur commerciale, le prix, la disponibilite et les differentiels avant de comparer de nouveaux hebergements.

Prerequis

  • Fournir proposal_id.
  • Envoyer accept-language, authorization si necessaire, et x-api-key.
  • Conserver la meme locale que celle de la proposition initiale.

Calling CURL

curl -X 'POST' \
  'https://api.clubmed.com/v1/proposals/123456/refresh' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

{
  "id": "123456",
  "price": {
    "total": 9815.4,
    "currency": "EUR"
  },
  "remaining_stock": 2,
  "option_durability": {
    "is_reliable": true
  }
}

info: Rafraichissez toujours la proposition avant de prendre une decision sur le prix final ou sur un changement d'hebergement quand le dossier a vieilli.


Codes de reponse

  • 200 OK : retourne la proposition rafraichie.
  • 400 Bad Request : la requete est invalide.
  • 401 Unauthorized : l'authentification est absente, invalide ou expiree.
  • 403 Forbidden : le contexte courant ne peut pas rafraichir cette proposition.
  • 409 Conflict : la proposition n'est plus economiquement valide.
POST/v1/proposals/{proposal_id}/refresh
Voir plus
4

Rechercher des arrangements d'hébergement

Obligatoire

Utilisez POST/v1/accommodations_arrangement/search pour comparer plusieurs repartitions d'hebergement a partir d'une proposition et de sa composition voyageurs. La route retourne des options ordonnees par differentiel de prix et disponibilite residuelle.

Prerequis

  • Fournir les donnees de proposition attendues par la route, y compris le contexte de voyageurs et d'hebergements.
  • Envoyer accept-language, authorization si necessaire, et x-api-key.
  • Rafraichir la proposition en amont si vous voulez comparer des resultats a jour.

Calling CURL

curl -X 'POST' \
  'https://api.clubmed.com/v1/accommodations_arrangement/search' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Example answer

[
  {
    "differential_prices": {
      "amount": 120,
      "currency": "EUR"
    },
    "remaining_stock": 2,
    "accommodation_arrangement": [
      {
        "accommodation_id": "C2",
        "quantity": 1
      }
    ]
  }
]

info: Cette etape aide a presenter des alternatives chambre par chambre sans perdre le contexte tarifaire de la proposition.


Codes de reponse

  • 200 OK : retourne les repartitions d'hebergement compatibles avec leur differentiel de prix.
  • 400 Bad Request : le payload est invalide ou incomplet.
  • 401 Unauthorized : l'authentification est absente, invalide ou expiree.
  • 403 Forbidden : le contexte courant n'est pas autorise a effectuer cette recherche.
  • 404 Not Found : le produit ou la proposition est introuvable.
  • 409 Conflict : la proposition ou le stock n'est plus coherent avec la demande.
POST/v1/accommodations_arrangement/search
Voir plus