Skip to main content

Create Passenger Name Record

2.3.0
Air
Reservation
REST API
Airline Carrier
Travel Agency
Try Now

What is it?

The Create Passenger Name Record API main purpose is to create a full reservation for air, hotel and rental car content (adding agency or customer details, performing booking, pricing and adding any special requests) all within a single API call.

Why use it?

Create Passenger Name Record:

  • Simplifies the booking creation process by creating a Passenger Name Record (PNR) including air, hotel and rental car segments in a single API call. This removes the need to use individual/granular APIs to create a reservation.
  • Creates reservations in a stateless way
  • Supports creating reservations via session-less (ATK) tokens
  • Provides the ability to define the API behavior when encountering the most common errors at the time of a reservation's creation. (eg. halt creation of reservation if error is returned during price check, retry booking to next available class of service if initial booking attempt fails).
  • Eliminates the need to specify price quote links (PriceQuoteInfo) when different passenger types and prices are used (required when using EnhancedAirBookRQ and PassengerDetailsRQ SOAP APIs)
  • Allows the user to specify a different target city (Pseudo City Code, or PCC) for the creation of the PNR
  • Introduces error handling to ensure the successful creation of a PNR

How it works

Here are the main steps executed by the API in order to complete the reservation:

  1. The API begins by adding general and passenger details (names, contact details, agency address information etc) to the reservation.

  2. Performs booking and pricing steps for air segments.

  3. Performs Sabre GDS or hotel aggregator hotel booking via a booking key.

  4. Performs booking steps for rental vehicles.

  5. The API then adds miscellaneous segment information, special service details (SSRs, Remarks, TSA related details, etc).

  6. Finalizes/commits the transaction.

How to use

Create a PNR with air segments

To ensure the successful creation of a PNR with air segments, the request should contain the below information:

  1. Add agency and customer information:

    .TravelItineraryAddInfo.AgencyInfo.Ticketing.TicketType .TravelItineraryAddInfo.CustomerInfo.ContactNumbers.ContactNumber.Phone .TravelItineraryAddInfo.CustomerInfo.PersonName

  2. Add details of the air segments to be booked:

    .AirBook.OriginDestinationInformation.FlightSegment

  3. Price the successfully booked segments:

    .AirPrice.PriceRequestInformation

  4. Commit the transaction:

    .PostProcessing.EndTransaction .PostProcessing.EndTransaction.Source.ReceivedFrom

  5. For reservations departing to/from the USA, or flying over the US, it is mandatory to pass Secure Flight Passenger Data (required by TSA):

    .CreatePassengerNameRecordRQ.SpecialReqDetails.SpecialService.SpecialServiceInfo.SecureFlight

Create a PNR with hotel segments

To ensure the successful creation of a PNR with hotel segments, the request should contain the below information:

  1. Add agency and customer information:

    .TravelItineraryAddInfo.AgencyInfo.Address .TravelItineraryAddInfo.CustomerInfo.PersonName

  2. Add the BookingKey returned in the Hotel Price Check API response:

    .HotelBook.BookingInfo.BookingKey

  3. Add details of the rooms to be booked:

    .HotelBook.Rooms

  4. Add payment information:

    .HotelBook.PaymentInformation

  5. Request to commit the transaction:

    .PostProcessing.EndTransaction .PostProcessing.EndTransaction.Source.ReceivedFrom

Create a PNR with vehicle segments

To ensure the successful creation of a PNR with vehicle segments, the request should contain the below information:

  1. Add agency and customer information:

    .TravelItineraryAddInfo.AgencyInfo.Address .TravelItineraryAddInfo.CustomerInfo.PersonName

  2. Add mandatory details of the vehicle to be booked:

    .VehicleBook.VehRentalCore.PickUpDate .VehicleBook.VehRentalCore.PickUpTime .VehicleBook.VehRentalCore.Quantity .VehicleBook.VehRentalCore.ReturnDate .VehicleBook.VehRentalCore.ReturnTime .VehicleBook.VehRentalCore.PickupLocation.LocationCode

  3. Add optional details of the vehicle to be booked:

    .VehicleBook.Customer .VehicleBook.POS .VehicleBook.RatePrefs .VehicleBook.CarExtrasPrefs .VehicleBook.SpecialPrefs .VehicleBook.VehPrefs .VehicleBook.VendorPrefs

  4. Add payment information:

    .VehicleBook.RentalPaymentPrefs

  5. Request to commit the transaction:

    .PostProcessing.EndTransaction .PostProcessing.EndTransaction.Source.ReceivedFrom