Itinerary History
The itinerary history section of Rapid's Retrieve API allows you to see the the historic details of every room associated with the booking
Overview
Itinerary History is useful for all bookings but particularly for those where changes have been made as it can be used for reconciliation and validation in case of outages, issues, escalations, etc. The solution is flexible enough that you can plug it into your agent/servicing tools as well as customer-facing sites, apps, etc.
Itinerary History can be included in an existing Retrieve API response by passing the include=history
flag and will include historic details about a booking itinerary. A separate history section will be available for all rooms within a booking and each section will consist of three booking event objects - created
, modified
, and canceled
. Additionally, you will also see the itinerary_history
section which will provide itinerary-level adjustments made by Expedia Group agents.
created | modified | canceled |
---|---|---|
Event object will include details of the original booking. | Event object will include details of changes made to the booking.* | Event object will include details of any cancellations made to the booking. |
If you make multiple hard changes (changes having financial impact) together in the same flow then the history will have only one modified
event. However, if hard changes are made separately, one after the other, then the history will show multiple modified
objects.
*The modified
event in the itinerary history of a given room will only be generated when there is a hard change made to the room via our APIs or Expedia Group servicing/agent tools. Changes that do not have a financial impact, such as name change, smoking preference, special request changes etc, made to the room through the Change Details API or via Expedia Group servicing/agent tools are considered as soft changes and will not be reflected as a new modified event but they will be merged to the latest event that the room has.
For example, the following actions will generate these itinerary history details:
- Creating a single-room booking will generate a
created
event. - Updating the special request through Change Details API or via Expedia Group servicing/agent tools will not generate a
modified
event, the existingcreated
event created from the previous step will show the updated/latestspecial_request
. - Requesting to change the room to a different check-in date through the Hard Change API or via Expedia Group servicing/agent tools will generate a
modified
event with the new check-in date. - Updating the
given_name
through Change Details API or via Expedia Group servicing/agent tools will not generate amodified
event, the existingmodified
event from the previous step will show the updated/latestgiven_name
. - Canceling the room will generate a
canceled
event.
To see the history of the booking, you should call the Itinerary Retrieve API by using the include=history
flag. Both itinerary-level and room-level details will be returned in the response.
Example:
{
"itinerary_id": "8999989898988",
"rooms": [ ... ],
...
"itinerary_history": [
{
"history_id": "842737548",
"event_timestamp": "2023-06-27T13:31:15.523Z",
"event_type": "adjustment",
"amount": {
"value": "-32.10",
"currency": "USD"
},
"agent_id": "10203"
}
],
"room_history": [
[
{
"history_id": "42b4240c-109d-4bd6-a141-1db50619b700",
"event_timestamp": "2023-06-27T20:54:47.551Z",
"event_type": "created",
"event_source": "rapid_api",
"confirmation_id": {
"expedia": "34222139"
},
"status": "canceled",
"checkin": "2023-06-27",
"checkout": "2023-06-29",
"number_of_adults": 1,
"given_name": "Jane",
"family_name": "Doe",
"bed_group_id": "37310",
"smoking": false,
"special_request": "Top floor or away from street please",
"rate": {
"id": "240273974",
"merchant_of_record": "property",
"refundable": false,
"cancel_refund": {
"amount": "-76.71",
"currency": "USD"
},
"cancel_penalties": [
{
"currency": "USD",
"nights": "1",
"start": "2023-06-27T14:00:00.000-07:00",
"end": "2023-06-27T15:00:00.000-07:00"
}
],
"pricing": {
"nightly": [
[
{
"value": "66.02",
"type": "base_rate",
"currency": "USD"
},
{
"value": "10.69",
"type": "tax_and_service_fee",
"currency": "USD"
}
],
[
{
"value": "66.02",
"type": "base_rate",
"currency": "USD"
},
{
"value": "10.69",
"type": "tax_and_service_fee",
"currency": "USD"
}
]
],
"totals": {
"inclusive": {
"billable_currency": {
"value": "153.42",
"currency": "USD"
}
},
"exclusive": {
"billable_currency": {
"value": "132.04",
"currency": "USD"
}
}
}
}
},
"amount_charged": {
"billable_currency": {
"value": "153.42",
"currency": "USD"
}
},
"room_id": "213014272"
},
{
"history_id": "e5f4221f-31bc-406c-a8e5-00aa46d13564",
"event_timestamp": "2023-06-27T21:11:31.578Z",
"event_type": "modified",
"event_source": "rapid_api",
"confirmation_id": {
"expedia": "34232470"
},
"status": "canceled",
"checkin": "2023-06-27",
"checkout": "2023-06-30",
"number_of_adults": 1,
"given_name": "Jane",
"family_name": "Doe",
"bed_group_id": "37310",
"smoking": false,
"special_request": "Top floor or away from street please",
"rate": {
"id": "240242975",
"merchant_of_record": "property",
"refundable": false,
"cancel_refund": {
"amount": "-191.100",
"currency": "USD"
},
"cancel_penalties": [
{
"currency": "USD",
"nights": "1",
"start": "2023-06-27T14:00:00.000-07:00",
"end": "2023-06-27T15:00:00.000-07:00"
}
],
"amenities": [
"2192",
"2109"
],
"pricing": {
"nightly": [
[
{
"value": "83.000",
"type": "base_rate",
"currency": "USD"
},
{
"value": "12.550",
"type": "tax_and_service_fee",
"currency": "USD"
}
],
[
{
"value": "83.000",
"type": "base_rate",
"currency": "USD"
},
{
"value": "12.550",
"type": "tax_and_service_fee",
"currency": "USD"
}
],
[
{
"value": "83.000",
"type": "base_rate",
"currency": "USD"
},
{
"value": "12.550",
"type": "tax_and_service_fee",
"currency": "USD"
}
]
],
"totals": {
"inclusive": {
"billable_currency": {
"value": "286.650",
"currency": "USD"
}
},
"exclusive": {
"billable_currency": {
"value": "249.000",
"currency": "USD"
}
}
}
}
},
"amount_charged": {
"billable_currency": {
"value": "209.940",
"currency": "USD"
}
},
"penalty": {
"billable_currency": {
"value": "76.71",
"currency": "USD"
}
},
"room_id": "213018273"
},
{
"history_id": "e5f4221f-31bc-406c-a8e5-00aa46d13564",
"event_timestamp": "2023-06-27T21:12:35.827852619Z",
"event_type": "canceled",
"event_source": "rapid_api",
"confirmation_id": {
"expedia": "34232470"
},
"status": "canceled",
"checkin": "2023-06-27",
"checkout": "2023-06-30",
"number_of_adults": 1,
"given_name": "Jane",
"family_name": "Doe",
"bed_group_id": "37310",
"smoking": false,
"special_request": "Top floor or away from street please",
"rate": {
"id": "242273975",
"merchant_of_record": "property",
"refundable": false,
"cancel_refund": {
"amount": "-191.100",
"currency": "USD"
},
"cancel_penalties": [
{
"currency": "USD",
"nights": "1",
"start": "2023-06-27T14:00:00.000-07:00",
"end": "2023-06-27T15:00:00.000-07:00"
}
],
"amenities": [
"2192",
"2109"
],
"pricing": {
"nightly": [
[
{
"value": "83.000",
"type": "base_rate",
"currency": "USD"
},
{
"value": "12.550",
"type": "tax_and_service_fee",
"currency": "USD"
}
],
[
{
"value": "83.000",
"type": "base_rate",
"currency": "USD"
},
{
"value": "12.550",
"type": "tax_and_service_fee",
"currency": "USD"
}
],
[
{
"value": "83.000",
"type": "base_rate",
"currency": "USD"
},
{
"value": "12.550",
"type": "tax_and_service_fee",
"currency": "USD"
}
]
],
"totals": {
"inclusive": {
"billable_currency": {
"value": "286.650",
"currency": "USD"
}
},
"exclusive": {
"billable_currency": {
"value": "249.000",
"currency": "USD"
}
}
}
}
},
"amount_refunded": {
"billable_currency": {
"value": "191.100",
"currency": "USD"
}
},
"penalty": {
"billable_currency": {
"value": "95.550",
"currency": "USD"
}
},
"room_id": "213014273"
}
]
]
}
To detect itinerary changes made by the property look for a combination of event type and event source.
When the include
request parameter in the itinerary retrieve request is history
:
event_source
-other
event_type
-- for supplier reduced stay, change, and goodwill refund -
modified
- for supplier cancel and no show -
canceled
- for supplier reduced stay, change, and goodwill refund -
When the include
request parameter in the itinerary retrieve request is history_v2
:
event_source
-supplier
event_type
-- for supplier reduced stay, change, and goodwill refund -
modified
- for supplier cancel -
canceled
- for traveler no show -
canceled_no_show
- for supplier reduced stay, change, and goodwill refund -
For a full example of the itinerary response with history present, check the example named Itinerary with History
for the Itinerary Retrieve endpoint.