Sabre Как создать PNR с ребенком и / или младенцем в качестве пассажира

soap sabre

3701 просмотра

3 ответа

43 Репутация автора

Когда я пытаюсь создать 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

Автор: chingchong Источник Размещён: 18.07.2016 01:52

Ответы (3)


0 плюса

641 Репутация автора

Вы можете добавить специальный сервис «CHLD» сразу после вашего последнего элемента 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>
Автор: fcarreno Размещён: 18.07.2016 02:16

1 плюс

601 Репутация автора

Вы должны изменить де 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>
Автор: JP Blanco Размещён: 19.07.2016 01:44

4 плюса

97 Репутация автора

Я добавлю некоторую информацию, которая будет полезна

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, как показано в примере

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, как в примере

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, как в примере.

Автор: Harsha Siriwardana Размещён: 30.08.2017 05:52
Вопросы из категории :
32x32