Sabre如何以儿童和/或婴儿作为乘客创建PNR

时间:2016-07-18 01:52:15

标签: soap sabre

当我尝试与儿童和/或婴儿乘客创建PNR时,我收到此错误,但是当它是成人时,它只能正常工作。我已经阅读了他们的文档,我不知道我做错了什么。请帮忙。

有效负载:

<PassengerDetailsRQ version="3.2.0" HaltOnError="true" IgnoreOnError="false"  xmlns="http://services.sabre.com/sp/pd/v3_2">
<PostProcessing IgnoreAfter="false" RedisplayReservation="true" >
    <EndTransactionRQ>
        <EndTransaction Ind="true" ></EndTransaction>
        <Source ReceivedFrom="TEST" ></Source>
    </EndTransactionRQ>
</PostProcessing>
<PriceQuoteInfo>
    <Link NameNumber="1.1" Record="1" ></Link>
    <Link NameNumber="2.1" Record="1" ></Link>
    <Link NameNumber="3.1" Record="1" ></Link>
</PriceQuoteInfo>
<SpecialReqDetails>
    <SpecialServiceRQ>
        <SpecialServiceInfo>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="1980-01-01" Gender="M" NameNumber="1.1" >
                    <GivenName>JOHN</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="1980-03-01" Gender="F" NameNumber="2.1" >
                    <GivenName>JANE</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="2006-03-01" Gender="M" NameNumber="3.1" >
                    <GivenName>CHILD</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
        </SpecialServiceInfo>
    </SpecialServiceRQ>
</SpecialReqDetails>
<TravelItineraryAddInfoRQ>
    <AgencyInfo>
        <Address>
            <AddressLine>address here</AddressLine>
            <CityName>city here</CityName>
            <CountryCode>PH</CountryCode>
            <PostalCode>postal code here</PostalCode>
            <StreetNmbr>street number here</StreetNmbr>
        </Address>
        <Ticketing TicketType="7T-" ></Ticketing>
    </AgencyInfo>
    <CustomerInfo>
        <ContactNumbers>
            <ContactNumber Phone="817-555-1212" PhoneUseType="A" ></ContactNumber>
        </ContactNumbers>
        <Email Address="test.email@someemail.com" ShortText="ABC123" Type="CC" ></Email>
        <PersonName Infant="false" NameNumber="1.1" PassengerType="ADT" >
            <GivenName>JOHN</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
        <PersonName Infant="false" NameNumber="2.1" PassengerType="ADT" >
            <GivenName>JANE</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
        <PersonName Infant="false" NameNumber="3.1" NameReference="C10" PassengerType="CNN" >
            <GivenName>CHILD</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
    </CustomerInfo>
</TravelItineraryAddInfoRQ>

回应:

<?xml version='1.0' encoding='UTF-8'?>
<soap-env:Envelope xmlns:soap-env='http://schemas.xmlsoap.org/soap/envelope/'>
    <soap-env:Header>
        <eb:MessageHeader xmlns:eb='http://www.ebxml.org/namespaces/messageHeader' eb:version='1.0' soap-env:mustUnderstand='1'>
            <eb:From>
                <eb:PartyId eb:type='URI'>webservices.sabre.com</eb:PartyId>
            </eb:From>
            <eb:To>
                <eb:PartyId eb:type='URI'>XXXXXXXXXXXXXXXXXXX</eb:PartyId>
            </eb:To>
            <eb:CPAId>XXXX</eb:CPAId>
            <eb:ConversationId>XXXXXXXXXXXXXX</eb:ConversationId>
            <eb:Service>PassengerDetailsRQ</eb:Service>
            <eb:Action>PassengerDetailsRS</eb:Action>
            <eb:MessageData>
                <eb:MessageId>250361059799101760</eb:MessageId>
                <eb:Timestamp>2016-07-18T01:39:41</eb:Timestamp>
                <eb:RefToMessageId>XXXXXXXXXXXXXXXXXXXXXX</eb:RefToMessageId>
            </eb:MessageData>
        </eb:MessageHeader>
        <wsse:Security xmlns:wsse='http://schemas.xmlsoap.org/ws/2002/12/secext'>
            <wsse:BinarySecurityToken valueType='String' EncodingType='wsse:Base64Binary'>XXXXXXXXXXXXX</wsse:BinarySecurityToken>
        </wsse:Security>
    </soap-env:Header>
    <soap-env:Body>
        <PassengerDetailsRS xmlns='http://services.sabre.com/sp/pd/v3_2'>
            <ApplicationResults xmlns='http://services.sabre.com/STL_Payload/v02_01' status='NotProcessed'>
                <Error type='BusinessLogic' timeStamp='2016-07-17T20:39:41.169-05:00'>
                    <SystemSpecificResults>
                        <Message code='ERR.SWS.HOST.ERROR_IN_RESPONSE'>CHILD DETAILS REQUIRED IN SSR - ENTER 3CHLD/...</Message>
                    </SystemSpecificResults>
                </Error>
            </ApplicationResults>
        </PassengerDetailsRS>
    </soap-env:Body>
