Tiket.com B2B HOTEL API Documentation (2.0)

Download OpenAPI specification:Download

Change log

Version Update Item Date
Hotel API V2 Update the prebook api to "Prebook V2" March 18, 2024
Hotel API V2 Update required field for content API request September 3rd, 2024
Hotel API V2 Update the response display (Search API, Create API) October 14th, 2024
Hotel API V2 Input upcomming JSON search API October 17th, 2024
Hotel API V2 Update multisearch mock request October 23rd, 2024
Hotel API V2 Update Prebook Schema information and FAQ January 07th, 2025
Hotel API V2 New Content Pull API Feb 19th, 2025
Hotel API V2 Input sample for Search and Prebook FAQ March 04th, 2025
Hotel API V2 Update Integration Overview and FAQ revamp March 19th, 2025

Introduction

Tiket.com B2B Hotel API.

Welcome to the Tiket.com Hotel API guide tailored specifically for B2B developers. Whether you're an experienced professional or new to integrating APIs, this guide will provide you with the necessary insights to seamlessly incorporate hotel booking functionality into your applications.

This guide serves as a comprehensive resource to acquaint you with the Tiket.com Hotel API. Here, you'll find essential information on integrating our API into your B2B platforms, accessing detailed technical documentation for thorough understanding, navigating through Hotel API FAQ for quick reference.

Best Practice

This section is designed to guide you through the optimal integration and usage of our API, ensuring that you and your users get the most out of the products we offer. Our goal is to help you implement a seamless, efficient, and effective connection between your platform and our services.

Workflow

Integration Overview

The integration process consists of five key phases to ensure a smooth and successful launch:

  1. Kickoff:
    • Initial discussions between Tiket.com and the partner to align on business goals, integration requirements, and timelines.
    • Partners will receive API documentation, sandbox credentials, and a checklist of deliverables.
  2. Development:
    • Partner begin building the integration using Tiket.com’s sandbox environment.
    • Partners can test the API functionalities like Search, Prebook, Book and Cancel booking as well as the Content Push or Content Pull.
    • Tiket.com provides support during this phase to resolve any technical queries.
  3. Sandbox Certification:
    • Partners conduct extensive testing in the staging environment to validate end-to-end functionality.
    • Tiket.com reviews and certifies that the integration meets the agreed-upon requirements.
  4. Production Certification:
    • The integration is moved to the production environment for final validation.
    • The certification will be executed in Production Environment both in Tiket and Partner side.
    • Partners test the integration with live data to ensure stability, performance, and readiness for launch.
    • Tiket will conduct API Certification to validate the integration against Tiket’s technical and functional standards, ensuring compliance and proper functionality of the API.
  5. Go-Live:
    • The integration is fully deployed
    • Conduct alignment with Finance and CS Teams:
      • Finance: Ensure that all payment flows, invoicing, and reconciliation processes align with Tiket’s systems.
      • Customer Support (CS): Verify that inquiry handling, ticket escalation processes, and partner issue workflows are integrated seamlessly with Tiket’s CS operations.
    • Customers can start using Tiket.com’s flight services through the partner platform.
    • Tiket.com provides monitoring and post-launch support to address any issues promptly.

Sample URL

Please follow the sample url based on the environment your are use.
Sandbox purposes for test integration & development process, and Production for real production connections.

Endpoint URL Format
Sandbox https://api.tiketsandbox.net/b2b-gateway/[services]/[service]
Production https://api.tiket.com/b2b-gateway/[services]/[service]

This is the service endpoint url for each API Operation

Operations Method Endpoint
Search POST /tix-hotel-b2b-search-service/hotel
Prebook POST /tix-hotel-cart-b2b/v2/prebook
Create Reservation POST /tix-hotel-cart-b2b/cart/create
Cancel Reservation POST /tix-hotel-cart-b2b/cart/cancel
Content Pull GET /accommodation/content/property?id={}

Authentication Process

Authentication Steps to do before using other endpoints.

Tiket.com B2B API uses Basic Auth for Authentication Process.
Partner can use one of these two ways to provide Authentication data for the requests:

  • Header
    Partner can encode Username and Password using Base64 Encryption with format as described below:
    Header: Authorization="Basic <base64(Username:Password)>"

  • Body
    Partner can also provide the data inside the Body using tag POS with format as described below:

      <POS>
          <Source>
              <RequestorID ID="<Username>" MessagePassword="<Password>" Type="<OTA_CodeType>">
                  <CompanyName Code="<Company_Code>" CodeContext="<Context_of_Identifying_Code" />
              </RequestorID>
          </Source>
      </POS>
    

    Note:
    - ID, MessagePassword and Type are required. Tiket team will provide the ID and MessagePassword.
    - Code is a string (length 1 - 16) which identifies a company by the company code. Static Value = 5
    - CodeContext is a string (length 1 - 32) which identifies the context of the identifying code, such as DUNS, IATA or internal code, etc. Static Value = 600

    Example Request:

      Body:
      <OTA_HotelResRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006040226" TimeStamp="2020-06-04T14:26:42.186+08:00" Version="2.8">  
          <POS> 
            <Source> 
              <RequestorID ID="Username" MessagePassword="Password" Type="5"> 
                <CompanyName Code="C" CodeContext="1220"/> 
              </RequestorID> 
            </Source> 
          </POS>  
          ...
      </OTA_HotelResRQ>
    

Content API

Content API Integration Guidelines

To ensure a smooth integration, please follow the detailed requirements below:

1. Provide URL Endpoints for Testing and Production Environments

We need the following URLs from your side so we can send data to your application:

  1. Testing Environment URL: This URL will be used during the testing phase to verify the API integration. Example: your.testing.single.url.to.push.hotelandroom.content.com
  2. Production Environment URL: This URL will be used once the integration goes live to push real data. Example: your.production.single.url.to.push.hotelandroom.content.com

Both URLs must support HTTPS for secure data transmission and be ready to accept data in SOAP XML format.

2. Map Property Types, Hotel Chains, and Facilities

We use specific classifications for property types, hotel chains, and facilities that may differ from yours. To ensure the data aligns correctly in your system, you will need to map these attributes to your own classifications.

    What You Need to Do:
    1. Match our property types (e.g., hotel, resort, villa) to your system’s property types.
    2. Align hotel chains in our data with those in your database.
    3. Map facilities (e.g., Wi-Fi, swimming pool, gym) to your system’s facility attributes.

    How We Deliver the Data:

    1. These mappings (property type, hotel chain, and facility) will be included within the SOAP XML payload we push to your application.
    2. You can access the details directly from the content delivered via the provided URLs.

Need Help?

If you encounter any issues or need further clarification, please feel free to reach out to our support team. We are here to assist you throughout the integration process.

Thank you for your cooperation!

Hotel Content

Tiket use this Hotel Content format to push new hotel in a partner system or update the content on the existing hotel.

SecuritybasicAuth
Request
Request Body schema: application/xml
required
object
Responses
200
  • SUCCESS
  • When partner successfully received the content
500
  • ERROR
  • When error occured on partner side, put clear error message in the body
