Itineraries API

Access near-real-time booking data for your customers

With our Itineraries API, you can display your customers’ booking information and help them find booking-related products or services such as tours or experiences. You can also use the data from this API to analyze booking trends and create reports for your stakeholders.

Available fields

The tables below list the fields, including any nested objects, available through our push and pull delivery methods.

Field nameDefinitionExample
itinerary_idThe itinerary number or point of sale order reference number.72622069245694
statusThe status of the itinerary and of its individual items.Possible values:
booked
cancelled
creation_date*The date a booking was initially made, represented in ISO8601 date format (YYYY-MM-DD).2023-02-05
update_date_time*The last update date & time for the itinerary, represented in ISO8601 date format (YYYY-MM-dd"T"HH:mm:ss.SSSZ).2023-10-21T00:00:00.000-08:00
onlineIndicates whether the itinerary was booked online or via an agent. Represented as a Boolean.true
packageIndicates whether the itinerary was booked online or via an agent. Represented as a Boolean.false
payment_typeThe means of payment used at checkout.Possible values:
credit card
points
split pay
point_of_sale_country_codeThe country code for the point of sale from which the customer made the booking. Represented in two-letter ISO 3166-1 alpha-2 format.GB
purchaserIdentification of the person who made the booking. See purchaser table for listing of nested items. 
property_booking_itemsLodging components booked as part of the itinerary. See property_booking_items table for listing of nested items. 
flight_booking_itemsAir components booked as part of the itinerary. See flight_booking_items table for listing of nested items. 
car_booking_itemsCar components booked as part of the itinerary. See car_booking_items table for listing of nested items. 
activity_booking_itemsActivity components booked as part of the itinerary. See activity_booking_items table for listing of nested items. 
insurance_booking_itemsInsurance components booked as part of the itinerary. See insurance_booking_items table for listing of nested items. 
rateThe rate and pricing details of a booking item or of the whole itinerary. See rate table for listing of nested items. 
couponThe coupon applied to the itinerary, when applicable. See coupon table for listing of nested items. 
|

purchaser

These fields identify the person who made the booking.

Field nameDefinitionExample
purchaser.email**Email address of the person who made the booking.smith@example.com
purchaser.loyalty_id**Loyalty program membership identifier.12345678

property_booking_items

These fields list the lodging components booked as part of the itinerary.

Field nameDefinitionExample
booking_item_idIdentifier of a specific element booked as part of an itinerary.1400882912
statusStatus of the specific lodging element.Possible values:
booked
cancelled
checkin_date*Date of check-in for the corresponding lodging element. Represented in ISO8601 date format (YYYY-MM-DD).2023-02-01
checkout_date*Date of check-out for the corresponding lodging element. Represented in ISO8601 date format (YYYY-MM-DD).2023-02-05
property.idExpedia Group’s unique identifier for the hotel or vacation rental property1400882912
property.chain_nameName of the chain the property belongs to, when applicable.Independent
property.brand_nameName of the brand the property belongs to, when applicable. A chain may have multiple brands.Savoy Signature
property.nameName of the hotel or vacation rental.Hotel 1
property.cityName of the city where the property is located.Toronto
property.state_province_nameName of the state or province where the property is located.Ontario
property.country_codeCode of the country where the property is located. Represented in in two-letter ISO 3166-1 alpha-2 format.CA
property.star_ratingStar rating of the property.3
room_nameThe type of the booked room.Comfort Double Room, Private Bathroom
adult_countNumber of adults included on the corresponding booking.2
child_countNumber of children included on the corresponding booking.0
expedia_collectBoolean value representing whether the booking has been paid for at checkout (true) or must be paid directly to the provider (false).true
property_confirmation_id***Confirmation ID provided by the hotel or vacation rental company.1516171819
rateThe rate and pricing details of the lodging booking. See rate table for listing of nested items. 

flight_booking_items

These fields list the air components booked as part of the itinerary.

Field nameDefinitionExample
booking_item_idIdentifier of a specific element booked as part of an itinerary.1400882911
statusStatus of the specific air trip element.Possible values:
booked
cancelled
departure_date*Start date of the corresponding air trip element. Represented in ISO8601 Date format (YYYY-MM-DD).2023-02-01
arrival_date*End date for the corresponding air trip element. Represented in ISO8601 Date format (YYYY-MM-DD).2023-02-02
airline.plating_carrierName of the airline that the ticket has been issued on behalf of.Air Canada
carrier_pnrPassenger name on record.SMITH
trip_typeThe type of trip booked.Possible values:
one way
round trip
multiple destinations
fare_classThe fare class of the ticket.Economy
airport_origin_codeThe code for the origin airport. Represented in IATA (International Air Transport Association) format.LHR
airport_origin_locationThe location of the origin airport.London, GB (LHR-Heathrow)
airport_destination_codeThe code for the destination airport. Represented in IATA format.YYZ
airport_destination_locationThe location of the destination airport.Toronto, ON (YYZ-Lester B. Pearson Intl.)
ticket_numberTicket number for the flight.123456789101
expedia_collectBoolean value representing whether the booking has been paid for at checkout (true) or must be paid directly to the provider (false).true
segment_countThe number of flight segments for the flight ticket.1
rateThe rate and pricing details of the flight booking. See rate table for listing of nested items. 

car_booking_items

These fields list the car components booked as part of the itinerary.

