Itinerary Summary API

Guidance and examples for accessing the Itinerary Summary API

The Itinerary Summary API allows a partner to query for all itineraries that have been booked on a single Expedia user account.

Endpoint

MethodEndpoint
GEThttps://apim.expedia.com/bookings

Required Headers

Key:Expedia API key
Authorization:Expedia API Authorization String
User-Id:username@domain.com
Accept:application/vnd.exp-booking.v3+json
Partner-Transaction-Id:Partner TransactionID String

Optional Headers

Password:[Expedia account password] Include if booking under an Expedia user account. Leave blank to book as a guest user.

Next Steps

  • The user can link to the Expedia website to view the itinerary
  • The user can use the optional API query to access the itinerary data.

Example Itinerary Summary API Query

Request URL

https://apim.expedia.com/bookings?status=BOOKED,SAVED&startDate=2021-06-01&endDate=2021-06-02&limit=10

Response

{
	"Warnings": [{
		"MAX_LIMIT_EXCEEDED": "The maximum number of itineraries that can be retrieved exceeded. Allowed Limit: 100."
	}],
	"TransactionId": "f06edfa3-27f4-44e6-838c-b8dd3d0a3210",
	"Itineraries": [{
			"Title": "Hotel & Air Package",
			"TripNumber": "1234567866",
			"CreateDateTime": "2021-06-17T02:51:33.320Z",
			"Entities": [{
					"ProductType": "HOTEL",
					"BookingStatus": "BOOKED",
					"StartDateTime": "2021-06-23T08:00:00-08:00",
					"EndDateTime": "2021-06-26T08:00:00-08:00"
				},
				{
					"ProductType": "FLIGHT",
					"BookingStatus": "BOOKED",
					"StartDateTime": "2021-06-08T22:00:00-08:00",
					"EndDateTime": "2021-06-10T22:00:00-08:00"
				}
			],
			"Links": {
				"WebItinRetrieve": {
					"Href": "https://www.expedia.com/1234567"
				},
				"ApiItinRetrieve": {
					"Accept": "application/vnd.exp-booking.v3+json",
					"Method": "GET",
					"Href": "https://apim.expedia.com/packages/bookings/71184721958"
				}
			},
			"TotalCommission": {
				"Value": "68.80",
				"Currency": "USD"
			}
		},
		{
			"Title": "Hotel Booking",
			"TripNumber": "1234567866",
			"CreateDateTime": "2021-06-17T08:00:00-08:00",
			"Entities": [{
				"ProductType": "HOTEL",
				"BookingStatus": "BOOKED",
				"StartDateTime": "2021-06-23T08:00:00-08:00",
				"EndDateTime": "2021-06-26T08:00:00-08:00"
			}],
			"Links": {
				"WebItinRetrieve": {
					"Href": "https://www.expedia.com/1234567"
				},
				"ApiItinRetrieve": {
					"Accept": "application/vnd.exp-booking.v3+json",
					"Method": "GET",
					"Href": "https://apim.expedia.com/hotels/bookings/71184721958"
				}
			}
		},
		{
			"Title": "Car Booking",
			"TripNumber": "1234567866",
			"CreateDateTime": "2021-06-17T08:00:00-08:00",
			"Entities": [{
				"ProductType": "CAR",
				"BookingStatus": "BOOKED",
				"StartDateTime": "2021-06-09T08:00:00-08:00",
				"EndDateTime": "2021-06-10T08:00:00-08:00"
			}],
			"Links": {
				"WebItinRetrieve": {
					"Href": "https://www.expedia.com/1234567"
				},
				"ApiItinRetrieve": {
					"Accept": "application/vnd.exp-booking.v3+json",
					"Method": "GET",
					"Href": "https://apim.expedia.com/cars/bookings/71184721958"
				}
			}
		},
		{
			"Title": "Air Booking",
			"TripNumber": "1234567866",
			"CreateDateTime": "2021-06-17T08:00:00-08:00",
			"Entities": [{
				"ProductType": "FLIGHT",
				"BookingStatus": "BOOKED",
				"StartDateTime": "2021-06-08T08:00:00-08:00",
				"EndDateTime": "2021-06-10T08:00:00-08:00"
			}],
			"Links": {
				"WebItinRetrieve": {
					"Href": "https://www.expedia.com/1234567"
				},
				"ApiItinRetrieve": {
					"Accept": "application/vnd.exp-booking.v3+json",
					"Method": "GET",
					"Href": "https://apim.expedia.com/airs/bookings/71184721958"
				}
			}
		}
	]
}

Warning Codes

Common Warning Codes

Warning CodeWarning ResponseCause
MAX_LIMIT_EXCEEDEDThe maximum number of itineraries that can be retrieved exceeded. Allowed Limit: 100.The number of itineraries have exceeded the maximum number of itin that can be retrieve by the system. Please filter the results.
INVALID_TRIP_LIMITTrip limit is invalid. Allowed values are numbers in range [1 - 100].The URL param value of the 'Limit' was not of valid type. It need to be a Valid a number between the mentioned range. The results will be fetched based on the system limit
PARTIAL_RESULTS_DISPLAYEDShowing 100 itineraries of 216.The search criteria was giving more results than expected. The message will let user know if there are any results that are not shown in the response.

Error Codes

Common Error Codes

HTTP Status CodeError CodeError ResponseCause
400INVALID_TRIP_START_DATEStart Date is in invalid format, Valid format is YYYY-MM-DD.The Start date that was entered was not a the defined format.
400INVALID_TRIP_END_DATEEnd Date is in invalid format, Valid format is YYYY-MM-DD.The End date that was entered was not a the defined format.
400START_DATE_LATER_THAN_END_DATEStart Date must occur before End Date.The start date should come before the End Date
400INVALID_TRIP_STATUSTrip Status is invalid. It has to be [BOOKED/ CANCELED/ PENDING/ SAVED]Please use a valid trip status from the mentioned values

API details

Here, you can explore the endpoint definitions for this API, then go to the API Explorer to try out all the XAP endpoints, download OpenAPI specs, or download our Postman collections. Testing with one or all of these options will give you 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!