</soap-env:Envelope>

有婴儿的负担:

<PassengerDetailsRQ version="3.2.0" HaltOnError="true" IgnoreOnError="false"  xmlns="http://services.sabre.com/sp/pd/v3_2">
<PostProcessing IgnoreAfter="false" RedisplayReservation="true" >
    <EndTransactionRQ>
        <EndTransaction Ind="true" ></EndTransaction>
        <Source ReceivedFrom="TEST" ></Source>
    </EndTransactionRQ>
</PostProcessing>
<PriceQuoteInfo>
    <Link NameNumber="1.1" Record="1" ></Link>
    <Link NameNumber="2.1" Record="1" ></Link>
    <Link NameNumber="3.1" Record="2" ></Link>
    <Link NameNumber="4.1" Record="3" ></Link>
</PriceQuoteInfo>
<SpecialReqDetails>
    <AddRemarkRQ>
        <RemarkInfo>
            <Remark Code="H" SegmentNumber="A" Type="General" >
                <Text>TEXT</Text>
            </Remark>
        </RemarkInfo>
    </AddRemarkRQ>
    <SpecialServiceRQ>
        <SpecialServiceInfo>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="1980-01-01" Gender="M" NameNumber="1.1" >
                    <GivenName>JOHN</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="1980-03-01" Gender="F" NameNumber="2.1" >
                    <GivenName>JANE</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="2006-03-01" Gender="M" NameNumber="3.1" >
                    <GivenName>CHILD</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="2016-01-01" Gender="MI" NameNumber="4.1" >
                    <GivenName>INFANT</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <Service SegmentNumber="A" SSR_Code="CHLD" >
                <PersonName NameNumber="3.1" ></PersonName>
                <Text>01MAR06</Text>
            </Service>
            <Service SegmentNumber="A" SSR_Code="INFT" >
                <PersonName NameNumber="1.1" ></PersonName>
                <Text>DOE/INFANT/01JAN16</Text>
            </Service>
        </SpecialServiceInfo>
    </SpecialServiceRQ>
</SpecialReqDetails>
<TravelItineraryAddInfoRQ>
    <AgencyInfo>
        <Address>
            <AddressLine>address here</AddressLine>
            <CityName>city here</CityName>
            <CountryCode>PH</CountryCode>
            <PostalCode>postal code here</PostalCode>
            <StreetNmbr>street number here</StreetNmbr>
        </Address>
        <Ticketing TicketType="7TAW" ></Ticketing>
    </AgencyInfo>
    <CustomerInfo>
        <ContactNumbers>
            <ContactNumber Phone="817-555-1212" PhoneUseType="A" ></ContactNumber>
        </ContactNumbers>
        <Email Address="test.email@someemail.com" ShortText="ABC123" Type="CC" ></Email>
        <PersonName Infant="false" NameNumber="1.1" NameReference="A36" PassengerType="ADT" >
            <GivenName>JOHN</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
        <PersonName Infant="false" NameNumber="2.1" NameReference="A36" PassengerType="ADT" >
            <GivenName>JANE</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
        <PersonName Infant="false" NameNumber="3.1" NameReference="C10" PassengerType="CNN" >
            <GivenName>CHILD</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
        <PersonName Infant="true" NameNumber="4.1" NameReference="I6" PassengerType="INF" >
            <GivenName>INFANT</GivenName>
            <Surname>DOE</Surname>
        </PersonName>
    </CustomerInfo>
</TravelItineraryAddInfoRQ>

婴儿的结果:

<PassengerDetailsRS xmlns='http://services.sabre.com/sp/pd/v3_2'>
        <ApplicationResults xmlns='http://services.sabre.com/STL_Payload/v02_01' status='NotProcessed'>
            <Error type='BusinessLogic' timeStamp='2016-07-20T10:53:30.328-05:00'>
                <SystemSpecificResults>
                    <Message code='ERR.SWS.HOST.ERROR_IN_RESPONSE'>CANNOT ASSOC TO INFANT NAME</Message>
                </SystemSpecificResults>
            </Error>
        </ApplicationResults>
</PassengerDetailsRS>

EnhancedAirBookRQ:http://pastebin.com/uZtbApR1

3 个答案:

答案 0 :(得分:4)

我将添加一些有用的信息

1)当孩子在场时(CNN)

添加SecureFlight细分

<SecureFlight SegmentNumber="A" >
       <PersonName DateOfBirth="2007-05-01" Gender="F" NameNumber="2.1" >
                <GivenName>CHILD</GivenName>
                <Surname>TESTBOOKING</Surname>
       </PersonName> 
</SecureFlight>

`为孩子添加SSR

<Service SSR_Code="CHLD">
      <PersonName NameNumber="2.1"/>
      <Text>01MAY07</Text>
</Service>

对于SSR,我们需要孩子DOB,如exapmle

所示

2)当INF(婴儿没有座位/婴儿)出现时

添加SecureFlight细分。 在这种情况下,确保NameNumber使用ADT名称编号,因为婴儿是小婴儿

<SecureFlight SegmentNumber="A" >
       <PersonName DateOfBirth="2017-01-20" Gender="M" NameNumber="1.1" >
                <GivenName>INF</GivenName>
                <Surname>TESTBOOKING</Surname>
       </PersonName> 
</SecureFlight>

`为孩子添加SSR

<Service SSR_Code="INFT">
      <PersonName NameNumber="1.1"/>
      <Text>TESTBOOKING/INF/20JAN17</Text>
</Service>

对于SSR,我们还需要ADT NameNumber,对于文本,它应该采用这种格式 LASTNAME / FIRSTNAME / DATEOFBIRTH ,如exapmle

3)当INS(有座位的婴儿)在场时

添加SecureFlight细分。在这里,我们不需要成人NameNumber。但在创建Customer Passenger时使用Infant="false"

<SecureFlight SegmentNumber="A" >
       <PersonName DateOfBirth="2017-01-20" Gender="M" NameNumber="3.1" >
                <GivenName>INS</GivenName>
                <Surname>TESTBOOKING</Surname>
       </PersonName> 
</SecureFlight>

