Booking Guide for Air, Hotel, & Car

The JSON APIs support creating, returning, and managing multi-content bookings, which include air, hotel, and car segments on a single reservation.

Related Content: Booking Guide, Reservation Retrieve Guide, Reservation Retrieve API Reference

In this topic:

Basic Concepts

Multi-content bookings include a mix of air and/or hotel and/or car segments on a single reservation. The Reservation Retrieve and Create Post-Commit Workbench responses return by default all air, hotel, or car segments for any booking that includes this content. All segments must have been booked with the JSON Air APIs, JSON Hotel APIs, JSON Car APIs (full release pending), or from a terminal program.

You can also add either GDS or NDC air segments to a booking with hotel and/or car content, but not both GDS and NDC.

Adding Air to Hotel and Car Bookings

Use the following workflows for GDS and NDC to add an air itinerary to a reservation that has an air and/or car booking.

Remarks and optional services are not supported in the flows below.

You cannot add form of payment or send payment when adding an air offer to an existing hotel and/or car booking. After adding the offer and holding the booking, you can then ticket all offers or only specific offers as needed. In the ticketing workbench, be sure to specify all applicable offer identifiers in both the Add Form of Payment and Add Payment requests.

Add GDS Air to Hotel/Car Booking

Use this workflow to add a GDS air offer to an existing hotel and/or car booking:

  1. Create a post-commit workbench using the record locator for a booking that already has a hotel and/or car booking.

  2. Search for flights for the outbound/departure leg of the itinerary.

  3. Optionally, confirm pricing for a selected air offer for the first leg.

  4. Add offer to workbench.

  5. Search for flights for the inbound/return leg of the itinerary.

  6. Optionally, confirm pricing for a selected air offer.

  7. Add offer to workbench.

  8. Add optional form of payment details, seats, and/or ancillaries.

  9. Commit workbench.

Add NDC Air to Hotel/Car Booking

Use this workflow to add an NDC air offer to an existing hotel and/or car booking:

  1. Create a post-commit workbench using the record locator for a booking that already has a hotel and/or car booking.

  2. Add traveler docs to the booking using the TravelerUpdateableItems and Traveler Update requests.

  3. Commit workbench.

  4. Create a post-commit workbench using the same record locator.

  5. Add the NDC air offer to the workbench.

  6. Commit workbench.

Air, Hotel, and Car Content in Responses

Response Structure Updates

The Reservation Retrieve and Create Post-Commit Workbench responses return multiple offers as applicable, one each for air, car, and hotel. Air offers are returned as multiple offers if they were booked from multiple offers.

Content is returned in separate instances of Offer as follows:

  • Air segments are returned with an Offer/Product type of ProductAir.

  • Hotel segments are returned with an Offer/Product type of ProductHospitality.

  • Car segments are returned with an Offer/Product type of ProductVehicle.

The Offer object for each content type returns details in the Product, Price, and TermsAndConditions objects. Additional booking details may be returned in these objects:

  • Traveler: Traveler details.

  • FormOfPayment and Payment: Applicable only to air segments; not returned for Hotel and Car.

  • Receipt: Confirmation statuses and numbers are returned in individual instances of Receipt with OfferStatus type OfferStatusHospitality for hotel, OfferStatusVehicle for car, and OfferStatusAir for air; see the example excerpt below.

  • ReservationComment: Any comments added at booking.

  • The ReservationDisplaySequence object identifies the sequence of each segment.

Supported Combinations

The Reservation Retrieve response can retrieve reservations that have any of the following combination of products:

  • GDS Air

  • NDC Air

  • Car

  • Hotel

  • GDS Air + Car

  • GDS Air + Hotel

  • GDS Air + Car + Hotel

  • NDC Air + Car

  • NDC Air + Hotel

  • NDC Air + Car + Hotel

  • Car + Hotel

ReservationDisplaySequence Values to Indicate Sequence

The Reservation Retrieve and Create Post-Commit Workbench responses return segments in the order of air, hotel, and then car regardless of the actual dates of these segments. To ensure accurately representing a traveler itinerary, refer to the following values in the ReservationDisplaySequence object. Individual products are returned in separate instances of DisplaySequence.

