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

PNR Validity #438

Closed fransgod closed 6 years ago

fransgod commented 7 years ago

Dear vivekjyotipramanik,

In our current integration we are using POS model with Cart feature.

Meaning,

  1. Travel agent accesses portal
  2. Searches for low air fare
  3. Enters traveler information
  4. Adds selected recommendation along with Hotel OR other services OR Can be multiple flights options added into same cart. (We generate PNR here and move PNR in Pending Queue (NON GDS Queue)
  5. Travel Agent then converts cart Items into quotation and send to customer (Reprice PNR)
  6. Post customer confirmation Travel agent either confirm bookings OR cancel all bookings

Incase customer confirms booking we move PNR in manual ticketing queue and if user cancels we cancel PNR.

I just wanted to check how long we can hold a PNR and please suggest us best practices for our flow.

Best Regards, Francis G.

fransgod commented 7 years ago

Hi vivekjyotipramanik,

I am getting AirSolutionChangedInfo in the AirBook Response with "ReasonCode": 0

What is the next step if there is an AirSolutionChangedInfo in the AirBook Response?

Also when i do a search from DXB-JFK, the base price returned from AirPrice Response and AirBook Response is USD, the Tax and TotalPrice returned is in AED (API currency is AED). Because of this I am having problems in currency conversion.

Attached are response files (json) for reference.

Thanks and Regards, Francis G.

c275d89d-320e-c68f-cb6d-82d15fb4d4b1_GalileoLFSResponse.txt c275d89d-320e-c68f-cb6d-82d15fb4d4b1_GalileoAirBookResponse.txt c275d89d-320e-c68f-cb6d-82d15fb4d4b1_GalileoAirPriceResponse.txt

d68184de-972d-d4f4-43b4-977d7207ab4a_GalileoLFSResponse.txt d68184de-972d-d4f4-43b4-977d7207ab4a_GalileoAirBookResponse.txt d68184de-972d-d4f4-43b4-977d7207ab4a_GalileoAirPriceResponse.txt

fransgod commented 6 years ago

Hi vivekjyotipramanik,

Can you please look into this as it is urgent.

Thanks and Regards,

Francis G.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

It would be great if you can create an ORS/ My Travelport ticket for any urgent issues and an API Support Analyst will assist you regarding this.

Regarding your question on any Solution changes, there are ways to accept the changes. Please find below the link with all the details.

https://support.travelport.com/webhelp/uapi/uAPI.htm#Booking/Modify/Schedule_Changes/Accepting_Schedule_Changes.htm%3FTocPath%3DAir%7CAir%2520Shopping%2520and%2520Booking%7CAir%2520Booking%7CAccepting%2520Schedule%2520Changes%7C_____0

Regarding the question on different currency, Please create a ORS/MyTravelport ticket and an API Analyst will help you regarding this. It generally depends on how the PCC is setup. They will be able to change the pcc settings as needed.

Please let us know how it goes. Thanks.

fransgod commented 6 years ago

Hi vivekjyotipramanik,

I have already raised a MyTravelport ticket 6 days ago and haven't got a reply as yet.

What does "ReasonCode": 0 in the AirSolutionChangedInfo signify, change in price or schedule?

The link what you have sent is pointing to a schedule change. What do i do if there is a price change?

Thanks and Regards,

Francis G.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Could you please contact your Travelport Account manager and they will be able to escalate the MyTravelport ticket.

Regarding the AirSolutionChangedInfo, it means the Price has been changed and the price change can be accepted using UniversalRecordModifyReq. The process is to do a reprice with the booked itinerary and then add the new fare using UniversalRecordModify. Please find below the link with more details. Thanks.

https://support.travelport.com/webhelp/uapi/uAPI.htm#Booking/Modify/Modifying_Air_Bookings.htm%3FTocPath%3DAir%7CAir%2520Shopping%2520and%2520Booking%7CAir%2520Booking%7C_____3

fransgod commented 6 years ago

Hi vivekjyotipramanik,

We created one PNR for multiple segments. We got the PNR number with all the legs. Now while looking at the response we are unable to understand how we can group segments with multiple legs.

For instance UR# AK4V0C returned segments consisting all legs details with unique group number. We are unable to find which leg is associated with which segment.

Complete request and response are attached for your reference.

Can you please look into this as it is urgent.

Thanks and Regards, Francis G.

1789163_d72311a3-b427-6d93-623c-5ff8ac137709_GalileoAirPriceRequest_XML.txt 1789157_d72311a3-b427-6d93-623c-5ff8ac137709_GalileoLFSRequest_XML.txt 1789158_9faea7ec-1521-40d4-87a5-cd61629e7a5c_GalileoUniversalRecordRetrieveResponse_XML.txt 1789159_9faea7ec-1521-40d4-87a5-cd61629e7a5c_GalileoUniversalRecordRetrieveRequest_XML.txt 1789160_d72311a3-b427-6d93-623c-5ff8ac137709_GalileoAirBookResponse_XML.txt 1789161_d72311a3-b427-6d93-623c-5ff8ac137709_GalileoAirBookRequest_XML.txt 1789162_d72311a3-b427-6d93-623c-5ff8ac137709_GalileoAirPriceResponse_XML.txt 1789164_d72311a3-b427-6d93-623c-5ff8ac137709_GalileoLFSResponse_XML.txt

fransgod commented 6 years ago

Dear vivekjyotipramanik,

In our current integration we are using POS model with Cart feature.

Meaning,

Travel agent accesses portal Searches for low air fare Enters traveler information Adds selected recommendation along with Hotel OR other services OR Can be multiple flights options added into same cart. (We generate PNR here and move PNR in Pending Queue (NON GDS Queue) Travel Agent then converts cart Items into quotation and send to customer (Reprice PNR) Post customer confirmation Travel agent either confirm bookings OR cancel all bookings Incase customer confirms booking we move PNR in manual ticketing queue and if customer cancels we cancel PNR.

I just wanted to check how long we can hold a PNR and please suggest us best practices for our flow.

Best Regards, Francis G.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Could you please elaborate your question a little bit more, when you said Legs, did you mean by Segments or did you mean if it is outbound leg or return/inbound leg. Thanks.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Regarding your question on the PNR holding question, Could you please create a MyTravelport ticket and an API Analyst will assist you based on your Account/PCC settings. Thanks.

fransgod commented 6 years ago

Hi vivekjyotipramanik,

Please check the file 1789158_9faea7ec-1521-40d4-87a5-cd61629e7a5c_GalileoUniversalRecordRetrieveResponse_XML.txt

<AirSegment Key="j2c5nA3R2BKAURshAAAAAA==" Status="HK" TravelOrder="1" ProviderSegmentOrder="1" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="5bt7nA4R2BKAuYWdAAAAAA==" Equipment="788" OptionalServicesIndicator="false" ETicketability="Yes" Group="0" Carrier="AI" CabinClass="Economy" FlightNumber="996" Origin="DXB" Destination="DEL" DepartureTime="2018-01-31T00:05:00.000+04:00" ArrivalTime="2018-01-31T04:45:00.000+05:30" TravelTime="190" ProviderCode="1G" ParticipantLevel="Secure Sell" ClassOfService="T">

    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">DEPARTS DXB TERMINAL 1  - ARRIVES DEL TERMINAL 3</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">*DEPARTURE DXB TERMINAL 1 / ARRIVAL DEL TERMINAL 3*</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">ADD ADVANCE PASSENGER INFORMATION SSRS DOCA/DOCO/DOCS</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">PERSONAL DATA WHICH IS PROVIDED TO US IN CONNECTION</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">WITH YOUR TRAVEL MAY BE PASSED TO GOVERNMENT AUTHORITIES</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">FOR BORDER CONTROL AND AVIATION SECURITY PURPOSES</SellMessage>
  </AirSegment>
  <AirSegment Key="j2c5nA3R2BKAWRshAAAAAA==" Status="TK" TravelOrder="2" ProviderSegmentOrder="2" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="5bt7nA4R2BKAuYWdAAAAAA==" Equipment="319" OptionalServicesIndicator="false" ETicketability="No" **Group="1"** Carrier="AI" CabinClass="Economy" FlightNumber="407" Origin="DEL" Destination="PAT" DepartureTime="2018-01-31T13:45:00.000+05:30" ArrivalTime="2018-01-31T15:20:00.000+05:30" TravelTime="100" ProviderCode="1G" ParticipantLevel="Secure Sell" ClassOfService="T">
    <FlightDetails OriginTerminal="3" Equipment="319" FlightTime="95" ArrivalTime="2018-01-31T15:05:00.000+05:30" DepartureTime="2018-01-31T13:30:00.000+05:30" Destination="PAT" Origin="DEL" Key="5bt7nA4R2BKAxYWdAAAAAA==" TravelTime="100" />
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">*SECURED SELL NOT AVAILABLE*</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">DEPARTS DEL TERMINAL 3</SellMessage>
  </AirSegment>
  <AirSegment Key="j2c5nA3R2BKAYRshAAAAAA==" Status="TK" TravelOrder="3" ProviderSegmentOrder="3" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="5bt7nA4R2BKAuYWdAAAAAA==" Equipment="319" OptionalServicesIndicator="false" ETicketability="No" **Group="2"** Carrier="AI" CabinClass="Economy" FlightNumber="410" Origin="PAT" Destination="DEL" DepartureTime="2018-02-02T12:40:00.000+05:30" ArrivalTime="2018-02-02T14:25:00.000+05:30" TravelTime="100" ProviderCode="1G" ParticipantLevel="Secure Sell" ClassOfService="T">
    <FlightDetails DestinationTerminal="3" Equipment="319" FlightTime="105" ArrivalTime="2018-02-02T14:30:00.000+05:30" DepartureTime="2018-02-02T12:45:00.000+05:30" Destination="DEL" Origin="PAT" Key="5bt7nA4R2BKAyYWdAAAAAA==" TravelTime="100" />
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">*SECURED SELL NOT AVAILABLE*</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">ARRIVES DEL TERMINAL 3</SellMessage>
  </AirSegment>
  <AirSegment Key="j2c5nA3R2BKAaRshAAAAAA==" Status="HK" TravelOrder="4" ProviderSegmentOrder="4" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="5bt7nA4R2BKAuYWdAAAAAA==" Equipment="320" OptionalServicesIndicator="false" ETicketability="Yes" **Group="3"** Carrier="AI" CabinClass="Economy" FlightNumber="560" Origin="DEL" Destination="HYD" DepartureTime="2018-02-03T07:05:00.000+05:30" ArrivalTime="2018-02-03T09:10:00.000+05:30" TravelTime="125" ProviderCode="1G" ParticipantLevel="Secure Sell" ClassOfService="T">
    <FlightDetails OriginTerminal="3" Equipment="320" FlightTime="125" ArrivalTime="2018-02-03T09:10:00.000+05:30" DepartureTime="2018-02-03T07:05:00.000+05:30" Destination="HYD" Origin="DEL" Key="5bt7nA4R2BKAzYWdAAAAAA==" TravelTime="125" />
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">DEPARTS DEL TERMINAL 3</SellMessage>
    <SellMessage xmlns="http://www.travelport.com/schema/common_v40_0">*DEPARTURE DEL TERMINAL 3 / ARRIVAL HYD TERMINAL*</SellMessage>
  </AirSegment>

The group (highlighted) is unique in every segment.

For eg:

The first trip was from DXB - PAT having a layover at DEL.

The group should have been "0" for both (DXB - DEL and DEL - PAT). but is "0" for DXB - DEL and "1" for DEL - PAT.

The second trip was from PAT- HYD having a layover at DEL. The group should have been "1" for both (PAT - DEL and DEL - HYD but is "2" for PAT - DEL and "3" for DEL - HYD.

How do we identify that the journey is from DXB - PAT, PAT - HYD and so on?

This kind of result is coming only for UR retrieval for multi city.

Regards,

Francis G.

fransgod commented 6 years ago

Hi vivekjyotipramanik,

I did create a MyTravelport ticket long back but haven't received any reply for the same.

Regards,

Francis G.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

If you are not receiving any updates for MyTravelport ticket, Please contact your Travelport Account Manager so that the ticket can be escalated. Please provide the MyTravelport ticket number to your Account Manager and he will be able to escalate it. Thanks.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

For the universalRecordRetrieve group it looks like you have not used connection indicator in the AirBook or AirPrice request which makes the system think of the segments as separate segments and that is the reason it is showing Group 1,2,3 and 4 instead of 0 and 1. Please find below the link about how to use Connection indicator in request.

https://support.travelport.com/webhelp/uapi/uAPI.htm#Air/Air_Pricing/Air_Pricing.htm?Highlight=connection

https://support.travelport.com/webhelp/uapi/uAPI.htm#SampleWeb/Individual_Sample_Pages/035-1G_Air_LFS-Connection.htm%3FTocPath%3DSamples%7CXML%2520Samples%2520%7CAir%2520Samples%7CAir%2520Workflows%7CGalileo%2520(1G)%2520Workflows%7C_____4

fransgod commented 6 years ago

Hi vivekjyotipramanik,

We are getting AppErrorSeverityLevel/1 : INVALID INPUT error when doing an airprice for roundtrip.

Related files attached.

Regards,

Francis G.

23e586ff-573b-638d-36af-e4f077b3c211_GalileoLFSRequest_XML.txt 23e586ff-573b-638d-36af-e4f077b3c211_GIEntities.AirObject.AirPriceResponse.txt 23e586ff-573b-638d-36af-e4f077b3c211_GalileoAirPriceRequest_XML.txt 23e586ff-573b-638d-36af-e4f077b3c211_GalileoLFSResponse_XML.txt

fransgod commented 6 years ago

Hi , The connection examples does a lowfaresearch with SolutionResult="true".

In our case we are doing a lowfaresearch with SolutionResult="false".

What do we do now as we are not getting airsolutionresult in lowfaresearch?

Regards,

Francis G.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Regarding the AppSeverity error, Please contact helpdesk and they will check if there is anything wrong with the account you are using.

Regarding your question on AirSolution in LowfareSearch, Please use SolutionResult="true" to get AirPricingSolution, and to get AirPricingPoints, Please use SolutionResult="false". Please find below the link with all the details. Please let us know how it goes. Thanks.

https://support.travelport.com/webhelp/uapi/uAPI.htm#Air/Low_Fare_Shopping/Low_Fare_Shopping_by_Price_Points.htm%3FTocPath%3DAir%7CAir%2520Shopping%2520and%2520Booking%7CLow%2520Fare%2520Shopping%7C_____4

fransgod commented 6 years ago

Hi vivekjyotipramanik,

We are getting AppErrorSeverityLevel/1 : INVALID INPUT error when doing an airprice for roundtrip/ multicity.

Only one way trip is working fine.

Can't move forward because of this. Can you please look into this?

Related files attached.

Regards,

Francis G. 1c75edc6-98d1-2cca-840a-ed2038456912_GalileoLFSRequest_XML.txt 1c75edc6-98d1-2cca-840a-ed2038456912_GIEntities.AirObject.AirPriceResponse.txt 1c75edc6-98d1-2cca-840a-ed2038456912_GalileoAirPriceRequest_XML.txt 1c75edc6-98d1-2cca-840a-ed2038456912_GalileoLFSResponse_XML.txt

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Please create a MyTravelpirt ticket for this issue. This is an UAPI issue and needs to be logged in MyTravelport. If you are not getting any response for the ticket, Please contact your Travelport Account Manager and he/she will be able to prioritize the ticket. Thanks.

fransgod commented 6 years ago

Hi vivekjyotipramanik,

I have done whatever you told me to do.

I haven't received any reply from either.

The roundtrip/multicity functionality was working fine until yesterday.

I need to test the connection issue for roundtrip/multicity but cannot move forward.

Regards,

Francis G.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Could you please let me know the MyTravelport ticket number and your Travelport Account Manager name. Thanks.

fransgod commented 6 years ago

The ticket # is 171213-000490.

I mailed the Account Manager today morning but haven't received any reply from him yet.

His name is Leonard.

Thanks.

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Could you please provide the full name of your Travelport Account manager. Thanks.

fransgod commented 6 years ago

Leonard Arickswamy

vivekjyotipramanik commented 6 years ago

Hi fransgod,

Thanks for the information, I will check with proper teams. Thanks.

fransgod commented 6 years ago

Thanks vivekjyotipramanik.

raselcse10 commented 6 years ago

Hi vivekjyotipramanik,

I'm getting "Record locator not found." during air ticketing. Please check my below code. airTicketingRequest.txt

Rasel