Travelport / travelport-uapi-tutorial

The travelport-uapi-tutorial is a Java project for Universal API that will help you connect and code a standard workflow including Air and Hotel.
45 stars 34 forks source link

Unsuccessful primary host transaction causing reservation failure #683

Closed marcadde23 closed 5 years ago

marcadde23 commented 5 years ago

Hi, I was trying to continue booking airline ticket, I sent the following request: <?xml version="1.0" encoding="UTF-8"?>

Mogadishu SO 6UUVoSldxwgO9J7wHYz8FsbKj3F8T9EyxsqPcXxP0TIjSPOlaHfQe5cuasWd6i8Dly5qxZ3qLwOXLmrFneovA5cuasWd6i8Dly5qxZ3qLwOXLmrFneovA7WjV0oQxP/lM3ExqSoG051ZxqA9HCJ5sjVyr1ryOY+YVCulqMwbpNYO04H1fr4a4wKszlMcOXC7pfdLHTFS3djq/20RpEmAXlby9IE1rxlSp7GoYpQef1iAP8k6HVBnD5UALqLts5DMJJ1Sl2I2JY+AdcY0m0a4yk4nKb2G5mOFyT7OCOsJ2k49X/MKkD0JnIq+cJFUBzrily5qxZ3qLwOXLmrFneovA5cuasWd6i8Dly5qxZ3qLwOXLmrFneovA3N5jV9Rrzq8txHW6jzw2UbAQJCzzE4cyTMYEhyJHPE+vSkRU1eKokDuX+btButBIrsak4txV+pz And I got the following response: Server.Business Unsuccessful primary host transaction causing reservation failure. 3515 AIRSVC Business Unsuccessful primary host transaction causing reservation failure. 66F166D70A07647888FD9F0A3CAF28BC trace Can you please help? Thank you.
vivekjyotipramanik commented 5 years ago

Hi marcadde23,

It might be a test data issue. Could you try with a different carrier, origin, destination and dates. Thanks.

marcadde23 commented 5 years ago

001-1G_AirBook_Rq.txt 001-1G_AirBook_Rsp.txt

I changed it now, please check it.

vivekjyotipramanik commented 5 years ago

Hi marcadde23,

The AirPriceInfo is missing inside the AirPricingSolution. Please use the AirPricingSolution received in the AirPriceRsp. It should have a AirPriceInfo inside the AirPricingSolution. Thanks.

marcadde23 commented 5 years ago

I'm checking my app, could you please send the link where I can get xml sample of "Creating Air Booking"; so that I focus only the required elements.

Am I right that I am following same diagram of https://support.travelport.com/webhelp/uapi/Content/SampleWeb/SampleFiles/024-03_1G_AirBook_Rq.xml ??

Thanks

vivekjyotipramanik commented 5 years ago

Hi marcadde23,

You can follow the below links for all the details about booking. Thanks.

https://support.travelport.com/webhelp/uapi/uapi.htm#Air/Air_Booking/Air_Booking.htm%3FTocPath%3DAir%7CAir%2520Shopping%2520and%2520Booking%7CAir%2520Booking%7C_____0

https://support.travelport.com/webhelp/uapi/uapi.htm#SampleWeb/Kelvin/AirTransactions/Kel_Samples_AirBook.htm%3FTocPath%3DSamples%7CXML%2520Samples%2520%7CAir%2520Samples%7CAir%2520Samples%7CAir%2520Transactions%7C_____6

marcadde23 commented 5 years ago

Hi @vivekjyotipramanik I changed the files now, could you please check it.

001-1G_LowFareSearch_Rq.txt 001-1G_LowFareSearch_Rsp.txt 001-1G_AirPrice_Rq.txt 001-1G_AirPrice_Rsp.txt 001-1G_AirBook_Rq.txt 001-1G_AirBook_Rsp.txt

Thank you

vivekjyotipramanik commented 5 years ago

