错误代码 - UC SEG状态不允许

时间:2016-02-08 06:53:13

标签: xml web-services sabre

我正在尝试生成PNR。为此,我使用“EnhancedAirBookRQ”用于Air Book“OTA_AirBookRQ”和“OTA_AirPriceRQ”用于Price。


工作流程如下。

(1) I used “BargainFinderMaxRQ” for search  
(2) Then I used “EnhancedAirBookRQ” for Air book and Price Iternary.  
(3) Then I used “PassengerDetailsRQ” to input passenger details 
(4) Last I want to end transaction.

我尝试了很多东西,但没能成功完成。 我在“EnhancedAirBookRQ”中缺少哪些必要的字段来预订和定价以及如何继续“PassengerDetailsRQ”。

//Request “EnhancedAirBookRQ”
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <SOAP-ENV:Header>
        <m:MessageHeader xmlns:m="http://www.ebxml.org/namespaces/messageHeader">
          <m:From>
            <m:PartyId type="urn:x12.org:IO5:01">malikexpress.com</m:PartyId>
          </m:From>
          <m:To>
            <m:PartyId type="urn:x12.org:IO5:01">http://webservices.sabre.com/sabreXML/2011/10</m:PartyId>
          </m:To>
          <m:CPAId>XF08</m:CPAId>
          <m:ConversationId>SWS-Test-Tool-CID</m:ConversationId>
          <m:Service m:type="OTA">Air Shopping Service</m:Service>
          <m:Action>EnhancedAirBookRQ</m:Action>
          <m:MessageData>
            <m:MessageId>mid:20001209-136453-2333@clientofsabre.com</m:MessageId>
            <m:Timestamp>2016-02-08T06:10:06Z</m:Timestamp>
            <m:TimeToLive>2016-02-08T06:10:06Z</m:TimeToLive>
          </m:MessageData>
          <m:DuplicateElimination />
          <m:Description>Passenger Details</m:Description>
        </m:MessageHeader>
        <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
          <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3439407437566183902!431259!0</wsse:BinarySecurityToken>
        </wsse:Security>
      </SOAP-ENV:Header>
      <SOAP-ENV:Body>
        <EnhancedAirBookRQ xmlns="http://services.sabre.com/sp/eab/v3_2" version="3.2.0" IgnoreOnError="false" HaltOnError="false">
          <OTA_AirBookRQ>
            <HaltOnStatus Code="UC" />
            <HaltOnStatus Code="LL" />
            <HaltOnStatus Code="UL" />
            <HaltOnStatus Code="UN" />
            <HaltOnStatus Code="NO" />
            <HaltOnStatus Code="HL" />
            <OriginDestinationInformation>
              <FlightSegment DepartureDateTime="2016-06-06T01:40:00" ArrivalDateTime="2016-06-07T06:00:00" FlightNumber="7731" NumberInParty="1" ResBookDesigCode="Y" Status="NN">
                <DestinationLocation LocationCode="TPE" />
                <MarketingAirline Code="DL" FlightNumber="3" />
                <OperatingAirline Code="Dl" />
                <OriginLocation LocationCode="SFO" />
              </FlightSegment>
            </OriginDestinationInformation>
          </OTA_AirBookRQ>
          <OTA_AirPriceRQ>
            <PriceComparison AmountSpecified="787.00" />
            <PriceRequestInformation FutureTicket="true" Retain="true">
              <OptionalQualifiers></OptionalQualifiers>
            </PriceRequestInformation>
          </OTA_AirPriceRQ>
          <PostProcessing IgnoreAfter="false">
            <RedisplayReservation WaitInterval="2000" />
          </PostProcessing>
          <PreProcessing IgnoreBefore="true" />
        </EnhancedAirBookRQ>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>


