2

I have a requirement to add Passive bookings to Sabre. Any idea on which service is to be used. I couldn't find the required SOAP request from dev studio.

I'm supposed to create passive bookings for certain bookings that I create in another system.

djames
  • 366
  • 5
  • 17

5 Answers5

1

MiscSegmentSellRQ is what we used to create a passive booking. Sharing this if in case someone stumbles upon such a situation.

djames
  • 366
  • 5
  • 17
0

As far as I know, there isn't a dedicated service to create passive segments.

We had a similar requirement, and we ended up just issuing the commands using SabreCommandLLSRQ

Pj.
  • 174
  • 1
  • 2
  • 10
  • 1
    PassengerDetailsRQ can this thing called MiscSegmentSellRQ which has MiscSegment as its subclass. I believe this can create a passive booking. – djames Jun 02 '15 at 03:17
0

Sabre Format Finder.

Have you checked in the above link, I am also having trouble in adding passive segment, and waiting for a response from Sabre, Using SabreCommandLLSRQ, it will work.

They have mentioned about EnhancedAirBookRq and PassengerDetailsRQ. I have not tried using this, I am waiting for confirmation from Sabre.

fizmhd
  • 526
  • 3
  • 10
  • 31
  • I haven't tried any of these. But i have seen PassengerDetailsRQ used in a related project. Let's wait for the confirmation from Sabre then!! – djames Jun 12 '15 at 15:01
0

As an agent that uses SABRE and does this exact thing described (manually), we use YK as the status code for a passive booking made elsewhere. SABRE says you can also use GK, but YK is better.

Nick Fleetwood
  • 471
  • 1
  • 5
  • 22
0

I realize we're 8 years into this question, but the API evolves and I'm posting what worked for me recently. It is likely what Sabre Support will suggest you use today.

NOTE: The term 'passive' seems a bit slippery. Make sure you get an example terminal entry from the client, regardless of what they call it. The MiscSegmentSellRQ request mentioned above is primarily for miscellaneous segments, like OTH, MCO, PTA, or INS, but are sometimes referred to as passive.

Our client needed the following: 0AA331Y21AUGJFKLAXYK1/1130A235P*ABC123 with the Vendor Record Locator at the end. That locator isn't available in some of the other services. We got success with OTA_AirBookRQ less the locator. SendCommandLLSRQ is an obvious solution, but of course requires the developer to manage parsing errors/success in the response. Sometimes this is a viable solution and I will go toe-to-toe with those who shame sending terminal commands. It depends on the situation and it has its place, but we always try to avoid terminal commands IF there is another solution that doesn't take weeks to figure out AND doesn't fall short (ex. missing fields, data).

Sabre Web Svc Support suggested CreateReservationRQ, which is a massive service to do most elements in the PNR and seemingly impossible to implement successfully without intimate knowledge and example payloads for the specific field desired. We already had UpdateReservationRQ in our code library and it basically uses the same XML data, so we tried that and it worked. NOTE: there is flexibility with these two requests whether you already have a PNR or not. Though CreateReservationRQ sounds like you must create a PNR, it can be used on an existing PNR.

This is the request Sabre Support provided for CreateReservationRQ:

<ns7:CreateReservationRQ EchoToken="" Version="1.19.0" xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns2="http://www.w3.org/1999/xlink" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns6="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:ns7="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns:or="http://services.sabre.com/res/or/v1_14">
        <ns7:RequestType commitTransaction="false" initialIgnore="false">Stateful</ns7:RequestType>
        <ns7:ReturnOptions RetrievePNR="true"/>
        <ns7:NewReservation>
            <ns7:Itinerary>
                <ns7:Product>
                    <or:ProductDetails productCategory="passive" productType="Air" vendorCode="UX" statusCode="GK" startPoint="MAD" startDateTime="2023-08-12T08:00:00" endPoint="ORY" endDateTime="2023-08-12T09:55:00">
                        <or:ProductName type="Air"/>
                        <or:Air>
                            <or:DepartureAirport>MAD</or:DepartureAirport>
                            <or:ArrivalAirport>ORY</or:ArrivalAirport>
                            <or:ArrivalAirportCodeContext>IATA</or:ArrivalAirportCodeContext>
                            <or:MarketingAirlineCode>UX</or:MarketingAirlineCode>
                            <or:CodeShareOperatingRecordLocator>32FAOI</or:CodeShareOperatingRecordLocator>
                            <or:AirlineRefId>UX*DMVZPC</or:AirlineRefId>
                            <or:Eticket>false</or:Eticket>
                            <or:DepartureDateTime>2023-08-12T08:00:00</or:DepartureDateTime>
                            <or:ArrivalDateTime>2023-08-12T09:55:00</or:ArrivalDateTime>
                            <or:FlightNumber>1027</or:FlightNumber>
                            <or:ClassOfService>Y</or:ClassOfService>
                            <or:ActionCode>GK</or:ActionCode>
                            <or:NumberInParty>1</or:NumberInParty>
                            <or:PassiveSegmentIndicator>true</or:PassiveSegmentIndicator>
                            <or:OtherAirlineSign/>
                        </or:Air>
                    </or:ProductDetails>
                </ns7:Product>
            </ns7:Itinerary>
            <ns7:PersonName>
                <ns7:Given>Tamil</ns7:Given>
                <ns7:Surname>Maran</ns7:Surname>
                <ns7:Prefix>Mr</ns7:Prefix>
            </ns7:PersonName>
            <ns7:PhoneNumber id="1" op="C">
                <ns7:PhoneText>9600000000</ns7:PhoneText>
            </ns7:PhoneNumber>
            <ns7:TicketingInfo>
                <ns7:AlreadyTicketed>
                    <ns7:Code>T-A</ns7:Code>
                </ns7:AlreadyTicketed>
            </ns7:TicketingInfo>
            <ns7:ReceivedFrom>
                <ns7:Name>Maran</ns7:Name>
                <ns7:AgentName>Maran</ns7:AgentName>
            </ns7:ReceivedFrom>
        </ns7:NewReservation>
    </ns7:CreateReservationRQ>

Below is the solution that worked for us using UpdateReservationRQ with a few tweaks. We used less data AND the important change was the productCategory = "AIR" vs "passive". (passive is slippery) However, we kept the PassiveSegmentIndicator = true in the Air element.

This got us the same result as this type of format: 0AA331Y21AUGJFKLAXYK1/1130A235P*ABC123

<UpdateReservationRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.19.12">
  <RequestType commitTransaction="false" initialIgnore="false" xmlns="http://webservices.sabre.com/pnrbuilder/v1_19">Stateful</RequestType>
  <ReturnOptions RetrievePNR="true" IncludeUpdateDetails="true" xmlns="http://webservices.sabre.com/pnrbuilder/v1_19" />
  <ReservationUpdateList xmlns="http://webservices.sabre.com/pnrbuilder/v1_19">
    <ReservationUpdateItem>
      <ProductUpdate op="C">
        <Product>
          <ProductDetails productCategory="AIR" xmlns="http://services.sabre.com/res/or/v1_14">
            <ProductName type="AIR" />
            <Air>
              <DepartureAirport>JFK</DepartureAirport>
              <ArrivalAirport>LAX</ArrivalAirport>
              <MarketingAirlineCode>AA</MarketingAirlineCode>
              <MarketingFlightNumber>331</MarketingFlightNumber>
              <MarketingClassOfService>Y</MarketingClassOfService>
              <DepartureDateTime>2023-08-21T11:30:00</DepartureDateTime>
              <ArrivalDateTime>2023-08-21T14:35:00</ArrivalDateTime>
              <ActionCode>YK</ActionCode>
              <NumberInParty>01</NumberInParty>
              <PassiveSegmentIndicator>true</PassiveSegmentIndicator>
              <OALocator>OB1CNOB</OALocator>
            </Air>
          </ProductDetails>
        </Product>
      </ProductUpdate>
    </ReservationUpdateItem>
  </ReservationUpdateList>
</UpdateReservationRQ>

Hoping this helps someone.

TravelDev
  • 102
  • 1
  • 10