Each instance of DisplaySequence includes the following objects and details:

  • displaySequence: The segment number in the system.

  • OfferRef: The offer id assigned to that segment.

  • ProductRef: The product number. Note that each leg of an air itinerary is returned as a separate product under the same offer while car and hotel segments are each returned as a single product.

  • In addition, air segments return Sequence, which is the flight sequence number in the itinerary.

In the following example excerpt, the instances of DisplaySequence with displaySequence values 1 and 3 are the air segments, displaySequence 2 is the hotel segment, and displaySequence 4 is the car segment. See the examples later in this topic for the full response.

Car Content in the Response

A car reservation can include either active or passive car segments:

  • Active segments are booked directly in the JSON APIs or a terminal program and have segment status HK

  • Passive segments are bookings created through consolidators and have a segment status BK or MK

All Car Segments

The following details are returned in the Reservation Retrieve and Create Post-Commit Workbench responses for all car segments, both active and passive:

  • Identifier with system-generated value and authority Travelport

  • Quantity (number of cars booked)

  • Vehicle detail with code ECAR and Code Context (ACRISS) and explanation for each letter of that code, per the current Car Support page

  • Vehicle date and location details:

    • Rental pick-up date, time, location number, location name, and code (city/airport)

    • Rental return (drop-off) date, time, location number, location name, and code (city/airport)

  • Product Ancillary Vehicle having Equipment Type Code Value

  • Price details:

    • Currency code (codeAuthority always returns the currency of the hotel location country, which may be different than the PCC currency)

    • Decimal place (e.g., when decimal place is 2, an amount is returned in the format 85.55)

    • Price breakdown:

      • Vehicle Price:

        • Rate Guarantee Indicator

        • Rate Distance – allowance (value), distance units (Kilometers/Miles/Unlimited), rate period (day/weekly/weekend/month)

      • Approximate Rate:

        • Base rate code (currency where the vehicle is booked, which might be different than the PCC currency)

        • Base rate value

    • Drop off charge if applicable

    • Extra Mileage Charge if applicable

    • Extra Hour Charge if applicable

    • Extra Day Charge if applicable

    • Estimated Total Amount

    • Rate Qualifier: Guarantee/Prepay as applicable, no payment details (card/cash, etc.)

  • Vehicle charges such as mandatory charges along with currency and value

  • Terms and conditions with rate code information

  • Traveler details

  • Receipt

  • 1G Locator

  • Receipt confirmation:

    • Locator type; also used as confirmation number

    • Source as vendor code

    • Source context as Supplier

    • Value as the car/supplier confirmation number

    • Offer Status as Confirmed/Pending/Rejected as applicable

    • If no filed fare is present for air in the reservation, the warning "NO FARES FOUND" is displayed

Note the following for all car segments:

  • Responses return the offer number for car after any hotel and air segments. For example, if car is booked for 11 Jun, air is booked for 15 Jun, and hotel is booked for 11-14 Jun, the car offer number is returned last. Refer to the ReservationDisplaySequence value to ensure accuracy.

  • Currently a defect exists that returns duplicate itinerary comments in the retrieve response when a booking has NDC air segments along with hotel and/or car segments.

Active Car Segments

The following additional information is returned only for active car segments:

  • Product Ancillary Vehicle having Equipment Type Code Value

  • Price details:

    • Currency code (codeAuthority always returns the currency of the hotel location country, which may be different than the PCC currency)

    • Decimal place (e.g., when decimal place is 2, an amount is returned in the format 85.55)

    • Price breakdown: Vehicle Price: Rate Guarantee Indicator

    • Drop off charge if applicable

    • Extra Mileage Charge if applicable

    • Extra Hour Charge if applicable

    • Extra Day Charge if applicable

    • Estimated Total Amount

    • Rate Qualifier: Guarantee/Prepay as applicable, no payment details (card/cash, etc.)

  • Vehicle charges such as mandatory charges along with currency and value

  • Terms and conditions with rate code information

