Last Update | |
Created | 24 March 15 |
Products | WP Plugin,White Labels,Mobile Apps,B2B Software,Trip Composer,Corporate/Self Booking Tool |
Documentation | Well Documented |
FAQs | Travel API Integration,Hotels API Integration,Flights API Integration,Payment Gateway Integration |
-
HTML Template Designs
Save Time With Pre-Made HTML Templates
-
WordPress Travel Plugin
The ultimate solution to enhance your WordPress website
-
Crossplatform Widgets
Integrated travel booking features in your existing site
-
White Label Travel Portal
Predefined HTML Templates to Build Stunning Travel Websites
-
B2B Travel Software
Offer a platform to your agencies to book and sell travel services.
-
Travel Agency APP Builder
Create your own Mobile APP and host it on your Play Store.
-
Itinerary BuilderNEW
Create Amazing Itineraries. In A Few Minutes.
-
Corporate Booking Tool
Let your business travelers book and manage their trips online.
-
Travel XML APIs
Have something unique in mind? Take total control!
-
Travel Marketplace
Platform for your agencies to buy and sell FD/Series allotments.
-
GDS/OTA Solutions
Best for IATA travel agencies with direct contracting.
-
Travel Chatbot
Chatbot service offers a convenient for travelers.
-
Testimonials
Voices That Speak Our Success Story
-
Gift Cards and Loyality
Launch a Loyalty Program, Store Credit & Rewards.
-
Documentations
Key aspects of adivaha's travel technology offerings
-
Blogs
Travel Portal Solutions - Travel Technology News and Updates
-
FAQ-Frequently Asked Questions
Ask your questions here!
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.