---
uuid: 1dfcb77a-a13c-4722-a9eb-db82d6574c15
date_created: 2026-01-23T17:04:50.020Z
date_updated: 2026-04-02T15:10:01.233Z
seo_url: change-transport-proposal
category: Transport
tags: 
  - Transport
routes: 
  - POST /v1/proposals/{proposal_id}/available_transports
  - POST /v5/proposals/{proposal_id}/transport_details
---

# Proposals: Transport selection journey

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.).

## Flow

```mermaid
flowchart LR
    step0["Retrieve Alternative Transportation Options"]
    step1["Apply the new transportation"]
    step0 --> step1
```

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)

## 1 - Retrieve Alternative Transportation Options

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

```bash
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

```json
[
  {
    "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.

**Related route**: [POST https://api.clubmed.com//v1/proposals/{proposal\_id}/available\_transports](https://api.clubmed.com/doc?search=POST%20%2Fv1%2Fproposals%2F%7Bproposal_id%7D%2Favailable_transports)

## 2 - Apply the new transportation

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

```bash
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

```json
{
  "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.

**Related route**: [POST https://api.clubmed.com//v5/proposals/{proposal\_id}/transport\_details](https://api.clubmed.com/doc?search=POST%20%2Fv5%2Fproposals%2F%7Bproposal_id%7D%2Ftransport_details)