Passive Car Segments

The following additional information is returned only for passive car segments:

  • Any reservation comments added at booking

Note the following for passive car segments:

  • Trailing zeros are truncated; e.g., 85.50 is returned as 85.5

  • Offer status does not return status code; e.g., HK/MK/BK is not returned

  • Approximate Total Amount, extra charges, and terms and conditions are not returned

Hotel Details in Responses

A hotel reservation can include either active or passive segments:

  • Active segments are booked directly in the JSON APIs or a terminal program and have segment status HK

  • Passive segments are bookings created through consolidators and have a segment status BK or MK

All Hotel Segments

The following details are returned in the the Reservation Retrieve and Create Post-Commit Workbench responses for all hotel segments, both active and passive:

  • Booking code (reference code number)+

  • Number of guests (default is 1)

  • Property Name+

  • Identifier with system-generated value and authority Travelport

  • Quantity (number of rooms booked)+

  • Chain code

  • Property code

  • Date range:

    • Start/Check-in date

    • End/Check-out date

  • Price details:

    • Currency code (returns the currency of the hotel location country, which may be different than the PCC currency)

    • Decimal place (e.g., decimal place of 2 returns amounts in format 85.55)

    • Total Price (approx. total rate for the booking)

    • Price Breakdown

      • Approximate Indicator ("approximateInd": true)

      • Nights (number of nights for the booking)

  • Traveler details

  • ReceiptConfirmation under Receipt, including:

    • 1G locator/PNR

    • Locator type, serves as confirmation number

    • Source with chain code

    • Source context as SUPPLIER

    • Value with the hotel/supplier confirmation number

  • Offer Status - returns status as Confirmed/Pending but not the segment confirmation code

  • Reservation comment if any

  • If any air segments on the booking do not have a filed fare, the warning NO FARES FOUND is returned

Note the following for all hotel segments:

  • Trailing zeros are truncated; for example, an amount of 85.50 is returned as 85.5

  • Offer status does not return the status code (e.g,, HK/MK/BK)

  • Guest number is always returned as 1

  • Responses return the offer number for hotel segments after any air segments. For example, if car is booked for 11 Jun, air is booked for 15 Jun, and hotel is booked for 11-14 Jun, the hotel offer number is returned second. Refer to the ReservationDisplaySequence value to ensure accuracy.

  • Any deposit or guarantee is not returned

  • Payment details are not returned

Active Hotel Segments

The following additional details are returned for active hotel segments:

  • Booking code (reference code number)

  • Property Name

  • Quantity (number of rooms booked)

  • Price details: Base (approx. nightly rate)

Passive Hotel Segments

The following additional details are returned for passive hotel segments; some of this data duplicates data returned in the Price object:

  • Price Breakdown

    • Room pricing type: Per stay (default)

    • Currency code (returns the currency of the hotel location country, which may be different than the PCC currency)

    • Decimal place

    • Total: (approximate rate quoted per night)

Note the following for passive hotel segments:

  • Because terminal bookings do not support nightly rate or approximate total price, price details return the rate quoted per night even though room pricing type is returned as per stay.

Example Responses

In the following examples:

  • Active segments are booked directly in the JSON APIs or a terminal program and have segment status HK

  • Passive segments are bookings created through consolidators and have a segment status BK or MK

NDC Air with Passive Hotel and Car

The following is a Reservation Retrieve response for a booking with an NDC round-trip flight and passive hotel and car reservations. For brevity, the air TermsAndConditions text and several instances of ReservationComment have been deleted.

GDS with Active Hotel and Car Content

The following is a Reservation Retrieve response for a booking with a GDS round-trip flight (Offer/id=offer_1) and active hotel (Offer/id=offer_2) and car (Offer/id=offer_3) reservations. For brevity, the air TermsAndConditions text and several instances of ReservationComment have been deleted.

This example includes the additional hotel content in ProductHospitality and TermsAndConditionsFull that was added to the Reservation Retrieve with AirReservation 24.11.48.