Developer Hub

Booking overview

The Booking API allows travelers to create reservations for rental cars

Once the traveler has chosen the vendor and car with the Shopping API, you’ll provide them with the Booking API to make their reservation. The primary function of the Booking API is to create a reservation for the selected car offer.

Expedia Collect

For Expedia Collect bookings, before the reservation can be completed, payment information must be sent to our payment registration endpoint (v2/payments) which will generate a secure payment_token to be used in the Create Booking request body. You will then pass in a required affiliate_reference_id, primary driver information, and payment token to create the booking.

Note: For Expedia Collect bookings, the payment_registration_required field in availability and details response will always show as true and the payment_token will be included in the Create Booking request.

Vendor Collect

For Vendor Collect flows, the payment_registration_required field from the Availability and Details responses is used to determine whether the payment token is required to create the booking.

  • When payment_registration_required=true in details response, payment registration is mandatory, and the payment_token must be included in the Create Booking request.
  • When payment_registration_required=false in details response, payment registration is optional, and the payment_token may or may not be included in the Create Booking request.

>> Learn about the Payments API

Creating a booking

Each successful booking response contains links to retrieve the itinerary. The link to create a booking will remain valid until no more inventory with the supplier is available for that carOfferToken.

Sample request

POST https://api.ean.com/v2/itineraries/car
	?token=U1dFC0JHTWxUCwUHCWNjQ1sQRxBVVwFAW... ...15YTQTcHhefjYOfiBQfThuP1hcfVULeAM0W0U6VWBZFzQXdltcUFwRQgkLCgBRAAEHAVEADg==
{
  "affiliate_reference_id": "4480ABC",
  "primary_driver": {
    "given_name": "{{first_name}}",
    "middle_name": "Test",
    "family_name": "{{last_name}}",
    "phone": {
      "country_code": "1",
      "area_code": "487",
      "number": "5550077"
    },
    "email": "{{email}}"
  },
  "flight_details": {
      "air_carrier_code": "G4",
      "flight_number": 778
  },
  "traveler_loyalty_member_id": "ABCD1234","
  "requested_extras": [
    "SatelliteRadio",
    "ToddlerChildSeat"
  ],
  "affiliate_metadata": "data_point_1:123|data_point2:This is data.",
  "payment_token": "{{payment_token}}"
}

Sample response

{
    "itinerary_id": "9030336886597",
    "links": {
        "retrieve": {
            "method": "GET",
            "href": "https://api.ean.com/v2/itineraries/9030336886597/car",
        }
    }
}

>> Learn more about booking management >> See how to handle booking requests

To make a test booking that will not charge your card or be sent to the vendor, see our test request documentation.

API details

Explore the booking-related endpoint definitions on this page, then use the API Explorer or another testing software to get an understanding of how the examples and schema definitions compare to the actual output.

Additional resources

Whether you're looking to try out all the Rapid Car API endpoints or to download its OpenAPI specs, we have what you need.





Was this page helpful?
How can we improve this content?
Thank you for helping us improve!