post/your.production.single.url.to.push.hotelandroom.content.com
Request samples
application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap:Envelope
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:ns4="http://www.opentravel.org/OTA/2003/05"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns4:OTA_HotelDescriptiveContentNotifRQ TimeStamp="2022-12-15T17:35:16.400531+07:00" Target="Test" Version="1.0" PrimaryLangID="en-US">
      <ns4:POS>
        <ns4:Source>
          <ns4:RequestorID MessagePassword="<Password>" Type="1" ID="partner@email.com">
            <ns4:CompanyName Code="<code>" CodeContext="<code-context>"></ns4:CompanyName>
          </ns4:RequestorID>
        </ns4:Source>
      </ns4:POS>
      <ns4:HotelDescriptiveContents HotelCode="ea83d331-3304-4caa-abe0-ab68ef63d480" ChainName="Independent">
        <ns4:HotelDescriptiveContent>
          <ns4:HotelInfo HotelStatus="Active" HotelCategory="" WeightValue="130623.0">
            <ns4:Descriptions>
              <ns4:MultimediaDescriptions>
                <ns4:MultimediaDescription>
                  <ns4:TextItems>
                    <ns4:TextItem Title="Hotel Danau Toba International Hermina Parapat" Language="en-US">
                      <ns4:Description>Located in Parapat, a small town in North Sumatra province on the edge of Lake Toba, on the Uluan Peninsula where it forms the narrowest eastern link to Samosir Island.&#xA;With stunning view of Lake Toba from your room and fresh air to relaxed your mind.</ns4:Description>
                    </ns4:TextItem>
                  </ns4:TextItems>
                </ns4:MultimediaDescription>
              </ns4:MultimediaDescriptions>
            </ns4:Descriptions>
            <ns4:Position Latitude="2.66450" Longitude="98.93442"></ns4:Position>
            <ns4:Services>
              <Service Code="1088322683"></Service>
            </ns4:Services>
          </ns4:HotelInfo>
          <ns4:Policies>
            <ns4:Policy>
              <ns4:PolicyInfoCodes>
                <ns4:PolicyInfoCode>
                  <ns4:Description>
                    <ns4:Text Language="en-US"></ns4:Text>
                  </ns4:Description>
                </ns4:PolicyInfoCode>
              </ns4:PolicyInfoCodes>
              <ns4:PolicyInfo CheckOutTime="12:00"></ns4:PolicyInfo>
            </ns4:Policy>
          </ns4:Policies>
          <ns4:AffiliationInfo>
            <ns4:Awards>
              <ns4:Award Rating="0" RatingSymbol="Star"></ns4:Award>
            </ns4:Awards>
          </ns4:AffiliationInfo>
          <ns4:MultimediaDescriptions>
            <ns4:MultimediaDescription>
              <ns4:ImageItems>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/eee30984-5afd-4621-a240-c8298585ff58-1575359636086-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Guest Room</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/4b146acd-8ade-4cad-b71c-4ab3212ebdce-1575359636137-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Guest Room</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/1fc7838a-24bf-4b17-891c-dda0bfc48ff6-1575359636137-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Guest Room</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359669/tix-hotel/images-web/2019/12/03/4a878a6d-384a-4223-b021-c4555d3092a5-1575359667637-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">View</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359648/tix-hotel/images-web/2019/12/03/a13d4cae-6a09-4e7c-8567-2e3bc84fdcac-1575359646629-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">View</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359638/tix-hotel/images-web/2019/12/03/582ec6fd-fce0-4507-a918-4dbcbecad5a2-1575359636090-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">View</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/edd0c920-902d-45c4-a4a2-6265cfc65d5e-1575359636086-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Guest Room</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359638/tix-hotel/images-web/2019/12/03/0504f9ca-0edc-4da4-bab6-2eb3b6eef129-1575359636137-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Guest Room</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/b81b0a12-9f50-4267-85c6-b8046ff6d877-1575359636133-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Exterior</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/cdcec562-a8a8-4b5f-88dc-3038e0d765a7-1575359636086-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Lobby</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/1baa718b-ccc0-4e45-a375-73b794a059f3-1575359636137-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Guest Room</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359637/tix-hotel/images-web/2019/12/03/5d8d3730-1b28-4257-af63-41cf71910372-1575359636086-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Garden</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
                <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359648/tix-hotel/images-web/2019/12/03/e544a51f-f9db-4e3a-8f4c-490191a32375-1575359646566-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Exterior</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
              </ns4:ImageItems>
            </ns4:MultimediaDescription>
          </ns4:MultimediaDescriptions>
          <ns4:ContactInfos>
            <ns4:ContactInfo>
              <ns4:Addresses Visible="true">
                <ns4:Address Language="en-US">
                  <ns4:CountryName>Indonesia</ns4:CountryName>
                  <ns4:CityName>KlungkungEN</ns4:CityName>
                  <ns4:AddressLine>Jalan Talun Sungkit No.17, Parapat, Kec.Girsang Sipangan Bolon, Tiga Raja, Girsang Sipangan Bolon, Kabupaten Simalungun, Sumatera Utara 21174, Indonesia</ns4:AddressLine>
                  <ns4:PostalCode>21174</ns4:PostalCode>
                </ns4:Address>
              </ns4:Addresses>
              <ns4:Phones>
                <ns4:Phone PhoneNumber="+628132103305" PhoneTechType="Voice"></ns4:Phone>
              </ns4:Phones>
            </ns4:ContactInfo>
          </ns4:ContactInfos>
        </ns4:HotelDescriptiveContent>
      </ns4:HotelDescriptiveContents>
    </ns4:OTA_HotelDescriptiveContentNotifRQ>
  </soap:Body>
</soap:Envelope>
Response samples
application/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <OTA_HotelDescriptiveContentNotifRS TimeStamp="2020-06-09T08:03:54.755323Z" Target="Production" Version="1.0" PrimaryLangID="en_US"
      xmlns="http://www.opentravel.org/OTA/2003/05">
      <Success />
    </OTA_HotelDescriptiveContentNotifRS>
  </soap:Body>
</soap:Envelope>

Room Content

Everytime we push hotel info, we also bundle it with Room Content.

SecuritybasicAuth
Request
Request Body schema: application/xml
required
object
Responses
200
  • SUCCESS
  • When partner successfully received the content
500
  • ERROR
  • When error occured on partner side, put clear error message in the body
post/your.production.single.url.to.push.hotelandroom.content.com
Request samples
application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap:Envelope
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:ns4="http://www.opentravel.org/OTA/2003/05"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns4:OTA_HotelInvNotifRQ TimeStamp="2022-12-15T17:55:48.276216+07:00" Target="Test" Version="1.0" PrimaryLangID="en-US">
      <ns4:POS>
        <ns4:Source>
          <ns4:RequestorID MessagePassword="<Password>" Type="1" ID="partner@email.com">
            <ns4:CompanyName Code="<code>" CodeContext="<code-context>"></ns4:CompanyName>
          </ns4:RequestorID>
        </ns4:Source>
      </ns4:POS>
      <ns4:SellableProducts HotelCode="42d208ae-a5f1-4978-a0af-293d83f8c876" HotelName="Articuno Perubahan 6">
        <ns4:SellableProduct InvStatusType="Deactivated" InvTypeCode="6124aecae74f4e5f8783c333">
          <ns4:GuestRoom>
            <ns4:Occupancy MaxOccupancy="2" MinOccupancy="1" AgeQualifyingCode="10"></ns4:Occupancy>
            <ns4:Room SizeMeasurement="30m²" RoomViewCode="241"></ns4:Room>
            <ns4:RoomSpec BedroomCount="1">
        <ns4:Bedrooms>
        <ns4:Bedroom Name="Bedroom 1">
            <ns4:BedTypes>
                <ns4:BedType BedTypeCode="1" Quantity="1" CategoryCode="0"></ns4:BedType>
                <ns4:BedType BedTypeCode="3" Quantity="1" CategoryCode="1"></ns4:BedType>
              </ns4:BedTypes>
        </ns4:Bedroom>
        </ns4:Bedrooms>
        <ns4:Livingrooms></ns4:Livingrooms>
        <ns4:Bathrooms></ns4:Bathrooms>
      </ns4:RoomSpec>
            <ns4:Amenities>
              <ns4:Amenity AmenityCode="1088322686"></ns4:Amenity>
              <ns4:Amenity AmenityCode="1088322713"></ns4:Amenity>
              <ns4:Amenity AmenityCode="1088323454"></ns4:Amenity>
            </ns4:Amenities>
            <TPA_Extensions>
              <Ventilation HasWindow="Yes" />
            </TPA_Extensions>
            <ns4:Currency Code="IDR"></ns4:Currency>
            <ns4:Description>
              <ns4:Text Language="en-US">Superior</ns4:Text>
            </ns4:Description>
            <ns4:LongDescription>
              <ns4:Text Language="en-US">dasdasdasdasdas</ns4:Text>
            </ns4:LongDescription>
            <ns4:ImageItems>
              <ns4:ImageItem>
                  <ns4:ImageFormat>
                    <ns4:URL>https://tix-test-res.cloudinary.com/image/upload/v1575359648/tix-hotel/images-web/2019/12/03/e544a51f-f9db-4e3a-8f4c-490191a32375-1575359646566-d41d8cd98f00b204e9800998ecf8427e.jpg</ns4:URL>
                  </ns4:ImageFormat>
                  <ns4:Description>
                    <ns4:Text Language="en-US">Exterior</ns4:Text>
                  </ns4:Description>
                </ns4:ImageItem>
            </ns4:ImageItems>
          </ns4:GuestRoom>
        </ns4:SellableProduct>
      </ns4:SellableProducts>
    </ns4:OTA_HotelInvNotifRQ>
  </soap:Body>
</soap:Envelope>
Response samples
application/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <OTA_HotelInvNotifRS TimeStamp="2020-06-09T08:03:54.755323Z" Target="Production" Version="1.0" PrimaryLangID="en_US"
      xmlns="http://www.opentravel.org/OTA/2003/05">
      <Success />
    </OTA_HotelInvNotifRS>
  </soap:Body>
</soap:Envelope>

Get Property Content

Endpoint URL Format
Sandbox https://api.tiketsandbox.net/affiliate-gateway/accommodation/content/property?id=mock-success-id
Production https://api.tiket.com/affiliate-gateway/accommodation/content/property?id={property_id}
  • To get content of a property with all of its children room by a property id
  • Tiket.com will return all available languages in each response, as of Feb 2025 have English and Indonesian
  • Synchronous API
  • Response is in UTF-8
  • Time out per request will follow
  • Each partner will have rate limit, please reach out to your Commercial for the details
  • Sorry due to tools limitation can't display exmple that too deep, please find example for bedConfigurations value below. While the definition please refer to schema definition in response section below as usual. Below sample is about a room which have 3 sub rooms and each sub room can have options, let me explain
    • Sub room 1. There are 2 options which are (i) single 1 and king 1 (ii ) or queen 2
    • Sub room 2. There are 3 options which are (i) single 4 (ii ) or queen 2 (iii) or king 2
    • Sub room 3. There is only 1 option which is double 1 and sofabed 1 and single 1
  •   "bedConfigurations": [
        {
          "options": [
            {
              "single": 1,
              "king": 1
            },
            {
              "queen": 2
            }
          ]
        },
        {
          "options": [
            {
              "single": 4
            },
            {
              "queen": 2
            },
            {
              "king": 2
            }
          ]
        },
        {
          "options": [
            {
              "double": 1,
              "sofabed": 1,
              "single": 1
            }
          ]
        }
      ]
      
Responses
200

Request is successfully processed

400

Malform request

422

Wrong expected value/format but well formed request

500

Failed response due to system error

