Travelport / travelport-uapi-tutorial-c-sharp

The travelport-uapi-tutorial-c-sharp is a C# project for Universal API that will help you connect and code a standard Air availablity call and Hotel search, details, and booking flow.
35 stars 30 forks source link

MInimum Data Required for AirCreateReservationReq #46

Closed socialimpulse closed 8 years ago

socialimpulse commented 8 years ago

Hello,

Could you please let me know and send me an example of the minimum data required for creating a booking on Galileo with AirCreateReservation.

I just want to send the minimum data.

Please advice.

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

Please find below the link which lists all the minimum data required to complete the AirBooking Request. Please let me know how it goes. Thanks.

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

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Thanks for the link, however it says the minimum data is:

But when I try to book it says:

{"[Error] :1:1129: cvc-complex-type.4: Attribute 'Key' must appear on element 'AirPricingSolution'."}

It is possible for you to send me a XML for the minimum working XML?

Thanks in advance.

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

Please find below the complete end to end sample with Minimum required data. Please let me know how it goes. Thanks.

https://support.travelport.com/webhelp/uapi/Content/SampleWeb/Individual_Sample_Pages/001-1G_AirAvailability_MinimumData.htm

https://support.travelport.com/webhelp/uapi/Content/SampleWeb/Individual_Sample_Pages/024-1G_AirLowFareShop_MinimumData.htm

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Hello,

Now I am getting the following error message:

{"Message From Galileo : Uncaught Service Exception cause:com.cendant.tds.soa.framework.ServiceException: Exception ReturnedERR: AGENT ID - GALILEOWith the Dynamic GTID list of:A8063A "}

Please advice.

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

Looks like the Username and password you are using is expired. Could you please request for another set of credentials from the Travelport Request test access page. Please let me know how it goes. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Hello There,

I can search flights with no problem, so I guess our credentials are fine.

Any other clue?

Best,

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

Could you please provide the username and targetBranch and we will check if there is any other problems. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Yes,

Username: Universal API/uAPI3822204452-7f2d220c Branch: P7058001

Best,

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

We have rebuilt the sign on. Could you please try again. Please let me know how it goes. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

It worked :-) Thank you so much.

socialimpulse commented 8 years ago

Hello There,

Can you please help finding out why the AirPricingInfo is being null.

Check this Record: "06N33D"

Please advice.

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

Could you please provide the XML request and response. This will greatly help us analyze the problem. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Thanks! Please advice.

Request:

"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<AirCreateReservationReq xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" TraceId=\"123\" AuthorizedBy=\"booktofly\" TargetBranch=\"P7058001\" RetainReservation=\"Both\">\r\n <BillingPointOfSaleInfo OriginApplication=\"BookToFly\" xmlns=\"http://www.travelport.com/schema/common_v38_0\" />\r\n <BookingTraveler Key=\"1\" TravelerType=\"ADT\" Gender=\"M\" Nationality=\"US\" xmlns=\"http://www.travelport.com/schema/common_v38_0\">\r\n <BookingTravelerName Prefix=\"Mr\" First=\"Juan\" Last=\"Viana\" />\r\n \r\n \r\n Home\r\n 2914 N. Dakota Avenue\r\n Denver\r\n CO\r\n 80206\r\n US\r\n \r\n \r\n <PhoneNumber Location=\"DEN\" CountryCode=\"1\" AreaCode=\"303\" Number=\"3333333\" />\r\n <Email Type=\"Home\" EmailID=\"test@travelport.com\" />\r\n

\r\n Home\r\n 2914 N. Dakota Avenue\r\n Denver\r\n CO\r\n 80206\r\n US\r\n
\r\n \r\n <ContinuityCheckOverride Key=\"1T\" xmlns=\"http://www.travelport.com/schema/common_v38_0\">true\r\n <AirPricingSolution Key=\"IOWW6e2jRG2MLR5gsmr5vQ==\" xmlns=\"http://www.travelport.com/schema/air_v38_0\">\r\n <AirSegment Key=\"FQMkSgfXTqmafdDGW8xBDQ==\" Group=\"0\" Carrier=\"AV\" FlightNumber=\"9357\" Origin=\"MDE\" Destination=\"BOG\" DepartureTime=\"2016-10-20T00:00:00\" ArrivalTime=\"2016-10-20T00:00:00\" ClassOfService=\"U\" />\r\n \r\n <ActionStatus Type=\"TAW\" TicketDate=\"2016-09-27T11:53:09\" ProviderCode=\"1G\" xmlns=\"http://www.travelport.com/schema/common_v38_0\" />\r\n"

Response:

"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<AirCreateReservationRsp xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" TraceId=\"123\" TransactionId=\"676A2B810A07643BCA5A9ED6F8C73B18\" ResponseTime=\"2857\">\r\n <UniversalRecord LocatorCode=\"P59GCN\" Version=\"0\" Status=\"Active\" xmlns=\"http://www.travelport.com/schema/universal_v38_0\">\r\n <BookingTraveler Key=\"AxjYoLxxQv+mu26acNxTlA==\" TravelerType=\"ADT\" Gender=\"M\" ElStat=\"A\" xmlns=\"http://www.travelport.com/schema/common_v38_0\">\r\n <BookingTravelerName Prefix=\"Mr\" First=\"Juan\" Last=\"Viana\" />\r\n \r\n <ShippingAddress Key=\"RnlRdpOPROGmQn1bZjIFpg==\" ElStat=\"A\">\r\n Home\r\n 2914 N. Dakota Avenue\r\n Denver\r\n CO\r\n 80206\r\n US\r\n <ProviderReservationInfoRef Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" />\r\n \r\n <ProviderReservationInfoRef Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" />\r\n \r\n <PhoneNumber Key=\"VqFTUXFLRoy+Zo2Z15bq9Q==\" Type=\"None\" Location=\"DEN\" CountryCode=\"1\" AreaCode=\"303\" Number=\"3333333\" ElStat=\"A\">\r\n <ProviderReservationInfoRef Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" />\r\n \r\n <Email Key=\"FFASvO8YSNag4cybhf3SxQ==\" Type=\"Home\" EmailID=\"test@travelport.com\" ElStat=\"A\">\r\n <ProviderReservationInfoRef Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" />\r\n \r\n <Address Key=\"AsCiyX5MRm2+HtarSg22WQ==\" ElStat=\"A\">\r\n Home\r\n 2914 N. Dakota Avenue\r\n Denver\r\n CO\r\n 80206\r\n US\r\n <ProviderReservationInfoRef Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" />\r\n \r\n \r\n <ActionStatus Type=\"TAW\" TicketDate=\"2016-09-27T11:53:00.000-05:00\" Key=\"PwFxrsaWTMW7CF+RC/UtKA==\" ProviderReservationInfoRef=\"MmCYhVe/Q3e1JD0BknlNYQ==\" ProviderCode=\"1G\" ElStat=\"A\" xmlns=\"http://www.travelport.com/schema/common_v38_0\" />\r\n <ProviderReservationInfo Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" ProviderCode=\"1G\" LocatorCode=\"AZWJ9U\" CreateDate=\"2016-09-26T11:53:16.746-05:00\" HostCreateDate=\"2016-09-26\" ModifiedDate=\"2016-09-26T11:53:16.746-05:00\" OwningPCC=\"5ZX3\" />\r\n <AirReservation LocatorCode=\"ZMX6FX\" CreateDate=\"2016-09-26T16:53:16.221+00:00\" ModifiedDate=\"2016-09-26T16:53:16.746+00:00\" xmlns=\"http://www.travelport.com/schema/air_v38_0\">\r\n <SupplierLocator SupplierCode=\"AV\" SupplierLocatorCode=\"5SWDDH\" ProviderReservationInfoRef=\"MmCYhVe/Q3e1JD0BknlNYQ==\" CreateDateTime=\"2016-09-26T11:53:00-05:00\" xmlns=\"http://www.travelport.com/schema/common_v38_0\" />\r\n <BookingTravelerRef Key=\"AxjYoLxxQv+mu26acNxTlA==\" xmlns=\"http://www.travelport.com/schema/common_v38_0\" />\r\n <ProviderReservationInfoRef Key=\"MmCYhVe/Q3e1JD0BknlNYQ==\" xmlns=\"http://www.travelport.com/schema/common_v38_0\" />\r\n <AirSegment Key=\"FQMkSgfXTqmafdDGW8xBDQ==\" Status=\"HK\" TravelOrder=\"1\" ElStat=\"A\" GuaranteedPaymentCarrier=\"No\" ProviderReservationInfoRef=\"MmCYhVe/Q3e1JD0BknlNYQ==\" OptionalServicesIndicator=\"false\" ETicketability=\"Yes\" Group=\"0\" Carrier=\"AV\" CabinClass=\"Economy\" FlightNumber=\"9357\" Origin=\"MDE\" Destination=\"BOG\" DepartureTime=\"2016-10-20T21:48:00.000-05:00\" ArrivalTime=\"2016-10-20T22:45:00.000-05:00\" TravelTime=\"57\" ProviderCode=\"1G\" ClassOfService=\"U\">\r\n <SegmentRemark Key=\"dFqNkx96Qwa6GvkACDvXnQ==\" xmlns=\"http://www.travelport.com/schema/common_v38_0\">AVIANCA\r\n <FlightDetails DestinationTerminal=\"1\" Equipment=\"321\" TravelTime=\"57\" FlightTime=\"57\" ArrivalTime=\"2016-10-20T22:45:00.000-05:00\" DepartureTime=\"2016-10-20T21:48:00.000-05:00\" Destination=\"BOG\" Origin=\"MDE\" Key=\"JUTqGomPSc6R8S2qsNOlwg==\" ElStat=\"A\" />\r\n <SellMessage xmlns=\"http://www.travelport.com/schema/common_v38_0\">OPERATED BY AVIANCA\r\n <SellMessage xmlns=\"http://www.travelport.com/schema/common_v38_0\">ARRIVES BOG TERMINAL 1\r\n <SellMessage xmlns=\"http://www.travelport.com/schema/common_v38_0\">_OPERATED BY AVIANCA_\r\n <SellMessage xmlns=\"http://www.travelport.com/schema/common_v38_0\">_VUELO LLEGA T1 EL DORADO_\r\n \r\n \r\n <AgencyInfo xmlns=\"http://www.travelport.com/schema/common_v38_0\">\r\n <AgentAction ActionType=\"Created\" AgentCode=\"UAPI3822204452-7F2D220C\" BranchCode=\"P7058001\" AgencyCode=\"S7057994\" EventTime=\"2016-09-26T11:53:14.087-05:00\" />\r\n \r\n \r\n <AirSolutionChangedInfo ReasonCode=\"Schedule\" xmlns=\"http://www.travelport.com/schema/air_v38_0\">\r\n <AirPricingSolution Key=\"9PE7AK1GS86ebyLOYMD/Xw==\">\r\n <AirSegment Key=\"FQMkSgfXTqmafdDGW8xBDQ==\" Status=\"NN\" Group=\"0\" Carrier=\"AV\" FlightNumber=\"9357\" Origin=\"MDE\" Destination=\"BOG\" DepartureTime=\"2016-10-20T00:00:00.000-05:00\" ArrivalTime=\"2016-10-20T00:00:00.000-05:00\" ClassOfService=\"U\" />\r\n \r\n \r\n"

