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:
- Adds general and passenger details (names, contact details, agency address information, etc) to the reservation.
- Performs booking and pricing steps for air segments.
- Performs Sabre GDS or hotel aggregator hotel booking via a booking key.
- Performs booking steps for rental vehicles.
- Adds miscellaneous segment information and special service details (SSRs, Remarks, TSA related details, etc).
- 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:
-
Add agency and customer information:
.TravelItineraryAddInfo.AgencyInfo.Ticketing.TicketType
.TravelItineraryAddInfo.CustomerInfo.ContactNumbers.ContactNumber.Phone
.TravelItineraryAddInfo.CustomerInfo.PersonName
-
Add details of the air segments to be booked:
.AirBook.OriginDestinationInformation.FlightSegment
-
Price the successfully booked segments:
.AirPrice.PriceRequestInformation
-
Commit the transaction:
.PostProcessing.EndTransaction
.PostProcessing.EndTransaction.Source.ReceivedFrom
-
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:
-
Add agency and customer information:
.TravelItineraryAddInfo.AgencyInfo.Address
.TravelItineraryAddInfo.CustomerInfo.PersonName
-
Add the
BookingKey
returned in the Hotel Price Check API response:.HotelBook.BookingInfo.BookingKey
-
Add details of the rooms to be booked:
.HotelBook.Rooms
-
Add payment information:
.HotelBook.PaymentInformation
-
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:
-
Add agency and customer information:
.TravelItineraryAddInfo.AgencyInfo.Address
.TravelItineraryAddInfo.CustomerInfo.PersonName
-
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
-
Add optional details of the vehicle to be booked:
.VehicleBook.Customer
.VehicleBook.POS
.VehicleBook.RatePrefs
.VehicleBook.CarExtrasPrefs
.VehicleBook.SpecialPrefs
.VehicleBook.VehPrefs
.VehicleBook.VendorPrefs
-
Add payment information:
.VehicleBook.RentalPaymentPrefs
-
Request to commit the transaction:
.PostProcessing.EndTransaction
.PostProcessing.EndTransaction.Source.ReceivedFrom