Introduction

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.

Connection properties

The communication with the system is performed through https connections. The following table enlists the properties of the request that must be employed:

Request MethodContent-Type
POSTapplication/json
The requested method.The content type.


Go-Test/Live Process

In order to start testing, please notify our support team via e-mail at supportapi@technoheaven.net.

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.

Client Requirements

  • Client requests must be issued from a public, static IP address registered with System.
  • Client requests must be made via an HTTPS POST request.
  • SSL.
  • All data sent and received via the interface will be encoded in UTF-8.

Development Phase

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.

Implementation Approach

  1. Client review of the API specifications
    1. Review of API specifications
  2. Test Environment Integration
    1. API Integration
    2. Test Execution by your Tech Team
  3. Integration Testing
    1. Determining the necessary test cases based on the API's by Our Tech Team
    2. Test Execution.
    3. Certification by Our Tech Team
  4. Production Environment
    1. API Integration
    2. Schedule Go Live Date
    3. Transaction Monitoring and Issue Resolution

Documentation and Downloads

Status & Error Code

NoStatus CodeDescription
1200OK
2400Bad Request
3401Unauthorized
4403Forbidden
5404Not Found
6500Internal Server Error
7503Service Unavailable


Image Path

Date Format

  • Date format send to Payload MM/DD/YYY

Getcitieswithhotel

The getcitieswithhotel API has been designed to provide Country and City data with available count of hotel in particular city.

The following sections describes the getgiatadatav2 API Request and Response Format


The Request URL:

http://mobileapiwithinearth.technoheaven.com/api/Hotel/GetHotelAPIDetails

JSON Request Format:


Every product has a default transfer type and the Below id is passed along with the specific product ids.

Parent TagTagDescription>Optionality
IsB2BIsB2B--
APINameAPINameAPIName is key factorMandatory
payload---
-prefixString representing prefixMandatory
tokentokenYou have to put unique token which is provided by the system.Mandatory


  • Private Transfer: This non-shared, personalized transfer is reserved exclusively for you and your travel companions.
  • Shared Transfer: When you request for this transfer, you’ll share the ride with other guests who travel on the same route.
  • Without Transfer: Skip the transfer and travel to the selected attraction or destination on your own.

Booking Status

NoBooking Status Description
1VoucheredVouchered If your booking status is vouchered, you can get supplier confirmation number which is guaranteed proof of your reservation.
2RejectedRejected The booking can be rejected due to Following reasons :Price change, allocation not available, stop sale at last minute, inventory sold out and session timed out. On rejection the amount will be credited to your wallet instantly, you can use the amount for making new booking.
3CancelledCancelled The booking can be cancelled due to Following reasons : If it is not confirmed at supplier side. It is cancelled by the user.
4CompletedCompleted It is completed at their travel date.
5InQueueInQueue For Tours like Burj Khalifa, Supplier allows confirmation 30 days prior to travel date. If Booking Status is In Queue, the booking will be Confirmed or Vouchered after 30 days.

Access Information

API NAMEAccess Type
MandatoryOptional
Static Data API
Price Request/Get Tour Price API
Tour Option API
Get Tour Time Slot API
Tour Availability Request API
Booking Request API
Booking Cancellation Request API

Ticketing tours

tree




NonTicketing tours

tree

Static Data Request

*Applicable to clients that will pull tour information as well (inclusions, description, policies, T&C)

Some data changes frequently and therefore it can be stored locally by the api client. The following types of static data will be needed to make other types of json request to fetch the json file you need to authenticate it by adding user name, password, IP to get static data for city wise tours.

Please read below for more details.

tree

Country & City Static Data

JSON code Request URL:
If you hit this URL you will get all Country & city ID with respective of its name.

Once the request is applied you will get the list of country & city. For static data as mentioned above you need to generate it country and city wise.


Static Data Response

After you have initiated the request of static data our system will process it and send you results.


Static Data Response

Request URL:

If you want Abu Dhabi data then hit the same URL with Abu Dhabi city ID(13236)

So your request URL will be
statictourdata_13668.json : Here the mentioned ID 13668 is Dubai City ID

Here you can get response of all Static data


JSON Response Format:


Parent TagTag DescriptionOptionality
TourDetailsCityTourID String representing unique CityTourIDMandatory
TourName String representing unique TourNameMandatory
ChildFromAge String representing unique ChildFromAgeMandatory
ChildToAge String representing unique ChildToAgeMandatory
InfantFromAge String representing unique InfantFromAgeMandatory
InfantToAge String representing unique InfantToAgeMandatory
CityTourTypeId String representing unique CityTourTypeIdMandatory
IsTimeSlot String representing unique IsTimeSlotMandatory
SpecialNoteWF String representing unique SpecialNoteWFOptional
CancellationPolicyID String representing unique CancellationPolicyIDMandatory
UsefulInformationID String representing unique UsefulInformationIDOptional
TermsAndConditionID String representing unique TermsAndConditionIDMandatory
FAQCategoryID String representing unique FAQCategoryIDOptional
TourImageCityTourID String representing unique CityTourIDMandatory
ImageCaptionName String representing ImageCaptionNameOptional
ImagePath String representing image Url.Mandatory
IsFrontImage String representing IsFrontImage. Boolean field: TRUE or FALSE.Optional
ImagePathThumbNail String representing ImagePathThumbNailOptional
TourDescriptionCityTourID String representing unique CityTourIDMandatory
TourDescriptionString representing TourDescription Mandatory
TourTimeCityTourID String representing unique CityTourIDMandatory
TourTimeId String representing unique TourTimeIdMandatory
DeparturePoint String representing DeparturePointMandatory
DepartureTime String representing DepartureTimeMandatory
ReportingTime String representing ReportingTimeMandatory
Duration String representing DurationOptional
TourLanguage String representing TourLanguageOptional
Meals String representing MealsOptional
TourTimeOption TourTimeOptionIdString representing unique TourTimeOptionIdMandatory
TourTimeId String representing unique TourTimeIdMandatory
OptionName String representing OptionNameMandatory
Description String representing DescriptionOptional
DepartureTime String representing DepartureTimeOptional
ByOrder String representing unique ByOrderOptional
StartTime String representing StartTimeMandatory
TourTransferCityTourID String representing unique CityTourIDMandatory
TransferId String representing TransferIdMandatory
MinimumPax String representing MinimumPaxMandatory
IsDefault String representing IsDefaultMandatory
TourCancellationPolicy CancellationPolicyId String representing unique CancellationPolicyIdMandatory
Description String representing DescriptionMandatory
IsRefundable String representing IsRefundable Boolean field: TRUE or FALSE.Mandatory
RefundPolicy String representing RefundPolicyMandatory
TourUsefulInformationUsefulInformationDetail String representing UsefulInformationDetailOptional
FAQCategory String representing FAQCategoryOptional
UsefulInformationID String representing unique UsefulInformationIDMandatory
TermsAndConditionDetailTermsAndConditionDetail String representing TermsAndConditionDetailMandatory
TermsAndCondition TermsAndCondition String representing TermsAndConditionMandatory
TermsAndConditionID String representing unique TermsAndConditionIDMandatory
TourFAQCategoryFAQCategoryDetail String representing FAQCategoryDetailOptional
FAQCategory String representing FAQCategoryOptional
FAQCategoryID String representing unique FAQCategoryIDOptional
TicketingTourTermsAndCondition CityTourId String representing unique CityTourIdMandatory
TermsAndConditions String representing TermsAndConditionsMandatory

Price Request / Get tour price

The Gettourprice API has been designed to provide list of all tour with display Minimum price for particular city. The following sections describes the Get tour price request and response format

Request URL
This URL is for fetching dynamic data


JSON Request Format:


TagParent Tag DescriptionOptionality
apinameapinameapiname is the key factorMandatory
Payload
CityIdPayloadString representing Unique CityId Mandatory
travelDatePayloadIt is travel date. Date should be in the format: MM/DD/YYYY Example: 07-28-2018Mandatory
TokenYou have to put unique token which is provided by the systemMandatory

JSON Response Format:


TagParent Tag Description
TourPrice
CityTourIdTourPriceString representing unique CityTourId
CityTourTypeIdTourPriceString representing unique CityTourTypeId
DurationTourPriceYou will get approximate time period
TransferIdTourPriceString representing unique ID for transfer type. IDs are as mention in Documents and Downloads section.
TransferNameTourPriceString representing unique name provided for every transfer option. Transfer names are as mention in Documents and Downloads section.
IsDiscountTourPriceDoes Tour option provides discount. For particular tour. Boolean field: 0 or 1. 0 – Not Available 1 – Available
RecommendedTourPriceIs this tour Recommended (suggested). Boolean field: 0 or 1. 0 – Not Available 1 – Available
TourTimeOptionIdTourPriceString representing unique TourTimeOptionId
FromPaxTourPriceWhich give you start range of pax
ToPaxTourPriceWhich give you end range of pax
FinalAdultAmountTourPriceIt is display price for adult
FinalAdultAmountWithoutDiscountTourPriceIt is display price for adult without discount
FinalChildAmountTourPriceIt is display price for child
FinalChildAmountWithoutDiscountTourPriceIt is display price for child without discount

Tours Option

The Tour Option API provides a list of available Tour Options with their Transfer option and final adult and child amount.

Request URL
This URL is for fetching dynamic data


JSON Request Format:


TagParent Tag DescriptionOptionality
apinameapinameapiname is the key factorMandatory
Payload
travelDatePayloadIt is travel date. Date should be in the format: MM/DD/YYYY Example: 07-28-2018Mandatory
TourIdPayloadString representing unique TourIdMandatory
TourTypeIdpayloadString representing unique identification for Tour category. Example: 1.City Tours 2.Desert SafariOptional
AdultPayloadYou need to pass the count Of adultsMandatory
ChildPayloadYou need to pass the count Of childMandatory
optionIdPayloadString representing unique optionId.Optional
tourtimelotidPayloadString representing unique Id for particular slot of time. EventId&TourTimeSlotId are same.Optional
TokenPayloadYou have to put unique token which is provided by the systemMandatory


JSON Response Format:


TagParent TagDescription
TourOptionPriceJsonArray contain the Default Transfer type option of tours with Price .
TourIdTourOptionPriceString representing unique TourID.
TransferIdTourOptionPriceString representing unique ID for transfer type. IDs are as mention in Documents and Downloads section
TransferMinPaxTourOptionPriceTransferMinPax Which shows you the min. pax occupancy of tour.
TourTimeOptionIdTourOptionPriceString representing unique TourTimeOptionID.
AdultAmountTourOptionPriceIt is the calculated price of particular tour option with transfer type and number of adults. (You need to pass this amount in the Booking request API)
ChildAmountTourOptionPriceIt is the calculated price of particular tour option with transfer type and number of child. (You need to pass this amount in the Booking request payload)
StartTimeTourOptionPriceStartTime is the tours Operating Time which mean that tours is started from that time.
CutOffTourOptionPrice- When the tours give you some cutoff time like 3 hr and my tours starttime is : 17:00:00 that means you can book this tours earlier of the starttime of the tour
InfantAgeTourOptionPriceAge of infant is described.
ChildAgeTourOptionPriceAge of Child is described.
TimeZoneTourOptionPriceTimeZone (UTC +04 : 00) destination time zone.
FromPax TourOptionPriceDescribes start range of pax
ToPaxTourOptionPriceDescribes end range of pax
TourOptionPriceDetailsTourOptionPriceJsonArray contains Optional Transfer tour options Price.

Get Tour Time Slot

For the static data of the city where its specified true and false (Istimeslot), where ever its True, then you need to hit the API to get the multiple time slot.



JSON Request Format:


TagParent Tag DescriptionOptionality
apinameapinameapiname is the key factorMandatory
Payload
TourIDPayloadString representing Unique CityIdMandatory
TourTimeOptionIdPayloadString representing TourTimeOptionId.Mandatory
travelDatePayloadIt is travel date. Date should be in following format: MM/DD/YYYY Example: 07-28-2018Mandatory
TokenYou have to put unique token which is provided by the systemMandatory

In response of gettourtimeslot API you get time slot id/Event id for particular tour option for the selected time and its availability for that particular time


JSON Response Format:


TagParent TagDescription
TimeSlotTimeSlotJsonArray contain the Tours options timeslot.
EventIDTimeSlotString representing unique ID for particular slot/Event of time.
StartDateTimeTimeSlotStartDateTime Format YYYY-MM-DDThh:mm:ss Example: 2018-07-28T00:05:00
EndDateTimeTimeSlotEndDateTime format YYYY-MM-DDThh:mm:ss Example : 2018-07-28T00:05:00
EventTypeIDTimeSlotIsXmlSupplier system processing parameter
ResourceIDTimeSlotIsXmlSupplier system processing parameter
AvailableTimeSlotCount of Available Ticket.
StatusTimeSlotIf status = 0 tickets available & status = 2 tickets not available.
TourTimeOptionIdTimeSlotString representing unique TourTimeOptionId.
IsXmlSupplierTimeSlotIsXmlSupplier system processing parameter. Boolean field:  TRUE or FALSE.
TourTimeSlotIdTimeSlotString representing unique Id for particular slot of time. EventId &TourTimeSlotId are same.

Tour Availability Request

The Availability API enables to determine if the tour has availability in real time.

Request URL
This URL is for fetching dynamic data


JSON Response Format:


TagParent Tag DescriptionOptionality
apinameapinameapiname is the key factorMandatory
Payload
TourIDPayloadString representing unique TourIdMandatory
TourTimeOptionIdPayloadString representing unique TourTimeOptionIdMandatory
NoOfChildpayloadYou need to pass count Of childoptional
NoOfInfantPayloadYou need to pass count Of InfantOptional
TourTimeSlotIdPayloadString representing unique TourTimeSlotIdoptional
NoOfAdultPayloadYou need to pass count Of AdultOptional
transferIdPayloadString representing unique ID for transfer type. IDs are as mention in Documents and Downloads sectionOptional
travelDatePayloadIt is travel date. Date should be in the format: MM/DD/YYYY Example: 07-28-2018Mandatory
TokenYou have to put unique token which is provided by the systemMandatory


Response

Message :

1."success"

