Parcours de réservation avec services et participants

  • Réservation
  • 4 routes
Comment préparer une proposition avec ses services avant de créer le booking ?

Ce scénario documente la phase de préparation d'un parcours de réservation, depuis la création d'une proposition jusqu'à la lecture des services et la qualification des participants. Il convient aux parcours de réservation qui doivent sécuriser une proposition avant la création finale du booking.

Le flux crée une proposition, liste les services disponibles et déjà attachés, puis met à jour les participants pour rendre le dossier exploitable par les étapes suivantes.

Vue d'ensemble

Ce scénario aide une application à préparer une proposition avec le bon contexte de services et les informations participants avant la création du booking.

Prérequis

  • Les critères de réservation nécessaires pour créer la proposition.
  • Une x-api-key valide et un contexte d'autorisation lorsque la route l'exige.
  • Un proposal_id retourné par la création pour poursuivre le flux.

Résultat attendu

L'application peut créer une proposition de travail, relire le contexte de services et compléter les données participants afin de préparer la suite du parcours de réservation.

Process workflow

Legend:
Obligatoire
Optionnel
1

Rechercher les propositions correspondantes

Obligatoire

Utilisez POST/v3/proposals/search pour generer la proposition qui servira de dossier de travail pour la reservation. Cette route calcule le premier contexte de prix et de stock, puis retourne le proposal_id qui sera reutilise dans les etapes suivantes.

Prerequis

  • Envoyer accept-language et x-api-key.
  • Ajouter authorization si le contexte le demande.
  • Preparer un payload complet avec produit, dates, participants et contexte de package.

Calling CURL

curl -X 'POST' \
  'https://api.clubmed.com/v3/proposals/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

{
  "id": "123456",
  "product_id": "MPAC",
  "price": {
    "total": 9815.4,
    "currency": "EUR"
  },
  "remaining_stock": 2,
  "option_available": true
}

info: Conservez proposal_id et le bloc de prix. Ils deviennent la reference de toutes les etapes suivantes.


Codes de reponse

  • 200 OK : retourne la proposition correspondant aux criteres.
  • 400 Bad Request : le payload est invalide, incomplet ou incoherent.
  • 401 Unauthorized : l'authentification est absente, invalide ou expiree.
  • 403 Forbidden : le contexte courant ne permet pas de creer la proposition.
  • 404 Not Found : le produit est introuvable.
  • 409 Conflict : les criteres de proposition ne sont plus valides.
POST/v3/proposals/search
Voir plus
2

Lister les services additionnels disponibles pour la proposition

Optionnel

Utilisez GET/v0/additional_services avec proposal_id pour lister les services additionnels pouvant etre rattaches a la proposition. Cette route couvre par exemple le childcare, les transferts, les assurances, les locations ou les excursions lorsqu'ils sont disponibles sur le sejour.

Prerequis

  • Reutiliser un proposal_id valide.
  • Envoyer accept-language et x-api-key.
  • Ajouter types si vous souhaitez restreindre la reponse a une seule famille de services.

Calling CURL

curl -X 'GET' \
  'https://api.clubmed.com/v0/additional_services?proposal_id=123456' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'x-api-key: YOUR_API_KEY'

Example answer

[
  {
    "id": "VMOSK1",
    "type": "CHILDCARE",
    "currency": "EUR",
    "schedules": [
      {
        "start_date": "20100430",
        "end_date": "20100430",
        "remaining_stock": 2
      }
    ]
  }
]

info: Cette route sert a decouvrir ce qui peut etre vendu. L'etape suivante doit uniquement reutiliser des identifiants retournes ici.


Codes de reponse

  • 200 OK : retourne les services disponibles pour la proposition.
  • 206 Partial Content : le resultat est partiel et peut necessiter une pagination.
  • 400 Bad Request : la proposition ou les filtres sont invalides.
  • 401 Unauthorized : l'authentification est absente, invalide ou expiree.
  • 403 Forbidden : le marche ou l'authentification courante ne permet pas cette consultation.
  • 404 Not Found : la proposition est introuvable.
  • 409 Conflict : les criteres de proposition ne sont plus valides.
  • 416 Requested Range Not Satisfiable : la plage demandee est invalide.
GET/v0/additional_services
Voir plus
3

Relire les services deja rattaches a la proposition

Optionnel

Utilisez GET/v0/proposals/{proposal_id}/services pour relire les services additionnels deja rattaches a la proposition. Cette etape est utile apres une selection de services ou avant la qualification des participants pour verifier l'etat reel du dossier.

Prerequis

  • Fournir proposal_id.
  • Envoyer x-api-key.
  • Ajouter un filter si vous souhaitez limiter la reponse.

Calling CURL

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

Example answer

[
  {
    "id": "AHSI01",
    "type": "RENTAL",
    "currency": "EUR",
    "schedules": [
      {
        "start_date": "20100430",
        "end_date": "20100430",
        "attendees": [
          {
            "id": "A",
            "price": 250
          }
        ]
      }
    ]
  }
]

info: Cette route reflète l'etat courant de la proposition. Elle permet de verifier quels services ont ete conserves apres une mise a jour de type cancel-and-replace.


Codes de reponse

  • 200 OK : retourne les services actuellement rattaches a la proposition.
  • 400 Bad Request : la requete ou le filtre est invalide.
GET/v0/proposals/{proposal_id}/services
Voir plus
4

Qualifier les participants de la proposition

Optionnel

Utilisez PUT/v3/proposals/{proposal_id}/attendees pour attacher ou mettre a jour les participants sur la proposition avant la creation du booking. C'est l'etape ou l'on securise l'identite, la composition des foyers et les liens clients du dossier.

Prerequis

  • Fournir proposal_id.
  • Envoyer accept-language, authorization si necessaire, et x-api-key.
  • Preparer un payload participants conforme aux contraintes documentees sur les dates de naissance, documents et compositions de foyer.

Calling CURL

curl -X 'PUT' \
  'https://api.clubmed.com/v3/proposals/123456/attendees' \
  -H 'accept: application/json' \
  -H 'accept-language: fr-FR' \
  -H 'authorization: Bearer YOUR_TOKEN' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Example answer

[
  {
    "attendees": [
      {
        "id": "A",
        "customer_id": "123456789",
        "customer_status": "NEW_CUSTOMER",
        "loyalty_status": "GOLD"
      }
    ]
  }
]

info: C'est l'etape de verrouillage avant la creation du booking. La plupart des erreurs sur l'identite, les documents et la composition du foyer ressortent ici.


Codes de reponse

  • 200 OK : retourne la structure participants mise a jour.
  • 400 Bad Request : les donnees participants sont invalides, incompletes, dupliquees ou incoherentes.
  • 401 Unauthorized : l'authentification est absente, invalide ou expiree.
  • 403 Forbidden : au moins un client ne peut pas poursuivre le parcours.
  • 409 Conflict : la proposition n'est plus economiquement valide.
PUT/v3/proposals/{proposal_id}/attendees
Voir plus