Hi marcadde23,

The HostToeknRef is there in the request, but the HostToken is missing which is causing this issue. Please add HostToken in the request as well. Please find below the link with sample. The host token was returned in the AirPricingRsp. Thanks.

https://support.travelport.com/webhelp/uapi/Content/SampleWeb/SampleFiles/048-03_ACH_AirBook_Rq.xml

marcadde23 commented 5 years ago

Hi vivekjyotipramanik, Could you check the files, I'm trying to fix this 001-1G_AirBook_Rq.txt 001-1G_AirBook_Rsp.txt 001-1G_AirPrice_Rq.txt 001-1G_AirPrice_Rsp.txt 001-1G_LowFareSearch_Rq.txt 001-1G_LowFareSearch_Rsp.txt

vivekjyotipramanik commented 5 years ago

Hi marcadde23,

The HostToken is still missing in the request. Whenever HostToken is returned in the AirPriceRsp, you have to use the Token in the AIrBook Request and add the HostTokenRef in AirSegment as well as BookingInfo elements. Please find below the updated request. Please give it a try with this. Thanks.

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header/>
  <soapenv:Body>
    <univ:AirCreateReservationReq xmlns:air="http://www.travelport.com/schema/air_v42_0" xmlns:common_v42_0="http://www.travelport.com/schema/common_v42_0" xmlns:univ="http://www.travelport.com/schema/universal_v42_0" AuthorizedBy="user" RetainReservation="Both" TargetBranch="P7092559" TraceId="trace">
      <com:BillingPointOfSaleInfo xmlns:com="http://www.travelport.com/schema/common_v42_0" OriginApplication="UAPI"/>
      <com:BookingTraveler xmlns:com="http://www.travelport.com/schema/common_v42_0" DOB="1980-05-08" Gender="M" Key="hie20JWo6UhnKu8QhOlvwc==" TravelerType="ADT">
        <com:BookingTravelerName First="Mohamud" Last="Neeri" Prefix="Mr"/>
        <com:DeliveryInfo>
          <com:ShippingAddress>
            <com:AddressName>Residence</com:AddressName>
            <com:Street>Jaalle Siyad</com:Street>
            <com:City>Mogadishu</com:City>
            <com:State>Banadir</com:State>
            <com:PostalCode>00256</com:PostalCode>
            <com:Country>SO</com:Country>
          </com:ShippingAddress>
        </com:DeliveryInfo>
        <com:PhoneNumber CountryCode="252" Location="MGQ" Number="617467659"/>
        <com:Email EmailID="m.abukar@sostec.so" Type="Home"/>
        <com:Address>
          <com:AddressName>Residence</com:AddressName>
          <com:Street>Jaalle Siyad</com:Street>
          <com:City>Mogadishu</com:City>
          <com:State>Banadir</com:State>
          <com:PostalCode>00256</com:PostalCode>
          <com:Country>SO</com:Country>
        </com:Address>
      </com:BookingTraveler>
      <com:FormOfPayment xmlns:com="http://www.travelport.com/schema/common_v42_0" Key="YI1jd4hhUavOIpMdzhTMB8==" Type="Cash"/>
      <air:AirPricingSolution Key="pzBc1y8Q2BKAbaQcAAAAAA==" TotalPrice="SOS193084" BasePrice="USD227.00" ApproximateTotalPrice="SOS193084" ApproximateBasePrice="SOS136335" EquivalentBasePrice="SOS136335" Taxes="SOS56749.00" Fees="SOS0.00" ApproximateTaxes="SOS56749.00" QuoteDate="2019-08-22">
        <air:AirSegment Key="pzBc1y8Q2BKAZaQcAAAAAA==" HostTokenRef="pzBc1y8Q2BKAcaQcAAAAAA==" Group="0" Carrier="ET" FlightNumber="377" ProviderCode="1G" Origin="MGQ" Destination="ADD" DepartureTime="2019-08-25T12:10:00.000+03:00" ArrivalTime="2019-08-25T15:00:00.000+03:00" FlightTime="170" TravelTime="170" Distance="658" ClassOfService="H" Equipment="738" ChangeOfPlane="false" OptionalServicesIndicator="false" AvailabilitySource="S" ParticipantLevel="Secure Sell" LinkAvailability="true" PolledAvailabilityOption="O and D cache or polled status used with different local status" AvailabilityDisplayType="Fare Specific Fare Quote Unbooked">
          <air:FlightDetails Key="pzBc1y8Q2BKAaaQcAAAAAA==" Origin="MGQ" Destination="ADD" DepartureTime="2019-08-25T12:10:00.000+03:00" ArrivalTime="2019-08-25T15:00:00.000+03:00" FlightTime="170" TravelTime="170" Equipment="73W" DestinationTerminal="2" AutomatedCheckin="false"/>
        </air:AirSegment>
        <air:AirPricingInfo Key="pzBc1y8Q2BKAdaQcAAAAAA==" TotalPrice="SOS193084" BasePrice="USD227.00" ApproximateTotalPrice="SOS193084" ApproximateBasePrice="SOS136335" EquivalentBasePrice="SOS136335" ApproximateTaxes="SOS56749.00" Taxes="SOS56749.00" LatestTicketingTime="2019-08-25T23:59:00.000+03:00" PricingMethod="Guaranteed" Refundable="true" IncludesVAT="false" ETicketability="Yes" PlatingCarrier="ET" ProviderCode="1G">
          <air:FareInfo Key="pzBc1y8Q2BKAiaQcAAAAAA==" FareBasis="HOWSO" PassengerTypeCode="ADT" Origin="MGQ" Destination="ADD" EffectiveDate="2019-08-22T12:27:00.000+03:00" DepartureDate="2019-08-25" Amount="SOS136335" NotValidBefore="2019-08-25" NotValidAfter="2019-08-25" TaxAmount="SOS56749.00">
            <common_v42_0:Endorsement Value="NON-ENDO/PENALTIES APPLY"/>
            <air:FareRuleKey FareInfoRef="pzBc1y8Q2BKAiaQcAAAAAA==" ProviderCode="1G">6UUVoSldxwj1L+MSr8zA+MbKj3F8T9EyxsqPcXxP0TLGyo9xfE/RMsuWFfXVd1OAly5qxZ3qLwOXLmrFneovA5cuasWd6i8Dly5qxZ3qLwOXLmrFneovA5/8SpLMaEm24bHmxr88+l3zd/VTAJtvZT9ydIOWKHzuNgYTMBz3e8rnWmtUsVS8UZAd4csBRhgPdWptOigh/EprkRS2m7MQmBll6FxyIC6cYuAWfcH2w92IEQfz1U0L77zJNGUWtLYWkE+oSgD4SQHqkp0FEw0raOCbZ1nsUQQBjSu0ZujPSCp5HVDrhQ1PxouFsAExMoVlv4Xvb2u1Qx+/he9va7VDH7+F729rtUMfv4Xvb2u1Qx+/he9va7VDHzyxauAs+veBE308BFXsd7QPNqcmmS6r7B2WN4EjYakqwrMmfW2iDGZJ8lazFv9lnE1evUjARzeH5W4bRuwrrPA=</air:FareRuleKey>
          </air:FareInfo>
          <air:BookingInfo BookingCode="H" CabinClass="Economy" FareInfoRef="pzBc1y8Q2BKAiaQcAAAAAA==" SegmentRef="pzBc1y8Q2BKAZaQcAAAAAA==" HostTokenRef="pzBc1y8Q2BKAcaQcAAAAAA=="/>
          <air:TaxInfo Category="FT" Amount="SOS24024" Key="pzBc1y8Q2BKAeaQcAAAAAA=="/>
          <air:TaxInfo Category="M7" Amount="SOS1202" Key="pzBc1y8Q2BKAfaQcAAAAAA=="/>
          <air:TaxInfo Category="NS" Amount="SOS7499" Key="pzBc1y8Q2BKAgaQcAAAAAA=="/>
          <air:TaxInfo Category="YR" Amount="SOS24024" Key="pzBc1y8Q2BKAhaQcAAAAAA=="/>
          <air:FareCalc>MGQ ET ADD 227.00HOWSO NUC227.00END ROE1.0</air:FareCalc>
          <air:PassengerType Code="ADT"/>
          <air:ChangePenalty>
            <air:Amount>SOS30029.00</air:Amount>
          </air:ChangePenalty>
          <air:CancelPenalty>
            <air:Amount>SOS30029.00</air:Amount>
          </air:CancelPenalty>
          <air:BaggageAllowances>
            <air:BaggageAllowanceInfo TravelerType="ADT" Origin="MGQ" Destination="ADD" Carrier="ET">
              <air:URLInfo>
                <air:URL>VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/ET</air:URL>
              </air:URLInfo>
              <air:TextInfo>
                <air:Text>2P</air:Text>
                <air:Text>BAGGAGE DISCOUNTS MAY APPLY BASED ON FREQUENT FLYER STATUS/ ONLINE CHECKIN/FORM OF PAYMENT/MILITARY/ETC.</air:Text>
              </air:TextInfo>
              <air:BagDetails ApplicableBags="1stChecked" BasePrice="SOS0.00" ApproximateBasePrice="SOS0.00" TotalPrice="SOS0.00" ApproximateTotalPrice="SOS0.00">
                <air:BaggageRestriction>
                  <air:TextInfo>
                    <air:Text>UPTO50LB/23KG</air:Text>
                  </air:TextInfo>
                </air:BaggageRestriction>
              </air:BagDetails>
              <air:BagDetails ApplicableBags="2ndChecked" BasePrice="SOS0.00" ApproximateBasePrice="SOS0.00" TotalPrice="SOS0.00" ApproximateTotalPrice="SOS0.00">
                <air:BaggageRestriction>
                  <air:TextInfo>
                    <air:Text>UPTO50LB/23KG</air:Text>
                  </air:TextInfo>
                </air:BaggageRestriction>
              </air:BagDetails>
            </air:BaggageAllowanceInfo>
            <air:CarryOnAllowanceInfo Origin="MGQ" Destination="ADD" Carrier="ET">
              <air:TextInfo>
                <air:Text>1P</air:Text>
              </air:TextInfo>
              <air:CarryOnDetails ApplicableCarryOnBags="1" BasePrice="SOS0.00" ApproximateBasePrice="SOS0.00" TotalPrice="SOS0.00" ApproximateTotalPrice="SOS0.00">
                <air:BaggageRestriction>
                  <air:TextInfo>
                    <air:Text>UPTO15LB/7KG AND UPTO45LI/115LCM</air:Text>
                  </air:TextInfo>
                </air:BaggageRestriction>
              </air:CarryOnDetails>
            </air:CarryOnAllowanceInfo>
          </air:BaggageAllowances>
        </air:AirPricingInfo>
        <common_v42_0:HostToken Key="pzBc1y8Q2BKAcaQcAAAAAA==">GFB10101ADT00  01HOWSO                                 010001#GFB200010101NADTV3031ESSO00100006994B#</common_v42_0:HostToken>
      </air:AirPricingSolution>
      <com:ActionStatus xmlns:com="http://www.travelport.com/schema/common_v42_0" ProviderCode="1G" TicketDate="2019-08-22T14:27:51" Type="TAW"/>
    </univ:AirCreateReservationReq>
  </soapenv:Body>