`为孩子添加SSR

<Service SSR_Code="INFT">
      <PersonName NameNumber="3.1"/>
      <Text>TESTBOOKING/INS/20JAN17/OS</Text>
</Service>

对于SSR,我们还需要ADT NameNumber,对于文本,它应该采用这种格式 LASTNAME / FIRSTNAME / DATEOFBIRTH / OS 就像在exapmle中一样。

答案 1 :(得分:1)

您需要更改de PQ

<Link NameNumber="1.1" Record="1" ></Link>
<Link NameNumber="2.1" Record="1" ></Link>
<Link NameNumber="3.1" Record="2" ></Link>

你把Record =“1”放在所有情况下,但是你有一个孩子,所以你的NameNumber 3.1需要与Record =“2”相关联。如果你不这样做,你将获得所有乘客的票价。

编辑:

记录=“2”并不总是适用于儿童,但也适用于婴儿,例如,如果你有1个ADT + 1个CNN(儿童)+ 1个INF,那么你需要这个:

<Link NameNumber="1.1" Record="1" ></Link>
<Link NameNumber="2.1" Record="2" ></Link>
<Link NameNumber="3.1" Record="3" ></Link>

其中NameNumber 2.1和Record 2是儿童乘客,NameNumber = 3且记录3是婴儿乘客,但如果您有1 ADT + 1 INF,那么您需要:

<Link NameNumber="1.1" Record="1" ></Link>
<Link NameNumber="2.1" Record="2" ></Link>

现在记录2和名称2.1是针对婴儿乘客的。

PassengerDetailsRQ:

        <soapenv:Body>
        <PassengerDetailsRQ version="3.2.0" HaltOnError="true" IgnoreOnError="true">
            <PostProcessing IgnoreAfter="false" RedisplayReservation="true">
                <EndTransactionRQ>
                    <EndTransaction Ind="true"/>
                    <Source ReceivedFrom="TEST"/>
                </EndTransactionRQ>
            </PostProcessing>
            <PriceQuoteInfo>
                <Link NameNumber="1.1" Record="1"/>
                <Link NameNumber="2.1" Record="2"/>
                <Link NameNumber="3.1" Record="3"/>
            </PriceQuoteInfo>
            <SpecialReqDetails>
                <AddRemarkRQ>
                    <RemarkInfo>
                        <Remark Code="H" SegmentNumber="1" Type="General">
                            <Text>TEXT</Text>
                        </Remark>
                    </RemarkInfo>
                </AddRemarkRQ>
                <SpecialServiceRQ>
                    <SpecialServiceInfo>
                        <SecureFlight SegmentNumber="A" >
                            <PersonName DateOfBirth="1980-01-01" Gender="M" NameNumber="1.1" >
                                <GivenName>JOHN</GivenName>
                                <Surname>DOE</Surname>
                            </PersonName>
                        </SecureFlight>
                        <SecureFlight SegmentNumber="A" >
                            <PersonName DateOfBirth="1980-03-01" Gender="F" NameNumber="2.1" >
                                <GivenName>CHILD</GivenName>
                                <Surname>DOE</Surname>
                            </PersonName>
                        </SecureFlight>
                        <SecureFlight SegmentNumber="A" >
                            <PersonName DateOfBirth="2006-03-01" Gender="MI" NameNumber="3.1" >
                                <GivenName>INFANT</GivenName>
                                <Surname>DOE</Surname>
                            </PersonName>
                        </SecureFlight>
                        <Service SSR_Code="INFT">
                            <PersonName NameNumber="1.1" />
                            <Text>DOE/INFANT/10OCT15</Text>
                        </Service>
                    </SpecialServiceInfo>
                </SpecialServiceRQ>
            </SpecialReqDetails>
            <TravelItineraryAddInfoRQ>
                <AgencyInfo>
                    <Address>
                        <AddressLine>address here</AddressLine>
                        <CityName>city here</CityName>
                        <CountryCode>PH</CountryCode>
                        <PostalCode>postal code here</PostalCode>
                        <StreetNmbr>street number here</StreetNmbr>
                    </Address>
                    <Ticketing TicketType="7T-" ></Ticketing>
                </AgencyInfo>
                <CustomerInfo>
                    <ContactNumbers>
                        <ContactNumber Phone="817-555-1212" PhoneUseType="A" ></ContactNumber>
                        <ContactNumber Phone="817-555-1212" PhoneUseType="H" ></ContactNumber>
                    </ContactNumbers>
                    <Email Address="test.email@someemail.com" NameNumber="1.1" />
                    <PersonName NameNumber="1.1" PassengerType="ADT" >
                        <GivenName>JOHN</GivenName>
                        <Surname>DOE</Surname>
                    </PersonName>
                    <PersonName NameNumber="2.1" PassengerType="CNN" >
                        <GivenName>CHILD</GivenName>
                        <Surname>DOE</Surname>
                    </PersonName>
                    <PersonName Infant="true" NameNumber="3.1" PassengerType="INF" >
                        <GivenName>INFANT</GivenName>
                        <Surname>DOE</Surname>
                    </PersonName>
                </CustomerInfo>
            </TravelItineraryAddInfoRQ>
        </PassengerDetailsRQ>
    </soapenv:Body>

答案 2 :(得分:0)

您可以添加特殊服务&#39; CHLD&#39;紧接着你的最后一个SecureFlight元素(出生日期格式应为DDMMMYY)。

<SpecialReqDetails>
    <SpecialServiceRQ>
        <SpecialServiceInfo>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="1980-01-01" Gender="M" NameNumber="1.1" >
                    <GivenName>JOHN</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="1980-03-01" Gender="F" NameNumber="2.1" >
                    <GivenName>JANE</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <SecureFlight SegmentNumber="A" >
                <PersonName DateOfBirth="2006-03-01" Gender="M" NameNumber="3.1" >
                    <GivenName>CHILD</GivenName>
                    <Surname>DOE</Surname>
                </PersonName>
            </SecureFlight>
            <Service SSR_Code="CHLD">
                <PersonName NameNumber="3.1"/>
                <Text>20DEC80</Text>
              </Service>
        </SpecialServiceInfo>
    </SpecialServiceRQ>
</SpecialReqDetails>