Proposals: Transport selection journey

  • Transport
  • Transport
  • 2 routes
How do I change the transportation in my proposal?

This guide details the procedure for modifying the transportation associated with a proposal.

The process covers the different search methods, from simple queries to advanced filters (companies, stopovers, etc.).

The transportation change revolves around two key steps:

  • Retrieval: Identify available transportation alternatives
  • Application: Validate and apply the new transportation to the proposal

Prerequisites

  • A valid proposal_id (obtained via the proposal creation scenario)

Process workflow

Legend:
Mandatory
Optional
1

Retrieve Alternative Transportation Options

Mandatory

This route returns the transportation currently applied to the proposal together with the available alternatives.

Prerequisites

Use a proposal that is eligible for transportation and its identifier. The API may also return a validity deadline for some options.

Calling CURL

curl -X POST \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: en-US" \
  -H "Content-Type: application/json" \
  -d '{"journeys": [{"transport_class": "STANDARD"}]}' \
  "https://api.clubmed.com/v1/proposals/{proposal_id}/available_transports"

Example answer

[
  {
    "id": "transport-1",
    "is_applied_transportation": false,
    "time_validity_limit": "2026-07-01T10:00:00Z",
    "price": {
      "amount": 220,
      "currency": "EUR"
    },
    "total_differential_price": {
      "amount": 80,
      "currency": "EUR"
    },
    "journeys": [
      {
        "travel_sections": [
          {
            "departure_point": "Paris",
            "arrival_point": "Valmorel",
            "transport_class": "STANDARD"
          }
        ]
      }
    ]
  }
]

info: Keep the identifier of the chosen option: it is required by the apply step and may expire after a few minutes.


Response codes

  • 200 OK: the alternative transports are returned.
  • 400 Bad Request: the proposal is not eligible for transport, or the JSON body is invalid.
  • 404 Not Found: the proposal cannot be found.
POST/v1/proposals/{proposal_id}/available_transports
See more
2

Apply the new transportation

Mandatory

This route applies a new transportation choice to the proposal using the identifier selected in the previous step.

Prerequisites

Reuse a transportation identifier that is still valid. Identifiers returned by the API expire quickly, usually after a few minutes.

Calling CURL

curl -X POST \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: en-US" \
  -H "Content-Type: application/json" \
  -d '{"id": "transport-1"}' \
  "https://api.clubmed.com/v5/proposals/{proposal_id}/transport_details"

Example answer

{
  "id": "transport-1",
  "journeys": [
    {
      "travel_sections": [
        {
          "departure_point": "Paris",
          "arrival_point": "Valmorel",
          "transport_class": "STANDARD"
        }
      ]
    }
  ],
  "price": {
    "amount": 220,
    "currency": "EUR"
  }
}

info: If the identifier is no longer valid, call the alternative transportation step again to retrieve a fresh option.


Response codes

  • 200 OK or 201 Created: the new transportation is applied and detailed in the response.
  • 400 Bad Request: the proposal is not eligible for transportation or the body is invalid.
  • 404 Not Found: the proposal cannot be found.
POST/v5/proposals/{proposal_id}/transport_details
See more