Cars and Transfers
The Amadeus Cars and Transfers APIs provide an extensive suite of capabilities designed to simplify the process of booking and managing transfers during a traveler's trip, delivering a seamless and efficient experience.
Have a look at our dedicated Postman collection to easily test the Cars and Transfers API with pre-set requests.
APIs | Description |
---|---|
Transfer Search | This API enables users to search for a transfer using a range of pre-arranged transportation options. These options include Private Transfers, Hourly Services, Taxis, Shared Transfers, Airport Express trains and buses, Private Jets, and Helicopter Transfers. |
Transfer Booking | Once a transfer is chosen, the Transfer Booking API completes the reservation. It provides a unique booking ID and reservation details, which can be used to manage the reservation later. |
Transfer Management | This API provides tools for managing transfer reservations. Using the booking ID provided by the Transfer Booking API, users can cancel reservations. |
Search for a transfer
The search is carried out through a POST API call to /shopping​/transfer-offers. The API request includes parameters like the start and end locations, type of transfer, number of passengers, provider codes, and other optional parameters.
In the following example request, we have multiple parameters each with its own specific meaning and structure:
-
startLocationCode
: "CDG" - This is an International Air Transport Association (IATA) airport code which represents Charles de Gaulle Airport in Paris, France. The starting location of the journey. -
endAddressLine
: "Avenue Anatole France, 5" - This is the exact address where the journey will end, presumably a location in Paris. -
endCityName
: "Paris" - The city where the journey ends. -
endZipCode
: "75007" - This represents the postal code of the end location. -
endCountryCode
: "FR" - It's a two-letter country code representing France. -
endName
: "Souvenirs De La Tour" - The name of the destination, perhaps a business or venue at the end location. -
endGooglePlaceId
: "ChIJL-DOWeBv5kcRfTbh97PimNc" - A unique identifier that Google assigns to a location. You can use it to get more details about this location using Google's Places API. -
endGeoCode
: "48.859466,2.2976965" - The geographical coordinates of the end location. The first number is latitude and the second is longitude. -
transferType
: "PRIVATE" - This indicates that the transfer type is private, meaning the transfer will not be shared with others. This value is the Amadeus transfer service type, which can take one of the following: -
PRIVATE: Private transfer from point to point
- SHARED: Shared transfer from point to point
- TAXI: Taxi reservation from point to point, price is estimated
- HOURLY: Chauffeured driven transfer per hour
- AIRPORT_EXPRESS: Express Train from/to Airport
- AIRPORT_BUS: Express Bus from/to Airport
- HELICOPTER: Private helicopter flight from/to airport
-
PRIVATE_JET: Private flight from airport to airport
-
startDateTime
: "2021-11-10T10:30:00" - The ISO 8601 timestamp when the journey begins. -
providerCodes
: "TXO" - The code representing the provider of the transfer service. -
passengers
: 2 - The total number of passengers who will take the journey. -
stopOvers
: This is an array of objects representing different stopovers on the journey. Each object includes details about the duration of the stopover, the sequence number (which stopover it is), and information about the stopover's address, country code, city name, zip code, Google place ID, name, and geographical coordinates. For example, astopOver
object might look like this:
-
startConnectedSegment
: This object contains information about a connected transportation segment, like a flight, that leads to the start of this transfer. It includes details about the transportation type, transportation number, and the departure and arrival of this segment. -
passengerCharacteristics
: This array of objects includes details about the passengers' type codes and their ages. For example, "ADT" stands for an adult passenger and "CHD" stands for a child passenger.
This request initiates a search for a private transfer for two passengers from location CDG with specific passenger characteristics and other details.
Let's have a look at the response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
|
The data represents a private transfer offer with the id 0cb11574-4a02-11e8-842f-0ed5f89f718b
. The transfer begins from the location CDG
at the time 2021-11-10T10:30:00
and ends at the location Souvenirs De La Tour
located at Avenue Anatole France, 5 in Paris, France.
During the journey, there's a stopover at De La Tours
situated at Avenue de la Bourdonnais, 19 in Paris, France for 2 hours and 30 minutes. The vehicle to be used for this transfer is a VAN in the category BU. The model of the vehicle can be a Mercedes-Benz V-Class, Chevrolet Suburban, Cadillac Escalade or similar. The vehicle can accommodate 3 passengers and 3 medium-sized baggages.
The transfer service provider is Provider name
with the code ABC
. The quotation for the transfer is 63.70 USD after a discount of 50.00 USD from the base price of 103.70 USD. The total taxes and fees for the transfer are 12.74 USD and 10.00 USD respectively.
There are also options to avail extra services like "Extra 15 min. wait" for 39.20 USD and to rent equipment like Baby stroller or Push chair
for 39.20 USD. The cancellation rules state a 100% fee for cancellations made between 0 to 1 day before the transfer and no fee for cancellations made between 1 to 100 days before the transfer.
The payment for the transfer can be made through Credit Card or Invoice. A discount code FJKS0289LDIW234
is also available for use.
This transfer offer is linked to a flight with the transportation number AF380
departing from NCE
at 2021-11-10T09:00:00
and arriving at CDG
at 2021-11-10T10:00:00
. The transfer caters to a passenger aged 20 and a child aged 10.
A warning code 101
titled PICK-UP DATE TIME CHANGED
is issued stating that the transfer pick-up date and time have been changed by the provider.
Booking a transfer
Let's now look into the Transfer Booking API.
The main endpoint URL is https://test.api.amadeus.com/v1/ordering/transfer-orders?offerId=<OFFER_ID>
. The parameter <OFFER_ID>
needs to be replaced with the actual ID of the offer you wish to order, such as 0cb11574-4a02-11e8-842f-0ed5f89f718b
, which we obtained in our previous example.
data
: Root level object encapsulating all the necessary data for the transfer order.
- note
: A string containing a note intended for the driver. (Example: "Note to driver")
- passengers
: An array of objects, each representing a passenger with the following properties:
- firstName
: A string containing the passenger's first name. (Example: "John")
- lastName
: A string containing the passenger's last name. (Example: "Doe")
- title
: A string containing the passenger's title ("MR", "MS", etc.). (Example: "MR")
- contacts
: An object containing contact details:
- phoneNumber
: A string containing the passenger's phone number. (Example: "+33123456789")
- email
: A string containing the passenger's email address. (Example: "user@email.com")
- billingAddress
: An object containing the billing address details:
- line
: Street name and number. (Example: "Avenue de la Bourdonnais, 19")
- zip
: Zip or postal code. (Example: "75007")
- countryCode
: Country code. (Example: "FR")
- cityName
: City name. (Example: "Paris")
- agency
: An object representing the agency details with the following properties:
- contacts
: An array containing objects, each representing a contact's details:
- email
: An object containing the email details:
- address
: A string containing the contact's email address. (Example: "abc@test.com")
- payment
: An object containing payment details:
- methodOfPayment
: A string indicating the method of payment. (Example: "CREDIT_CARD")
- creditCard
: An object containing credit card details:
- number
: A string containing the credit card number. (Example: "4111111111111111")
- holderName
: A string containing the card holder's name. (Example: "JOHN DOE")
- vendorCode
: A string containing the vendor's code. (Example: "VI")
- expiryDate
: A string containing the expiry date of the card. (Example: "1018")
- cvv
: A string containing the card's CVV. (Example: "111")
- extraServices
: An array containing objects, each representing an extra service:
- code
: A string indicating the service's code. (Example: "EWT")
- itemId
: A string indicating the service's item ID. (Example: "EWT0291")
- equipment
: An array containing objects, each representing an equipment detail:
- code
: A string indicating the equipment's code. (Example: "BBS")
- corporation
: An object containing corporation details:
- address
: An object containing the corporation address:
- line
: Street name and number. (Example: "5 Avenue Anatole France")
- zip
: Zip or postal code. (Example: "75007")
- countryCode
: Country code. (Example: "FR")
- cityName
: City name. (Example: "Paris")
- info
: An object containing additional corporation info:
- AU
: Additional information (Example: "FHOWMD024")
- CE
: Additional information (Example: "280421GH")
- startConnectedSegment
: An object representing the start of a connected transport segment:
- transportationType
: A string indicating the type of transportation. (Example: "FLIGHT")
- transportationNumber
: A string indicating the transportation number. (Example: "AF380")
- departure
: An object containing departure details:
- uicCode
: A string indicating the UIC code. (Example: "7400001")
- iataCode
: A string indicating the IATA code. (Example: "CDG")
- localDateTime
: A string indicating the local date and time of departure. (Example: "2021-03-27T20:03:00")
- arrival
: An object containing arrival details:
- uicCode
: A string indicating the UIC code. (Example: "7400001")
- iataCode
: A string indicating the IATA code. (Example: "CDG")
- localDateTime
: A string indicating the local date and time of arrival. (Example: "2021-03-27T20:03:00")
- endConnectedSegment
: An object representing the end of a connected transport segment (same structure as startConnectedSegment
).
Cancelling a transfer
The Transfer Management API effectively allows us to cancel a transfer linked with an existing order.
For example:
POST https://test.api.amadeus.com/v1/ordering/transfer-orders/{orderId}/transfers/cancellation
The {orderId}
in the URL should be replaced with the unique identifier of the order that was previously generated when the order was created. For instance, the orderId
could be something like 0cb11574-4a02-11e8-842f-0ed5f89f718b
.
The confirmNbr
is a unique confirmation number associated with the transfer that is to be cancelled.
The response for this request will confirm the cancellation of the transfer. Here's an example response:
In this example response, we see the confirmNbr
2904892
and the reservationStatus CANCELLED
, confirming that the cancellation has been successful.