Travelport-Ukraine / uapi-json

Best Travelport Universal API wrapper ever :airplane: :mountain_railway: :hotel:
https://travelport-ukraine.github.io/uapi-json/
MIT License
74 stars 61 forks source link

Booking #446

Closed yeabsira-gashaw closed 4 years ago

yeabsira-gashaw commented 4 years ago

On book.js there are some properties that are unused, but crucial for Flight Booking. They are passCountry & passNumber. Is there anyone we can fix this issue? It would be have been better if the passenger passport number and passport country is provided so that from any system we can get the same data.

creduo commented 4 years ago

The properties passCountry & passNumber are being used in transformer and creates DOCS SSR in add-meta-passengers-booking.js and is being used in SSR section of AirCreateReservationReq.

If you need them in other uses, can you add some comments where or when do you need the properties?

yeabsira-gashaw commented 4 years ago

Yes, I used the created PNR from uapi-json and put it on another system provided by Travelport and get the specific booking. It is not possible to change the booking detail which is made by uapi-json on that system. As a result, correct data must be passed from uapi-json and perform booking.

Also, I have got some info/sample on SSR if it helps

`Example: SSR Type="DOCS" FreeText="P/GB/S12345678/GB/12JUN63/M/23OCT14/SMITH/JOHN" Carrier="U2"/>

In this example, the FreeText values are: P = Passport (Travel Document Type) GB = Issuing Country 123456788 = Document Number GB = Passenger Nationality 12JUN63 = Date of Birth M = Male gender 23OCT14 = Expiry date of passport (Travel Document Type) SMITH = Last Name JOHN = First Name

You can refer to this help: https://support.travelport.com/webhelp/uapi/uAPI.htm#Air/Shared_Air_Topics/SSRs_(Special_Service_Requests).htm#DOCS`

I have checked it from the other end, and it is working. I was confused by the result ( my mistake sorry) ... but still I have one question... when the reservation/booking is performed, the "Expiry date of passport (Travel Document Type)" is set to "000000" which is incorrect. The rest is working very well

yeabsira-gashaw commented 4 years ago

I have added a small piece of code and I was able to pass the correct expiration date for a passport. Earlier it is referencing today's date and 1 year on top of it to get the expiration date. For my case I needed exact information :

add-meta-passengers-booking.js const due = moment(item.passExpireDate.toUpperCase(), 'YYYY-MM-DD').format('DDMMMYY');

booking.js passengers: [ { lastName: 'Doe', firstName: 'John', passCountry: 'ET', passNumber: 'ET126789', passExpireDate : '2020-03-01', // I added this one birthDate: '1997-02-18', gender: 'M', ageCategory: 'ADT', }

I added this to get exact values instead of 1 year added expiration date which is not reliable. But what you made is still correct too.

Thank You!

polash62 commented 4 years ago

I am getting following error when trying to call AirService Book Api. "Transaction Error: Procedure/5012" I don't know why I am fetching this error when I am calling book function. Currently I have only trial credential and I got data for shop, flightinfo function. For booking, I am following this function, but getting error. https://github.com/Travelport-Ukraine/uapi-json/blob/master/examples/Air/book.js

yeabsira-gashaw commented 4 years ago

Hi polash62,

I have got this from here. Maybe the problem is related to your account.

"The trial account would not have all the functionality, like ticketing will not work with trial account. I will provide an update as soon as provisioning team comes back. Thanks."

polash62 commented 4 years ago

Thanks a lot. Problem has been solved with the help of @vivekjyotipramanik