get/affiliate-gateway/tix-hotel-cart-b2b/tix-affiliate-hotel-content-inventory/property?id=mock
Response samples
application/json
{
  • "code": "SUCCESS",
  • "message": "Success",
  • "data": {
    },
  • "serverTime": 1688531322247
}

Search API

The Hotel Availability Request message provides the ability to search single or multiple properties for detailed availability, inventory and pricing information of room products. Hotel showing list of rooms and Room request for specific room.

Search Multiple Hotel Id

SecuritybasicAuth
Request
Request Body schema: application/xml
required
object
Responses
200
  • SUCCESS - FULL HOTEL AVAILABILITY

  • SUCCESS - PARTIAL HOTEL AVAILABILITY
    <?xml version="1.0" encoding="UTF-8"?>
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
            <soap:Header/>
            <soap:Body>
                <OTA_HotelSearchRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006030329" PrimaryLangID="en-us" TimeStamp="2020-12-23T15:50:43Z" Version="2.8">
                    <Success/>
                    <Warnings>
                        <Warning Type="3">The Special request may not be satisfied</Warning>
                    </Warnings>
                    <HotelStays>
                        <HotelStay>
                            <RoomStay>
                                <RoomTypes>
                                    <RoomType NumberOfUnits="1" />
                                </RoomTypes>
                                <RatePlans>
                                    <RatePlan PrepaidIndicator="true">
                                        <MealsIncluded Breakfast="true" Dinner="true" Lunch="true" NumberOfMeal="2"/>
                                    </RatePlan>
                                </RatePlans>
                                <RoomRates>
                                    <RoomRate RatePlanCategory="501">
                                        <Rates>
                                            <Rate EffectiveDate="2022-10-17" ExpireDate="2022-10-18">
                                                <Base AmountAfterTax="1000000" AmountBeforeTax="800000" CurrencyCode="IDR">
                                                    <Taxes CurrencyCode="IDR">
                                                        <Tax Amount="0" ChargeUnit="19" Code="14" CurrencyCode="IDR" Type="Exclusive">
                                                            <TaxDescription>
                                                                <Text>Tax and Other Fee</Text>
                                                            </TaxDescription>
                                                        </Tax>
                                                    </Taxes>
                                                </Base>
                                            </Rate>
                                            <Rate EffectiveDate="2022-10-18" ExpireDate="2022-10-19">
                                                <Base AmountAfterTax="1000000" AmountBeforeTax="800000" CurrencyCode="IDR">
                                                    <Taxes CurrencyCode="IDR">
                                                        <Tax Amount="0" ChargeUnit="19" Code="14" CurrencyCode="IDR" Type="Exclusive">
                                                            <TaxDescription>
                                                                <Text>Tax and Other Fee</Text>
                                                            </TaxDescription>
                                                        </Tax>
                                                    </Taxes>
                                                </Base>
                                            </Rate>
                                        </Rates>
                                        <Total AmountAfterTax="2000000" AmountBeforeTax="1600000" CurrencyCode="IDR"/>
                                    </RoomRate>
                                </RoomRates>
                                <GuestCounts>
                                    <GuestCount AgeQualifyingCode="10" Count="2"/>
                                </GuestCounts>
                            </RoomStay>
                            <BasicPropertyInfo HotelCode="fa5ddf20-18ba-4f38-aca2-b93a55db47ac" HotelName="Hotel Satu"/>
                        </HotelStay>
                        <HotelStay>
                            <BasicPropertyInfo HotelCode="fa5ddf20-18ba-4f38-aca2-b93a55db47ac" HotelName="Hotel Dua"/>
                        </HotelStay>
                        <HotelStay>
                            <BasicPropertyInfo HotelCode="fa5ddf20-18ba-4f38-aca2-b93a55db47ad" HotelName="Hotel Tiga"/>
                        </HotelStay>
                    </HotelStays>
                </OTA_HotelSearchRS>
            </soap:Body>
        </soap:Envelope>
    

  • SUCCESS - NO HOTEL AVAILABILITY
        <?xml version="1.0" encoding="UTF-8"?>
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
            <soap:Header/>
            <soap:Body>
                <OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="6528486787" PrimaryLangID="en-us" TimeStamp="2024-06-19T07:52:05Z" Version="2.2">
                    <Success/>
                </OTA_HotelAvailRS>
            </soap:Body>
        </soap:Envelope>
    

  • ERROR INFORMATION
        <?xml version="1.0" encoding="UTF-8"?>
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
        <soap:Header/>
        <soap:Body>
                <OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006030329" PrimaryLangID="" TimeStamp="2020-12-23T15:50:04Z" Version="2.8">
                    <Success/>
                    <Warnings>
                        <Warning Type="15">Invalid date</Warning>
                    </Warnings>
                </OTA_HotelAvailRS>
            </soap:Body>
        </soap:Envelope>
    
post/b2b-gateway/tix-hotel-b2b-search-service/hotel
Request samples
application/xml
<soap:Envelope
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:ns="http://www.opentravel.org/OTA/2003/05">
  <soap:Header/>
  <soap:Body>
    <OTA_HotelAvailRQ EchoToken="${xmlunit.ignore}" TimeStamp="${xmlunit.isNumber}" PrimaryLangID="en-US"
      xmlns="http://www.opentravel.org/OTA/2003/05" Version="2.2">
      <AvailRequestSegments>
        <AvailRequestSegment>
          <HotelSearchCriteria>
            <Criterion>
              <HotelRef HotelCode="mock-d039e781-2055-40ae-ae57-f9b07db4658f"/>
              <HotelRef HotelCode="mock-d296e298-6151-4d8f-8b05-e9bfd629a1fa"/>
              <HotelRef HotelCode="mock-456ea60d-2d98-42c0-90aa-aeee455a3406"/>
              <HotelRef HotelCode="mock-c1b99410-031f-4063-bad9-4caaa17e82ee"/>
              <HotelRef HotelCode="mock-ad5dcf9c-0040-44fe-b61a-fa5db986145a"/>
              <StayDateRange End="2024-12-31" Start="2024-12-30"/>
              <RoomStayCandidates>
                <RoomStayCandidate Quantity="1">
                  <GuestCounts>
                    <GuestCount AgeQualifyingCode="10" Count="1"/>
                    <GuestCount AgeQualifyingCode="8" Count="1" Age="3"/>
                  </GuestCounts>
                </RoomStayCandidate>
              </RoomStayCandidates>
            </Criterion>
          </HotelSearchCriteria>
        </AvailRequestSegment>
      </AvailRequestSegments>
    </OTA_HotelAvailRQ>
  </soap:Body>
