The purpose of this document is to provide technical details about the API's. This document outlines the business processes supported by the API and details about specifications of API’s. It assumes that reader has a technical background and is familiar with JSON, API's.
The communication with the system is performed through https connections. The following table enlists the properties of the request that must be employed:
It is recommended that at least all booking and cancellation transactions sent through the Test / Live environment should be logged and maintained by the travel agent for at least 6 months.
In order to start testing, please notify our support team via e-mail at inquiry@travelvago.com Please note that all transactions through the test system are simply test transactions.
Please be advised few activities are available in Test Environment, Do not compare the products with Live Environment The system functionality between the Test and Live system is exactly the same except for the fact that Bookings processed in the Test environment are not sent to the Suppliers. When you have completed your development, contact your Account Manager for the activation of the access IP address of Test/Live Server is essential for whitelisting
Once you receive your Access token, you can start the development of your application/framework. The whole process of communication consists of simple JSON messages exchange (request /response) between your application/framework and system. Each request needs to be posted (through POST method) using https protocols. For details regarding requests and answers formats please consult the dedicated area of each request. For further assistance in development process do not hesitate to contact our support team.
Every product has a default transfer type and the Below id is passed along with the specific product ids.
A:We provide the REST API, request and response is in the JSON format ( JavaScript Object Notation).
A:API Services having vast pool of UAE / Singapore / Malaysia /Thailand / Hong kong Tours to help you to distribute the product globally which contains attraction / activities.
A:We provide tours time slots & tickets availability in the apis so you can select the timeslot, transfer option & tickets for adult , child , infant.
A:Yes , we provide Sandbox environment with test booking details.
Email:inquiry@travelvago.com
Tel:+66657158194
Mobile:+66657158194
The following sections describes the Country request and response format
{ "statuscode": Status code, "error": Error description, "url": url, "count": Country Count, "result": [ { "countryId": Country Id, "countryName": Country Name } ] }
The following sections describes the City request and response format
{ "CountryId":CountryId }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": City Count, "result": [ { "cityId": City Id, "cityName": City Name } ] }
The following sections describes the Tour static data request and response format
{ "countryId": Country Id, "cityId": City Id }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Tour Data Count, "result": [ { "tourId": Tour Id, "countryId": Country Id, "countryName": Country Name, "cityId": City Id, "cityName": City Name, "tourName": Tour Name, "reviewCount": Review Count, "rating": Rating, "duration": Duration, "imagePath": Tour Image Path, "imageCaptionName": Tour Image Caption, "cityTourTypeId": Tour Type Id, "cityTourType": Tour Type Name, "tourShortDescription": Tour Short Description, "cancellationPolicyName": Cancellation Policy Name, "isSlot":is Slot, "onlyChild": Only Child, "contractId": Contract Id } ] }
The following sections describes the Tour Static Data by Id request and response format
{ "countryId": Country Id, "cityId": City Id, "tourId": Tour Id, "contractId": Contract Id, "travelDate": Travel Date }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Tour Data Count, "result": [ { "tourId": tourId, "countryId": countryId, "countryName": countryName, "cityId": cityId, "cityName": cityName, "tourName": tourName, "reviewCount": reviewCount, "rating": rating, "duration": duration, "departurePoint": departurePoint, "reportingTime": reportingTime, "tourLanguage": tourLanguage, "imagePath": imagePath, "imageCaptionName": imageCaptionName, "cityTourTypeId": cityTourTypeId, "cityTourType": cityTourType, "tourDescription": tourDescription, "tourInclusion": tourInclusion, "tourShortDescription": tourShortDescription, "Travelvago-Advantage": Travelvago-Advantage, "whatsInThisTour": whatsInThisTour, "importantInformation": importantInformation, "itenararyDescription": itenararyDescription, "usefulInformation": usefulInformation, "faqDetails": faqDetails, "termsAndConditions": termsAndConditions, "cancellationPolicyName": cancellationPolicyName, "cancellationPolicyDescription": cancellationPolicyDescription, "childCancellationPolicyName": childCancellationPolicyName, "childCancellationPolicyDescription": childCancellationPolicyDescription, "childAge": childAge, "infantAge": infantAge, "infantCount": infantCount, "isSlot": isSlot, "onlyChild": onlyChild, "contractId": contractId, "tourImages": [ { "tourId": tourId, "imagePath": imagePath, "imageCaptionName": imageCaptionName, "isFrontImage": isFrontImage, "isBannerImage": isBannerImage, "isBannerRotateImage": isBannerRotateImage } ], "tourReview": [ { "id": id, "tourId": tourId, "reviewId": reviewId, "reviewTitle": reviewTitle, "reviewContent": reviewContent, "visitMonth": visitMonth, "rating": rating, "imagePath": imagePath, "guestName": guestName } ] } ] }
The following sections describes the Option Static Data request and response format
{ "tourId":tourId, "contractId":contractId }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Tour option Data Count, "result": [ "touroption": [ { "tourId": tourId, "tourOptionId": tourOptionId, "optionName": optionName, "childAge": childAge, "infantAge": infantAge, "optionDescription": optionDescription, "cancellationPolicy": cancellationPolicy, "cancellationPolicyDescription": cancellationPolicyDescription, "childPolicyDescription": childPolicyDescription, "xmlcode": xmlcode, "xmloptioncode": xmloptioncode, "countryId": countryId, "cityId": cityId, "minPax": minPax, "maxPax": maxPax, "duration": duration, "timeZone": timeZone } ], "operationdays": [ { "tourId": tourId, "tourOptionId": tourOptionId, "monday": monday, "tuesday": tuesday, "wednesday": wednesday, "thursday": thursday, "friday": friday, "saturday": saturday, "sunday": sunday } ], "specialdates": [], "transfertime": [ { "tourId": tourId, "tourOptionId": tourOptionId, "transferType": transferType, "transferTime": transferTime, "duration": duration } ] ] }
The following sections describes the Tour Price request and response format
{ "countryId": Country Id, "cityId": City Id, "travelDate": Travel Date, }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Tour Data Count, "result": [ { "tourId": tourId, "contractId": contractId, "amount": amount, "discount": discount, "sortOrder": sortOrder } ] }
The following sections describes the Tour Options request and response format
{ "tourId": tourId, "contractId": contractId, "travelDate": TravelDate, "noOfAdult": NoOfAdult, "noOfChild": NoOfChild, "noOfInfant": NoOfInfant }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Tour Option Data Count, "result": [ { "tourId": tourId, "tourOptionId": tourOptionId, "transferId": transferId, "transferName": transferName, "adultPrice": adultPrice, "childPrice": childPrice, "infantPrice": infantPrice, "withoutDiscountAmount": withoutDiscountAmount, "finalAmount": finalAmount, "startTime": startTime, "departureTime": departureTime, "disableChild": disableChild, "disableInfant": disableInfant, "allowTodaysBooking": allowTodaysBooking, "cutOff": cutOff, "isSlot": isSlot, "isDefaultTransfer": isDefaultTransfer, "rateKey": rateKey, "inventoryId": inventoryId } ] }
The following sections describes the Tour Timeslot request and response format
{ "tourId": tourId, "tourOptionId": tourOptionId, "travelDate": travelDate, "transferId":transferId, "contractId": contractId }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Timeslot Count, "result": [ { "tourOptionId": tourOptionId, "timeSlotId": timeSlotId, "timeSlot": timeSlot, "available": available, "adultPrice": adultPrice, "childPrice": childPrice, "isDynamicPrice": isDynamicPrice } ] }
The following sections describes the Tour Availability request and response format
{ "tourId": tourId, "tourOptionId": tourOptionId, "transferId": transferId, "travelDate": travelDate, "adult": adult, "child": child, "infant": infant, "contractId": contractId }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Array Count, "result": [ { "status": status, "message": message, "productType": productType } ] }
{ "tourId": tourId, "travelDate": travelDate, "startTime": startTime, "currentDate": currentDate, "contractId": contractId, "tourOptionId": tourOptionId }
{ "statuscode": Status code, "error": Error description, "currency": currency, "currencysymbol": currencysymbol, "errormessage": errormessage, "count": Arry Count, "result": [ { "tourId": tourId, "optionId": optionId, "fromDate": From date, "toDate": To date, "percentage": Percentage charge (Eg: 100%) } ] }
The following sections describes the Tour Booking request and response format
{ "uniqueNo": uniqueNo, "TourDetails": [ { "serviceUniqueId": serviceUniqueId, "tourId": tourId, "optionId": optionId, "adult": adult, "child": child, "infant": infant, "tourDate": tourDate, "timeSlotId": timeSlotId, "startTime": startTime, "transferId": transferId, "pickup": pickup, "adultRate": adultRate, "childRate": childRate, "serviceTotal": serviceTotal } ], "passengers": [ { "serviceType": serviceType, "prefix": prefix, "firstName":firstName, "lastName": lastName, "email": email, "mobile": mobile, "nationality": nationality, "message": message, "leadPassenger": leadPassenger, "paxType": paxType, "clientReferenceNo": clientReferenceNo } ] }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Array Count, "result": [ { "refernceNo": refernceNo, "status": status, "bookingId": bookingId, "downloadRequired": downloadRequired, "serviceUniqueId": serviceUniqueId, "servicetype": servicetype, "confirmationNo": confirmationNo } ] }
The following sections describes the Ticket request and response format
{ "uniqNO": Uniq NO, "referenceNo": Reference No, "bookedOption": [ { "serviceUniqueId": Service Unique Id", "bookingId": Booking Id } ] }
{ "statuscode": Status Code, "error": Error, "result": { "bookingId": Booking Id, "referenceNo": referenceNo, "BookingStatus": BookingStatus, "ticketURL": Ticket URL, "optionName":Option Name, "validity": Validity, "validityExtraDetails": Validity Extra Details, "printType": Print Type, "slot": Slot, "pnrNumber": pnrNumber, "ticketDetails": [ { "barCode": Bar Code, "type": "Type", "noOfAdult": No Of Adult, "noOfchild": No Of Child } ] } }
The following sections describes the Tour Cancellation request and response format
{ "bookingId": bookingId, "referenceNo": referenceNo, "cancellationReason": cancellationReason }
{ "statuscode": Status code, "error": Error description, "url": Url, "count": Array Count, "result": [ { } ] }
NOTIFICATION