Sabre PassengerDetailsRQ API创建2成人PNR遇业务错误求助
Hey there, let's dig into why your PassengerDetailsRQ call works for 1 adult but throws a business error when adding a second. Based on your SOAP snippet and common Sabre API pitfalls, here are the most likely fixes to check:
1. Ensure Complete & Consistent Passenger Nodes
Sabre is strict about multi-passenger data structure. Every adult passenger needs a fully populated <Passenger> node that meets these requirements:
- Valid name prefix (
MR/MS/etc.) - Full given name and surname
- Correct passenger type code (
ADT) - A unique
IDthat aligns with the IDs you used in your prior AirBookRQ request
Here's a working example of a 2-adult passengers block:
<Passengers> <Passenger Type="ADT" ID="1"> <PersonName> <GivenName>JOHN</GivenName> <Surname>DOE</Surname> <NamePrefix>MR</NamePrefix> </PersonName> </Passenger> <Passenger Type="ADT" ID="2"> <PersonName> <GivenName>JANE</GivenName> <Surname>DOE</Surname> <NamePrefix>MS</NamePrefix> </PersonName> </Passenger> </Passengers>
2. Fix the EndTransactionRQ Configuration
Your snippet cuts off the <EndTransactionRQ> section, but this is a common failure point for multi-passenger bookings. Make sure:
- You're not missing required sub-nodes like
<Email>(if including contact info) or<AutoCancel> - The
HaltOnError="true"setting isn't masking detailed error messages. Try temporarily setting it tofalseto get a full error response—this will tell you exactly which field or node is causing the issue.
3. Match Passenger IDs Across AirBookRQ and PassengerDetailsRQ
This is an easy mistake to make: the passenger IDs in PassengerDetailsRQ must exactly match the IDs you defined in the AirBookRQ's <TravelerInfo> section. If you only declared 1 traveler ID in AirBookRQ but tried to pass 2 in PassengerDetailsRQ, Sabre will throw a business error immediately.
4. Check for Misaligned Special Requests
If you're adding ancillary services (meals, baggage, seats) for the two adults, double-check that each service request is linked to the correct passenger ID. A missing or mismatched ID here will break the booking for multiple passengers.
If none of these fix the issue, grab the full error response from Sabre—look for the <ErrorInfo> node, which will include a specific error code and human-readable description. Codes like INVALID_PASSENGER_DATA or MISSING_REQUIRED_FIELD will point you straight to the problem.
内容的提问来源于stack exchange,提问作者ashok poudel