</soap:Envelope>
Response samples
application/xml
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://www.opentravel.org/OTA/2003/05">
<soap:Header/>
<soap:Body>
  <OTA_HotelAvailRS
    xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="$echoToken" PrimaryLangID="en-US" TimeStamp="$timeStamp" Version="2.2">
    <Success/>
    <Warnings>
      <Warning Type="3">The Special request may not be satisfied</Warning>
    </Warnings>
    <HotelStays>
      <HotelStay>
        <RoomStays>
          <RoomStay>
            <RoomTypes>
              <RoomType RoomTypeCode="ldruv8w8zqywi8ms50hpo09i" NumberOfUnits="100"/>
            </RoomTypes>
            <RatePlans>
              <RatePlan RatePlanCode="1107" PrepaidIndicator="true">
                <CancelPenalties>
                  <CancelPenalty>
                    <Deadline AbsoluteDeadline="1970-01-01T00:00:00"/>
                    <AmountPercent Percent="100" TaxInclusive="false"/>
                    <PenaltyDescription>
                      <Text>Refund not allowed</Text>
                    </PenaltyDescription>
                  </CancelPenalty>
                </CancelPenalties>
                <MealsIncluded Breakfast="true" Lunch="false" Dinner="false" NumberOfMeal="1"/>
              </RatePlan>
            </RatePlans>
            <RoomRates>
              <RoomRate RoomTypeCode="ldruv8w8zqywi8ms50hpo09i" RatePlanCode="1107" RatePlanCategory="501">
                <Rates>
                  <Rate EffectiveDate="$startDate" ExpireDate="$endDate">
                    <Base AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR">
                      <Taxes CurrencyCode="IDR">
                        <Tax Type="Exclusive" CurrencyCode="IDR" ChargeUnit="19" Code="14" Amount="84858.00">
                          <TaxDescription>
                            <Text>Tax and Other Fee</Text>
                          </TaxDescription>
                        </Tax>
                      </Taxes>
                    </Base>
                  </Rate>
                </Rates>
                <Total AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR"/>
              </RoomRate>
            </RoomRates>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Count="1"/>
            </GuestCounts>
          </RoomStay>
          <RoomStay>
            <RoomTypes>
              <RoomType RoomTypeCode="8x4uu57l4re39a8d1ojt748n" NumberOfUnits="100"/>
            </RoomTypes>
            <RatePlans>
              <RatePlan RatePlanCode="117" PrepaidIndicator="true">
                <CancelPenalties>
                  <CancelPenalty>
                    <Deadline AbsoluteDeadline="1970-01-01T00:00:00"/>
                    <AmountPercent Percent="100" TaxInclusive="false"/>
                    <PenaltyDescription>
                      <Text>Refund not allowed</Text>
                    </PenaltyDescription>
                  </CancelPenalty>
                </CancelPenalties>
                <MealsIncluded Breakfast="true" Lunch="false" Dinner="false" NumberOfMeal="1"/>
              </RatePlan>
            </RatePlans>
            <RoomRates>
              <RoomRate RoomTypeCode="8x4uu57l4re39a8d1ojt748n" RatePlanCode="117" RatePlanCategory="501">
                <Rates>
                  <Rate EffectiveDate="$startDate" ExpireDate="$endDate">
                    <Base AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR">
                      <Taxes CurrencyCode="IDR">
                        <Tax Type="Exclusive" CurrencyCode="IDR" ChargeUnit="19" Code="14" Amount="84858.00">
                          <TaxDescription>
                            <Text>Tax and Other Fee</Text>
                          </TaxDescription>
                        </Tax>
                      </Taxes>
                    </Base>
                  </Rate>
                </Rates>
                <Total AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR"/>
              </RoomRate>
            </RoomRates>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Count="1"/>
            </GuestCounts>
          </RoomStay>
        </RoomStays>
        <BasicPropertyInfo HotelCode="$hotelCode1" HotelName="Kayumanis Jimbaran Private Estate and Spa"/>
      </HotelStay>
      <HotelStay>
        <RoomStays>
          <RoomStay>
            <RoomTypes>
              <RoomType RoomTypeCode="5b77805d25a8fa6a60bc26c1" NumberOfUnits="100"/>
            </RoomTypes>
            <RatePlans>
              <RatePlan RatePlanCode="11075" PrepaidIndicator="true">
                <CancelPenalties>
                  <CancelPenalty PolicyCode="C48">
                    <Deadline AbsoluteDeadline="$startDate-4"/>
                    <AmountPercent Amount="792000.00" TaxInclusive="false"/>
                    <PenaltyDescription>
                      <Text>Free cancellation and reschedule If you submit the request before ${startDate-4} (23:59). Cancellation and reschedule with fee If you submit the request after ${startDate-2} (00:00), you will be charged IDR 792,000. If you submit the request after ${startDate-1} (23:59), you will be charged IDR 792,000. No refund and reschedule If you donand#39;t show up for check-in or submit a cancellation or reschedule request on and after the check-in date: ${startDate}.</Text>
                    </PenaltyDescription>
                  </CancelPenalty>
                </CancelPenalties>
                <MealsIncluded Breakfast="false" Lunch="false" Dinner="false" NumberOfMeal="0"/>
              </RatePlan>
            </RatePlans>
            <RoomRates>
              <RoomRate RoomTypeCode="5b77805d25a8fa6a60bc26c1" RatePlanCode="11075" RatePlanCategory="501">
                <Rates>
                  <Rate EffectiveDate="$startDate" ExpireDate="$endDate">
                    <Base AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR">
                      <Taxes CurrencyCode="IDR">
                        <Tax Type="Exclusive" CurrencyCode="IDR" ChargeUnit="19" Code="14" Amount="84858.00">
                          <TaxDescription>
                            <Text>Tax and Other Fee</Text>
                          </TaxDescription>
                        </Tax>
                      </Taxes>
                    </Base>
                  </Rate>
                </Rates>
                <Total AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR"/>
              </RoomRate>
            </RoomRates>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Count="1"/>
            </GuestCounts>
          </RoomStay>
        </RoomStays>
        <BasicPropertyInfo HotelCode="$hotelCode2" HotelName="Utankayu Jimbaran Private Estate and Spa"/>
      </HotelStay>
      <HotelStay>
        <RoomStays>
          <RoomStay>
            <RoomTypes>
              <RoomType RoomTypeCode="s0qzva9zcawhp47gprmgl7l1" NumberOfUnits="10"/>
            </RoomTypes>
            <RatePlans>
              <RatePlan RatePlanCode="115" PrepaidIndicator="true">
                <CancelPenalties>
                  <CancelPenalty>
                    <Deadline AbsoluteDeadline="1970-01-01T00:00:00"/>
                    <AmountPercent Percent="100" TaxInclusive="false"/>
                    <PenaltyDescription>
                      <Text>Refund not allowed</Text>
                    </PenaltyDescription>
                  </CancelPenalty>
                </CancelPenalties>
                <MealsIncluded Breakfast="true" Lunch="false" Dinner="false" NumberOfMeal="1"/>
              </RatePlan>
            </RatePlans>
            <RoomRates>
              <RoomRate RoomTypeCode="s0qzva9zcawhp47gprmgl7l1" RatePlanCode="115" RatePlanCategory="501">
                <Rates>
                  <Rate EffectiveDate="$startDate" ExpireDate="$endDate">
                    <Base AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR">
                      <Taxes CurrencyCode="IDR">
                        <Tax Type="Exclusive" CurrencyCode="IDR" ChargeUnit="19" Code="14" Amount="84858.00">
                          <TaxDescription>
                            <Text>Tax and Other Fee</Text>
                          </TaxDescription>
                        </Tax>
                      </Taxes>
                    </Base>
                  </Rate>
                </Rates>
                <Total AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR"/>
              </RoomRate>
            </RoomRates>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Count="1"/>
            </GuestCounts>
          </RoomStay>
        </RoomStays>
        <BasicPropertyInfo HotelCode="$hotelCode3" HotelName="Louis Kienne Hotel Simpang Lima"/>
      </HotelStay>
      <HotelStay>
        <RoomStays>
          <RoomStay>
            <RoomTypes>
              <RoomType RoomTypeCode="i3orm27s2fwzjgg2loe4vedd" NumberOfUnits="98"/>
            </RoomTypes>
            <RatePlans>
              <RatePlan RatePlanCode="215" PrepaidIndicator="true">
                <CancelPenalties>
                  <CancelPenalty PolicyCode="C48">
                    <Deadline AbsoluteDeadline="$startDate-4"/>
                    <AmountPercent Amount="792000.00" TaxInclusive="false"/>
                    <PenaltyDescription>
                      <Text>Free cancellation and reschedule If you submit the request before ${startDate-4} (23:59). Cancellation and reschedule with fee If you submit the request after ${startDate-2} (00:00), you will be charged IDR 792,000. If you submit the request after ${startDate-1} (23:59), you will be charged IDR 792,000. No refund and reschedule If you donand#39;t show up for check-in or submit a cancellation or reschedule request on and after the check-in date: ${startDate}.</Text>
                    </PenaltyDescription>
                  </CancelPenalty>
                </CancelPenalties>
                <MealsIncluded Breakfast="false" Lunch="false" Dinner="false" NumberOfMeal="0"/>
              </RatePlan>
            </RatePlans>
            <RoomRates>
              <RoomRate RoomTypeCode="i3orm27s2fwzjgg2loe4vedd" RatePlanCode="215" RatePlanCategory="501">
                <Rates>
                  <Rate EffectiveDate="$startDate" ExpireDate="$endDate">
                    <Base AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR">
                      <Taxes CurrencyCode="IDR">
                        <Tax Type="Exclusive" CurrencyCode="IDR" ChargeUnit="19" Code="14" Amount="84858.00">
                          <TaxDescription>
                            <Text>Tax and Other Fee</Text>
                          </TaxDescription>
                        </Tax>
                      </Taxes>
                    </Base>
                  </Rate>
                </Rates>
                <Total AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR"/>
              </RoomRate>
            </RoomRates>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Count="1"/>
            </GuestCounts>
          </RoomStay>
        </RoomStays>
        <BasicPropertyInfo HotelCode="$hotelCode4" HotelName="Louis Kienne Hotel Dago"/>
      </HotelStay>
      <HotelStay>
        <RoomStays>
          <RoomStay>
            <RoomTypes>
              <RoomType RoomTypeCode="oitbx2w3pon6mnwplk7pp23j" NumberOfUnits="9"/>
            </RoomTypes>
            <RatePlans>
              <RatePlan RatePlanCode="215" PrepaidIndicator="true">
                <CancelPenalties>
                  <CancelPenalty>
                    <Deadline AbsoluteDeadline="1970-01-01T00:00:00"/>
                    <AmountPercent Percent="100" TaxInclusive="false"/>
                    <PenaltyDescription>
                      <Text>Refund not allowed</Text>
                    </PenaltyDescription>
                  </CancelPenalty>
                </CancelPenalties>
                <MealsIncluded Breakfast="true" Lunch="false" Dinner="false" NumberOfMeal="1"/>
              </RatePlan>
            </RatePlans>
            <RoomRates>
              <RoomRate RoomTypeCode="oitbx2w3pon6mnwplk7pp23j" RatePlanCode="215" RatePlanCategory="501">
                <Rates>
                  <Rate EffectiveDate="$startDate" ExpireDate="$endDate">
                    <Base AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR">
                      <Taxes CurrencyCode="IDR">
                        <Tax Type="Exclusive" CurrencyCode="IDR" ChargeUnit="19" Code="14" Amount="84858.00">
                          <TaxDescription>
                            <Text>Tax and Other Fee</Text>
                          </TaxDescription>
                        </Tax>
                      </Taxes>
                    </Base>
                  </Rate>
                </Rates>
                <Total AmountBeforeTax="707142.00" AmountAfterTax="792000.00" CurrencyCode="IDR"/>
              </RoomRate>
            </RoomRates>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Count="1"/>
            </GuestCounts>
          </RoomStay>
        </RoomStays>
        <BasicPropertyInfo HotelCode="$hotelCode5" HotelName="Louis Kienne Hotel Bundaran HI"/>
      </HotelStay>
    </HotelStays>
  </OTA_HotelAvailRS>
