Utilities


1. Compression

For some destinations you get more than 500 results or even around 2000 results. Transmission of these big responses takes some extra time over the internet. To reduce transmission time and overcome this problem system is enabled with gzip compression which reduces transmission time & response size by about 80%. If you are not aware check the below steps on how to receive compressed response.

Step 1 : Request must contain the header as "Accept-Encoding:gzip, deflate".
Step 2 : If server detects, the response will be compressed.
Step 3 : Client receives response with the header "Content-Encoding: gzip".
Step 4 : Client needs to decompress the Response before processing.

2. Static Content

We provide hotel results as:
  • All hotel results - might contain duplicate hotels
  • Mixed hotel results - duplicacy removed for some hotels , but might contain duplicates
  • Static results – only de-duplicated hotels
  • For Static results (only de-duplicated hotels), hotel static contents available and can be downloaded. For this,City-wise list of hotel-codes can be downloaded using GiataHotelCodeList() method and for all HotelCodes descriptive content can be downloaded using HotelDetails method.

Following is a sample request xml for fetching hotel static details

                    
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:hot="http://TekTravel/HotelBookingApi">
  <soap:Header>
    <hot:Credentials UserName="testuser" Password="testpwd">
    </hot:Credentials>
  </soap:Header>
  <soap:Body>
    <hot:HotelDetailsRequest>
      <HotelCode>1360717</HotelCode> <!--TBO Hotel code -->
    </hot:HotelDetailsRequest>
  </soap:Body>
</soap:Envelope>
                    
                    
                

Note : If you go for static results(de-duplicate results), in current scenario you are likely to get less inventories as compared to Mixed and All Hotel results and it might happen that you get no inventory for certain destinations.


3. Error Handling

If there is any error, the Status node in response contains the error information. We have grouped the errors in following four categories.

  • Login Error
  • Validation Error
  • System Error
  • Processing Error

Some sample XMLs for the above categories.


<Status>
  <StatusCode>02</StatusCode>
  <Description>LoginErr: Login Failed.</Description>
</Status>

<Status>
  <StatusCode>03</StatusCode>
  <Description>ValidationErr: Duplicate ClientReferenceNumber, Please provide a unique ClientReferenceNumber</Description>
</Status>

<Status>
  <StatusCode>03</StatusCode>
  <Description>ValidationErr: GuestNationality should be same as provided in Search Request</Description>
</Status>

<Status>
  <StatusCode>03</StatusCode>
  <Description>ValidationErr: Guest No 3: Last name should not be null, empty string or its length less than 2.(Valid value : alphabetic name with one space allowed)</Description>
</Status>
    
<Status>
  <StatusCode>04-33</StatusCode>
  <Description>SystemErr: Technical Failure</Description>
</Status>

<Status>
  <StatusCode>05-122</StatusCode>
  <Description>ProcessingErr: Availability exhausted at third party</Description>
</Status>

<Status>
  <StatusCode>05</StatusCode>
  <Description>ProcessingErr: No cancellation request has been received for the booking.</Description>
</Status>


All the errors are self descriptive, besides some technical failures. If you are unable to resolve the error and repeatedly getting the same error, please feel free to contact us at apisupport@tboholidays.com

Here we are providing a list of some common method specific processing errors.

Method Error Message
HotelSearch() No Hotel Found
AvailableHotelRooms() Session Expired
  No rooms available, please try another hotel or search again.
  Input data mismatch. Hotel Code is not corresponding to the provided ResultIndex.
HotelCancellationPolicy() Session Expired
  Cancellation Policies not Found.
AvailabilityAndPricing() Session Expired
HotelBook() Session Expired
  Member is not authorised to Confirm Bookings.
  Hotelresult not loaded from Cache, This may be because cache data has expired
  The combination sent from the user end is not proper
  The combination sent from the user end is not present in the supplied combination
  Booking Request price(" ... ") was changed. Actual price is ...
  Your Agency is blocked
  Insufficient amount to book this Hotel
  UnderCancellation Booking, This booking will be vouchered instantly, to voucher your booking send VoucerBooking element as true
GenerateInvoice() Your Agency is blocked
  Generate Invoice failed as this booking is already cancelled
  Account Balance remaining with agency is insufficient to generate invoice
  Invoice for this booking is already generated.
Hotelcancel() No cancellation request has been received for the booking.
  Your booking is already cancelled.
  Cancel request has already been received, you can check the status by sending the check status request
  We have accepted your request and you can check the status of your request after some time or please contact TBOHolidays Support Team.
Amendment() No amendment has been requested for the booking.
  Before sending PriceApproval request, amendmentStatus should be AgentApprovalPending
  Amendment request can not be withdrawn at this stage. Please contact TBOHolidays Admin.
  Input Data Mismatch: Adult count mismatch between search and book request corresponds to the Room.