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.

createdmodifiedcanceled
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 existing created event created from the previous step will show the updated/latest special_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 a modified event, the existing modified event from the previous step will show the updated/latest given_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

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 a full example of the itinerary response with history present, check the example named Itinerary with History for the Itinerary Retrieve endpoint.

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