Search code examples
xmlweb-servicessabre

Error CODE - UC SEG STATUS NOT ALLOWED


I am trying to generate PNR. For this purpose I used “EnhancedAirBookRQ” for Air Book “OTA_AirBookRQ” and “OTA_AirPriceRQ” for Price.


The work flow is given below.

(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.

I tried so many things but did not able to finish it successfully. What necessary fields I am missing in “EnhancedAirBookRQ” to book and price and how to continue to “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>

Solution

  • It would be good to know what is the error you get in the EndTransaction, plus, you have an EndTransaction in the PassengerDetails (inside the PostProcessing element).

    There are 5 basic things that you will need to have in any PNR:
    Phone number
    Received From
    Itinerary
    Name
    Ticketing Time Limit

    I recommend you to check on this FormatFinder link in order to learn more about PNRs, like the information above.

    Anyway, it might be unrelated, but in the EnhancedAirBook response provided I see that the pricing failed because the booked itinerary was not confirmed. You can see the Status="UC", which means Unable to Confirm. (For more on UCs or different status I recommend you to check with webservices support directly.)