socialimpulse commented 8 years ago

Hello,

Please find the request and response enclosed.

Best,

Response.txt Request.txt

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

The request is missing the AirPriceInfo, that is why uAPI could not store the fare. Could you please add AirPriceInfo in the request. The AirPriceInfo would be found from the AirPricingResponse. Please let me know how it goes. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Hello there,

Do I have to send the complete AirpriceInfo Object?

We think is too much data, and the system should work with the Airpriceinfo key.

Is any other way to make it work just sending the key?

Please advice.

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

I can see from the response as well, there is an element AirSolutionChangedInfo.

The AirSolutionChangedInfo element is returned if there is a change in schedule between the booking request and the stored fare and schedule. It contains a reason code that shows what is different (e.g., ) and may contain a value that displays the difference.

AirSolutionChangedInfo/AirPricingSolution previously also displayed the Total/Base Price and Taxes as part of the Air Pricing Solution when a price change occurred during an Air booking or modification of the Universal Record. Now, no price attributes are shown in the Air Pricing Solution when the price changes.

In Release 15.2 (Air v32.0) and earlier, schedule changes were returned based only on changes in the departure time of the flight. As of Release 15.3 (Air v33.0), changes to either the departure time or the arrival time return AirSolutionChangedInfo data. Release 15.3

For Galileo (1G), Apollo (1V), Worldspan (1P), and Axess (1J), the presence of data in AirSolutionChangedInfo can be affected by the value of @RetainReservation in the booking request. ACH does not support @RetainReservation; after a successful booking request, the reservation is always retained, regardless of price or schedule changes.

That might be the reason as well for the AirPricingInfo to come back as blank.

I will check and provide an update on this. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Thanks I will be standing by.

Best,

socialimpulse commented 8 years ago

Hello Vivekjyoti,

I am sending you now the Airpricing info, but I'm getting the following error message:

{"BookingInfo is required to identify segments for which fare applies"}

Please find enclosed the request.

Best, RequestTravelport.txt

socialimpulse commented 8 years ago

Sorry for too many posts but after sending the booking info now I am getting the following error message:

"Key reference not found for Fare with key reference +IJVO70+QXeeAEk7VMtWIg== inside Booking"

Best,

socialimpulse commented 8 years ago

Hello Vivekjyoti,

We think is too difficult to send over the booking request all the data gathered in the availability response.

With the cabin, class of service and farekey should be enough.

Please let us know if this is at all possible.

Best,

vivekjyotipramanik commented 8 years ago

Hi socialimpulse,

Could you please confirm which programming language you are using. I believe it would be great if you could follow the sample and it will provide you more details about what you are missing.

The issues you are getting are mostly because the Key references are mismatching or missing completely. Please let me know the programming language you are using and we might be able to provide a running and working sample. Thanks.

Thanks & Regards Vivekjyoti Pramanik

socialimpulse commented 8 years ago

Hello Vivekjyoti,

Its working already, my problem was I was not using the Air Price function before booking to get all air pricing info details.

Thanks for your help.