Skip to main content

Create Passenger Name Record

Air
Reservation
REST API
Travel Agency
Airline Carrier
Try Now

What is it?

Create Passenger Name Record is used to create a full reservation for air, hotel, and rental car content; all within a single request. In this request, you can add agency or customer details, perform a booking, price content, and add any special requests.

Why use it?

  • Simplifies the booking creation process by creating a Passenger Name Record (PNR) within a single request. This includes air, hotel, and rental car segments, and removes the need to use individual/granular APIs to create a reservation.
  • Creates reservations in a stateless way
  • Supports reservation creation via session-less (ATK) tokens
  • Provides the ability to define API behavior when encountering common errors at the time of a reservation's creation. For example, you could halt the creation of a reservation if an error is returned during price check, retry a booking to the next available class of service if the initial booking attempt fails, etc.
  • 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 you to specify a different target city (Pseudo City Code (PCC)) for the creation of the PNR
  • Introduces error handling to ensure the successful creation of a PNR
  • Supports the Sabre Virtual Form of Payment booking method for hotel content

How it works

The following steps are executed by Create Passenger Name Record to complete a reservation:

  1. Adds 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. Adds miscellaneous segment information and 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