Sabre CreatePassengerNameRecordRQ
Sabre CreatePassengerNameRecordRQ
我正在集成 saber 网络服务,我想使用 CreatePassengerNameRecordRQ 而不是 EnhancedAirBookRQ 和 PassengerDetailsRQ 所以我提出了以下要求(包括AirBook,
AirPrice, PostProcessing, (TravelItineraryAddInfo-添加客户信息))
<CreatePassengerNameRecordRQ version="2.0.0" xmlns="http://services.sabre.com/sp/reservation/v2" haltOnAirPriceError="false" targetCity="AAAA">
<AirBook>
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2018-02-15T08:00:00" ArrivalDateTime="2018-02-15T09:00:00" FlightNumber="651" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="LHE" />
<MarketingAirline Code="PK" FlightNumber="651" />
<OriginLocation LocationCode="ISB" />
</FlightSegment>
<FlightSegment DepartureDateTime="2018-02-20T06:00:00" ArrivalDateTime="2018-02-20T07:00:00" FlightNumber="650" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="ISB" />
<MarketingAirline Code="PK" FlightNumber="650" />
<OriginLocation LocationCode="LHE" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid@gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<PostProcessing RedisplayReservation="true" >
<EndTransactionRQ>
<EndTransaction Ind="true"/>
<Source ReceivedFrom=" TESTING"/>
</EndTransactionRQ>
</PostProcessing>
</CreatePassengerNameRecordRQ>
但是当我 post 这个请求时,返回的响应说 Invalid content was found starting with element 'TravelItineraryAddInfo':
<soap-env:Fault>
<faultcode>soap-env:Client</faultcode>
<faultstring>Message validation failed. Errors: [cvc-complex-type.2.4.a: Invalid content was found starting with element 'TravelItineraryAddInfo'. One of '{"http://services.sabre.com/sp/reservation/v2":AirTax, "http://services.sabre.com/sp/reservation/v2":MiscSegment, "http://services.sabre.com/sp/reservation/v2":SpecialReqDetails, "http://services.sabre.com/sp/reservation/v2":PostProcessing}' is expected.cvc-complex-type.2.4.a: Invalid content was found starting with element 'EndTransactionRQ'. One of '{"http://services.sabre.com/sp/reservation/v2":ARUNK, "http://services.sabre.com/sp/reservation/v2":QueuePlace, "http://services.sabre.com/sp/reservation/v2":EndTransaction}' is expected.]</faultstring>
<detail>
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="NotProcessed">
<Error type="Validation" timeStamp="2018-02-06T02:47:20.366-06:00">
<SystemSpecificResults>
<Message code="ERR.SP.CLIENT.VALIDATION_FAILED">Message validation failed. Errors: [cvc-complex-type.2.4.a: Invalid content was found starting with element 'TravelItineraryAddInfo'. One of '{"http://services.sabre.com/sp/reservation/v2":AirTax, "http://services.sabre.com/sp/reservation/v2":MiscSegment, "http://services.sabre.com/sp/reservation/v2":SpecialReqDetails, "http://services.sabre.com/sp/reservation/v2":PostProcessing}' is expected.cvc-complex-type.2.4.a: Invalid content was found starting with element 'EndTransactionRQ'. One of '{"http://services.sabre.com/sp/reservation/v2":ARUNK, "http://services.sabre.com/sp/reservation/v2":QueuePlace, "http://services.sabre.com/sp/reservation/v2":EndTransaction}' is expected.]</Message>
</SystemSpecificResults>
</Error>
</ApplicationResults>
</detail>
</soap-env:Fault>
- 请告诉我缺少什么参数,或者我应该如何在 CreatePassengerNameRecordRQ 中添加客户信息。
- 请验证此请求是否有效,或者我是否需要添加更多信息以使其正确。
谢谢。
- 请告诉我在哪里可以找到 CreatePassengerNameRecordRQ
的完整文档
- 我不确定你所说的 "to add customer information" 是什么意思,你在节点
CustomerInfo
中添加了成人、儿童和婴儿。
- 您粘贴的请求无效,因为元素的顺序有点不同并且您有一些额外的东西。
一种。 TravelItineraryAddInfo
应该是第一个,在 AirBook
.
之前
b.在 PostProcessing
中,你应该有 EndTransaction
而不是 EndTransactionRQ
.
C。 <EndTransaction Ind="true"/>
不是预期的,因为该服务默认创建 PNR。
- Link: https://developer.sabre.com/docs/read/soap_apis/air/book/create_passenger_name_record/resources
XML 使用更正的元素,您将开始出现其他错误,targetCity
元素包含无效的 PCC。
<CreatePassengerNameRecordRQ version="2.0.0" xmlns="http://services.sabre.com/sp/reservation/v2" haltOnAirPriceError="false" targetCity="AAAA">
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid@gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<AirBook>
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2018-02-15T08:00:00" ArrivalDateTime="2018-02-15T09:00:00" FlightNumber="651" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="LHE" />
<MarketingAirline Code="PK" FlightNumber="651" />
<OriginLocation LocationCode="ISB" />
</FlightSegment>
<FlightSegment DepartureDateTime="2018-02-20T06:00:00" ArrivalDateTime="2018-02-20T07:00:00" FlightNumber="650" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="ISB" />
<MarketingAirline Code="PK" FlightNumber="650" />
<OriginLocation LocationCode="LHE" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<PostProcessing RedisplayReservation="true" >
<EndTransaction>
<Source ReceivedFrom=" TESTING"/>
</EndTransaction>
</PostProcessing>
</CreatePassengerNameRecordRQ>
我正在集成 saber 网络服务,我想使用 CreatePassengerNameRecordRQ 而不是 EnhancedAirBookRQ 和 PassengerDetailsRQ 所以我提出了以下要求(包括AirBook, AirPrice, PostProcessing, (TravelItineraryAddInfo-添加客户信息))
<CreatePassengerNameRecordRQ version="2.0.0" xmlns="http://services.sabre.com/sp/reservation/v2" haltOnAirPriceError="false" targetCity="AAAA">
<AirBook>
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2018-02-15T08:00:00" ArrivalDateTime="2018-02-15T09:00:00" FlightNumber="651" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="LHE" />
<MarketingAirline Code="PK" FlightNumber="651" />
<OriginLocation LocationCode="ISB" />
</FlightSegment>
<FlightSegment DepartureDateTime="2018-02-20T06:00:00" ArrivalDateTime="2018-02-20T07:00:00" FlightNumber="650" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="ISB" />
<MarketingAirline Code="PK" FlightNumber="650" />
<OriginLocation LocationCode="LHE" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid@gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<PostProcessing RedisplayReservation="true" >
<EndTransactionRQ>
<EndTransaction Ind="true"/>
<Source ReceivedFrom=" TESTING"/>
</EndTransactionRQ>
</PostProcessing>
</CreatePassengerNameRecordRQ>
但是当我 post 这个请求时,返回的响应说 Invalid content was found starting with element 'TravelItineraryAddInfo':
<soap-env:Fault>
<faultcode>soap-env:Client</faultcode>
<faultstring>Message validation failed. Errors: [cvc-complex-type.2.4.a: Invalid content was found starting with element 'TravelItineraryAddInfo'. One of '{"http://services.sabre.com/sp/reservation/v2":AirTax, "http://services.sabre.com/sp/reservation/v2":MiscSegment, "http://services.sabre.com/sp/reservation/v2":SpecialReqDetails, "http://services.sabre.com/sp/reservation/v2":PostProcessing}' is expected.cvc-complex-type.2.4.a: Invalid content was found starting with element 'EndTransactionRQ'. One of '{"http://services.sabre.com/sp/reservation/v2":ARUNK, "http://services.sabre.com/sp/reservation/v2":QueuePlace, "http://services.sabre.com/sp/reservation/v2":EndTransaction}' is expected.]</faultstring>
<detail>
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="NotProcessed">
<Error type="Validation" timeStamp="2018-02-06T02:47:20.366-06:00">
<SystemSpecificResults>
<Message code="ERR.SP.CLIENT.VALIDATION_FAILED">Message validation failed. Errors: [cvc-complex-type.2.4.a: Invalid content was found starting with element 'TravelItineraryAddInfo'. One of '{"http://services.sabre.com/sp/reservation/v2":AirTax, "http://services.sabre.com/sp/reservation/v2":MiscSegment, "http://services.sabre.com/sp/reservation/v2":SpecialReqDetails, "http://services.sabre.com/sp/reservation/v2":PostProcessing}' is expected.cvc-complex-type.2.4.a: Invalid content was found starting with element 'EndTransactionRQ'. One of '{"http://services.sabre.com/sp/reservation/v2":ARUNK, "http://services.sabre.com/sp/reservation/v2":QueuePlace, "http://services.sabre.com/sp/reservation/v2":EndTransaction}' is expected.]</Message>
</SystemSpecificResults>
</Error>
</ApplicationResults>
</detail>
</soap-env:Fault>
- 请告诉我缺少什么参数,或者我应该如何在 CreatePassengerNameRecordRQ 中添加客户信息。
- 请验证此请求是否有效,或者我是否需要添加更多信息以使其正确。 谢谢。
- 请告诉我在哪里可以找到 CreatePassengerNameRecordRQ 的完整文档
- 我不确定你所说的 "to add customer information" 是什么意思,你在节点
CustomerInfo
中添加了成人、儿童和婴儿。 - 您粘贴的请求无效,因为元素的顺序有点不同并且您有一些额外的东西。
一种。TravelItineraryAddInfo
应该是第一个,在AirBook
.
之前 b.在PostProcessing
中,你应该有EndTransaction
而不是EndTransactionRQ
.
C。<EndTransaction Ind="true"/>
不是预期的,因为该服务默认创建 PNR。 - Link: https://developer.sabre.com/docs/read/soap_apis/air/book/create_passenger_name_record/resources
XML 使用更正的元素,您将开始出现其他错误,targetCity
元素包含无效的 PCC。
<CreatePassengerNameRecordRQ version="2.0.0" xmlns="http://services.sabre.com/sp/reservation/v2" haltOnAirPriceError="false" targetCity="AAAA">
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid@gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<AirBook>
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2018-02-15T08:00:00" ArrivalDateTime="2018-02-15T09:00:00" FlightNumber="651" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="LHE" />
<MarketingAirline Code="PK" FlightNumber="651" />
<OriginLocation LocationCode="ISB" />
</FlightSegment>
<FlightSegment DepartureDateTime="2018-02-20T06:00:00" ArrivalDateTime="2018-02-20T07:00:00" FlightNumber="650" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="ISB" />
<MarketingAirline Code="PK" FlightNumber="650" />
<OriginLocation LocationCode="LHE" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<PostProcessing RedisplayReservation="true" >
<EndTransaction>
<Source ReceivedFrom=" TESTING"/>
</EndTransaction>
</PostProcessing>
</CreatePassengerNameRecordRQ>