</soapenv:Envelope>
marcadde23 commented 5 years ago

Hi @vivekjyotipramanik I got new error, see the below response.

<?xml version="1.0"?>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP:Body>
    <SOAP:Fault>
      <faultcode>Server.Business</faultcode>
      <faultstring>SYSTEM ERROR | FINISH OR IGNORE TRANSACTION/MODIFY BOOKING</faultstring>
      <detail>
        <common_v42_0:ErrorInfo xmlns:common_v42_0="http://www.travelport.com/schema/common_v42_0">
          <common_v42_0:Code>1</common_v42_0:Code>
          <common_v42_0:Service>WEBSVC</common_v42_0:Service>
          <common_v42_0:Type>Business</common_v42_0:Type>
          <common_v42_0:Description>Unexpected system error.</common_v42_0:Description>
          <common_v42_0:TransactionId>F32482380A076477A0AD1FD79803CF72</common_v42_0:TransactionId>
          <common_v42_0:TraceId>trace</common_v42_0:TraceId>
        </common_v42_0:ErrorInfo>
      </detail>
    </SOAP:Fault>
  </SOAP:Body>
</SOAP:Envelope>

The request file is also attached

001-1G_AirPrice_Rsp.txt 001-1G_AirBook_Rq.txt

vivekjyotipramanik commented 5 years ago

