General API Guidelines
1. Generate single token in a day as it is valid for 24 hours (00:00 AM to 11:59 PM), so do not call "createToken" api with every search.
Note: Only call when you get "Invalid Token".
2.Trace id is valid for 15 Minutes only.
3.TraceId should be the same throughout the booking.
4.The result index should be the same throughout the booking.
5.The age of the child is mandatory in search requests.
6.Child title should be passed as "Mr./Miss.".
7.Pax count & age should be the same in search & book.
8.City Id & Countrycode should be of related sector.
9.In GetHotelInfo method you will receive the images and hotel related info.
10.In the GetHotelRoom response check the infosource, there will be two infosource/combinations methods i.e., Fixed Combination and Open Combination.
11.In the block request the details in the HotelRoomsDetails array should be passed as below (depending on the combination received in the get hotel room response).
"Room Combination" as "Open Combination”:
- In open Combination, if you have passed the request for 2 rooms then you will get two arrays of "Room Index". For eg. In "Room Combination" array you have received 2 arrays one is [1,2,3] and second is [4,5,6]. Then you can pass "RoomIndex" for both rooms in "BlockRoom" request as [1,4] or [1,5] or [1,6] or [2,4] or [2,5] or [2,6] or [3,4] or [3,5] or[3,6] that is first room index should be picked from first array(any room) and second room index should be picked from the second array(any room).
"Room Combination" as "Fixed Combination":
- In fixed Combination if you have passed request for 2 rooms then you will receive 2 arrays of "Room Index" in "Room Combination" array like [1,2] and [3,4] then you can pass "RoomIndex" for both rooms in "BlockRoom" request as [1,2] or [3,4] that is you need to select room index for both rooms from single array only.
12.The lead pax should be passed as true for the adult pax in each room, and false for the rest of the pax in the book request.
13.In the block response if the Availability type is “Confirmed” then only proceed with the book request.
14.Room Combination Validation
In the GetHotelRoom response two types of Room combinations are provided fixed and open. Below is the explanation and eg.
"Room Combination" as "Open Combination”:
- In open Combination, if you have passed the request for 2 rooms then you will get two arrays of "Room Index". For eg. In "Room Combination" array you have received 2 arrays one is [1,2,3] and second is [4,5,6]. Then you can pass "RoomIndex" for both rooms in "BlockRoom" request as [1,4] or [1,5] or [1,6] or [2,4] or [2,5] or [2,6] or [3,4] or [3,5] or[3,6] that is first room index should be picked from first array(any room) and second room index should be picked from the second array(any room).
"Room Combination" as "Fixed Combination":
- In fixed Combination if you have passed request for 2 rooms then you will receive 2 arrays of "Room Index" in "Room Combination" array like [1,2] and [3,4] then you can pass "RoomIndex" for both rooms in "BlockRoom" request as [1,2] or [3,4] that is you need to select room index for both rooms from single array only.
15.Package Fare Validation
Please consider below points for clarification:
In Block Response:
Two nodes will be provided "IsPackageDetailsMandatory": true and "IsPackageFare": true. If "IsPackageDetailsMandatory" is true then "IsPackageFare" will always be received true. But if "IsPackageFare" is true then "IsPackageDetailsMandatory" can be true or false.
In Book Response:
In case you receive "IsPackageFare": true in Block response then you need to pass same in Book Request. Additionally if you get IsPackageDetailsMandatory": true in Block Response then following details need to be passed in Book request.
"ArrivalTransport":
{
"ArrivalTransportType": 0, (Flight = 0, surface = 1)
"TransportInfoId": "Ab 777",
"Time": "2019-05-21T18:18:00"
},
In case you receive "IsDepartureDetailsMandatory": true in Block response then you need to pass same in Book Request. Additionally if you get IsDepartureDetailsMandatory":"true" in Block Response then following details need to be passed in Book request.
"DepartureTransport":
{
"DepartureTransportType": 0,
"TransportInfoId": "Ab 777"
"Time": "2023-10-21T12:43:45"
},
The above transport details are not static, it should be pass according to the client and the specific booking.
For Example:
If the client is reaching the hotel by flight then pass "ArrivalTransportType": 0, in "TransportInfoId" pass the flight number and in "Time" pass the time of the flight & vice versa for the surface details.
16.Pan & Passport Validation: There are two new nodes which you will be receiving in Get Hotel Room response and you need to integrate same as per below:
GetHotelRoom Response:
"IsPANMandatory": false,
In case of "IsPANMandatory": false in ValidationAtVoucher, then no need to pass the PAN Details at the time of Voucher.
In case of "IsPANMandatory": true in ValidationAtVoucher, then need to pass the PAN Details at the time of Voucher.
"PAN": "EBQPS3333T" (PAN should be in correct format)
"IsSamePANForAllAllowed": true
In Case of "IsSamePANForAllAllowed": true, then you can consider the same PAN Number for all Passanger PAN details in book.
In Case of "IsSamePANForAllAllowed": False, So in that case need to pass PAN details of all individual passanger in book.
Hotel Voucher Passport Validation.
"IsPassportMandatory": false,
In case of "IsPassportMandatory": false in ValidationAtVoucher, then no need to pass the Passport Details at the time of Voucher
In case of "IsPassportMandatory": true in ValidationAtVoucher, then need to pass the Passport Details at the time of Voucher.
"PassportNo": "G76565434",
"PassportExpDate": "2035-10-21T00:00:00"
17.Hotel Pricing
Net Payable: Net Payable is the fare which is payable to agency.
Formula: NET PAYABLE = Offered + Tds on Commission + GST
18. Always check ErrorCode: 6 for Invalid Token rather checking the error message.
19.Flow Hotel Booking
Search-->Hotel Detail-->Room Availibility-->Block Room-->Book-->Retrive Booking.
20.Search Method Validation
- Invalid No Of Nights in request: Maximum number of nights can be passed 31 in search request.
- CheckInDate must be greater than current Date.
- No data found for CityId: 0: Valid City data should be mapped at client end.
- Invalid CountryCode: Correct City and Country data sholud mapped at client end.
- NoOfChild cannot be more than 4.
- No of Room mismatched with Room Guest details.
- ChildAge is mandatory when number of child is greater than 0.
- Always use the new hotel city id to make the booking and prepare the test cases.