Skip to main content

Booking Management API

trip management
booking
REST API
Travel Agency
Try Now
release_note
  • GetBooking will start returning additional information regarding traveler association with flights and cars.
  • GetBooking will start supporting additional information associated with hotel bookings: corporate id and arrival/departure flight details.
  • GetBooking will start returning booking signature used to verify the state of the booking during modification (more information soon!).
  • GetBooking will start expanding traveler information based on the guest details stored in the hotel booking.
  • GetBooking will start returning agency IATA number if booking contains CSL (Content Services for Lodging) content.
  • CancelBooking schema will be slightly improved by removing unused, duplicated properties related to queue placement.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.12
Target Audience
TN
Environment
Production

What's New

  • GetBooking will start returning additional information regarding traveler association with flights and cars.
  • GetBooking will start supporting additional information associated with hotel bookings: corporate id and arrival/departure flight details.
  • GetBooking will start returning booking signature used to verify the state of the booking during modification (more information soon!).
  • GetBooking will start expanding traveler information based on the guest details stored in the hotel booking.
  • GetBooking will start returning agency IATA number if booking contains CSL (Content Services for Lodging) content.
  • CancelBooking schema will be slightly improved by removing unused, duplicated properties related to queue placement.

Business Value

  • Customers can now retrieve additional details associated with the existing hotel booking. Information like corporate id, guest’s email and phone numbers, as well as arrival and departure flight data, will be now, if applicable, present in the GetBooking response.
  • Introducing a booking signature will allow verifying the state of the booking and prevent from doing unexpected modifications.
  • Additional logic has been implemented to verify and retrieve guest information. This ensures more cohesive data in reference to traveler information returned by GetBooking.
  • Presence of the IATA number in the GetBooking response is a supplementary source of agency identification by the customers.
  • The removal of unused elements from the schema lets us maintain a high quality and complete API product.

New Features

In the Response

Optional

Parameter: GetBookingResponse.cars.travelerIndex

Type: Integer

Description: Specifies the traveler from the travelers list with whom the car booking is associated.

Sample Value:

"cars": [
        {
            "itemId": "25",
            "confirmationId": "15430145PL3-",
            "travelerIndex": 1,
            "vendorCode": "ZI",
            "pickUpDate": "2022-03-16",
            "pickUpTime": "10:30:00",
            "dropOffDate": "2022-03-19",
            "dropOffTime": "16:30:00",
            "isRefundable": true,
            "carStatusCode": "HK",
            "carStatusName": "Confirmed",
            "vehicleTypeCode": "ECAR",
            "vehicleTypeName": "Two/Four Door",
            "rateCode": "7S",
            "distanceAllowance": "UNL",
            "payment": {
                "subtotal": "320.10",
                "taxes": "34.25",
                "total": "354.35",
                "currencyCode": "USD"
            }
        }
    ]
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.travelerIndinces

Type: Array

Description: Lists the travelers within the `travelers` list. Indicates which travelers are associated with a particular flight.

Sample Value:

"flights": [
        {
            "itemId": "19",
            "confirmationId": "WPZHKK",
            "sourceType": "ATPCO",
            "flightNumber": 524,
            "airlineCode": "AA",
            "operatingFlightNumber": 524,
            "operatingAirlineCode": "AA",
            "fromAirportCode": "DFW",
            "toAirportCode": "LAX",
            "departureDate": "2022-09-20",
            "departureTime": "07:00:00",
            "arrivalDate": "2022-09-20",
            "arrivalTime": "08:00:00",
            "numberOfSeats": 3,
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "321",
            "aircraftTypeName": "AIRBUS",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "R",
                    "description": "Refreshment"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 180,
            "distanceInMiles": 1235,
            "travelerIndices": [
                1,
                2,
                3,
                4
            ]
        }
    ]
Note:

In the Response

Optional

Parameter: GetBookingResponse.bookingSignature

Type: String

Description: The unique ID of the Get Booking response. It is used to verify the state of the booking during the modification operation.

Sample Value:

{

    "bookingSignature": "33ece08825534415b465854608419b57da428c995720cdce4b9eb72b19fe716d5286b1a2f2e959abb6cc228b921d6a413690595cf0a7cf1ceb5186d73c9e0118",
    "request": {
        "confirmationId": "GXIIKO"
    }
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.hotels.corporateDiscountCode

Type: Integer

Description: A specific code that a company may give to an agency to use for a discount. It is usually tied to a negotiated rate code.

Sample Value:

"hotels": [
        {
            "itemId": "96",
            "confirmationId": "92907370-",
            "hotelName": "MARRIOTT VAC CLUB GRD CHT 1-2",
            "address": {
                "street": "75 EAST HARMON AVENUE",
                "city": "LAS VEGAS",
                "stateProvince": "NV",
                "postalCode": "89109",
                "countryCode": "US"
            },
            "checkInDate": "2022-06-07",
            "checkInTime": "00:00",
            "checkOutDate": "2022-06-13",
            "checkOutTime": "00:00",
            "corporateDiscountCode": 6878700,
            "leadTravelerIndex": 1,
            "room": {
                "quantity": 1,
                "description": "STAY LONGER, SAVE 20 PERCENT OFF 5 NIGHTS, 20 PERCENT OFF FLEXIBLE RATE, GUEST ROOM, 1 KING, SOFA BED MAX OCCUPANCY- 4 GUESTS 1 KING, SOFA BED, MINI FRIDGE, MICROWAVE, 435SQFT/39SQM, LIVING/SITTING AREA, WIRELESS INTERNET, COMPLIMENTARY STAY LONGER, SAVE MORE STAY 5 OR MORE CONSECUTIVE NIGHTS TO QUALIFY FOR A SPECIAL 20 PERCENT DISCOUNT. LATE ARRIVAL OR EARLY DEPARTURE WILL FORFEIT SPECIAL RATE. UPON CHECK OUT RATE WILL REVERT TO BEST AVAILABLE. NAME CHANGES MUST BE REQUESTED BY THE GUEST OR TRAVEL AGENT THAT BOOKED THE ORIGINAL RESERVATION. RESERVATIONS MAY NOT BE ASSIGNED OR TRANSFERRED IN ANY MANNER TO ANY THIRD PARTY. BOOKING WINDOW NOW THROUGH APRIL 6, 2022 STAY WINDOW NOW THROUGH JUNE 19, 2022",
                "roomRate": {
                    "amount": "231.00",
                    "currencyCode": "USD"
                },
                "travelerIndices": [
                    1
                ]
            },
            "isRefundable": true,
            "refundPenalties": [
                {
                    "applicableFromDate": "2022-03-18T09:03:39.340994",
                    "applicableToDate": "2022-06-05T00:00:00",
                    "penalty": {
                        "amount": "0.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "applicableFromDate": "2022-06-05T00:00:00",
                    "applicableToDate": "2022-06-13T00:00:00",
                    "penalty": {
                        "amount": "0.00",
                        "currencyCode": "USD"
                    }
                }
            ],
            "hotelStatusCode": "HK",
            "hotelStatusName": "Confirmed",
            "chainCode": "VC",
            "chainName": "Marriott Vacation Club",
            "propertyId": "100095894",
            "contactInfo": {
                "phones": [
                    "702-862-5600"
                ],
                "faxes": [
                    "702-862-5610"
                ]
            },
            "guaranteeTypeCode": 5,
            "guaranteeTypeName": "Credit card",
            "payment": {
                "subtotal": "1290.00",
                "taxes": "172.61",
                "total": "1462.61",
                "currencyCode": "USD"
            },
            "numberOfGuests": 1
        }
    ]  
Note:

In the Response

Optional

Parameter: GetBookingResponse.hotels.associatedFlightDetails

Type: Object

Description: Contains flight arrival and departure information used mainly for hotel bookings.

Sample Value:

"hotels": [
        {
            "itemId": "20",
            "confirmationId": "92851137-",
            "hotelName": "MARRIOTT VAC CLUB GRD CHT 1-2",
            "address": {
                "street": "75 EAST HARMON AVENUE",
                "city": "LAS VEGAS",
                "stateProvince": "NV",
                "postalCode": "89109",
                "countryCode": "US"
            },
            "checkInDate": "2022-06-07",
            "checkInTime": "10:30",
            "checkOutDate": "2022-06-13",
            "checkOutTime": "10:30",
            "leadTravelerIndex": 1,
            "room": {
                "quantity": 1,
                "description": "STAY LONGER, SAVE 20 PERCENT OFF 5 NIGHTS, 20 PERCENT OFF FLEXIBLE RATE, GUEST ROOM, 1 KING, SOFA BED MAX OCCUPANCY- 4 GUESTS 1 KING, SOFA BED, MINI FRIDGE, MICROWAVE, 435SQFT/39SQM, LIVING/SITTING AREA, WIRELESS INTERNET, COMPLIMENTARY STAY LONGER, SAVE MORE STAY 5 OR MORE CONSECUTIVE NIGHTS TO QUALIFY FOR A SPECIAL 20 PERCENT DISCOUNT. LATE ARRIVAL OR EARLY DEPARTURE WILL FORFEIT SPECIAL RATE. UPON CHECK OUT RATE WILL REVERT TO BEST AVAILABLE. NAME CHANGES MUST BE REQUESTED BY THE GUEST OR TRAVEL AGENT THAT BOOKED THE ORIGINAL RESERVATION. RESERVATIONS MAY NOT BE ASSIGNED OR TRANSFERRED IN ANY MANNER TO ANY THIRD PARTY. BOOKING WINDOW NOW THROUGH APRIL 6, 2022 STAY WINDOW NOW THROUGH JUNE 19, 2022",
                "roomRate": {
                    "amount": "231.00",
                    "currencyCode": "USD"
                },
                "travelerIndices": [
                    1
                ]
            },
            "isRefundable": true,
            "refundPenalties": [
                {
                    "applicableFromDate": "2022-03-18T09:25:47",
                    "applicableToDate": "2022-06-05T10:30:00",
                    "penalty": {
                        "amount": "0.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "applicableFromDate": "2022-06-05T10:30:00",
                    "applicableToDate": "2022-06-13T10:30:00",
                    "penalty": {
                        "amount": "0.00",
                        "currencyCode": "USD"
                    }
                }
            ],
            "hotelStatusCode": "HK",
            "hotelStatusName": "Confirmed",
            "chainCode": "VC",
            "chainName": "Marriott Vacation Club",
            "propertyId": "100095894",
            "contactInfo": {
                "phones": [
                    "702-862-5600"
                ],
                "faxes": [
                    "702-862-5610"
                ]
            },
            "guaranteeTypeCode": 5,
            "guaranteeTypeName": "Credit card",
            "payment": {
                "subtotal": "1290.00",
                "taxes": "172.61",
                "total": "1462.61",
                "currencyCode": "USD"
            },
            "numberOfGuests": 1,
            "associatedFlightDetails": {
                "arrivalTime": "10:30",
                "departureTime": "12:30",
                "arrivalFlight": {
                    "airlineCode": "9W",
                    "flightNumber": 31
                },
                "departureFlight": {
                    "airlineCode": "6E",
                    "flightNumber": 907
                }
            }
        }
    ]  
Note:

In the Response

Optional

Parameter: GetBookingResponse.creationDetails.agencyIataNumber

Type: String

Description: A unique identifier accredited by the International Air Transport Association (IATA).

Sample Value:

"creationDetails": {
        "creationUserSine": "AWV",
        "creationDate": "2022-03-01",
        "creationTime": "00:56",
        "agencyIataNumber": "63211456",
        "userWorkPcc": "G4PK",
        "userHomePcc": "G4PK",
        "primeHostId": "1S"
    }  
Note:

Functional Updates And Enhancements

In the Request

Optional

Parameter: CancelBookingRequest.queue

Type: Object

Description: Contains details of a queue.

Sample Value:

"queue": {
    "queueNumber": 400,
    "queueName": "HENRY",
    "pcc": "G7RE",
    "prefatoryInstructionCode": 11,
    "futureQueuePlacementDate": "2019-07-09"
  }
Note: `queue` property has been removed from the schema. This change applies to VoidTicketsRequest and RefundTicketsRequest objects as well.

In the Response

Optional

Parameter: GetBookingResponse.travelers

Type: Array

Description: Lists the traveler(s) associated with the booking.

Sample Value:

"travelers": [
        {
            "givenName": "JOHN",
            "surname": "KOWALSKI",
            "type": "ADULT",
            "passengerCode": "ADT",
            "phones": [
                {
                    "number": "+123456"
                }
            ],
            "loyaltyPrograms": [
                {
                    "programType": "LOYALTY_ID",
                    "programNumber": "987654321"
                }
            ]
        }
    ]
Note: If applicable, traveler details are expanded by the details associated with the hotel booking.

In the Response

Optional

Parameter: GetBookingResponse.flights.seats

Type: Array

Description: Lists the seat numbers assigned to the applicable traveler by matching the index in the `travelers` collection. Refer to the `travelerIndices` property to verify the traveler association. An empty `Seat` object means that a corresponding traveler doesn’t have a seat assigned.

Sample Value:

"flights": [
              {
                     "itemId": "22",
                     "confirmationId": "UEFTKF",
                     "sourceType": "ATPCO",
                     "flightNumber": 524,
                     "airlineCode": "AA",
                     "operatingFlightNumber": 524,
                     "operatingAirlineCode": "AA",
                     "fromAirportCode": "DFW",
                     "toAirportCode": "LAX",
                     "departureDate": "2022-09-20",
                     "departureTime": "07:00:00",
                     "arrivalDate": "2022-09-20",
                     "arrivalTime": "08:00:00",
                     "seats": [
                           {
                           },
                           {
                           },
                           {
                                  "number": "22A"
                           }
                     ],
                     "numberOfSeats": 3,
                     "cabinTypeName": "ECONOMY",
                     "cabinTypeCode": "Y",
                     "aircraftTypeCode": "321",
                     "aircraftTypeName": "AIRBUS",
                     "bookingClass": "Y",
                     "meals": [
                           {
                                  "code": "R",
                                  "description": "Refreshment"
                           }
                     ],
                     "flightStatusCode": "HK",
                     "flightStatusName": "Confirmed",
                     "durationInMinutes": 180,
                     "distanceInMiles": 1235,
                     "travelerIndices": [
                           1,
                           2,
                           3
                     ]
              }
       ]
Note: Description update to include meaningful information regarding empty Seat objects.

Resolved Issues

In the Request

Optional

US1335214: Adding support for the infant tickets containing “INF” string prefix in the CancelBooking and VoidFlightTIckets methods.

Relase note ID: 17035


  • CreateBooking will start supporting the optional issuing country information for Known Traveler Number documents (DOCO formats).
  • CreateBooking will start supporting information about the place and date of issue for VISA identity documents (DOCO formats) as optional fields.
  • GetBooking will start supporting the expiration date for Visa documents (DOCO formats).
  • Void/Refund/Check Flight Tickets methods will start processing conjunctive ticket numbers.
  • GetBooking will start returning additional flight-related information: hidden stops and the number of seats occupied by the travelers.
  • GetBooking will allow obtaining additional information stored for hotel bookings like the guest association to a room and loyalty numbers.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.11
Target Audience
TN
Environment
Production

What's New

  • CreateBooking will start supporting the optional issuing country information for Known Traveler Number documents (DOCO formats).
  • CreateBooking will start supporting information about the place and date of issue for VISA identity documents (DOCO formats) as optional fields.
  • GetBooking will start supporting the expiration date for Visa documents (DOCO formats).
  • Void/Refund/Check Flight Tickets methods will start processing conjunctive ticket numbers.
  • GetBooking will start returning additional flight-related information: hidden stops and the number of seats occupied by the travelers.
  • GetBooking will allow obtaining additional information stored for hotel bookings like the guest association to a room and loyalty numbers.

Business Value

  • Customers can now specify issuing country details for Known Traveler Number documents, by passing required information in CreateBooking request.
  • Customers can now provide information regarding the place and date of issue for VISA identity documents in CreateBooking request. These details are considered optional.
  • The expiration date for Visa documents was included in the identity documents information in GetBooking. Information is consistent with the same functionality introduced in CreateBooking.
  • Customers can now use conjunctive ticket numbers (e.g.: 0167662548958/59) in their Void/Refund/Check Flight Tickets requests.
  • By adding hidden stop and number of seats information customers can obtain additional details associated with the existing air booking.
  • By supporting guest to room association and loyalty numbers customers can obtain additional details associated with the existing hotel booking.

New Features

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopAircraftTypeCode

Type: string

Description: The IATA aircraft type designator code. This property is not returned when the aircraft type is unchanged.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopAircraftTypeName

Type: string

Description: The name and model that corresponds to the specified aircraft equipment code(s). This property is not returned when the aircraft type is unchanged.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopAirportCode

Type: string

Description: The three-letter IATA airport code of the hidden stop airport.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopArrivalDate

Type: string

Description: The arrival date to the hidden stop airport in `YYYY-MM-DD` format in the airport's timezone.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopArrivalTime

Type: string

Description: The time of arrival to the hidden stop airport in `HH:MM` format.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopDepartureDate

Type: string

Description: The departure date from the hidden stop airport in `YYYY-MM-DD` format in the airport's timezone.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.hiddenStopDepartureTime

Type: string

Description: The time of departure from the hidden stop airport in `HH:MM` format.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526,
            "hiddenStopAircraftTypeCode": "789",
            "hiddenStopAircraftTypeName": "BOEING 787-9",
            "hiddenStopAirportCode": "HAV",
            "hiddenStopArrivalDate": "2022-05-10",
            "hiddenStopArrivalTime": "08:10",
            "hiddenStopDepartureDate": "2022-05-10",
            "hiddenStopDepartureTime": "09:35"
        }
    ]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.hotels.room.travelerIndices

Type: array

Description: Lists the travelers within the travelers list. Indicates which travelers are considered to be guests associated with a particular room. It is possible that not all travelers are listed as hotel guests in the hotel booking.

Sample Value:

"room": {
        "quantity": 1,
        "description": "Deluxe Room, 2 Double Beds",
        "roomRate": {
          "amount": "100.00",
          "currencyCode": "USD"
        },
        "travelerIndices": [
          1
        ]
      }
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.numberOfSeats

Type: integer

Description: The quantity of seats occupied by the travelers. Specific seat details, if applicable, are listed in the 'seats' array.

Sample Value:

"flights": [
        {
            "itemId": "3",
            "confirmationId": "SKLQ85",
            "sourceType": "ATPCO",
            "flightNumber": 183,
            "airlineCode": "TK",
            "operatingFlightNumber": 183,
            "operatingAirlineCode": "TK",
            "fromAirportCode": "IST",
            "toAirportCode": "CCS",
            "departureDate": "2022-05-10",
            "departureTime": "02:35:00",
            "arrivalDate": "2022-05-10",
            "arrivalTime": "12:35:00",
           "numberOfSeats": 1,
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "aircraftTypeCode": "789",
            "aircraftTypeName": "BOEING 787-9",
            "bookingClass": "Y",
            "meals": [
                {
                    "code": "M",
                    "description": "Meal"
                }
            ],
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "durationInMinutes": 935,
            "distanceInMiles": 7526
        }
    ]
Note:

Functional Updates And Enhancements

In the Request

Optional

Parameter: CreateBookingRequest.travelers.identityDocuments.issuingCountryCode

Type: string

Description: The country issuing the passenger document as a two-letter, ISO 3166 code. Not applicable to 'visa' document type.

Sample Value:

"identityDocuments": [
                {
                    "documentNumber": "1122334455",
                    "issuingCountryCode": "FR",
                    "documentType": "KNOWN_TRAVELER_NUMBER"
                }
            ]
Note:

In the Request

Optional

Parameter: CreateBookingRequest.travelers.identityDocuments.placeOfIssue

Type: string

Description: The ISO code of the country the visa document was issued. Used for 'VISA' document type (NDC not supported).

Sample Value:

"identityDocuments": [
                    {
                        "documentNumber": "0123456789",
                        "documentType": "VISA",
                        "expiryDate": "2024-07-09",
                        "placeOfIssue": "FR",
                        "hostCountryCode": "US",
                        "issueDate": "2019-07-09",
                        "givenName": "John",
                        "middleName": "Jack",
                        "surname": "Smith"
                    }
                ]
Note:

In the Request

Optional

Parameter: CreateBookingRequest.travelers.identityDocuments.issueDate

Type: string

Description: The date the identity document was issued in YYYY-MM-DD format. This is mainly used for the visa document type.

Sample Value:

"identityDocuments": [
                    {
                        "documentNumber": "0123456789",
                        "documentType": "VISA",
                        "expiryDate": "2024-07-09",
                        "placeOfIssue": "FR",
                        "hostCountryCode": "US",
                        "issueDate": "2019-07-09",
                        "givenName": "John",
                        "middleName": "Jack",
                        "surname": "Smith"
                    }
                ]
Note:

In the Request

Optional

Parameter: VoidTicketsRequest.tickets

Type: array

Description: Lists document numbers for tickets or EMDs which should be voided. Can contain up to 12 elements.

Sample Value:

"tickets": [
    " 0167662548907/08"
  ]
Note:

In the Request

Optional

Parameter: RefundTicketsRequest.tickets.number

Type: string

Description: The electronic document number of the ticket that needs to be refunded.

Sample Value:

 
Note: "tickets": [ { "number": "0167662548907/08" } ]

In the Request

Optional

Parameter: CheckTicketsRequest.tickets.number

Type: string

Description: The electronic document number of the ticket that needs to be refunded.

Sample Value:

"tickets": [
        {
            "number": "0167662548907/08"
        }
    ]
Note:

In the Response

Optional

Parameter: GetBookingResponse.travelers.identityDocuments.expiryDate

Type: string

Description: The expiration date of the identity document.

Sample Value:

"identityDocuments": [
                {
                    "documentNumber": "0123456789",
                    "documentType": "VISA",
                    "expiryDate": "2022-07-09",
                    "placeOfIssue": "FR",
                    "hostCountryCode": "US",
                    "issueDate": "2021-05-21",
                    "itemId": "719b7ecc1c170901f3e439eed956a136cfca81282789ga2c59460e63e8b4948df1ad5b9c4164ffba11863aeddb253f184fd1d8e23eed416db958ce102274993a"
                }
            ]
Note:

In the Response

Optional

Parameter: GetBookingResponse.travelers.loyaltyPrograms

Type: array

Description: Lists the loyalty programs applicable for a traveler.

Sample Value:

"travelers": [
        {
            "givenName": "JOHN",
            "surname": "KOWALSKI",
            "type": "ADULT",
            "passengerCode": "ADT",
            "loyaltyPrograms": [
                {
                    "programType": "LOYALTY_ID",
                    "programNumber": "997755321"
                }
            ]
        }
   ]
Note:

Resolved Issues

In the Request

Optional

DE220994: Fixing bug in CreateBooking method for the requests not containing agency information (removing an empty element causing errors in downline PassengerDetailsRQ).

In the Request

Optional

DE221267: Fixing the functional gap in CreateBooking responsible for not allowing to assign loyalty information to multiple guests for hotel bookings.

In the Request

Optional

DE222193: Fixing bug in CreateBooking request preventing proper usage of FOID SSRs assigned to infant traveler.

In the Request

Optional

DE222412: Fixing bug in CreateBooking request with automated SSR handling for ITF traveler type.

In the Request

Optional

DE222415: Fixing bug in CreateBooking method with missing birth date validation for infant travelers.

In the Response

Optional

DE219716: Fixing bug in GetBooking response with incorrect location code (with “@” character) sent to downline service to obtain location details.

In the Response

Optional

DE220066: Fixing bug in GetBooking response with incorrect ticketing date (a wrong year for scenarios where ticketing date was set near the end of the year).

In the Response

Optional

DE220636: Fixing bug in GetBooking response regarding missing extended location codes in `allsegments` property.

In the Response

Optional

DE221127: Fixing bug in GetBooking response regarding incorrect journeys logic for roundtrip flights occurring in a short period of time.

In the Response

Optional

DE222631: Fixing bug in GetBooking method with incorrect usage of downline PO_PNRPricingRQ for LATAM (LA) bookings.

Relase note ID: 16795


  • CreateBooking will start supporting the expiration date for Visa documents (DOCO formats).
  • GetBooking will start returning information about delivery and collection site/address present in the car bookings in a cohesive form.
  • GetBooking will allow obtaining information about the past date indicator for the flown flights.
  • GetBooking will start returning additional traveler information regarding name-associated phone numbers.
  • GetBooking will allow obtaining additional information stored in manual PQs. Now it is possible to check fare construction details, flight association and much more.
  • GetBooking has now improved roundtrip journeys logic – it can verify whether selected trip contains a multi-airport city.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.10
Target Audience
TN
Environment
Production

What's New

  • CreateBooking will start supporting the expiration date for Visa documents (DOCO formats).
  • GetBooking will start returning information about delivery and collection site/address present in the car bookings in a cohesive form.
  • GetBooking will allow obtaining information about the past date indicator for the flown flights.
  • GetBooking will start returning additional traveler information regarding name-associated phone numbers.
  • GetBooking will allow obtaining additional information stored in manual PQs. Now it is possible to check fare construction details, flight association and much more.
  • GetBooking has now improved roundtrip journeys logic – it can verify whether selected trip contains a multi-airport city.

Business Value

  • Customers can now follow the new industry mandate introduced by the IATA regarding the expiration date for Visa documents, by passing required information in CreateBooking request.
  • By adding delivery and collection site/address information customers can obtain the custom details specified for car bookings.
  • Name associated phone numbers were added to travel information in GetBooking. Information is consistent with the same functionality introduced in CreateBooking.
  • Added past date indicator allows to quickly identify a flown flight.
  • Additional details returned for manual PQs were added to further support pricing data analysis.
  • Added internal multi-airport city database, which improves journeys functionality. It allows identifying roundtrips with departure and arrival at the same city.

New Features

In the Response

Optional

Parameter: GetBookingResponse.cars.collectionAddress

Type: Object

Description: Contains basic address information.

Sample Value:

"collectionAddress": {
        "street": "1230 Ellen Ave apt 10",
        "city": "Dallas",
        "stateProvince": "TX",
        "postalCode": "75063",
        "countryCode": "US"
      },
Note:

In the Response

Optional

Parameter: GetBookingResponse.cars.collectionSite

Type: Object

Description: Contains information about the car rental location.

Sample Value:

"collectionSite": {
        "id": "ABC123",
        "name": "TEST LOCATION",
        "phone": "8175551212"
      },
Note:

In the Response

Optional

Parameter: GetBookingResponse.cars.deliveryAddress

Type: Object

Description: Contains basic address information.

Sample Value:

 "deliveryAddress": {
        "street": "1230 Ellen Ave apt 10",
        "city": "Dallas",
        "stateProvince": "TX",
        "postalCode": "75063",
        "countryCode": "US"
      },
Note:

In the Request

Optional

Parameter: GetBookingResponse.cars.deliverySite

Type: Object

Description: Contains information about the car rental location.

Sample Value:

"deliverySite": {
        "id": "ABC123",
        "name": "TEST LOCATION",
        "phone": "8175551212"
      },
Note:

In the Response

Optional

Parameter: GetBookingResponse.flights.isPast

Type: boolean

Description: If true, the current flight is past-dated.

Sample Value:

"flights": [
        {
            "itemId": "9",
            "confirmationId": "3U2B9I",
            "sourceType": "ATPCO",
            "flightNumber": 905,
            "airlineCode": "LH",
            "operatingFlightNumber": 905,
            "operatingAirlineCode": "LH",
            "fromAirportCode": "LHR",
            "toAirportCode": "FRA",
            "departureDate": "2019-10-09",
            "departureTime": "11:30:00",
            "arrivalDate": "2019-10-09",
            "arrivalTime": "14:05:00",
            "cabinTypeName": "ECONOMY",
            "cabinTypeCode": "Y",
            "bookingClass": "Y",
            "flightStatusCode": "HK",
            "flightStatusName": "Confirmed",
            "isPast": true
        },
Note:

In the Response

Optional

Parameter: GetBookingResponse.travelers.phones

Type: Array

Description: Lists all phone numbers associated with the traveler.

Sample Value:

"phones": [
        {
          "number": "+1-555-123-4567",
          "label": "M"
        }
      ],
Note: Name associated phones will be removed from GetBookingResponse.contactInfo.phones array in the future major release of the BM API.

Functional Updates And Enhancements

In the Response

Optional

Parameter: GetBookingResponse.fares.fareConstruction

Type: Array

Description: Lists the components used to construct the fare.

Sample Value:

"fareConstruction": [
                {
                    "flights": [
                        {
                            "itemId": "50"
                        }
                    ],
                    "flightIndices": [
                        1
                    ],
                    "fareBasisCode": "KL40MALP",
                    "isCurrentItinerary": true,
                    "checkedBaggageAllowance": {
                        "totalWeightInKilograms": 10
                    }
                },
Note: Additional information is now returned for manual PQs.

In the Request

Optional

Parameter: CreateBookingRequest.travelers.identityDocuments.expiryDate

Type: string

Description: The expiration date of the identity document.

Sample Value:

"identityDocuments": [
                {
                    "documentNumber": "0123456789",
                    "expiryDate": "2022-07-09",
                    "hostCountryCode": "US",
                    "documentType": "VISA",
                    "givenName": "John",
                    "middleName": "Jack",
                    "surname": "Smith",
                    "placeOfIssue": "FR",
                    "issueDate": "2021-05-21"
                }
            ]
Note: The expiration date is now supported when sending Visa DOCO.

Resolved Issues

In the Response

Optional

DE216212: Fixing bug in GetBooking response with incorrect flight association in fare component information for hybrid bookings (NDC + ATPCO).

In the Response

Optional

DE218361: Fixing bug in GetBooking response to return missing ancillary offers when returnOnly option was specified in the request.

In the Response

Optional

DE218514: Fixing bug in GetBooking response to return missing DOCS SSRs.

In the Response

Optional

DE217175: Fixing bug in GetBooking response with an incorrect value for flightTotals, when multiple passengers are assigned to a single PQ.

In the Response

Optional

DE217199: Fixing bug in GetBooking response with missing mapping for extended location codes applied to the car booking.

Relase note ID: 16673


  • CreateBooking will support booking cars. Implementation covers adding car content into the reservation by means of a booking key.
  • CreateBooking will support Payment Service Directive 2 (PSD2) compliant Strong Customer Authentication (SCA) for payment cards when booking hotel content.
  • CreateBooking will now allow creating name-associated phone numbers.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.9
Target Audience
TN
Environment
Production

What's New

  • CreateBooking will support booking cars. Implementation covers adding car content into the reservation by means of a booking key.
  • CreateBooking will support Payment Service Directive 2 (PSD2) compliant Strong Customer Authentication (SCA) for payment cards when booking hotel content.
  • CreateBooking will now allow creating name-associated phone numbers.

Business Value

  • Car booking is now integrated into CreateBooking. New capabilities will allow booking cars exclusively and alongside flights and/or hotel content in a single request.
  • PSD2 is a new set of rules changing how consumers confirm their identity when making purchases online. The rules apply in full for card payments and CreateBooking will now support Strong Customer Authentication (SCA) for hotel bookings.
  • Name-associated phone numbers were added to provide additional flexibility in terms of contact information stored in the booking.

New Features

In the Request

Optional

Parameter: CreateBookingRequest.car

Type: Object

Description: Contains car information.

Sample Value:

"car": {
    "bookingKey": "d6e73d0d-5f90-4b43-9c86-2d88a732604f",
    "travelerIndex": 1,
    "collectionAddress": {
      "street": "1230 Ellen Ave",
      "city": "Dallas",
      "stateProvince": "TX",
      "postalCode": "75063",
      "countryCode": "US"
    },
    "paymentPolicy": "DEPOSIT",
    "formOfPayment": 1,
    "quantity": 1,
    "specialInstructions": "Wants a blue car.",
    "flightIndex": 1
  }
Note:

Functional Updates And Enhancements

In the Request

Optional

Parameter: CreateBookingRequest.payment.formsOfPayment.authentications

Type: Array

Description: Lists all SCA details for the payment card. Use with PAYMENTCARD.

Sample Value:

"authentications": [
          {
            "secureAuthenticationValue": "ABC123455533533444455555678",
            "secureTransactionId": "ABCDEFGHI123456789012!.1234567890123",
            "issueCode": "AO",
            "resultCode": "OK",
            "cardNumberCollectionCode": "K",
            "channelCode": "MO",
            "electronicCommerceIndicator": "12",
            "exemptionTypeCode": "SC",
            "updatedDateTime": "2020-07-07T16:00:00Z",
            "mandateTypeCode": "NA",
            "merchantName": "TEST CREDIT CARD",
            "originalPaymentReference": "1234547839012345",
            "amount": "1234.56",
            "currencyCode": "USD",
            "tokenAuthenticationValue": "ABC3434334343556677487312567",
            "verificationResultCode": "PASS",
            "version": "120"
          }
        ]
Note: Applicable for PAYMENTCARD form of payment.

In the Request

Optional

Parameter: CreateBookingRequest.travelers.phones

Type: Array

Description: Lists all phone numbers associated with the traveler.

Sample Value:

"phones": [
        {
          "number": "1-555-123-4567",
          "label": "M"
        }
      ]
Note:

Resolved Issues

In the Request

Optional

DE211540: Fixing bug in CreateBooking logic - incorrect segment numeration when ARNK segments are included in the booking.

In the Response

Optional

DE212274: Fixing bug in GetBooking response to return proper details about passenger type code (age information instead of generic code, e.g.: C04 instead of CNN), under GetBookingResponse.travelers.passengerCode.

In the Response

Optional

DE213068: Fixing bug in GetBooking response to return missing fare rules under GetBookingResponse.fareRules for INF passenger, once the booking is ticketed.

Relase note ID: 16637


  • CreateBooking will start supporting booking ancillaries. Initial implementation covers the air extras booking process for ATPCO flights. You can now assign selected ancillaries to a particular traveler, in a single request.
  • CreateBooking will support sending special service requests (SSR). This is another functionality further improving the trip experience – you can notify the airline about traveler’s preferences/additional information in an easy way.
  • GetBooking will start returning additional fare data obtained from Price Quote (PQ) details. Now it is possible to check the status of the fare, flight association, brand details and much more.
  • GetBooking will allow obtaining information about booked ancillaries. More to come with the next releases.
  • GetBooking will start returning information about SSRs present in the booking in a cohesive form.
  • CancelBooking/VoidFlightTickets/RefundFlightTickets will run corresponding ticket related operations for the customers with AUTO-END functionality activated on the PCC level.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.8
Target Audience
TN
Environment
Production

What's New

  • CreateBooking will start supporting booking ancillaries. Initial implementation covers the air extras booking process for ATPCO flights. You can now assign selected ancillaries to a particular traveler, in a single request.
  • CreateBooking will support sending special service requests (SSR). This is another functionality further improving the trip experience – you can notify the airline about traveler’s preferences/additional information in an easy way.
  • GetBooking will start returning additional fare data obtained from Price Quote (PQ) details. Now it is possible to check the status of the fare, flight association, brand details and much more.
  • GetBooking will allow obtaining information about booked ancillaries. More to come with the next releases.
  • GetBooking will start returning information about SSRs present in the booking in a cohesive form.
  • CancelBooking/VoidFlightTickets/RefundFlightTickets will run corresponding ticket related operations for the customers with AUTO-END functionality activated on the PCC level.

Business Value

  • Ancillaries and SSRs were integrated into CreateBooking and GetBooking. New capabilities will allow communicating with the airlines and pass/receive information about trip details, requirements, or enhancements.
  • Additional details for air fares were added to further support pricing data analysis.
  • Implemented AUTO-END functionality verification helps execute void/refund operations in a predictable manner.

New Features

In the Request

Optional

Parameter: CreateBookingRequest.travelers.specialServices

Type: array

Description: Lists special services for a traveler.

Sample Value:

"specialServices": [
{
        "code": "XBAG",
        "message": "PREPAID",
        "flightIndices": [
            1
        ]
    }
]
Note:

In the Request

Optional

Parameter: CreateBookingRequest.travelers.ancillaries

Type: array

Description: Contains details of an ancillary services to be booked.

Sample Value:

"ancillaries": [
        {
          "commercialName": "1ST ADDITIONAL BAG",
          "reasonForIssuance": "BAGGAGE",
          "subcode": "05Z",
          "airlineCode": "AA",
          "source": "ATPCO",
          "electronicMiscellaneousDocumentType": "FLIGHT_COUPON_ASSOCIATED",
          "totalPrice": "150.00",
          "basePrice": "100.00",
          "currencyCode": "USD",
          "numberOfItems": 1,
          "firstTravelDate": "1980-01-01",
          "lastTravelDate": "9999-12-31",
          "purchaseDateTime": "2020-07-07T16:00:00Z",
          "groupCode": "BG",
          "flightIndices": [
            1
          ]
        }
      ]
Note: To ensure a successful booking, pass valid ancillary details returned by the Get Ancillary Offers API.

In the Response

Optional

Parameter: getBookingResponse.specialServices

Type: array

Description: Lists special services for a traveler.

Sample Value:

"specialServices": [
    {
      "travelerIndices": [
        1
      ],
      "flights": [
        {
          "itemId": "12"
        }
      ],
      "code": "WCHR",
      "name": "Wheelchair/Passenger can walk up stairs",
      "message": "/PREPAID",
      "statusCode": "HK",
      "statusName": "Confirmed"
    }
  ]
Note:

In the Response

Optional

Parameter: getBookingResponse.travelers.ancillaries

Type: array

Description: Lists details of a ancillary services.

Sample Value:

"ancillaries": [
        {
          "commercialName": "UPTO33LB 15KG BAGGAGE",
          "numberOfItems": 1,
          "reasonForIssuanceCode": "C",
          "reasonForIssuanceName": "BAGGAGE",
          "subcode": "05Z",
          "airlineCode": "EY",
          "source": "ATPCO",
          "electronicMiscellaneousDocumentNumber": "6074333222111",
          "isRefundable": true,
          "isCommissionable": false,
          "flights": [
            {
              "itemId": "12"
            }
          ],
          "statusCode": "HD",
          "statusName": "Confirmed",
          "totals": {
            "subtotal": "100.00",
            "taxes": "8.00",
            "fees": "20.00",
            "total": "128.00",
            "currencyCode": "USD"
          }
        }
     ]
Note:

Functional Updates And Enhancements

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.flights

Type: array

Description: Lists flights referenced by flight `itemId`. Multiple flight IDs can be returned for a single fare component. If the fare component is associated with all flights or a different flight itinerary was used to create this fare component (verify `isCurrentItinerary` property), this list is not provided.

Sample Value:

"flights": [
    {
        "itemId": "12"
    }
]
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.requestedTravelerType

Type: string

Description: The type code of the traveler requested when pricing the fare.

Sample Value:

"requestedTravelerType": "C08"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.pricingTypeCode

Type: string

Description: The pricing type code of a fare.

Sample Value:

"pricingTypeCode": "M"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.pricingTypeName

Type: string

Description: The pricing type of a fare.

Sample Value:

"pricingTypeName": "Manual"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.pricingStatusCode

Type: string

Description: The status of a fare.

Sample Value:

"pricingStatusCode": "A"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.pricingStatusName

Type: string

Description: The status of a fare.

Sample Value:

"pricingStatusName": "Active"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.recordTypeCode

Type: string

Description: The code describing the source of the fare.

Sample Value:

"recordTypeCode": "PQ"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.recordTypeName

Type: string

Description: The name describing the source of the fare.

Sample Value:

"recordTypeName": "Price Quote"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.checkedBaggageAllowance

Type: object

Description: Contains the allowed baggage number which is included in the ticket price.

Sample Value:

"checkedBaggageAllowance": {
    "maximumPieces": 1,
    "totalWeightInPounds": 50,
    "totalWeightInKilograms": 23,
    "baggagePieces": [{
            "maximumSizeInInches": 46,
            "maximumSizeInCentimeters": 118,
            "maximumWeightInPounds": 50,
            "maximumWeightInKilograms": 23,
            "numberOfPieces": 1,
            "specialItemDescription": "SKI EQUIPMENT",
            "fee": {
                "amount": "100.00",
                "currencyCode": "USD"
            }
        }
    ]
}
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.brandFareCode

Type: string

Description: The code of the Branded Fare.

Sample Value:

"brandFareCode": "ECOFLEX"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.brandFareName

Type: string

Description: The name of the Branded Fare.

Sample Value:

"brandFareName": "ECO FLEX"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.brandProgramCode

Type: string

Description: The code of the program the Branded Fare belongs to.

Sample Value:

"brandProgramCode": "CFFLH"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.brandProgramName

Type: string

Description: The name of the program the Branded Fare belongs to.

Sample Value:

"brandProgramName": "LH BRANDED FARES INTERCONT"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.pricedTravelerType

Type: string

Description: The type code of the traveler requested when pricing the fare.

Sample Value:

"pricedTravelerType": "C08"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.recordId

Type: string

Description: The id of a given source of the fare.

Sample Value:

"recordId": "12"
Note:

In the Response

Optional

Parameter: getBookingResponse.fares.fareConstruction.isCurrentItinerary

Type: boolean

Description: If true, fare component was created for the flight present in the current itinerary. If false, the fare component relates to a flight, which is not anymore part of the current itinerary. This may be the case, for example after schedule changes.

Sample Value:

"isCurrentItinerary": "true"
Note:

In the Response

Optional

Parameter: getBookingResponse.hotels.numberOfGuests

Type: integer

Description: The number of guests.

Sample Value:

"numberOfGuests": "1"
Note:

In the Response

Optional

Parameter: getBookingResponse.hotels.leadTravelerIndex

Type: integer

Description: Specifies the lead traveler from the travelers list to whom the hotel booking is associated.

Sample Value:

"leadTravelerIndex": "1"
Note:

In the Response

Optional

Parameter: CancelBookingResponse.voidedTickets

Type: array

Description: Successfully voided ticket list.

Sample Value:

"voidedTickets": [
    "0017544536141"
  ]
Note:

In the Response

Optional

Parameter: CancelBookingResponse.refundedTickets

Type: array

Description: Successfully refunded ticket list.

Sample Value:

"refundedTickets": [
    "0017544536141"
  ]
Note:

In the Response

Optional

Parameter: VoidTicketsResponse.voidedTickets

Type: array

Description: Successfully voided ticket list.

Sample Value:

"voidedTickets": [
    "0017544536141"
  ]
Note:

In the Response

Optional

Parameter: RefundTicketsResponse.refundedTickets

Type: array

Description: Successfully refunded ticket list.

Sample Value:

"refundedTickets": [
    "0017544536141"
  ]
Note:

Resolved Issues

In the Request

Optional

DE200410: Pattern correction for ticketing printers to allow using 1R and 1T codes (settlement methods for Russia).

In the Response

Optional

DE207661: Adding additional information in GetBooking response under GetBookingResponse.payments.flightCurrentTotals property, which contains a sum of charges only for issued tickets – voided, refunded/exchanged items are not taken into consideration.

In the Request

Optional

DE200951: VoidFlightTickets request validation, preventing from specifying multiple printer types under single printer address object.

In the Response

Optional

DE206825: Fixing bug in GetBooking response to return information about identity document status, under GetBookingResponse.flights.identityDocuments.status.

Relase note ID: 16445


  • CreateBooking will start support for hotels. By adding a hotel object to your createBookingRequest you will be able to add a hotel to your booking with just one API call. The object is normalized and supports all content types, including Sabre's Content Services for Lodging.
  • For all those who asked for more details on fares - We have you covered now! GetBooking will return details for fares based on price quotes for ATPCO bookings or based on the NDC orders. More to come with the next releases.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.7
Target Audience
TN
Environment
Production

What's New

  • CreateBooking will start support for hotels. By adding a hotel object to your createBookingRequest you will be able to add a hotel to your booking with just one API call. The object is normalized and supports all content types, including Sabre's Content Services for Lodging.
  • For all those who asked for more details on fares - We have you covered now! GetBooking will return details for fares based on price quotes for ATPCO bookings or based on the NDC orders. More to come with the next releases.

Business Value

  • Hotels were integrated into the seamless workflow for createBooking. It was never easier to book a hotel using an API.
  • Details for air fares were added to support you with analyzing the pricing data or optimizing you back-office workflows.

New Features

In the Request

Optional

Parameter: CreateBookingRequest.hotel

Type: object

Description: The object allows to add a hotel to your createBooking-request. This works across the different content types for hotels in Sabre.

Sample Value:

  "hotel": {
    "useCsl": true,
    "bookingKey": "d9e73f0d-5f90-4b43-9c86-2d88a732604f",
    "corporateDiscountCode": 6878700,
    "rooms": [
      {
        "isSmoking": false,
        "bedTypeCode": 3,
        "physicalDisabilityCode": 3,
        "roomExtras": [
          {
            "roomExtraType": 26,
            "quantity": 1,
            "amount": "100.00"
          }
        ],
        "travelerIndices": [
          1
        ]
      }
    ],
    "specialInstruction": "Need a wi-fi in the room.",
    "paymentPolicy": "DEPOSIT",
    "formOfPayment": 1
  }
Note:

In the Response

Optional

Parameter: getBookingResponse.fares

Type: Array

Description: This new array lists fare information based on active price quotes in the booking.

Sample Value:

        {
            "creationDetails": {
                "creationUserSine": "AWX",
                "creationDate": "2021-05-20",
                "creationTime": "02:35",
                "userWorkPcc": "G7RE",
                "userHomePcc": "G7RE"
            },
            "airlineCode": "EY",
            "fareCalculationLine": "HAM EY X/AMS Q23.65EY AUH Q HAMAUH195.14 1075.06EY X/AMS Q23.65EY HAM Q AUHHAM195.14 1075.06Q HAMHAM3.00NUC2590.70END ROE0.845527",
            "isNegotiatedFare": false,
            "travelerIndices": [
                2
            ],
            "fareConstruction": [
                {
                    "fareBasisCode": "YLF2DE",
                    "baseRate": {
                        "amount": "1075.06",
                        "currencyCode": "NUC"
                    }
                },
                {
                    "fareBasisCode": "YLF2DE",
                    "baseRate": {
                        "amount": "1075.06",
                        "currencyCode": "NUC"
                    }
                }
            ],
            "taxBreakdown": [
                {
                    "taxCode": "YQ",
                    "taxAmount": {
                        "amount": "100.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "DE",
                    "taxAmount": {
                        "amount": "7.30",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "RA",
                    "taxAmount": {
                        "amount": "13.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "OY",
                    "taxAmount": {
                        "amount": "39.80",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "CJ",
                    "taxAmount": {
                        "amount": "17.40",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "RN",
                    "taxAmount": {
                        "amount": "18.20",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "AE",
                    "taxAmount": {
                        "amount": "20.40",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "TP",
                    "taxAmount": {
                        "amount": "1.40",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "ZR",
                    "taxAmount": {
                        "amount": "2.80",
                        "currencyCode": "USD"
                    }
                },
                {
                    "taxCode": "F6",
                    "taxAmount": {
                        "amount": "9.50",
                        "currencyCode": "USD"
                    }
                }
            ],
            "totals": {
                "subtotal": "2674.00",
                "taxes": "229.80",
                "total": "2903.80",
                "currencyCode": "USD"
            }
        }
    ]
Note: Fares are returned based on price quotes for ATPCO Booking or based on the order details for an NDC Booking.

Functional Updates And Enhancements

In the Response

Optional

Parameter: getBookingResponse.flightTickets.ticketingPcc

Type: string

Description: The field returns the Pseudo City Code (PCC) where the ticket was issued. This will help you to keep track of your ticketing workflows.

Sample Value:

"ticketingPcc": "AB12"
Note:

In the Request

Optional

Parameter: getBookingRequest.returnOnly

Type: string

Description: The return only value "FARES" was added. Once applied to a request it ensures that you receive all fares details available for the given booking.

Sample Value:

"returnOnly": ["FARES"]
Note:

In the Request

Optional

Parameter: getBookingRequest.returnOnly

Type: string

Description: The return only value "CREATION_DETAILS" was added. This option will return data in the context of booking creation. For example user data and time stamp.

Sample Value:

"returnOnly": ["CREATION_DETAILS"]
Note:

In the Response

Optional

Parameter: getBookingResponse.flights.identityDocuments

Type: array

Description: The new array will return all identityDocuments applicable for a given flight. This will include the status. The documents can be linked the the identityDocuments under travelers using the itemId.

Sample Value:

      "identityDocuments": [
        {
          "itemId": "T2zMo3MZuQny8lc7jbejvKdGMdUxTy/cEuT+a9MiUDeRQpQIGdYdH7Glwy1GlY53faZ55jWGCwrKyWxjJFzuNg==",
          "status": "Confirmed"
        }
      ]
Note: ItemId is a unique identifier to easily link the same documents from flights.identityDocuments with travelers.identityDocuments.

In the Response

Optional

Parameter: createBookingResponse.errors

Type: n/a

Description: The error message related to addition of an identity document

Sample Value:

UNABLE_TO_ADD_SPECIAL_SERVICE
Note: previously the error type was: UNABLE_TO_ADD_IDENTITY_DOCUMENT

Resolved Issues

In the Request

Optional

DE196925: No detailed info for incorrect request [getBooking]

In the Request

Optional

DE196924: No clear warning for incorrect returnOnly values [getBooking]

In the Response

Optional

DE196151: Ticket Details not returned when at least one TKT_ElectronicDocumentServices is an error [getBooking]

In the Request/Response

Optional

DE194833: void-/refundFlightTickets with confirmationId fails to create tickets list [voidFlightTickets/refundFlightTickets]

In the Response

Optional

DE194830: invalid fareRules Error returned [getBooking]

In the Response

Optional

DE198226: fareRules Error returned when using returnOnly [getBooking]

In the Response

Optional

DE196845: Wrong travelerIndices in fareOffers section for split PNR's [getBooking]

Relase note ID: 16267


  • GetBooking will return additional data for the creation of the booking. This will include the sine of the user who created it, creation date & time, the PCC the booking was created in, the PCC the creating user is coming from, and the prime host ID.
  • GetBooking will start returning structured data about Other Service Information (OSI). The information provided will include the airline, chain (hotels) or vendor (cars, trains, cruises) codes, and the service message. Optionally, the traveler index can also be returned.
  • CreateBooking will support sending other service information (OSI).
  • CreateBooking will allow filtering the profiles by ID.
  • CreateBooking will now automatically send infant traveler SSRs to the airline.
  • CheckFlightTickets will start supporting requests by confirmationId. This allows you to check all ATPCO-Tickets of a reservation and check the refund or void option of a NDC Order.
  • CancelBooking will support voids or refunds for NDC orders. Simply provide the offerItemId to the request and we take care of the rest.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.6
Target Audience
TN
Environment
Production

What's New

  • GetBooking will return additional data for the creation of the booking. This will include the sine of the user who created it, creation date & time, the PCC the booking was created in, the PCC the creating user is coming from, and the prime host ID.
  • GetBooking will start returning structured data about Other Service Information (OSI). The information provided will include the airline, chain (hotels) or vendor (cars, trains, cruises) codes, and the service message. Optionally, the traveler index can also be returned.
  • CreateBooking will support sending other service information (OSI).
  • CreateBooking will allow filtering the profiles by ID.
  • CreateBooking will now automatically send infant traveler SSRs to the airline.
  • CheckFlightTickets will start supporting requests by confirmationId. This allows you to check all ATPCO-Tickets of a reservation and check the refund or void option of a NDC Order.
  • CancelBooking will support voids or refunds for NDC orders. Simply provide the offerItemId to the request and we take care of the rest.

Business Value

  • Full integration of void and refund in cancelBooking across ATCPO and NDC content.
  • Support for other service information in createBooking and getBooking.
  • CreateBooking will now automatically send infant traveler SSRs to the airline.

New Features

In the Request

Optional

Parameter: CreateBookingRequest.profiles.filterId

Type: string

Description: Profile Filters

Sample Value:

"filterId": "112676753"
Note:

In the Request

Optional

Parameter: CreateBookingRequest.travelers.emails

Type: Array

Description: Associate a list of email addresses to a traveler.

Sample Value:

"emails": [
        "john@smith.family.priv"
      ]
Note:

In the Request

Optional

Parameter: CreateBookingRequest.otherServices

Type: Array

Description: Contains Other Service Information (OSI) sent to an airline.

Sample Value:

  "otherServices": [
    {
      "airlineCode": "AA",
      "chainCode": "BY",
      "vendorCode": "ZE",
      "travelerIndex": 1,
      "serviceMessage": "/CX-J674A0957C0"
    }
  ]
Note:

In the Response

Optional

Parameter: GetBookingResponse.creationDetails

Type: Object

Description: Contains details about the creation of a booking.

Sample Value:

  "creationDetails": {
    "creationUserSine": "A12",
    "creationDate": "2021-01-09",
    "creationTime": "15:00",
    "userWorkPcc": "AB12",
    "userHomePcc": "CD34",
    "primeHostId": "1S"
  },
Note:

In the Response

Optional

Parameter: GetBookingResponse.otherServices

Type: Array

Description: Contains Other Service Information (OSI) sent to an airline.

Sample Value:

  "otherServices": [
    {
      "airlineCode": "AA",
      "chainCode": "BY",
      "vendorCode": "ZE",
      "travelerIndex": 1,
      "serviceMessage": "/CX-J674A0957C0"
    }
  ]
Note:

In the Request

Optional

Parameter: CancelBookingRequest.offerItemId

Type: String

Description: Offer ID referencing the cancel option for a NDC order. This ID must be applied when cancelling an order to receive a refund or void.

Sample Value:

"offerItemId": "cb7778589bcbklg7tkkp8sdo50"
Note:

In the Request

Optional

Parameter: CheckFlightTicketsRequest.confirmationId

Type: String

Description: The booking reference ID as shown in the source supplier/vendor system. For `SABRE`, this is the PNR Locator value.

Sample Value:

"confirmationId": "GLEBNY"
Note:

In the Request

Optional

Parameter: VoidFlightTicketsRequest.confirmationId

Type: String

Description: The booking reference ID as shown in the source supplier/vendor system. For `SABRE`, this is the PNR Locator value.

Sample Value:

"confirmationId": "GLEBNY"
Note:

In the Request

Optional

Parameter: RefundFlightTicketsRequest.confirmationId

Type: String

Description: The booking reference ID as shown in the source supplier/vendor system. For `SABRE`, this is the PNR Locator value.

Sample Value:

"confirmationId": "GLEBNY"
Note:

Functional Updates And Enhancements

In the Request

Optional

Parameter: CreateBookingRequest.profiles

Type: Object

Description: Additional filtering options for profile selection.

Sample Value:

  "profiles": [
    {
      "profileName": "TESTPROFILE",
      "profileTypeCode": "TVL",
      "uniqueId": "ABC123",
      "domainId": "G7HE",
      "filterId": "112676753"
    }
  ]
Note:

In the Request

Optional

Parameter: CreateBookingRequest.otherServices

Type: Array

Description: Possibility to send other service information (OSI) to an airline.

Sample Value:

  "otherServices": [
    {
      "airlineCode": "AA",
      "chainCode": "BY",
      "vendorCode": "ZE",
      "travelerIndex": 1,
      "serviceMessage": "/CX-J674A0957C0"
    }
  ]
Note:

In the Request

Optional

Parameter: CreateBookingRequest.travelers.emails

Type: Array

Description: Lists emails associated to a traveler.

Sample Value:

      "emails": [
        "john@smith.family.priv"
      ]
Note:

In the Request

Optional

Parameter: getBookingRequest.returnOnly

Type: Array

Description: Additional returnOnly option "OTHER_SERVICES" to return only other service information (OSI)

Sample Value:

{
  "confirmationId": "ABCDEF",
  "returnOnly": ["OTHER_SERVICES"]
}
Note:

In the Response

Optional

Parameter: GetBookingResponse.otherServices

Type: Array

Description: Lists other service information (OSI)

Sample Value:

  "otherServices": [
    {
      "airlineCode": "AA",
      "travelerIndex": 1,
      "serviceMessage": "TEST OSI MESSAGE"
    },
    {
      "chainCode": "BY",
      "serviceMessage": "/CX-J674A0957C0"
    },
    {
      "vendorCode": "ZE",
      "serviceMessage": "/CX-J674A0957C0"
    }
  ]
Note:

In the Response

Optional

Parameter: GetBookingResponse.creationDetails

Type: Object

Description: Provides information about the creation of the booking.

Sample Value:

  "creationDetails": {
    "creationUserSine": "A12",
    "creationDate": "2021-01-09",
    "creationTime": "15:00",
    "userWorkPcc": "AB12",
    "userHomePcc": "CD34",
    "primeHostId": "1S"
  }
Note:

In the Response

Optional

Parameter: GetBookingResponse.futureTicketingPolicy

Type: Object

Description: Contains ticketing instructions for a booking.

Sample Value:

  "futureTicketingPolicy": {
    "ticketingPcc": "AB12",
    "queueNumber": "55",
    "ticketingDate": "2019-07-09",
    "ticketingTime": "11:00",
    "comment": "TICKET BEFORE TUES"
  }
Note:

In the Request

Optional

Parameter: CancelBookingRequest.flightTicketOperation

Type: String

Description: New option "REFUND" to cancel the booking and refund all tickets.

Sample Value:

"flightTicketOperation": "REFUND"
Note:

In the Request

Optional

Parameter: CancelBookingRequest.designatePrinters.

Type: Array

Description: Additional printer designation options were added: hard copy printer, ticket printer and invoice&itinerary printer

Sample Value:

  "designatePrinters": [
    {
      "hardcopy": {
        "address": "EF34GH",
        "spacing": "1"
      },
      "invoiceItinerary": "AB12CD",
      "ticket": {
        "address": "EF34GH",
        "countryCode": "RU"
      }
    }
  ]
Note:

In the Request

Optional

Parameter: CancelBookingRequest.offerItemId

Type: String

Description: The offerItemId allows to define action on NDC tickets. Use checkFlightTickets to obtain the possible refund or void offers, including the offerItemId.

Sample Value:

"offerItemId": "cb7778589bcbklg7tkkp8sdo50"
Note:

In the Request

Optional

Parameter: CheckFlightTicketsRequest.confirmationId

Type: String

Description: Use the confirmationId to verify refund and void options for the entire booking. This will check the entire list ATPCO tickets in a PNR or the NDC Order.

Sample Value:

"confirmationId": "GLEBNY"
Note:

In the Request

Optional

Parameter: RefundFlighTicketsRequest.confirmationId

Type: String

Description: Use the confirmationId to refund the entire list ATPCO tickets in a PNR.

Sample Value:

"confirmationId": "GLEBNY"
Note: Not supported for NDC Orders.

In the Request

Optional

Parameter: VoidFlightTicketsRequest.confirmationId

Type: String

Description: Use the confirmationId to void the entire list ATPCO tickets in a PNR.

Sample Value:

"confirmationId": "GLEBNY"
Note: Not supported for NDC Orders.

Resolved Issues

In the Request

Optional

DE191705: voidFlightTickets with confirmationId returns tickets array in request

In the Request

Optional

DE193728: cancelBooking with Sabre Order Id fails

In the Response

Optional

DE193144: Baggage allowance showing in itinerary when there is no PQ in reservation

In the Request

Optional

DE193727: cancelBooking with offerItemId fails [NDC]

In the Request

Optional

DE192788: cancelBooking Cannot deserialize value of type `ReturnOnlyEnum` from String

In the Response

Optional

DE190631: CONTEXT_CHANGE_PROBLEM when using targetPcc

Relase note ID: 15802


  • createBooking - New method for booking various content.
  • checkFlightTickets - New method to verify voidability and refundability for flight tickets.
  • refundFlightTickets - New method to refund flight tickets incl. the option to apply refund qualifiers.
  • Post Processing Options - Send and email or place the booking on one or more queues after transaction finished.
  • Printer Designation - Apply a printer profile for a void or refund transaction.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/
Current Version
1.5
Target Audience
TN
Environment
Production

What's New

  • createBooking - New method for booking various content.
  • checkFlightTickets - New method to verify voidability and refundability for flight tickets.
  • refundFlightTickets - New method to refund flight tickets incl. the option to apply refund qualifiers.
  • Post Processing Options - Send and email or place the booking on one or more queues after transaction finished.
  • Printer Designation - Apply a printer profile for a void or refund transaction.

Business Value

  • Create Booking is used to book various Sabre content within a single API call. It creates either a Sabre order or a Sabre PNR.
  • Check and Refund Flight Tickets are used to refund tickets with a two-step process. These methods return options to refund or void a ticket (including refundable amounts).
  • Added post-processing options are used to place a PNR on one or more queues, or to send an email after the transaction finished.
  • Support for printer profiles allows the designation of a printer using a printer profile number.

New Features

In the Response

Optional

Parameter: getBooking returns seat array for NDC flights

Type: array

Description: Row and column for a seat location

Sample Value:

"seats": [
        {
          "number": "13A"
        }
      ],
Note:

Functional Updates And Enhancements

In the Request

Optional

Parameter: Printer Designation

Type: array

Description: Providing the applicable printer profile number will designate the associated printer(s) during the transaction. Printer(s) will be undesignated at the end of the flow.

Sample Value:

  "designatePrinters": [
    {
      "printerProfileNumber": 1
    }
  ]
Note:

In the Request

Optional

Parameter: Queue Placement

Type: array

Description: Place the PNR on up to three (3) queues after the transaction finishes. Additionally, PCC, PIC, and queue place date can be specified.

Sample Value:

    "queuePlacement": [
      {
        "queueNumber": 400,
        "queueName": "HENRY",
        "pcc": "G7RE",
        "prefatoryInstructionCode": 11,
        "futureQueuePlacementDate": "2019-07-09"
      }
    ]
Note: This cannot be combined with notifications.email.

In the Request

Optional

Parameter: Email

Type: string

Description: Send an email with a predefined template to the email address(es) in the PNR.

Sample Value:

"email": "INVOICE",
Note: This cannot be combined with notifications.queuePlacement.

In the Response

Required

Parameter: Support for ARUNK-Segments

Type: string

Description: Get Booking will return a special type, "ARNK", for ARUNK segments under allSegments.

Sample Value:

    "allSegments": [
        {
            "id": "8",
            "type": "FLIGHT",
            "text": "2",
            "vendorCode": "EY",
            "startDate": "2021-05-10",
            "startTime": "11:20:00",
            "startLocationCode": "FRA",
            "endDate": "2021-05-10",
            "endTime": "19:40:00",
            "endLocationCode": "AUH"
        },
        {
            "id": "9",
            "type": "ARNK"
        }
    ],
Note:

Resolved Issues

In the Response

Required

DE188896: ticketStatus doesn't match couponStatus

In the Response

Required

DE188764: cancelBooking unable to finish due to EET Error

In the Response

Optional

DE188524: Duplicate fareRules Warning returned when ticket is voided/refunded/exchanged

In the Response

Required

DE188440: getBooking with "returnOnly": ["TICKETS"] does not return flightCoupons and returns warning for fareRules

In the Response

Optional

DE187807: getBooking returns flightCoupons without itemId for PNR without flights (cancelled)

In the Response

Optional

DE187800: getBooking returns warnings regarding fareRules for PNR without flights (cancelled)

In the Response

Optional

DE187795: Incorrect Price Quote filtering leads to fareRules error

In the Response

Required

DE187129: incorrect validating carrier applied to structuredFareRulesRQ

In the Response

Optional

DE186806: incorrect passenger type count sent to structured fare rules

In the Response

Required

DE186902: getBooking with "returnOnly": ["TICKETS"] does not return tickets

In the Request

Required

DE186774: Missing validation for too long ticket number in VoidTicketRQ

In the Response

Optional

DE186747: Post Processing: Send queuePlaceRQ with multiple queues

In the Response

Required

DE185951: flighTotals.total not returned for unticketed NDC Order

In the Request/Response

Optional

DE185847: messageContext not populated for Ticketing service

In the Request

Required

DE185629: cancelBooking: Invalid entry for flightTicketOperation doesn't stop the flow

In the Response

Optional

DE185327: missing FareRules warning created incorrectly

In the Response

Required

DE185017: missing fareRules warning lacks in singular/plural consistency

In the Request/Response

Required

DE185014: Cancel of ATPCO segment in mixed NDC/ATPCO Order fails due to EnhancedEndTransaction Warning

In the Response

Required

DE184773: flightTotals for not ticketed NDC order missing

In the Response

Optional

DE184566: Inconsistent Error for Partial Cancel of NDC content

In the Response

Optional

DE183115: no message Context Created for cancelBooking & void Ticket

Relase note ID: 15543


  • Additional details were added for hotels, cars and trains. Payment details per segment are returned now.
  • hotelTotals returns information about fees included in the payment now.
  • With this version the service starts returning information about identity documents based on Special Service Requests (SSR) for flights.
  • Application will now return loyalty program information per traveler.
  • CancelBooking and cancelFlightTickets supports AUTO-E setup now.
  • CancelBooking and cancelFlightTickets allow now a custom value for the "receive from" field.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/getBooking | /v1/trip/orders/cancelFlightTickets | /v1/trip/orders/cancelBooking
Current Version
1.4
Target Audience
TN
Environment
Production

What's New

  • Additional details were added for hotels, cars and trains. Payment details per segment are returned now.
  • hotelTotals returns information about fees included in the payment now.
  • With this version the service starts returning information about identity documents based on Special Service Requests (SSR) for flights.
  • Application will now return loyalty program information per traveler.
  • CancelBooking and cancelFlightTickets supports AUTO-E setup now.
  • CancelBooking and cancelFlightTickets allow now a custom value for the "receive from" field.

Business Value

  • The addition of loyalty programs and identity documents in getBooking mark the first step in supporting special service requests for flights.

New Features

In the Response

Optional

Parameter: identityDocuments

Type: array

Description: This feature will list all identity documents for a given traveler providing detailed information about each document.

Sample Value:

"identityDocuments": [
{
"documentNumber": "1122334455AAZZ",
"documentType": "PASSPORT",
"expiryDate": "2022-09-30",
"issuingCountryCode": "EN",
"givenName": "GEORGE",
"surname": "ORWELL",
"birthDate": "1986-04-26",
"gender": "MALE",
"isPrimaryDocumentHolder": false
}
]
Note: Depending on the document type different fields will be returned.

In the Response

Optional

Parameter: loyaltyPrograms

Type: array

Description: The feature will list loyalty programs such a frequent flyer numbers for each traveler.

Sample Value:

"loyaltyPrograms": [
{
"supplierCode": "BA",
"programNumber": "11223344",
"tierLevel": 3,
"receiverCode": "AA"
}
]
Note: Currently only frequent flyer programs are supported.

In the Request

Optional

Parameter: receivedFrom

Type: string

Description: CancelBooking and cancelFlightTickets will allow you to customize the value for the receivedFrom field.

Sample Value:

{
    "confirmationId": "UOZEUN",
    "retrieveBooking": true,
    "receivedFrom": "MY RECEIVER NAME",
    "cancelAll": false,
    "errorHandlingPolicy": "HALT_ON_ERROR",
    "flights": [
        {
            "itemId": 12
        }
    ]
}
Note:

Functional Updates And Enhancements

In the Request

Optional

Parameter: cancelBookingRQ.receivedFrom

Type: string

Description: Used to identify the entity that authorized the changes in a passenger name record.

Sample Value:

"receivedFrom": "Booking Management API Test"
Note: If the field is not part of the request the default value will be applied.

In the Response

Optional

Parameter: getBookingRS.hotels.payment.taxes

Type: string

Description: Returns the sum of taxes for a given hotel payment.

Sample Value:

"taxes": "8.00"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.payment.subtotal

Type: string

Description: Returns the amount before taxes for a given hotel payment.

Sample Value:

"subtotal": "120.00"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.payment.fees

Type: string

Description: Returns the sum of fees for a given hotel payment.

Sample Value:

"fees": "12.50"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.payment.total

Type: string

Description: Returns the total amount for a given hotel payment.

Sample Value:

"total": "125.63"
Note:

In the Response

Optional

Parameter: getBookingRS.payments.hoteltotals.fees

Type: string

Description: Returns the sum of fees for all hotel payment.

Sample Value:

"fees": "36.30"
Note:

In the Response

Optional

Parameter: getBookingRS.trains.payment.currencyCode

Type: string

Description: Returns the three letters ISO 4217 Currency Code for a given train payment.

Sample Value:

"currencyCode": "USD"
Note:

In the Response

Optional

Parameter: getBookingRS.trains.payment.total

Type: string

Description: Returns the total amount for a given train payment.

Sample Value:

"total": "43.00"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.payment.currencyCode

Type: string

Description: Returns the three letters ISO 4217 Currency Code for a given hotel payment.

Sample Value:

"currencyCode": "USD"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.payment.subtotal

Type: string

Description: Returns the amount before taxes of a given car payment.

Sample Value:

"subtotal": "150.00"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.payment.total

Type: string

Description: Returns the total amount for a given car payment.

Sample Value:

"total": 185.30"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.payment.currencyCode

Type: string

Description: Returns the three letters ISO 4217 Currency Code for a given car payment.

Sample Value:

"currencyCode": "USD"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.payment.taxes

Type: string

Description: Returns the sum of taxes for a given car payment.

Sample Value:

"taxes": "15.99"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.documentNumber

Type: string

Description: Returns the unique identifier for a document.

Sample Value:

"documentNumber": "CC90IBE2020"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.documentType

Type: string

Description: Returns the type of document.

Sample Value:

"documentType": "VISA"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.expiryDate

Type: string

Description: The expiration date of the identity document.

Sample Value:

"expiryDate": "2024-07-09"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.issuingCountryCode

Type: string

Description: The ISO code of the country issuing the passenger document.

Sample Value:

"issuingCountryCode": "FR"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.residenceCountryCode

Type: string

Description: The ISO code of the residing country or nationality country.

Sample Value:

"residenceCountryCode": "DE"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.placeOfIssue

Type: string

Description: The name of the place where the document was issued.

Sample Value:

"placeOfIssue": "ROME"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.placeOfBirth

Type: string

Description: The place of birth.

Sample Value:

"placeOfBirth": "MINSK"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.hostCountryCode

Type: string

Description: The ISO country code where the document is valid.

Sample Value:

"hostCountryCode": "US"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.issueDate

Type: string

Description: The issue date of the identity document.

Sample Value:

"issueDate": "2019-07-09"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.givenName

Type: string

Description: The traveler's first name.

Sample Value:

"givenName": "John"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.middleName

Type: string

Description: The traveler's middle name.

Sample Value:

"middleName": "Jack"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.surname

Type: string

Description: The traveler's last name.

Sample Value:

"surname": "Orwell"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.birthDate

Type: string

Description:

Sample Value:

"birthDate": "1980-12-02"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.gender

Type: string

Description: The gender of the individual.

Sample Value:

"gender": "MALE"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.isPrimaryDocumentHolder

Type: boolean

Description: If 'true' it indicates the primary passport holder when the document is issued for multiple travelers.

Sample Value:

"isPrimaryDocumentHolder": true
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.residenceDestinationAddress.street

Type: string

Description: The street name and house number accompanied with the number of apartments/unit/suite, if applicable.

Sample Value:

"street": "1230 Ellen Ave, apt 10"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.residenceDestinationAddress.city

Type: string

Description: The name of the city.

Sample Value:

"city": "Dallas"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.residenceDestinationAddress.stateProvince

Type: string

Description: The name or code of the state or province.

Sample Value:

"stateProvince": "TX"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.identityDocuments.residenceDestinationAddress.postalCode

Type: string

Description: The zip or postal code.

Sample Value:

"postalCode": "75063"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.loyaltyProgram.supplierCode

Type: string

Description: The two-letter code that issued the number such as IATA airline code.

Sample Value:

"supplierCode": "BA"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.loyaltyProgram.programNumber

Type: string

Description: Traveler membership number for loyalty program such as frequent flyer number.

Sample Value:

"programNumber": "987654321"
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.loyaltyProgram.tierLevel

Type: integer

Description: The level that the traveler reached within the loyalty program.

Sample Value:

"tierLevel": 3
Note:

In the Response

Optional

Parameter: getBookingRS.travelers.loyaltyProgram.receiverCode

Type: string

Description: The two-letter receiver code, such as IATA airline code.

Sample Value:

"receiverCode": "UA"
Note:

Resolved Issues

In the Response

Optional

[GetBooking] DE179517: fareRules: Incorrect Passenger Code Filtering

In the Request

Optional

[CancelFlightTickets] DE181034: TKT_GetElectronicDocument fails when document number exceeds 13 digits

In the Response

Optional

[GetBooking] DE181137: missing fareRules/No fareRules Error

In the Response

Optional

[GetBooking] DE181922: Exception while processing --> Text '11FEB08' could not be parsed at index

In the Response

Optional

[GetBooking] DE182391: fareRules not populated for Multi-Passenger-One-Way Itinerary

In the Response

Optional

[GetBooking] DE182381: fareRules can not be populated for Multiple-One-Ways Itinerary

In the Response

Optional

[GetBooking] DE182400: For not-ticketed PNR flightTotals should not be returned if there is no flight present

In the Response

Optional

[GetBooking] DE182282: fareRules can not be populated for Open-Jaw Itinerary

In the Response

Optional

[GetBooking] DE182875: travelers section sometimes does not contain passengerCode

In the Response

Optional

[GetBooking] DE182876: payments total incorrect when 2 PQs have the same price

In the Response

Optional

[GetBooking] DE183250: flightTotals.subtotal missing if no EquivalentFare present

In the Response

Optional

[GetBooking] DE183382: fareRules for ticketed PNR duplicated for same passengerType & Origin-Destination-Option

Relase note ID: 15125


  • Additional information was added to the GetBooking endpoint for the car element; it now provides more details about the rate code, vehicle type, and vendor contact information.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/getBooking /v1/trip/orders/cancelFlightTickets /v1/trip/orders/cancelBooking
Current Version
1.3
Target Audience
TN
Environment
Production

What's New

  • Additional information was added to the GetBooking endpoint for the car element; it now provides more details about the rate code, vehicle type, and vendor contact information.

Business Value

  • Extensions in GetBooking now provide more information for car bookings.

Functional Updates And Enhancements

In the Response

Optional

Parameter: getBookingRS.cars.pickUpContactInfo

Type: list

Description: Contains contact information for the pickup location.

Sample Value:

{
                "phones": [
                    "866-434-1111"
                ]
            }
Note:

In the Response

Optional

Parameter: getBookingRS.cars.dropOffContactInfo

Type: reference

Description: Contains contact information for the drop-off location.

Sample Value:

{
                "phones": [
                    "866-434-1111"
                ]
            }
Note:

In the Response

Optional

Parameter: getBookingRS.cars.vehicleTypeCode

Type: string

Description: The 4 character [ACRISS](https://www.acriss.org/car-codes/) code of the car.

Sample Value:

"vehicleTypeCode": "C"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.vehicleTypeName

Type: string

Description: The name of the car type based on the second character of the [ACRISS](https://www.acriss.org/car-codes/) code.

Sample Value:

"vehicleTypeName": "Two/Four Door"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.rateCode

Type: string

Description: The unique ID for an offer at a given vendor.

Sample Value:

"rateCode": "RCUD1"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.distanceAllowance

Type: string

Description: The included distance in the car rental booking.

Sample Value:

"distanceAllowance": "UNL"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.guaranteePaymentNote

Type: string

Description: The payment information provided to the vendor to guarantee the booking. Returned when structured data is not available.

Sample Value:

"guaranteePaymentNote": "GVI4XXXXXXXXXXX1111EXP 12 24-MONSTER"
Note:

In the Response

Optional

Parameter: getBookingRS.cars.specialInstructions

Type: string

Description: The special information provided to the vendor.

Sample Value:

"specialInstructions": "NON-SMOKING CAR PLEASE"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.refundPenaltyPolicyCode

Type: string

Description: The penalty code of a cancellation in the context of legacy GDS hotel content.

Sample Value:

"refundPenaltyPolicyCode": "01D"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.guaranteePaymentNote

Type: string

Description: Provides information regarding the guarantee provided for the legacy GDS hotel content.

Sample Value:

"guaranteePaymentNote": "GVI4XXXXXXXXXXX1111EXP 01 25-HOTEL"
Note:

Resolved Issues

In the Response

Optional

DE177488: Empty travelers.address.freeText should not be returned.

In the Response

Optional

DE176306: No warning returned for missing fareRules/fareOffers.

In the Response

Optional

DE177573: travelerIindex not populated for flightTickets.

In the Response

Optional

DE178133: getBooking should not return empty arrays for flightOffers.

In the Response

Optional

DE178178: cars.pickUpContactInfo should not return null values for faxes and emergencyPhones.

In the Response

Required

DE178964: Missing Seat info for TravelerIndex 1 doesn't return empty array.

In the Response

Required

DE178964: Missing Seat info for TravelerIndex 1 doesn't return empty array.

Relase note ID: 14780


  • A new method CancelFlightTickets has been introduced to the Booking Management API.
  • For GetBooking additional information was added to the hotel element providing more details about vendor, room and fulfillment details.
  • The construction of fareRules for GetBooking has been enhanced. This was done for both scenarios: Saved price quotes and issued tickets. Logic for different passenger type as well as more complex origin-destination-options has also been enhanced.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders/getBooking /v1/trip/orders/cancelFlightTickets /v1/trip/orders/cancelBooking
Current Version
1.2
Target Audience
TN
Environment
Production

What's New

  • A new method CancelFlightTickets has been introduced to the Booking Management API.
  • For GetBooking additional information was added to the hotel element providing more details about vendor, room and fulfillment details.
  • The construction of fareRules for GetBooking has been enhanced. This was done for both scenarios: Saved price quotes and issued tickets. Logic for different passenger type as well as more complex origin-destination-options has also been enhanced.

Business Value

  • The introduction of Cancel Flight Tickets simplifies the voiding of electronic documents for ATPCO content. Instead of handling a complex sequence of API calls this service orchestrates multiple services in one call. This includes a recovery strategy in case of failure, handling of multiple documents, performing the action in a different PCC than the home PCC and update of the reservation.

New Features

In the Request

Required

Parameter: cancelFlightTicketsRQ.tickets

Type: array

Description: Lists 13-digit electronic document numbers for tickets or EMDs which should be voided.

Sample Value:

{
  "tickets": [
    "0011234567890",
    "0011234567891
  ]
}
Note: Currently we support up to 12 documents in one call.

Functional Updates And Enhancements

In the Response

Optional

Parameter: getBookingRS.cruises.cruiseStatusCode

Type: string

Description: We're returning status code and name for cruises now.

Sample Value:

"cruises": [
        {
            "itemId": "7",
            "vendorCode": "VI",
            "fromPortCode": "MIA",
            "toPortCode": "SJU",
            "departureDate": "2020-09-30",
            "departureTime": "16:00:00",
            "numberOfGuests": 2,
            "cruiseStatusCode": "GK",
            "cruiseStatusName": "Confirmed"
        }
    ],
Note: CruiseStatusName is returned based on the cruiseStatusCode.

In the Response

Optional

Parameter: getBookingRS.agencyCustomerNumber

Type: string

Description: The new field agencyCustomerNumber contains the DK Number.

Sample Value:

{
    "agencyCustomerNumber": "SABRE1",
    "flightTickets": [
        {
            "number": "0721237616987",
            "date": "2020-08-07",
            "travelerIndex": 1,
            "flightCoupons": [
                {
                    "itemId": "9",
                    "couponStatus": "Not Flown",
                    "couponStatusCode": "I"
                }
            ],
            "payment": {
                "subtotal": "444.00",
                "taxes": "74.50",
                "total": "518.50",
                "currencyCode": "USD"
            },
            "ticketStatusName": "Issued",
            "ticketStatusCode": "TE"
        }
    ],
    "request": {
        "confirmationId": "XYZABC",
        "returnOnly": [
            "TICKETS"
        ]
    }
}
Note: The agencyCustomerNumber will be returned for all returnOnly options.

In the Response

Optional

Parameter: getBookingRS.hotels.propertyId

Type: string

Description: The field will provide you with the unique property Id of each hotel.

Sample Value:

"propertyId": "52007"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.chainCode

Type: string

Description: The field returns the hotel chain code.

Sample Value:

"chainCode": "KC"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.chainName

Type: string

Description: This field provides the hotel chain name.

Sample Value:

"chainName": "KIMPTON HOTELS"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.guaranteeTypeCode

Type: int

Description: The field returns the code of the form of payment used to guarantee the booking.

Sample Value:

"guaranteeTypeCode": 5
Note: The form of payment codes follow OTA standard.

In the Response

Optional

Parameter: getBookingRS.hotels.guaranteeTypeName

Type: string

Description: The field returns the name of the form of payment used to guarantee of the booking.

Sample Value:

"guaranteeTypeName": "CREDIT CARD"
Note: The form of payment names follow OTA standard.

In the Response

Optional

Parameter: getBookingRS.hotels.specialInstructions

Type: string

Description: This field returns additional information provided to the property when booking, e.g. special preferences.

Sample Value:

"specialInstructions": "Upper floor please"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.room.roomTypeCode

Type: string

Description: The field returns the room type code applied by the vendor.

Sample Value:

"roomTypeCode": "1DN"
Note:

In the Response

Optional

Parameter: getBookingRS.hotels.room.roomRate

Type: Object

Description: This object will return amount and currency code of the applied rate per night before taxes.

Sample Value:

"amount": "46.60",
"currencyCode": "USD"
Note:

Resolved Issues

In the Response

Optional

Incorrect ticketStatusCode and ticketStatusName when timestamps are overlapping.

In the Request

Optional

GraphQL: Invalid input for Enum 'FlightStatusNameEnum'

In the Response

Optional

Hotel refundPenalties Incorrectly display in Get Booking Response

Relase note ID: 14363


  • A new feature is introduced for CancelBooking, which allows you to cancel a booking and void the corresponding tickets or EMD's in one call by specifying the flightTicketOperation "VOID" in the request.
  • GetBooking contains information regarding the baggage policy per flight and traveler. Now in addition, enhancements for hotel and ticket status is introduced.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders
Current Version
1.1
Target Audience
TN
Environment
Production

What's New

  • A new feature is introduced for CancelBooking, which allows you to cancel a booking and void the corresponding tickets or EMD's in one call by specifying the flightTicketOperation "VOID" in the request.
  • GetBooking contains information regarding the baggage policy per flight and traveler. Now in addition, enhancements for hotel and ticket status is introduced.

Business Value

  • Version 1.1 brings additional value to the Booking Management API by combining segment and ticket handling for CancelBooking, where customers had to perform multiple steps to void tickets or EMD's and then cancel the segments. It's just one call for everything now.
  • User will have full details about baggage allowance and related charges with the introduction of fareOffers section.

New Features

In the Request

Optional

Parameter: flightTicketOperation

Type: string

Description: Defines the operation applied to the electronic documents in the booking. If not used, only segments will be cancelled and the electronic documents remain untouched. Currently there is no support for the NDC Orders.

Sample Value:

{
    "confirmationId": "ABCDEF",
    "retrieveBooking": false,
    "cancelAll": true,
    "flightTicketOperation": "VOID",
    "errorHandlingPolicy": "ALLOW_PARTIAL_CANCEL"
}
Note: Currently, only the flightTicketOperation "VOID" is supported. Support for refunds is on our roadmap.

In the Response

Optional

Parameter: fareOffers

Type: list

Description: Lists ancillary offers for selected flights identified by itemId flight references.

Sample Value:

{
    "fareOffers": [
        {
            "travelerIndices": [
                1
            ],
            "flights": [
                {
                    "itemId": "7"
                }
            ],
            "cabinBaggageAllowance": {
                "maximumPieces": 1,
                "totalWeightInKilograms": 7
            },
            "checkedBaggageAllowance": {
                "totalWeightInKilograms": 30
            },
            "checkedBaggageCharges": [
                {
                    "maximumWeightInPounds": 33,
                    "maximumWeightInKilograms": 15,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "399.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "maximumWeightInPounds": 44,
                    "maximumWeightInKilograms": 20,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "528.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "maximumWeightInPounds": 55,
                    "maximumWeightInKilograms": 25,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "656.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "maximumWeightInPounds": 66,
                    "maximumWeightInKilograms": 30,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "785.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "maximumWeightInPounds": 77,
                    "maximumWeightInKilograms": 35,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "912.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "maximumWeightInPounds": 11,
                    "maximumWeightInKilograms": 5,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "143.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "maximumWeightInPounds": 22,
                    "maximumWeightInKilograms": 10,
                    "numberOfPieces": 1,
                    "fee": {
                        "amount": "272.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "numberOfPieces": 1,
                    "specialItemDescription": "WEIGHT SYSTEM CHARGE",
                    "fee": {
                        "amount": "30.00",
                        "currencyCode": "USD"
                    }
                },
                {
                    "numberOfPieces": 1,
                    "specialItemDescription": "ASSISTIVE DEVICES 2",
                    "fee": {
                        "amount": "42.00",
                        "currencyCode": "AUD"
                    }
                }
            ]
        }
    ],
    "request": {
        "confirmationId": "RIGDDB",
        "returnOnly": [
            "BAGGAGE_POLICY"
        ]
    }
}
Note: The source of this information is Get Ancillary Offers API.

Functional Updates And Enhancements

In the Response

Optional

Parameter: US917209: Add Status Info to Hotel

Type: string

Description: For hotels, the hotelStatusCode and hotelStatusName are supported now.

Sample Value:

{
    "startDate": "2020-11-03",
    "endDate": "2020-11-04",
    "hotels": [
        {
            "itemId": "15",
            "confirmationId": "ABC123",
            "hotelName": "WINDSOR GUEST HOUSE",
            "address": {
                "street": "325 WEST 11TH AVENUE",
                "city": "VANCOUVER",
                "postalCode": "V5Y1T3",
                "countryCode": "CA"
            },
            "checkInDate": "2020-11-03",
            "checkInTime": "00:00",
            "checkOutDate": "2020-11-04",
            "checkOutTime": "00:00",
            "room": {
                "roomType": "Basic Double Room with Shared Bathroom - Breakfast included in the price - Genius Business - Booking.com rate",
                "quantity": 1,
                "description": "Basic Double Room with Shared Bathroom - Breakfast included in the price - Genius Business - Booking.com rate"
            },
            "isRefundable": false,
            "hotelStatusCode": "HK",
            "hotelStatusName": "Confirmed"
        }
    ],
    "request": {
        "confirmationId": "JMRIPG",
        "returnOnly": [
            "HOTELS"
        ]
    }
}
Note: Only the current status will be reflected.

In the Response

Optional

Parameter: US933173: Add Ticket Status to flightTickets

Type: string

Description: For each flightTicket the ticketStatusName and ticketStatusCode will be returned. Currently, three ticketStatusNames are supported: Issued, Voided, Exchanged/Refunded. The coupons status is not taken into consideration for definition of ticket status.

Sample Value:

{
    "flightTickets": [
        {
            "number": "6071234567890",
            "date": "2020-07-03",
            "travelerIndex": 1,
            "flightCoupons": [
                {
                    "itemId": "7",
                    "couponStatus": "Not Flown",
                    "couponStatusCode": "I"
                }
            ],
            "payment": {
                "subtotal": "1347.00",
                "taxes": "238.70",
                "total": "1585.70",
                "currencyCode": "USD"
            },
            "ticketStatusName": "Issued",
            "ticketStatusCode": "TE"
        }
    ],
    "request": {
        "confirmationId": "ABCDEF",
        "returnOnly": [
            "TICKETS"
        ]
    }
}
Note: Only the current status will be reflected.

Resolved Issues

In the Response

Required

In the Response

Required

DE168797: GetBooking - Missing Travel Index for Infant Ticket

In the Response

Required

DE168912: CancelBooking - Missing EndTransaction when calling with ATK Token

In the Response

Required

DE169025: GetBooking - Inconsistency in the response regarding Flights

In the Response

Required

DE169026: GetBooking - Duplicate Flight Ticket Numbers

In the Response

Required

DE169553: CancelBooking - null value in CSL_CANCEL_PROBLEM error description

In the Response

Required

DE170028: GetBooking - returnOnly "TICKETS" not returning flightTickets

In the Response

Required

DE170031: GetBooking - Invalid returnOnly option returns INTERNAL_SERVER_ERROR

In the Response

Required

DE170222: GetBooking - returnOnly "PAYMENTS" doesn't return Payments

In the Response

Required

DE171600: GetBooking - Not latest TicketDetails used for ticketStatus

Relase note ID: 14354


  • This initial release of the Booking Management API introduces two methods: GetBooking and CancelBooking.

API Information

Response Format
JSON
Method/Endpoint
/v1/trip/orders
Current Version
1
Target Audience
TN
Environment
Production

What's New

  • This initial release of the Booking Management API introduces two methods: GetBooking and CancelBooking.

Business Value

  • The Booking Management API is a part of Sabre's Business Services, that allows users to manage their Sabre reservations/bookings in a better way. This API provides a normalized set of services to manage both Sabre Passenger Name Records (PNRs) and Sabre Orders, by simplifying these implementations and ensuring that both expert and novice users can integrate and adopt Sabre APIs in the most seamless way possible.

Relase note ID: 14294