</soap:Body>
</soap:Envelope>

SearchJSON (Upcoming)

Search JSON

SecuritybasicAuth
Request
Request Body schema: application/json
required
hotelCode
required
string

Tiket’s hotel id, can be up to 5 hotels

roomCount
required
integer

Number of room.

checkIn
required
string

Date format YYYY-MM-DD.

checkOut
required
string

Date format YYYY-MM-DD.

adults
integer

Number of total adults

childrenAges
integer

Number of children, stated as the child age (for <1 year child, will be written as 0)

trafficSourceCountry
string

Country where the traffic is coming(following ISO-3166-1, A3 code)

Responses
200

Successful response.

400

Invalid Request

401

Unauthorized

429

Rate limit

500

Internal Server Error

post/searchjson
Request samples
application/json
{
  • "hotelCode": [
    ],
  • "roomCount": 1,
  • "checkIn": "2025-02-27",
  • "checkOut": "2025-02-28",
  • "adults": 2,
  • "childrenAges": [
    ],
  • "trafficSourceCountry": "IDN"
}
Response samples
application/json
{
  • "code": "SUCCESS",
  • "message": "success",
  • "data": {
    },
  • "serverTime": 111111111,
  • "searchjson": "Success"
}

Prebook API

The Prebook API stands as a crucial tool within the landscape of digital booking systems, offering an indispensable solution for accessing vital confirmation data just before the booking is finalized. Serving as a seamless bridge between users and booking platforms, this API enables developers and businesses to retrieve real-time information essential for ensuring a smooth and error-free booking experience. Its capability to fetch the latest confirmation data ensures users have access to the most up-to-date information, minimizing discrepancies and instilling confidence in their decision-making process. With its flexibility and customizability, developers can tailor the API to meet specific requirements, integrating additional validation checks or custom business logic as needed. For businesses in travel, hospitality, or service industries, leveraging the Prebook API optimizes operations, reduces errors, and ultimately enhances customer satisfaction by streamlining booking processes and delivering superior user experiences.

Prebook V2

Endpoint URL Format
Sandbox https://api.tiketsandbox.net/affiliate-gateway/tix-hotel-cart-b2b/v2/prebook
Production https://api.tiket.com/affiliate-gateway/tix-hotel-cart-b2b/v2/prebook

The Prebook API purpose is to improve booking success rate by providing partners the realtime check allotments and rates before sending the booking request. This Prebook API can be requested in the background while the customer enters their personal details in the booking form.

If the Prebook response is successful, the customer will experience a successful booking flow.

If the Prebook response is failure, partners could warn the customers to find new room offer.

There are 2 possible scenarios that could cause the Prebook to fail and partner should stop submitting booking request:

  • Price changes
    This is when prices have changed due to hotel owners has changed the price (application level status code = 364). This mostly occurs around holiday peak seasons.

  • Room is no longer available
    This is when the room is no longer available due to customer or other partners may have booked the last room a few moments ago (application level status code = 322).
There are other possible scenarios that partner should continue submitting booking request:

  • PreCheck successful
    Allotment and price is still available for booking (return with success).

  • Empty Rate Plan code
    Rateplan code can't be empty.

  • Empty Room Type Code
    Room type code can't be empty.
Partner should build the logic: IF application level status code in (501,502,503) THEN ask customer to find different room offer ELSE continue submitting bookingrequest.

SecuritybasicAuth
Request
header Parameters
Content-Type
string
Example: application/json
Authorization
string
Example: Basic QjB6ZkFKcUhYMDprQkhLVG0wc3pXWWJ3OEF1Y0JxTlpCNjdaMGZSSmRGVA==
Request Body schema: application/json
required

Description Request body

hotelCode
required
string

Tiket’s hotel identifier

roomTypeCode
required
string

Tiket’s room identifier

ratePlanCode
required
string

Tiket’s rate plan identifier

roomCount
required
integer [ 1 .. 8 ]

Total rooms per booking

checkIn
required
string

YYYY-MM-DD in the property's timezone. Possible value between today and today + 365 days

checkOut
required
string

YYYY-MM-DD in the property's timezone. Possible value between today and today + 365 days

adults
required
integer [ 1 .. 32 ]

Total adults per booking. In prebook, the total Adult is the multiplier between number of adult in Search and the number of room in Search.

childrenAges
Array of integers

Each array entry is each children age

currency
required
string

Currency used in prebooking

Value: "IDR"
totalAmountAfterTax
required
string

Total amount after tax returned on previous search response

Responses
200

Successful response. It can be success, room unavailable or price change

400

Failed response. Invalid request payload

401

Failed response. Unauthorized

402

Failed response. Validation error

post/affiliate-gateway/tix-hotel-cart-b2b/v2/prebook
Request samples
application/json
{
  • "hotelCode": "55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d",
  • "roomTypeCode": "5b77803d25a8fa6a60bbff16",
  • "ratePlanCode": "300",
  • "roomCount": 1,
  • "checkIn": "2024-12-25",
  • "checkOut": "2024-12-27",
  • "adults": 1,
  • "childrenAges": [
    ],
  • "currency": "IDR",
  • "totalAmountAfterTax": "1330000.00"
}
Response samples
application/json
{
  • "code": "SUCCESS",
  • "message": "Success",
  • "data": {
    },
  • "serverTime": 1688531322247
}

Create API

Create reservation to tiket.

Create Order

Create reservation to tiket

SecuritybasicAuth
Request
Request Body schema: application/xml
object
Responses
200
  • SUCCESS

  • FAILURE - (TimeOut) Please retry your request [Code: 784]
    <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ns="http://www.opentravel.org/OTA/2003/05">
        <soap:Header/>
        <soap:Body>
          <OTA_HotelResRS
            xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006050212" Version="2.8">
            <Errors>
              <Error Code="784" ShortText="Failed to create reservation" Type="3">Time out, please retry your request</Error>
            </Errors>
            <HotelReservations>
              <HotelReservation ResStatus="P">
                <ResGlobalInfo>
                  <HotelReservationIDs>
                    <HotelReservationID ResID_Type="501" ResID_Value="testing-1234313" />
                  </HotelReservationIDs>
                </ResGlobalInfo>
              </HotelReservation>
            </HotelReservations>
          </OTA_HotelResRS>
        </soap:Body>
      </soap:Envelope>
    

  • FAILURE - Cannot Confirm [Code: 101]
    <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ns="http://www.opentravel.org/OTA/2003/05">
        <soap:Header/>
        <soap:Body>
          <OTA_HotelResRS
            xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006050212" Version="2.8">
            <Errors>
              <Error Code="101" ShortText="Cannot confirm reservation" Type="3">Cannot confirm reservation</Error>
            </Errors>
            <HotelReservations>
              <HotelReservation ResStatus="R">
                <ResGlobalInfo>
                  <HotelReservationIDs>
                    <HotelReservationID ResID_Type="501" ResID_Value="testing-1234313" />
                  </HotelReservationIDs>
                </ResGlobalInfo>
              </HotelReservation>
            </HotelReservations>
          </OTA_HotelResRS>
        </soap:Body>
      </soap:Envelope>
    

  • FAILURE - Room Unavailable [Code: 322]
    <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ns="http://www.opentravel.org/OTA/2003/05">
        <soap:Header/>
        <soap:Body>
          <OTA_HotelResRS
            xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006050212" Version="2.8">
            <Errors>
              <Error Code="322" ShortText="Failed to create reservation" Type="3">Room Unavailable</Error>
            </Errors>
            <HotelReservations>
              <HotelReservation ResStatus="R">
                <ResGlobalInfo>
                  <HotelReservationIDs>
                    <HotelReservationID ResID_Type="501" ResID_Value="testing-1234313" />
                  </HotelReservationIDs>
                </ResGlobalInfo>
              </HotelReservation>
            </HotelReservations>
          </OTA_HotelResRS>
        </soap:Body>
      </soap:Envelope>
    

  • FAILURE - Price Change [Code: 364]
    <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ns="http://www.opentravel.org/OTA/2003/05">
        <soap:Header/>
        <soap:Body>
          <OTA_HotelResRS Version="2.1" EchoToken="201403211401"
            xmlns="http://www.opentravel.org/OTA/2003/05">
            <Errors>
              <Error ShortText="Failed to create reservation" Type="3" Code="364">Error rate range. The price has changed! Please make a new reservation using the new rate</Error>
            </Errors>
            <HotelReservations>
              <HotelReservation ResStatus="R">
                <ResGlobalInfo>
                  <HotelReservationIDs>
                    <HotelReservationID ResID_Type="501" ResID_Value="78334"></HotelReservationID>
                  </HotelReservationIDs>
                </ResGlobalInfo>
              </HotelReservation>
            </HotelReservations>
          </OTA_HotelResRS>
        </soap:Body>
      </soap:Envelope>
    

  • FAILURE - Invalid Request Value [Code: 320]
    <?xml version="1.0" encoding="UTF-8"?>
      <OTA_HotelResRS Version="2.1" EchoToken=""
        xmlns="http://www.opentravel.org/OTA/2003/05">
        <Errors>
          <Error ShortText="Failed to create reservation" Type="3" Code="320">Payload value not using acceptable latin characters</Error>
        </Errors>
        <HotelReservations>
          <HotelReservation ResStatus="R">
            <ResGlobalInfo>
              <HotelReservationIDs>
                <HotelReservationID ResID_Type="501" ResID_Value="1229336573"></HotelReservationID>
              </HotelReservationIDs>
            </ResGlobalInfo>
          </HotelReservation>
        </HotelReservations>
      </OTA_HotelResRS>
    

  • FAILURE - SYSTEM_ERROR (Please Retry) [Code: 448]
    <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ns="http://www.opentravel.org/OTA/2003/05">
        <soap:Header/>
        <soap:Body>
          <OTA_HotelResRS
            xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="202006050212" Version="2.8">
            <Errors>
              <Error Code="448" ShortText="Failed to create reservation" Type="3">System Error</Error>
            </Errors>
            <HotelReservations>
              <HotelReservation ResStatus="P">
                <ResGlobalInfo>
                  <HotelReservationIDs>
                    <HotelReservationID ResID_Type="501" ResID_Value="testing-1234313" />
                  </HotelReservationIDs>
                </ResGlobalInfo>
              </HotelReservation>
            </HotelReservations>
          </OTA_HotelResRS>
        </soap:Body>
      </soap:Envelope>
    