//Response “EnhancedAirBookRS”
<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">http://webservices.sabre.com/sabreXML/2011/10</eb:PartyId>
      </eb:From>
      <eb:To>
        <eb:PartyId eb:type="URI">malikexpress.com</eb:PartyId>
      </eb:To>
      <eb:CPAId>DF08</eb:CPAId>
      <eb:ConversationId>SWS-Test-Tool-CID</eb:ConversationId>
      <eb:Service eb:type="OTA">Air Shopping Service</eb:Service>
      <eb:Action>EnhancedAirBookRS</eb:Action>
      <eb:MessageData>
        <eb:MessageId>566216237794571760</eb:MessageId>
        <eb:Timestamp>2016-02-08T06:36:22</eb:Timestamp>
        <eb:RefToMessageId>mid:20001209-136453-2333@clientofsabre.com</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">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3439407437566183902!431259!0</wsse:BinarySecurityToken>
    </wsse:Security>
  </soap-env:Header>
  <soap-env:Body>
    <EnhancedAirBookRS xmlns="http://services.sabre.com/sp/eab/v3_2">
      <ns2:ApplicationResults xmlns:ns2="http://services.sabre.com/STL_Payload/v02_01" status="Complete">
        <ns2:Success timeStamp="2016-02-08T00:36:22.412-06:00" />
        <ns2:Warning type="BusinessLogic" timeStamp="2016-02-08T00:36:20.139-06:00">
          <ns2:SystemSpecificResults>
            <ns2:Message code="WARN.SWS.HOST.ERROR_IN_RESPONSE">CODE - UC SEG STATUS NOT ALLOWED</ns2:Message>
            <ns2:Message code="0003">CODE - UC SEG STATUS NOT ALLOWED</ns2:Message>
          </ns2:SystemSpecificResults>
        </ns2:Warning>
      </ns2:ApplicationResults>
      <OTA_AirBookRS>
        <OriginDestinationOption>
          <FlightSegment ArrivalDateTime="06-07T06:00" DepartureDateTime="06-06T01:40" FlightNumber="7731" NumberInParty="001" ResBookDesigCode="Y" Status="NN" eTicket="true">
            <DestinationLocation LocationCode="TPE" />
            <MarketingAirline Code="DL" FlightNumber="7731" />
            <OriginLocation LocationCode="SFO" />
          </FlightSegment>
        </OriginDestinationOption>
      </OTA_AirBookRS>
      <TravelItineraryReadRS>
        <TravelItinerary>
          <CustomerInfo />
          <ItineraryInfo>
            <ReservationItems>
              <Item RPH="1">
                <FlightSegment AirMilesFlown="6469" ArrivalDateTime="06-07T06:00" DayOfWeekInd="1" DepartureDateTime="2016-06-06T01:40" ElapsedTime="13.20" FlightNumber="7731" NumberInParty="01" ResBookDesigCode="Y" SegmentNumber="0001" SmokingAllowed="false" SpecialMeal="false" Status="UC" StopQuantity="00" eTicket="false">
                  <DestinationLocation LocationCode="TPE" Terminal="TERMINAL 2" TerminalCode="2" />
                  <Equipment AirEquipType="77W" />
                  <MarketingAirline Code="DL" FlightNumber="7731" />
                  <Meal Code="B" />
                  <OperatingAirline Code="CI" CompanyShortName="CHINA AIRLINES" />
                  <OriginLocation LocationCode="SFO" Terminal="INTERNATIONAL TERMINAL" TerminalCode="I" />
                  <SupplierRef ID="DCDL" />
                  <Text>OPERATED BY CHINA AIRLINES</Text>
                  <UpdatedArrivalTime>06-07T06:00</UpdatedArrivalTime>
                  <UpdatedDepartureTime>06-06T01:40</UpdatedDepartureTime>
                </FlightSegment>
              </Item>
            </ReservationItems>
          </ItineraryInfo>
          <ItineraryRef AirExtras="false" InhibitCode="U" PartitionID="AA" PrimeHostID="1B">
            <Header>CURRENTLY DISPLAYING A PNR OWNED BY THE SABRE PRIME HOST</Header>
            <Header>RULES AND FUNCTIONALITY FOR THAT PRIME HOST WILL APPLY</Header>
            <Source PseudoCityCode="XF08" />
          </ItineraryRef>
        </TravelItinerary>
      </TravelItineraryReadRS>
    </EnhancedAirBookRS>
  </soap-env:Body>
</soap-env:Envelope>

3 个答案:

答案 0 :(得分:2)

最好知道你在EndTransaction中得到的错误,另外,你在PassengerDetails中有一个EndTransaction(在PostProcessing元素中)。

任何PNR都需要有5个基本的东西:
电话号码
收到来自 行程
名称
票务时限

我建议您查看此FormatFinder link以了解有关PNR的更多信息,例如上述信息。

无论如何,它可能是无关的,但在提供的EnhancedAirBook响应中,我看到定价失败,因为预订的行程未得到确认。 您可以看到状态=&#34; UC&#34;,这意味着无法确认。 (有关UCs或不同状态的更多信息,我建议您直接查看webservices支持。)

答案 1 :(得分:1)

UC状态意味着席位是UN-CONFIRMED。不允许预订UC航段航班。

您可以在PassengerDetailsRQ中的PostProcessing元素本身中使用EndTransaction,它将返回PNR以响应具有ID属性的ItineraryRef元素。

请注意:TravelItineraryAddInfoRQ + TravelItineraryReadRQ + EndTransaction可以通过调用PassengerDetailsRQ一步汇总

答案 2 :(得分:0)

有时即使您正确创建了PNR创建响应,您也可能会遇到此问题。

这是因为在您创建pnr请求时,您的请求客舱类型可能没有可用的航班。即使至少有一个航班部门无法使用,Sabre也不允许创建pnr

使用以下Sabre命令,您可以检查航段的可用性 enter image description here

有关命令的更多详细信息:http://www.emquest.ae/downloads/STM/Quick%20Reference%20English.pdf