Hi marcadde23,

Please find below the full end to end flow request and response. Please give it a try using the below. Thanks.

AirPriceReq.txt AirPriceRsp.txt AirBookReq.txt AirBookRsp.txt AirShopReq.txt AirShopRsp.txt

marcadde23 commented 5 years ago

Hi @vivekjyotipramanik I'm trying to modify some of the params, such as flight with two or more air segments. Can you appoint me a link where I can follow samples of v42_0 that I'm using it.

https://support.travelport.com/webhelp/uapi/uapi.htm#SampleWeb/Alternative_Sample_Pages/Samples_Air-Galileo-Overview.htm I can't find samples of v42_0.

marcadde23 commented 5 years ago

By the way, I have changed the files, but still I'm getting same response. Here is the files

001-1G_LowFareSearch_Rq.txt 001-1G_LowFareSearch_Rsp.txt 002-1G_AirPrice_Rq.txt 002-1G_AirPrice_Rsp.txt 003-1G_AirBook_Rq.txt 003-1G_AirBook_Rsp.txt 004-1G_AirTicket_Rq.txt 004-1G_AirTicket_Rsp.txt

vivekjyotipramanik commented 5 years ago

Hi marcadde23,

The booking response has fare related warning, which is the reason, the fare was not saved in the booking response. The booking request is missing HostToken ref in the AirSegment element. Please find below the updated and corrected AirBookReq. If the AirPricingInfo is not saved in the BookingRsp, the ticketing will always fail. We have to use the AirPricingRef from the AirCreateReservationRsp in the ticketing. You are using the one from the Book Request. Thanks.