post/b2b-gateway/tix-hotel-cart-b2b/cart/create
Request samples
application/xml
<soap:Envelope
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:ns="http://www.opentravel.org/OTA/2003/05">
  <soap:Header/>
  <soap:Body>
    <OTA_HotelResRQ Version="2.1" PrimaryLangID="en-us" EchoToken="{{uniqueEchoToken}}" RetransmissionIndicator="true"
      xmlns="http://www.opentravel.org/OTA/2003/05"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <UniqueID ID="mock-1-aff-ref-id" Type="501" />
      <HotelReservations>
        <HotelReservation>
          <RoomStays>
            <RoomStay>
              <RoomTypes>
                <RoomType RoomTypeCode="5b77805d25a8fa6a60bc26c1" />
              </RoomTypes>
              <RatePlans>
                <RatePlan RatePlanCode="11075" PrepaidIndicator="false"></RatePlan>
              </RatePlans>
              <RoomRates>
                <RoomRate RatePlanCode="11075" RatePlanCategory="501" NumberOfUnits="1">
                  <Rates>
                    <Rate EffectiveDate="2024-12-30" ExpireDate="2024-12-31">
                      <Base AmountBeforeTax="352678.00" AmountAfterTax="395000.00" CurrencyCode="IDR"></Base>
                    </Rate>
                  </Rates>
                </RoomRate>
              </RoomRates>
              <BasicPropertyInfo HotelCode="mock-d296e298-6151-4d8f-8b05-e9bfd629a1fa" HotelName="Utankayu Jimbaran Private Estate and Spa"/>
            </RoomStay>
          </RoomStays>
          <ResGuests>
            <ResGuest ArrivalTime="14:30">
              <Profiles>
                <ProfileInfo>
                  <Profile>
                    <Customer>
                      <PersonName AgeQualifyingCode="10" Gender="M" Age="30">
                        <GivenName>Testing</GivenName>
                        <MiddleName>Come</MiddleName>
                        <Surname>Order</Surname>
                      </PersonName>
                      <ContactPerson ContactType="non">
                        <PersonName>
                          <GivenName>Contact</GivenName>
                          <Surname>Person</Surname>
                        </PersonName>
                        <Telephone PhoneNumber="0856-240-26260" />
                        <Email>testing@testing.com</Email>
                      </ContactPerson>
                    </Customer>
                  </Profile>
                </ProfileInfo>
              </Profiles>
            </ResGuest>
          </ResGuests>
          <ResGlobalInfo>
            <GuestCounts>
              <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
            </GuestCounts>
            <TimeSpan Start="2024-12-30 00:00:00" End="2024-12-31 00:00:00" />
            <Total AmountAfterTax="395000.00" CurrencyCode="IDR"/>
            <HotelReservationIDs>
              <HotelReservationID ResID_Type="501" ResID_Value="mock-1-aff-ref-id"/>
            </HotelReservationIDs>
          </ResGlobalInfo>
        </HotelReservation>
      </HotelReservations>
    </OTA_HotelResRQ>
  </soap:Body>
</soap:Envelope>
Response samples
application/xml
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
    <soap:Header/>
    <soap:Body>
        <OTA_HotelResRS Version="2.1" EchoToken="bagas1728285435" xmlns="http://www.opentravel.org/OTA/2003/05">
            <Success/>
            <Warnings>
                <Warning Type="3">The Special request may not be satisfied</Warning>
            </Warnings>
            <HotelReservations>
                <HotelReservation ResStatus="S">
                    <ResGlobalInfo>
                        <HotelReservationIDs>
                            <HotelReservationID ResID_Type="501" ResID_Value="BOOKING002345"/>
                            <!--Partner's confirmation code-->
                            <HotelReservationID ResID_Type="502" ResID_Value="ABC1823113"/>
                            <!--Hotels's confirmation code-->
                        </HotelReservationIDs>
                    </ResGlobalInfo>
                </HotelReservation>
            </HotelReservations>
        </OTA_HotelResRS>
    </soap:Body>
</soap:Envelope>

Cancel API

Cancel reservation to tiket.

Cancel Order

Cancel reservation to tiket.

Cancellation Policy Scenario XML Sample Request
Free Cancellation
<Deadline AbsoluteDeadline="2021-12-20T23:59:59"/>
<AmountPercent Amount="289151.43" TaxInclusive="false"/>
<PenaltyDescription>
 <Text>Free cancellation until 20 Dec 2021. Cancellations submitted 7 day(s) before the check-in date will be charged a fee equal to 50% of the total stay cost. If you do not arrive at the accommodation on the check-in date, you will be charged a cancellation fee of 35%.</Text>
</PenaltyDescription>
Non Refundable
<Deadline AbsoluteDeadline="2021-12-08T08:17:10">
<AmountPercent Percent="100" TaxInclusive="false"/>
<PenaltyDescription>
 <Text>Refund not allowed</Text>
</PenaltyDescription>
SecuritybasicAuth
Request
header Parameters
required
object (CancelOrderRequestParameter)

Required Generated Token from Authentication Process, it is required to be authorized.

Request Body schema: application/xml
ID
required
string [ 1 .. 32 ] characters

A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.

Reason
required
string [ 1 .. 64 ] characters

The reason for the cancellation.

Type
required
string

A reference to the type of object defined by the UniqueID element. Refer to OTA Code List Unique ID Type (UIT).

Responses
200
  • SUCCESS

  • RESUBMIT THE SUCCESS CANCEL ORDER
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
          <soap:Header/>
          <soap:Body>
              <OTA_CancelRS Version="2.1" EchoToken="bagas1728287291" xmlns="http://www.opentravel.org/OTA/2003/05">
                  <Errors>
                      <Error ShortText="Reservation cannot be cancelled" Code="264"/>
                  </Errors>
                  <UniqueID ID="Sanity-07-Oct-4" Type="501"/>
              </OTA_CancelRS>
          </soap:Body>
      </soap:Envelope>
    

  • FAILURE - System Error (Please try again)
    <OTA_CancelRS Version="2.2" EchoToken="202410071305" xmlns="http://www.opentravel.org/OTA/2003/05">
      <Errors>
        <Error ShortText="System error" Code="448"></Error>
      </Errors>
      <UniqueID ID="999235359835815" Type="501"></UniqueID>
    </OTA_CancelRS>
    

  • FAILURE - DATA NOT EXIST
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
          <soap:Header/>
          <soap:Body>
              <OTA_CancelRS Version="2.1" EchoToken="bagas1728286859" xmlns="http://www.opentravel.org/OTA/2003/05">
                  <Errors>
                      <Error ShortText="Reservation ABC1234 cannot be found" Code="245"/>
                  </Errors>
                  <UniqueID ID="Sanity-05-Oct-1" Type="501"/>
              </OTA_CancelRS>
          </soap:Body>
      </soap:Envelope>
    
post/b2b-gateway/tix-hotel-cart-b2b/cart/cancel
Request samples
application/xml
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
    <soap:Header />
    <soap:Body>
        <OTA_CancelRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" Version="2.1" PrimaryLangID="en-us" EchoToken="201403211421">
            <UniqueID ID="Test17" Type="501" />
            <UniqueID ID="325-2003576" Type="502" />
            <Reasons>
                <Reason>business plan changed</Reason>
            </Reasons>
        </OTA_CancelRQ>
    </soap:Body>
</soap:Envelope>
Response samples
application/xml
<?xml version="1.0" encoding="UTF-8"?>
  <soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns="http://www.opentravel.org/OTA/2003/05">
    <soap:Header/>
    <soap:Body>
      <OTA_CancelRS Version="2.1" EchoToken="201403121021"
        xmlns="http://www.opentravel.org/OTA/2003/05"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance">
        <Success />
        <UniqueID ID="859623" Type="501" />
        <!--Partner's confirmation code-->
        <UniqueID ID="123456" Type="502" />
        <!--Hotel's confifirmation Code-->
      </OTA_CancelRS>
    </soap:Body>
  </soap:Envelope>

Appendix

Node Definition

Please follow this link to you get the detail of each API request and response node definitions: Hotel B2B API 2.0 Glossary.pdf (updated March 16, 2022)

UniqueID Type

