sabre

Sabre PQ Record number not valid


I am getting the following response when performing a two passenger air booking in CERT:

SabreCommandLLSRQ: ÂPQ RECORD NUMBER NOT VALIDÂ

Single passenger request work as expected but if I have multiple passengers it fails.

Two Passenger request:

<ns2:PassengerDetailsRQ xmlns:ns2 = "http://services.sabre.com/sp/pd/v3_4" xmlns:ns3 = "http://services.sabre.com/STL_Payload/v02_01" haltOnError = "true" ignoreOnError = "false"
version = "3.4.0">
<ns2:PostProcessing>
  <ns2:RedisplayReservation />
  <ns2:EndTransactionRQ>
    <ns2:EndTransaction Ind = "true">
      <ns2:Email Ind = "true" />
    </ns2:EndTransaction>
    <ns2:Source ReceivedFrom = "House of Rock" />
  </ns2:EndTransactionRQ>
</ns2:PostProcessing>
<ns2:PriceQuoteInfo>
  <ns2:Link nameNumber = "1.1" record = "1" />
  <ns2:Link nameNumber = "2.1" record = "2" />
</ns2:PriceQuoteInfo>
<ns2:SpecialReqDetails>
  <ns2:AddRemarkRQ>
    <ns2:RemarkInfo>
      <ns2:FOP_Remark>
        <ns2:CC_Info>
          <ns2:PaymentCard Code = "VI" ExpireDate = "2024-04" Number = "4111111111111111" />
        </ns2:CC_Info>
      </ns2:FOP_Remark>
      <ns2:Remark Type = "General">
        <ns2:Text>TEST GENERAL REMARK 1</ns2:Text>
      </ns2:Remark>
      <ns2:Remark Type = "Hidden">
        <ns2:Text>TEST HIDDEN REMARK</ns2:Text>
      </ns2:Remark>
      <ns2:Remark Type = "Historical">
        <ns2:Text>TEST HISTORICAL REMARK</ns2:Text>
      </ns2:Remark>
    </ns2:RemarkInfo>
  </ns2:AddRemarkRQ>
</ns2:SpecialReqDetails>
<ns2:TravelItineraryAddInfoRQ>
  <ns2:AgencyInfo>
    <ns2:Address>
      <ns2:AddressLine>House of Rock</ns2:AddressLine>
      <ns2:CityName>Santa Monica</ns2:CityName>
      <ns2:CountryCode>US</ns2:CountryCode>
      <ns2:PostalCode>90210</ns2:PostalCode>
      <ns2:StateCountyProv StateCode = "CA" />
      <ns2:StreetNmbr>1 Lincoln Blvd</ns2:StreetNmbr>
    </ns2:Address>
    <ns2:Ticketing TicketType = "7T-A" />
  </ns2:AgencyInfo>
  <ns2:CustomerInfo>
    <ns2:ContactNumbers>
      <ns2:ContactNumber NameNumber = "1.1" Phone = "7802352706" PhoneUseType = "H" />
      <ns2:ContactNumber NameNumber = "2.1" Phone = "7802352706" PhoneUseType = "H" />
    </ns2:ContactNumbers>
    <ns2:Email Address = "chris@ctrlspace.com" NameNumber = "1.1" />
    <ns2:PersonName NameNumber = "1.1">
      <ns2:GivenName>Chris</ns2:GivenName>
      <ns2:Surname>Huisman</ns2:Surname>
    </ns2:PersonName>
    <ns2:PersonName NameNumber = "2.1">
      <ns2:GivenName>karen</ns2:GivenName>
      <ns2:Surname>Huisman</ns2:Surname>
    </ns2:PersonName>
  </ns2:CustomerInfo>
</ns2:TravelItineraryAddInfoRQ>

</ns2:PassengerDetailsRQ>


Solution

  • You need to refer price quote created for each passenger type in the PriceQuoteInfo. In case you try to book for two adults, you have to refer the same price record number for both.

    Basically, you refer the TravelItineraryReadRS/PricedItinerary record from the previous pricing response.

    So your PriceQuoteInfo should look something like this:

    <ns2:PriceQuoteInfo>
      <ns2:Link nameNumber = "1.1" record = "1" />
      <ns2:Link nameNumber = "2.1" record = "1" />
    </ns2:PriceQuoteInfo>