Warnings:

NO FARES Some of the requested AirPricingInfos could not be saved for the requested provider. 3100 : NO VALID FARE FOR INPUT CRITERIA ```xml Jaalle Siyad Mogadishu Banadir 00256 SO
Residence Jaalle Siyad Mogadishu Banadir 00256 SO
6UUVoSldxwgtwHS4nDQIUMbKj3F8T9EyxsqPcXxP0TLGyo9xfE/RMsuWFfXVd1OAly5qxZ3qLwOXLmrFneovA5cuasWd6i8Dly5qxZ3qLwOXLmrFneovA5/8SpLMaEm24bHmxr88+l3zd/VTAJtvZT9ydIOWKHzuNgYTMBz3e8rnWmtUsVS8UZAd4csBRhgPH2QISY6XC7C9G3XsKBDNKhll6FxyIC6cYuAWfcH2w92IEQfz1U0L77zJNGUWtLYWkE+oSgD4SQHqkp0FEw0raOCbZ1nsUQQBjSu0ZujPSCp5HVDrhQ1PxouFsAExMoVlv4Xvb2u1Qx+/he9va7VDH7+F729rtUMfv4Xvb2u1Qx+/he9va7VDHzyxauAs+veBE308BFXsd7QPNqcmmS6r7B2WN4EjYakqwrMmfW2iDGZJ8lazFv9lnE1evUjARzeH5W4bRuwrrPA= GFB10101ADT00 01HOWSO 010001#GFB200010101NADTV3031ESSO00100006994B#
```
marcadde23 commented 5 years ago