UIT Description
1 User ID
4 Company
5 Travel agency
10 Hotel
28 Distribution channel ID
501 Tiket Reservation order ID
502 Hotel Confirmation number
503 Sub-account ID of Distribution channel
504 Order reference Number
505 The availability update request ID
506 The rate update request ID
507 MD5 string for credit card information
508 Max request id at vendor side for batch confirmation

Reservation Status

RVS Description
S Success/Committed
C Cancelled
P Processing
R Rejected/failed

Age Qualifying Code

AQC Description
7 Infant. Guest Age hardcoded on Tiket side as 0
8 Child. Allowed Guest Age value from 0 and above. Will return the Child rate if any, if there's no Child rate currently will return no availability
10 Adult

Special Request Code

SRC Description
1 must be nonsmoking room
2 try to arrange nonsmoking room
3 extra breakfast request
4 extra bed request
5 must have broadband access
6 try to arrange broadband access
7 Must be double bed
8 Try to arrange double bed
9 Must be twin beds
10 Try to arrange twin beds
11 Try to arrange smoking room
12 Try to arrange room on a higher floor
14 Inform the name later
15 Try to arrange room with window
16 Quiet Room Preferred

Card Type

CDT Description
1 Credit
2 Debit
3 Central bill

Payment Card Code

PCC Description
DS Discover Card
JC Japanese Credit Bureau Credit Card
VI Visa Card
AX American Express
MC Master Card

Fee Tax Type

FTT Description
1 Bed tax
2 City hotel fee
3 City tax
4 County tax
5 Energy tax
6 Federal tax
7 Food & beverage tax
8 Lodging tax
9 Maintenance fee
10 Occupancy tax
11 Package fee
12 Resort fee
13 Sales tax
14 Service charge
15 State tax
16 Surcharge
17 Total tax
18 Tourism tax
19 VAT/GST tax
20 Surplus Lines Tax
21 Insurance Premium Tax
22 Application Fee
23 Express Handling Fee
24 Exempt
25 Standard
26 Zero-rated
27 Miscellaneous
28 Room Tax
29 Early checkout fee
30 Country tax
31 Extra person charge
32 Banquet service fee
33 Room service fee
34 Local fee
35 Goods and services tax (GST)
36 Value Added Tax (VAT)
37 Crib fee
38 Rollaway fee
39 Assessment/license tax
40 Pet sanitation fee
41 Not known
42 Child rollaway charge
43 Convention tax
44 Extra child charge
45 Standard food and beverage gratuity
46 National government tax
47 Adult rollaway fee
48 Beverage with alcohol
49 Beverage without alcohol
50 Tobacco
51 Food
52 Total surcharges
53 State cost recovery fee
54 Miscellaneous fee

Charge Type

CHG Description
1 Daily
2 Hourly
3 Half day
4 Additions per stay
5 Per occurrence
6 Per event
7 Per person
8 First use
9 One time use
10 Per minute
11 Per function
12 Per stay
13 Complimentary
14 Other
15 Maximum charge
16 Over-minute charge
17 Weekly
18 Per room per stay
19 Per room per night
20 Per person per stay
21 Per person per night
22 Minimum charge
23 Per rental
24 Per item
25 Per room
26 Per reservation/booking
27 Per gallon
28 Per dozen
29 Per tray
30 Per order
31 Per unit
32 One way
33 Round trip

Error/Warning Code supported by Tiket

The row in green means the error/warning must be caught using the code on the interface implementation.

CODE VALUE CODE NAME
15
Invalid date
61
Invalid currency code
95
Booking already cancelled (Warning)
96
The reservation can not be cancelled at the moment (Warning)
127
Reservation already exists (Warning)
147
Taxes incorrect
161
Search criteria invalid
240
Credit card has expired
242
Credit card number is invalid or missing
245
Invalid confirmation number
249
Invalid rate code
264
Reservation cannot be cancelled
321
Required field missing
322
No availability
381
Invalid check-in date
382
Invalid check-out date
394
Invalid item
397
Invalid number of adults
398
Invalid children age
400
Invalid property code
402
Invalid room type
448
System error
450
Unable to process
506
Credit card not accepted at property
784
Time out, please retry your request
19 Name is missing or incomplete
88 Cannot cancel - service has started
99 Booking not owned by requester
107 Cannot book - too far in advance
111 Booking invalid
113 Mandatory booking details missing
132 Room/unit type - no availability
181 Invalid country code
188 Transaction error - please report
193 Cancellation process failed
197 Undetermined error - please report
241 Expiration date is invalid
243 Invalid ARC/IATA number
244 Email address is invalid
284 No reservations found for search criteria
290 Invalid state/province/territory code
291 Invalid zip/postal code
298 City in address is required
304 Invalid expiration format MMYY
306 Invalid association id or promo code
310 Required data missing: last name
311 Required data missing: first name
313 Required data missing: credit card type
314 Required data missing: country of residence
315 Required data missing: confirmation number
316 Required data missing: phone number
317 Invalid phone number
320 Invalid value
346 Closed to arrivals
352 Invalid credit card type
353 Departure date is past dated
361 Invalid hotel
362 Invalid number of nights
363 Invalid number of rooms
364 Error rate range
365 Error credit card
375 Hotel not active
377 Invalid - max number of nights exceeded
436 Rate does not exist
459 Invalid request code
497 Authorization error
110 Confirm the booking offline
498 The booking is processing
321 HotelCode is empty

Hotel Category

Hotel Category Descriptive definition
Aparthotels Independent apartments with some hotel facilities like a front desk
Apartments Furnished, independent accommodations available for short and long-term rental
Bed and Breakfasts Private home offering overnight stays and breakfast
Boats Commercial travel accommodations located on a boat
Campsites Accommodations offering cabins or bungalows alongside areas for camping or campers, with shared facilities or recreational activities
Capsule hotel Extremely small units or capsules offering cheap and basic overnight accommodations
Chalet Freestanding home characterized by a sloping roof and rented specifically for vacations
Condos Private residence owned by an individual homeowner or family in a building or community with multiple units or townhouses
Cottages Private villas in the country, usually with private courtyards and a good environment
Country house Private home in the countryside with simple accommodations
Cruises A cruise ship is a passenger ship used for pleasure voyages when the voyage itself
Economy hotels Provide accommodation services and basic facilities at an affordable price
Farm stays Private farm with simple accommodations
Gites Like an old-fashioned youth hostel, a place offering fairly basic overnight accommodation in a village or in the countryside
Guest House Small property with basic accommodations and a rustic feel
Holiday homes Freestanding home with private, external entrance and rented specifically for vacation
Holiday parks Private independent residences located on shared grounds with shared facilities or recreational activities
Homestays A shared home where the guest has a private room and the host lives and is on site. Some facilities are shared between hosts and guests.
Hostels Budget accommodations with mostly dorm-style beds and social atmosphere
Hotels Accommodations for travelers often with restaurants, meeting rooms and other guest services
Individual apartment Single-family building that can be rented out
Inns Private home with separate living facilities for host and guest
Lodges Private home with accommodations surrounded by nature, such as a forest or mountains
Love hotels Adult-only accommodations rented by the hour or night
Luxury tents Tents with fixed beds and some services, located in natural surroundings
Motels Roadside hotel usually for motorists, with direct access to parking and fewer amenities
Others Characteristic housing style, mostly experience accommodation
Resorts A place for relaxation with on-site restaurants, activities and often a luxury feel
Riad Traditional Moroccan accommodations with a courtyard and luxury feel
Ryokans Traditional Japanese-style accommodations with meal options
Tavern With standardized management and facilities, with local characteristics, mostly in tourist scenic spots, ancient towns and famous places
Villas Private, freestanding and independent home with a luxury feel

Bed Type Code

Code Descriptive definition
1 Double bed
2 Semi-double bed
3 King bed
4 Round bed
5 Queen bed
6 Sofa Bed
7 Tatami
9 Single bed
10 Kang
11 Space Capsule
12 Dorm bed
13 Water bed
14 Bunk

Room View Code

Code Descriptive definition
240 City view
241 Sea view
242 River view
243 Mountain view
244 Lake view
245 Garden view
248 Landmark view
249 Swimming pool view
394 Courtyard view
620 View of golf course
670 Park view
671 Bay view
673 Harbour view
674 Desert view
677 Valley view
679 Canyon view
680 Volcano view

FAQ

Integration Process

  • Q : What is the procedure for Affiliate Partners to make deposits to Tiket.com before making reservations?
    A : Partner transfer to TIKET bank account. --> Partner send the transfer proof to your TIKET representation. --> Manual checking by TIKET finance team. --> Confirm payment by TIKET Finance team. --> Deposit topup --> Done

  • Q : Are there specific requirements or guidelines for making deposits as an Affiliate Partner?
    A : Done the integration process and got the confirmation from the TIKET representative.

  • Q : How can I get the API credential for Sandbox Environment and Production environment?
    A : The API credential will be provided by Tiket.com team. Affiliate partner need to provide the PIC Name, PIC email and PIC contact number.

  • Q : Is it necessary for Affiliate Partners to whitelist Tiket IP addresses?
    A : Affiliate partners are not required to whitelist Tiket's IP address since this API service solely responds to authorized API credentials. However, for push content API, if any affiliate partner has security concerns, Tiket.com will provide the necessary IP address for whitelisting by raise a request ticket in affiliate service desk here.

  • Q : Are there any fees associated with accessing the API or using the services provided by Tiket.com?
    A : Refer to initial agreement and NDA document.

  • Q : Can you provide details on the pricing structure for Affiliate Partners using Tiket.com services?
    A : Refer to initial agreement and NDA document.

  • Q : Are there any additional charges or hidden fees that Affiliate Partners should be aware of?
    A : Refer to initial agreement and NDA document.

  • Q : Are there any compliance requirements or regulations that Affiliate Partners need to adhere to when using Tiket.com services?
    A : Refer to initial agreement and NDA document.

  • Q : What steps should Affiliate Partners take to ensure compliance with any relevant regulations or policies when using Tiket.com services?
    A : Refer to initial agreement and NDA document.

  • Q : Is there documentation or resources available to help Affiliate Partners integrate the API into their systems?
    A : Yes, You may refer to this API Documentation.

  • Q : Are there any restrictions on the types of applications or platforms that can integrate with the Tiket.com API?
    A : Only authorized partners that already have signed the initial agreement and NDA that allowed it to integrate with the Tiket.com API.