Field nameDefinitionExample
booking_item_idIdentifier of a specific element booked as part of an itinerary.1400882910
statusStatus of the specific car trip element.Possible values:
booked
cancelled
pickup_date*Start date for the car trip element. Represented in ISO8601 Date format (YYYY-MM-DD).2023-02-02
return_date*End date for the car trip element. Represented in ISO8601 Date format (YYYY-MM-DD).2023-02-05
rental_company.name***Name of the car rental company.Hertz
car_type***Type of car rented.2/4 door compact
pickup_locationPickup location for the car.Deer Lake, NL (YDF-Deer Lake Regional)
pickup_country_code***Country code for the car pickup location. Represented in two-letter ISO 3166-1 alpha-2 format.CA
return_locationReturn location for the car.Deer Lake, NL (YDF-Deer Lake Regional)
return_country_code***Country code for the car return location. Represented in two-letter ISO 3166-1 alpha-2 format.CA
trip_typeThe type of trip booked.Possible values:
one way
round trip
multiple destinations
rental_company_confirmation_id***Confirmation ID provided by the car rental company.ABC1234
expedia_collectBoolean value representing whether the booking has been paid for at checkout (true) or must be paid directly to the provider (false).false
rateThe rate and pricing details of the car booking. See rate table for listing of nested items. 

activity_booking_items

These fields list the activity components booked as part of the itinerary.

Field nameDefinitionExample
booking_item_idIdentifier of a specific element booked as part of an itinerary.1400882910
statusStatus of the specific activity.Possible values:
booked
cancelled
activity_start_date*Start date for the activity. Represented in ISO8601 Date format (YYYY-MM-DD).2023-02-03
activity_end_date*End date for the activity. Represented in ISO8601 Date format (YYYY-MM-DD).2023-02-03
vendor.name***Name of the vendor providing the activity.Viator
vendor.city***City where the activity vendor is located.Deer Lake, NL (YDF-Deer Lake Regional)
vendor.country_code***Country code where the activity vendor is located. Represented in two-letter ISO 3166-1 alpha-2 format.CA
offering_name***Name of the activity.Passions of Paradise Great Barrier Reef
rateThe rate and pricing details of the activity booking. See rate table for listing of nested items. 

insurance_booking_items

These fields list the insurance components booked as part of the itinerary.

Field nameDefinitionExample
booking_item_idIdentifier of a specific element booked as part of an itinerary.1400882610
statusStatus of the specific insurance selected.Possible values:
booked
cancelled
rateThe rate and pricing details of the insurance selected. See rate table for listing of nested items. 

rate and pricing

These fields list the rate and pricing details of a booking item or of the whole itinerary.


rate

Field nameDefinitionExample
rate_plan_nameThe name of the rate plan used for pricing of the item. Available for property_booking_items only.Room only
rate_plan_typeThe type of rate used for the booking. Available for property_booking_items only.Distribution rate
refundableWhether the corresponding booking component is refundable.true

pricing

This field has nested values that describe the monetary value of the booking, broken down by gross booking value and taxes and fees. The fields are further nested to allow for flexibility.

Field names that begin with a name followed by a period (for example, <variable>.<nested variable>) indicate a nesting relationship. All fields in this table are nested under the pricing variable.

Field nameDefinitionExample
taxes_and_feesThe value and currency of the taxes and fees for the booking. See nested items below. 
gross_booking_valueThe monetary value of the booking including taxes and fees.2523.00
taxes_and_fees.billable_currencyThe monetary value of the taxes and fees for the booking, in the currency used for the payment. Nested under taxes_and_fees variable. See nested items below. 
gross_booking_value.billable_currencyThe monetary value of the booking in the currency used for the payment. Nested under gross_booking_value variable. See nested items below. 
billable_currency.currencyCurrency in which the booking is paid by the customer. Represented in ISO 4217 format. Nested under billable_currency variable.GBP
billable.currency.valueThe gross booking value of the booking. Nested under billable_currency variable.2520.80
billable_currency.currencyCurrency in which the taxes and fees are paid by the customer. Represented in ISO 4217 format. Nested under billable_currency variable.GBP
billable_currency.valueAmount paid by the customer for taxes and fees, in the billable currency. Nested under billable_currency variable.491.10

coupon

Field nameDefinitionExample
code***Coupon code used for the booking.ABCD
name***Coupon name.PRIME
description***Description of the coupon.BoGo 5%
currency***Currency in which the coupon value has been applied. Represented in ISO 4217 format.GBP
value***Monetary value of the coupon.126.04

*Date fields are in Coordinated Universal Time (UTC).

**Personally Identifiable Information (PII) data. Be sure to handle this correctly per your company’s guidelines. Please include only when absolutely necessary.

*** Data for these fields will be made available between 6:00 PM and 8:00 PM UTC on the day after the booking was created or updated. Not currently available in near-real time.

Delivery methods

The Itineraries API delivers data in two ways: push mechanism and pull mechanism.

Push mechanism

The push service has been designed to send itinerary updates as they become available in near-real time, focusing on core itinerary details. This service targets the following use cases:

  • Enable partners to display customers’ booking information on their website or app
  • Enable partners to merchandize booking-related products and services

Events will be delivered via a Webhook to the URL you provide, in the format of an HTTP POST message. Bear in mind that messages may arrive unordered. Refer to the creation_date and update_date_time elements to determine ordering.

For details on the authentication process, see Getting started.

Pull mechanism

The pull service provides detailed itinerary data to support use cases including:

  • Enable data analysis
  • Enable data retrieval for time windows where the push delivery failed
  • Enable help desk support in real time

This service consists of two HTTP GET endpoints: one makes available a list of itineraries created or updated in a specified time range, and the other retrieves specific itineraries by their ID. The query parameters are:

  • creation_date_start
  • creation_date_end
  • update_date_time_start
  • update_date_time_end
  • itinerary_id

For details on the authentication process, see Getting started.

API details

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




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