Hi @vivekjyotipramanik I got, [Error] :28:382: cvc-complex-type.3.2.2: Attribute 'HostTokenRef' is not allowed to appear in element 'AirPricingSolution'.

REQUEST

`<?xml version="1.0" encoding="UTF-8"?>

Jaalle Siyad Mogadishu Banadir 00256 SO
Residence Jaalle Siyad Mogadishu Banadir 00256 SO
6UUVoSldxwjcDUjgiWvyD8bKj3F8T9EyxsqPcXxP0TLGyo9xfE/RMsuWFfXVd1OAly5qxZ3qLwOXLmrFneovA5cuasWd6i8Dly5qxZ3qLwOXLmrFneovA5/8SpLMaEm24bHmxr88+l3zd/VTAJtvZT9ydIOWKHzuNgYTMBz3e8rnWmtUsVS8UZAd4csBRhgPH2QISY6XC7C9G3XsKBDNKhll6FxyIC6cYuAWfcH2w92IEQfz1U0L77zJNGUWtLYWkE+oSgD4SQHqkp0FEw0raOCbZ1nsUQQBjSu0ZujPSCp5HVDrhQ1PxouFsAExMoVlv4Xvb2u1Qx+/he9va7VDH7+F729rtUMfv4Xvb2u1Qx+/he9va7VDHzyxauAs+veBE308BFXsd7QPNqcmmS6r7B2WN4EjYakqwrMmfW2iDGZJ8lazFv9lnE1evUjARzeH5W4bRuwrrPA= GFB10101ADT00 01HOWSO 010001#GFB200010101NADTV3031ESSO00100006994B#
` **RESPONSE** ` Server.InvalidRequestException [Error] :28:382: cvc-complex-type.3.2.2: Attribute 'HostTokenRef' is not allowed to appear in element 'AirPricingSolution'. 1000 WEBSVC Data Validation failed on request message. 6C2170030A0764775EFB6207A264B5D8 LastElement FormOfPayment Key=3pM5q18Q2BKAdBqLAAAAAA== TotalPrice=SOS193084 BasePrice=USD227.00 ApproximateTotalPrice=SOS193084 ApproximateBasePrice=SOS136335 EquivalentBasePrice=SOS136335 Taxes=SOS56749.00 Fees=SOS0.00 ApproximateTaxes=SOS56749.00 QuoteDate=2019-09-26 HostTokenRef=3pM5q18Q2BKAeBqLAAAAAA== xmlns=http://www.travelport.com/schema/air_v42_0 `
vivekjyotipramanik commented 5 years ago

Hi,

You have to add it in the AirSegment element. Not the AirPricingSolution element. Please add it in AirSegment element and give it a try. Thanks.

marcadde23 commented 5 years ago

Here is the response I got.

003-1G_AirBook_Rq.txt 003-1G_AirBook_Rsp.txt

vivekjyotipramanik commented 5 years ago

Hi,

Seems like you are using a host token which is akready expired. Please run the pricing again and use the new AirPricingSolution and HostToken details. If you still face the same issue, please create a ticket in My.Travelport.com and we will pick it up from there as this is a transaction related issue. Thanks.

marcadde23 commented 5 years ago

Here is the files I run now.

xmlfiles.zip

vivekjyotipramanik commented 5 years ago

Hi,

As this is transactional issue, to further analyze this it would be great if you can create a ticket in My.Travelport.com and we will pick up the ticket from there. Thanks.

marcadde23 commented 5 years ago

Ok thank you @vivekjyotipramanik