Content

  • Q : How can I access the hotel content from Tiket.com as an Affiliate Partner?
    A : Tiket.com will push content to partners through the 'Content API' endpoint or partner can get the content via Get Property Content API

  • Q : What specific content is included in the hotel content provided by Tiket.com?
    A : Hotel Name, Hotel Description, Hotel location, Hotel Image, Hotel Contact, Hotel Information.

  • Q : Are hotel and room photos included in the content provided to Affiliate Partners?
    A : Yes.

  • Q : Can you provide details on the location information available for each hotel (e.g., Geo, City, Country, Latitude, Longitude)?
    A : Yes Included in 'Hotel Content' API.

  • Q : In Get Property Content API (Content Pull API), how can partner get the information of the hotel/room?
    A : Partner can get the hotel content and room content by using the hotelCode parameter in the Content Pull endpoint. On a single pull hit, Tiket provide the hotel and room content information.

  • Q : How to get the hotel list that the Affiliate Partner can pull?
    A : Tiket will provide the hotel list via excel file and partner can use and pull the content from this list of hotels.

  • Q : Do we have the sample of the hotelCode that is used for Content Pull?
    A : The hotelCode that is used in Content Pull is basically the same with the hotelCode in Search, Prebook and Booking API. It will always consist of 36 char, for example: 55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d.

  • Q : How frequently is the hotel and room content updated and refreshed for Affiliate Partners?
    A : Hotels and rooms content are most likely static content, but by system we always send the updated data automatically if there is any update from the hotel.

  • Q : Can Affiliate Partners request specific updates or additions to the hotel content provided by Tiket.com?
    A : No, All the hotel content needed will be provided by Tiket.com via Content API.

Booking Process

  • Q : Is it possible to search for availability of multiple hotels simultaneously through the API? If yes, what is the maximum limit?
    A : Yes, it is possible. You can use 'Search Multiple Hotel ID' API and the maximum limit is 5 hotels.

  • Q : Related to 'API Search Multiple Hotel Id' what are start_date & end_date?
    A : Start_date & end_date are similar like Check-In and Check-Out. It will affect the availability of the inventory in the “API Search Multiple Hotel Id” response.

  • Q : Related to 'API Search Multiple Hotel Id' what 10 Qps means?
    A : For 'API Search Multiple Hotel Id' you can search 5 hotel in 1 request, so 10 Qps means you able to call 10 times in a second, and each call you can get 5 hotels availability. Basically you can get 50 hotel availability in 1 second.

  • Q : What currency will be provided in the API?
    A : In the API, currency will be supplied in IDR.

  • Q : What actions can be performed through the API for pre booking?
    A : The objective of the Prebook API is to enhance the booking success rate for partners by furnishing them with real-time allotment and rate checks prior to submitting the booking request. This Prebook API can be seamlessly initiated in the background while the customer enters their personal information in the booking form.

  • Q : How to input the correct specification in prebooking?
    A : In prebook, you can input the specification based on the room and rate plan selected during search. Please note that:

    1. The number of guest in Search refer to number of guest per room level, but number of guest in Prebook is refer to number of guest per booking level (Total guest).
    2. The number of adults in prebook is the multiplier between number of rooms in search and number of adults in search.
    3. Please ensure you are using totalAmountAfterTax that you get during your search.

    For example:

    • Search: 1 room 1 adult --> Prebook: 1 room 1 adult
    • Search: 1 room 2 adult --> Prebook: 1 room 2 adult
    • Search: 2 room 1 adult --> Prebook: 2 room 2 adult
    • Search: 2 room 2 adult --> Prebook: 2 room 4 adult
    RoomNightAdultChildSearch PayloadPrebook Payload
    1110<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 1,
    "childrenAges": [],
    1111<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 1,
    "childrenAges": [3],
    1112<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 1,
    "childrenAges": [3,6],
    1120<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 2,
    "childrenAges": [],
    1121<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 2,
    "childrenAges": [3],
    1122<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 2,
    "childrenAges": [3,6]
    1210<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 1,
    "childrenAges": []
    1211<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 1,
    "childrenAges": [3]
    1212<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 1,
    "childrenAges": [3,6]
    1220<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 2,
    "childrenAges": []
    1221<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 2,
    "childrenAges": [3]
    1222<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="1">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 1,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 2,
    "childrenAges": [3,6]
    2110<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 2,
    "childrenAges": []
    2111<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 2,
    "childrenAges": [3]
    2112<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 2,
    "childrenAges": [3,6]
    2120<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 4,
    "childrenAges": []
    2121<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 4,
    "childrenAges": [3]
    2122<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-18" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-18",
    "adults": 4,
    "childrenAges": [3,6]
    2210<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 2,
    "childrenAges": []
    2211<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 2,
    "childrenAges": [3]
    2212<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 2,
    "childrenAges": [3,6]
    2220<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 4,
    "childrenAges": []
    2221<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 4,
    "childrenAges": [3]
    2222<HotelRef HotelCode="55bbc1f1-b85e-4d4d-b2d9-8607e3c36e1d"/>
    <StayDateRange End="2025-03-19" Start="2025-03-17"/>
    <RoomStayCandidates>
        <RoomStayCandidate Quantity="2">
            <GuestCounts>
                <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
                <GuestCount AgeQualifyingCode="8" Age="3" Count="1"/>
                <GuestCount AgeQualifyingCode="8" Age="6" Count="1"/>
    "roomCount": 2,
    "checkIn": "2025-03-17",
    "checkOut": "2025-03-19",
    "adults": 4,
    "childrenAges": [3,6]
  • Q : How does the process of creating a reservation work using the API?
    A : Need to go through the process Search Availability > Prebook > Create reservation

  • Q : What is the character that supported in the PersonName object?
    A : In the PersonName object, we only support alphabetical character a-zA-Z. We are not allowing special character in this object.

  • Q : What is the character that supported in the PhoneNumber object?
    A : In the PhoneNumber object, we only support numeric character. The limit on this PhoneNumber is 7-18 characters.

  • Q : What is the character that supported in the Email object ?
    A : In the Email object, we only support character [a-zA-Z0-9_] or hyphens (-) or dot (.).

  • Q : What is the email that can be used in ContactPerson object
    A : We advice partner to use a generic email address in the ContactPerson as this email will be whitelisted in our side.

  • Q : What information that is need to be input in ContactPerson object
    A : We advice partner to use Affiliate Partner Customer Service Information (Name, Telephone, Email). Tiket is not expect Affiliate Partner to share the guest personal information in this object.

  • Q : What is the maximum character that supported in the SpecialRequest object?
    A : In the SpecialRequest object, the limit string that can be inputted is 2048 characters.

  • Q : What steps are involved in canceling a reservation through the API?
    A : Prior to initiating the cancellation API, ensure to verify the booking details to ascertain whether the booking permits refunds. In the event of a non-refundable booking, a rejection response will be returned. Additionally, confirm the applicable cancellation fee. If the reservation allows for refunds, utilize the "Cancel Order" API to proceed with the cancellation.

  • Q : Can you explain how the guest details are handled in the reservation process? What information is required for Adults, Children, and Infants?
    A : In the search API, it's essential to furnish guest details by defining the GuestCount element and employing the AgeQualifyingCode to distinguish between adults, children, and infants. When utilizing the "Create Order" API, comprehensive guest information is mandatory, encompassing guest name, type (adults, children, and infants), and guest age.

  • Q : Will Tiket.com send email to customer?
    A : Yes. If you opt to include customer email data when using the create booking API, Tiket.com will forward the hotel voucher to the specified email address.

  • Q : If Tiket.com sends the hotel voucher to the customer, will it display the Tiket.com logo?
    A : Yes. It will include Tiket.com's contact details, and Tiket.com will be the primary point of contact for customer service.

  • Q : In which timezone is the time stated in the cancellation policy information?
    A : It's hotel local timezone.

  • Q : How are cancellation rules determined for reservations made through Tiket.com?
    A : Cancellation rules determined individually by hotel, there are no specific cancellation rules that apply.

  • Q : Are the cancellation rules for reservations dependent on the settings of each individual hotel?
    A : Yes

Operation

  • Q : Does Tiket.com provide a Dashboard where I can check my transaction among other activities
    A : Yes, you can see your successful transaction to your affiliate dashboard that will be provided to you when you move to the Production Environment.

  • Q : What support options are available for Affiliate Partners in case they encounter technical issues during integration and post live or need assistance with the API?
    A : You may raise an issue ticket on the affiliate service desk here.