2. "You cannot book this tour for Friday".

Booking Request

The save booking method is used to generate a Booking which contains one or more successfully booked tours. Each booked tour will have a unique reference number (Booking Code) which can be individually vouchered & cancelled.

The format of the request and response for this method is explained in the following sections.

Request URL
This URL is for fetching dynamic data


JSON Code (Single Tours):




Multiple Tour :


TagParent Tag DescriptionOptionality
apinameapinameapiname is the key factorMandatory
lstPassengerPayload
PaxTypeIsPassengerYou have to put PaxType like Adult, child, infant.Mandatory
Email IsPassengerYou have to put Customer EmaildMandatory
FirstNameIsPassengerYou have to put Customer FirstName.Mandatory
LastNameIsPassenger You have to put Customer LastName. Mandatory
MessageIsPassengerYou have to put Special Request from customer at time of booking.Mandatory
MobileIsPassengerYou have to put Customer Mobile number.Mandatory
PrefixIsPassengerYou have to put Customer Prefix like Mr., Miss, Ms. Mandatory
TourId IsTourDataString representing unique TourId.Mandatory
TransferIdIsTourDataString representing unique ID for transfer type. IDs are as mention in Documents and Downloads sectionMandatory
TourTimeOptionIdIsTourDataString representing unique TourTimeOptionId.Mandatory
NoOfAdultIsTourDataYou need to pass the count Of adults.Mandatory
NoOfChild IsTourDataYou need to pass the count of child.Mandatory
NoOfInfantIsTourDataYou need to pass the count of infant.Mandatory
AdultRate IsTourDataYou have to put AdultRate from response of tour option APIMandatory
ChildRateIsTourDataYou have to put ChildRate from response of tour option APIMandatory
CheckInDateIsTourDataYou have to put travel DateMandatory
ServiceTotalIsTourDataYou have to put ServiceTotal. (i.e. addition of Adult rate and child rate)Optional
StartTime IsTourDataStartTime is the tours Operating Time which means that tours is started from that time. IT should be in the string format as following: hh:mm:ss Example: "18:00:00"Mandatory
EventIDIsTourDataYou have to put tours EventID which you get from timeslot APIMandatory (Valid only for Tours having time slot)
PickDetails IsTourDataYou have to put tours PickDetailsMandatory (When Transfer type is sharing or private)
tokenYou have to put Unique token which provided by system.Mandatory


Booking Response

The voucher generation booking method ofsavebooking is used to generate a unique booking number which contains one or more tours booked. Each tours booked will have a unique reference number which could be individually cancelled. Multiple tours booked in the same booking will be grouped together by a unique booking Number.

The general format of the response is shown below:

JSON Code :


Parent TagTagDescription
BookingSuccessBookingSuccessYou will get the booking status.
BookingMasterIdYou will get BookingMasterId.
BookingdetailIdYou will get BookingdetailId.
AgentVoucherNoYou will get Ticket number .
ReferenceNoYou will get the unique booking Number.
Bookingtickets
BarcodeImagedataYou will get Barcode image data
BarCodeYou will get unique Barcode
SlotYou will get time slot
TermsAndConditionsYou will get Terms and conditions
FromDateStart date of tour
ToDateEnd date of tour
ERRORBooking FailYou will get ERROR message.

Booking Cancellation Request

The tourcancel request can be used to cancel a booking that is confirmed & booking that is saved.

Request URL
This URL is for fetching dynamic data

JSON Code :


TagParent Tag DescriptionOptionality
apinameapinameapiname is the key factorMandatory
Payload
BookingMasterIdPayloadYou have to put BookingMasterId to cancel vouchered booking Mandatory
tokenYou have to put unique token which is provided by the systemMandatory


Booking Cancellation Response

After you initiate the request of tourcancel, our system will process the request . and it will return status of the booking & Message The general format of the response is shown below:

JSON Response Format:


Tag Description
StatusYou will return the status of booking Cancellation
MessageYou will return the Message of booking Cancellation

Frequently Asked Questions

Q: Do you offer any REST/SOAP API in order to provide a communication channel to the withinearth Tours platform?

A:We provide the REST API, request and response is in the JSON format ( JavaScript Object Notation).

Q: In case there is an API, what kinds of services are available through this API?

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.

Q: Is there a way to discover available ticket options through you service? For example adult ticket day pass, child day pass, weekly pass, etc.

A:We provide tours time slots & tickets availability in the apis so you can select the timeslot, transfer option & tickets for adult , child , infant.

Q: Is there a sandbox environment available where we can perform some tests?

A:Yes , we provide Sandbox environment with test booking details.

Contact Us

In order to start testing / Live please notify our support team via e-mail atsupportapi@technoheaven.net

General Terms and conditions
Privacy Policy
Cookie Policy
SEARCH NOW

Notification

×

SEARCH NOW

×