API Docs Logo

Globalnate

GLOBALNATE is a powerful platform developed for all DMC ravel Agencies and Tour Operators in the industry to deliver their products to a wider audience worldwide.

When you integrate with our API, you can provide your users with more alternatives by providing access to the products of all Tour Operators and OTAs through just one connection. This integration allows you to quickly receive and distribute all the products you will purchase in a single standard format.

Using the API, you can easily list, update and sell many travel-related products such as hotel reservations, holiday packages, transfer services. In addition, all our products are provided with the most up-to-date prices and the most accurate information in the industry. In this way, you will have all the necessary tools to offer your customers the best travel experience.

The integration process with Globalnate API is designed to be user-friendly at every level. Comprehensive documentation, support and sample codes are provided for developers, making every stage of integration easier. Thanks to its flexible structure, the API can work in harmony with different types of sales platforms and integrate with various data formats.

Globalnate, which is shaped according to the needs of the travel industry, will further facilitate your and your customers' business processes and gain competitive advantage.



Connectivity

In order to provide API access, you must first share your IP address with us. This allows us to restrict your API access only from certain IP addresses for security purposes. In order for your IP address to be identified, you must first become a Tournate user and register as a Tour Operator or DMC Agency customer.

After becoming a Tournate customer, you will be provided with the necessary API endpoints and user information. With this information, you can start your API access and integrate with the system. After sharing the relevant data, you can easily manage your access to the API and speed up your business processes.

You can use [email protected] address to help you.



Session Timeout

We have query and reservation periods for API and query restrictions for methods. For the production environment, your limit adjustments will be made according to your query performance during the certification process.

Test Environment

You can perform test development with the information in this section before receiving Live Environment information from Tournate DMC or Tour Operators.

TEST POST URL : https://core.globalnate.com/hotelbookings

TEST Swagger URL : https://core.globalnate.com/hotelbookings/swagger/index.html



Test Environment Credantial Details

You do not need IP for the test environment. But you do. RateLimit There is a limit of 25 requests in 10 seconds.

				{
				   "USERNAME": "B2CUSER",
				   "PASSWORD": "!1234*",
				   "MARKETCODE": "TOURNATEMARKET"
				}
              


Test Environment Parameters

Available Hotel Search Parameters


                          
Hotel CodeHotel NameCategoryCountryCityTown
ABASUIMADAbalu Suites Madrid* * * *SpainMadridCenter
ABRSUIG6J9Abracadabra Suıtes* * * * *SpainMadridCenter
ACREXESUIAcropolis Executive Suite* * * *GreeceAthensCenter
ACRPLASMAHOTANDSPAAcropolis Plaza Smart Hotel And Spa* * * *GreeceAthensCenter
ADAELILAR001Adalya Elite Lara* * * * *TurkiyeAntalya CityLara
ADAEVEHOTAdam & Eve Hotel* * * * *TurkiyeBelekBelek
ADOGOLRESHOTAdora Golf Resort Hotel* * * * *TurkiyeBelekBelek
AENSUPINNAenea Superior Inn* * *ItalyRomeCenter
AIRSTRVASHOTAirotel Stratos Vassilikos Hotel* * * *GreeceAthensCenter
AKKALIHOTAkka Alinda Hotel* * * * *TurkiyeKemerKemer
ALLWAYGARHOTLEIAll Ways Garden Hotel ; Leisure* * * *ItalyRomeCenter
ALLFORASANPIEBBAlle Fornaci A San Pietro B&B* * *ItalyRomeCenter
AMBHOTYI5QAmbrosia Hotel* * *GreeceAthensCenter
ANDSUIAPAAndromeda Suites & Apartments* * * *GreeceAthensCenter
APPPARHOTROMAppia Park Hotel Rome* * * *ItalyRomeCenter
AREHOTEMS4Arethusa Hotel* * *GreeceAthensCenter
ARMGULBEAArmas Gul Beach* * * * *TurkiyeKemerKemer
ARSHOTD65JArs Hotel* * * *ItalyRomaCenter
ASKLaska lara hotel* * * * *TurkiyeAntayaKundu
ASTPALROMAstoria Palace Rome* * *ItalyRomeCenter
ATHATRHOTSUIAthens Atrıum Hotel & Suıtes* * * *GreeceAthensCenter
ATHCENSQUHOTAthens Center Square Hotel* * *GreeceAthensCenter
ATHLOTAPAAthens Lotus Apartments* * * *GreeceAthensCenter
ATHMIRSAAthens Mirabello S.A.* * *GreeceAthensCenter
ATHSTASUIAthens Status Suites* * * *GreeceAthensCenter

Booking Flow

You can connect to our API using bearer authentication with the token generated after login. For each of our methods, you need to include the Token, which is returned in the login response, in the header of your requests.


1. HotelSearch

This method allows you to search for hotels according to certain criteria. Hotel options are listed with information such as destination, check-in and check-out dates and number of people received from the user.

2. HotelAvailability

It is used to check the availability of the selected hotel. Available room types, prices and other details for a specific hotel are retrieved by this method.

3. CreateReservation

The user creates a reservation for the selected hotel and room. Guest information and payment details are entered at this stage.

4. ConfirmBooking

It is used to confirm and finalise the reservation. In this step, the booking number and other confirmation information is received.

5. CancelBooking

If necessary, it is used to cancel an existing reservation. Cancellation is performed with the reservation number.

Booking Flow

Login

You can connect to our API using bearer authentication with the token generated after login. For each of our methods, you need to include the Token, which is returned in the login response, in the header of your requests.

USERNAME, PASSWORD and MARKETCODE information will be provided by Tournate Customer. This information will be used as authentication credentials required for the secure provision of your API access. After Tournate Customer generates this data, you can establish your connection to the API with the relevant access information.

POST URL : {{baseUrl}}/hotelbookings/Auth/Login

Mandatory Criteria

* USERNAME
* PASSWORD
* MARKETCODE

Request

  {
    "USERNAME": "***",
    "PASSWORD": "***",
    "MARKETCODE": "***"
  }
              

Response

  {
    "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9hdXRoZW50aWNhdGlvbiI6IkxvZ2luIiwiYWN0b3J0IjoiVG91cm5hdGUiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3VzZXJkYXRhIjoie1wiRW1haWxcIjpudWxsLFwiUGhvbmVcIjpudWxsLFwiTmFtZVwiOlwiQjJCVVNEVVNFUlwiLFwiUGFzc3dvcmRcIjpudWxsLFwiQnVzaW5lc3NOYW1lXCI6XCJCMkJVU0RBR0VOQ1lcIixcIkNyZWF0aW9uRGF0ZVwiOlwiMjAyNS0wMi0xOFQxMzo1MjoxMy42MjdcIixcIkFuYU1hcmtldElkXCI6MjIsXCJVc2VySWRcIjowLFwiQnVzaW5lc3NJZFwiOjAsXCJCdXNpbmVzc0N1cnJlbmN5SWRcIjoyNCxcIkxhbmd1YWdlSWRcIjoxMixcIkxhbmd1YWdlXCI6XCJlblwiLFwiQ3VycmVuY3lOYW1lXCI6XCJVU0RcIixcIk1hcmtldENvZGVcIjpcIlVTRE1BUktFVFwiLFwiaXNGRmFtaWx5U2hvd1wiOmZhbHNlLFwiaXNBY2Nlc3NUb3VybmF0ZVwiOmZhbHNlLFwiS0tcIjpudWxsLFwiQ1ZcIjpudWxsLFwic2Vzc2lvbklkXCI6MTY2MyxcImlzRkZhbWlseURlc2NyaXB0aW9uU2hvd1wiOmZhbHNlLFwiRXhwaXJlZERhdGVcIjpcIjAwMDEtMDEtMDFUMDA6MDA6MDBcIixcIlBheW1lbnRUeXBlXCI6WzBdLFwiQ0JUVXNlclwiOm51bGx9IiwibmFtZWlkIjoiQjJCVVNEVVNFUiIsImFnZW5jeSI6IkIyQlVTREFHRU5DWSIsInVzZXJuYW1lIjoiQjJCVVNEVVNFUiIsIm1hcmtldGlkIjoiMjIiLCJsb2dpbmRhdGUiOiIyMDI1MDQwMzIxMDQwNzMxMCIsInNlc3Npb25pZCI6IjE2NjMiLCJuYmYiOjE3NDM3MDM0NDcsImV4cCI6MTc0MzcwNTI0NywiaWF0IjoxNzQzNzAzNDQ3LCJpc3MiOiJodHRwOi8vd3d3LnRvdXJuYXRlLmNvbSIsImF1ZCI6Imh0dHA6Ly93d3cudG91cm5hdGV3cy5jb20ifQ.3x_A89-OBCQwgJNIHpP-hDBAK9Bot6vUWSNeFlJPvuA",
    "SessionId": 1663,
    "ExpiresDate": "2025-04-03T18:19:07.4312873Z"
}
  }
              

Destination Search

You can get the list of all registered destinations with a single qu

You can also specify a number in the query. You can send Count = 10000.

POST URL: {{baseUrl}}/hotelbookings/Hotel/DestinationSearch

The inCity and inTown information in the response message is used as DestinationType = ‘CITY’ and DestinationType = ‘TOWN’ values in the Hotel Search Request model.

Request Sample for All Destination

{
  "Type": "All"
}
              

Response

{
  "Success": false,
  "Data": {
    "HotelDestinations": [
      {
        "DestinationType": "COUNTRY",
        "DestinationCode": "TR",
        "ID": 1,
        "Name": "Türkiye",
        "inCountry": 0,
        "inCity": 0,
        "inTown": 0,
        "stURL": "turkiye"
      },
{
        "DestinationType": "CITY",
        "DestinationCode": "7",
        "ID": 7,
        "Name": "Antalya",
        "inCountry": 1,
        "inCity": 0,
        "inTown": 0,
        "stURL": "antalya"
      },
{
        "DestinationType": "TOWN",
        "DestinationCode": "177",
        "ID": 177,
        "Name": "Belek",
        "inCountry": 0,
        "inCity": 7,
        "inTown": 0,
        "stURL": "belek"
      },
{
        "DestinationType": "HOTEL",
        "DestinationCode": "ORACOURESHOTKEM",
        "ID": 29968,
        "Name": "Orange County Resort Hotel Kemer",
        "inCountry": 1,
        "inCity": 7,
        "inTown": 199,
        "stURL": "orange-county-resort-hotel-kemer"
      }
 ]
  }
}
              

GetHotelInfo

It is used to get the information of a specific hotel or more than one hotel. The HotelCodes parameter represents the unique identification number of each hotel in the system. The request usually expects a response to the API with information such as the hotel's name, address, number of stars, amenities (pool, restaurant, spa, etc.).

POST URL : {{baseUrl}}/hotelbookings/Hotel/GetHotelInfo

Mandatory Criteria

* PartialGuid
* HotelCodes

Optional Criteria

* HotelInfoType

Request

    {
        "PartialGuid": "{{partialGuid}}",
  "HotelCodes": [
        "1DIOFBOD",
        "1GRBLUSKY"
  ],
  "HotelInfoType": [
    25,
    3
  ],
  "Language": "EN"
    }
                

Response

    {
        "Success": true,
        "Data": [
            {
                "Market": 22,
                "inID": 1690,
                "stCode": "1DIOFBOD",
                "inOrder": 0,
                "stName": "DIAMOND OF BODRUM",
                "ClassCode": 0,
                "Recommend": true,
                "stars": 0,
                "ContentImage": [],
                "IconList": [],
                "Coordinat": "-3,713693&40,412353",
                "Country_Name": "TURKEY",
                "City_Name": "MUGLA",
                "Town_Name": "BODRUM",
                "Country": 227,
                "City": 7792,
                "Town": 42,
                "FacilityList": []
            },
            {
                "Market": 22,
                "inID": 1737,
                "stCode": "1GRBLUSKY",
                "inOrder": 0,
                "stName": "GRAND BLUE SKY",
                "ClassCode": 0,
                "Recommend": true,
                "stars": 0,
                "ContentImage": [],
                "IconList": [],
                "Coordinat": "3,435678&35,231455",
                "Country_Name": "TURKEY",
                "City_Name": "AYDİN",
                "Town_Name": "KUŞADASI",
                "Country": 227,
                "City": 7773,
                "Town": 54,
                "FacilityList": []
            }
        ]
    }
                

GetHotelsCode

The GetHotelsCode method lists the codes of all available hotels, allowing the user to easily review the availability of hotels. This method is used for quick access to detailed information of hotels.

It helps you to query the content and prices of available hotels.

For GetHotelCodes, it is enough to send a request without parameters.

POST URL : {{baseUrl}}/hotelbookings/Hotel/GetHotelsCode

Request

  {
    {{baseUrl}}/hotelbookings/Hotel/GetHotelsCode
  }
              

Response

  {
    "Success": false,
    "Data": [
        "1DIOFBOD",
        "1GRBLUSKY",
        "1MAWORDID",
        "YELMANSPAWEL",
        "YUNUS"
    ]
  }
              

HotelAvailability

HotelAvailability is a critical API method used to check whether the hotels users have pre-selected are still available in real-time. This step aims to verify the current availability before proceeding to the final stage of the booking.

POST URL : {{baseUrl}}/hotelbookings/Hotel/HotelAvailability

Each offer returned from the HotelSearch method contains its own ProductId. When the user selects a room, this ProductId is sent to the HotelAvailability method for instant availability check. At the same time, the PartialGuid value associated with the relevant session is added to the request.

Mandatory Criteria

* ProductId
* PartialGuid

Request

  {
    "ProductId": "{{productId}}",
    "PartialGuid": "{{partialGuid}}"
  }
              

Response for Success

"Success": true in the response returned from the HotelAvailability method indicates that the system has successfully checked the availability of the relevant product and that the product is still bookable. This means that technically everything went well and makes it possible to proceed to the next step in the user experience.

  {
  "Message": "Success",
  "RecordCount": 1,
  "Success": true,
  "ErrorMessage": "",
  "Status": "string",
  "Data": {
    "IfSucces": true,
    "CancellationPolicies": {
      "CancelPolicies": [
        {
          "Amount": 100,
          "Currency": "EUR",
          "Date": "2025-06-06T00:00:00.000Z"
        }
      ]
    },
    "Surcharges": [
      {
        "Code": "string",
        "Type": "string",
        "Mandatory": true,
        "Description": "TouristTax",
        "Price": 12,
        "Currency": "EUR"
      }
    ]
  }
}
              

Create Reservation

Create Reservation allows reservation information to create a reservation quickly and securely.

POST URL: {{ baseUrl/hotelbookings/Reservation/CreateBooking

Mandatory Criteria

* PartialGuid
* ProductIds
* PaxInfo
* BillingInfo

PaxInfo Mandatory Criteria

* SequenceNo
* FirstName
* LastName
* Type (ADT, CHD)
* Email (SequenceNo = 1 Mandatory)
* Gender (F or M)
* BirthDate (YYYY-MM-DD)

BillingInfo Mandatory Criteria

* CountryCode (Country ISO-2)
* Phone
* Address_Detail
* Email
* IfCompany (Personal Invoice = False)

If the invoice information will be Company, IfCompany = True must be sent. In this case, TaxNo and TaxOffice fields must also be sent.

Request

 {
  "ProductIds": [
    "{{productId
                      }}"
                      ],
                      "PartialGuid": "{{partialGuid}}",
                      "PaxInfo": [
                      {
                      "Id": "73b65e7f-841c-4f52-b919-020a0948d610",
                      "SequenceNo": 1,
                      "FirstName": "TEST A",
                      "LastName": "TOURNATE",
                      "MiddleName": "",
                      "Type": "ADT",
                      "Email": "[email protected]",
                      "Phone": "3415990",
                      "LoyaltyCards": "",
                      "LoyaltyCarrier": "",
                      "CountryPhoneCode": "90",
                      "CityPhoneCode": "532",
                      "PhoneNo": "1234567",
                      "CitizenNo": "60892341698",
                      "PassportNo": "",
                      "Passportserial": "",
                      "PassportissueDate": "2024-11-17T22:26:07.9521863Z",
                      "PassportendDate": "2025-11-17T22:26:07.9521864Z",
                      "PassportcitizenhipCountry": "",
                      "PassportissueCountry": "",
                      "Nationality": "TR",
                      "BirthDate": "1980-10-22",
                      "Gender": "M",
                      "TempTag": "",
                      "IfContact": true,
                      "Address": "Test Mah",
                      "City": "",
                      "Town": "",
                      "PostalCode": ""
                      },
                      {
                      "Id": "73b65e7f-841c-4f52-b919-020a0948d610",
                      "SequenceNo": 2,
                      "FirstName": "TEST B",
                      "LastName": "TOURNATE",
                      "MiddleName": "",
                      "Type": "ADT",
                      "Email": "[email protected]",
                      "Phone": "3415990",
                      "LoyaltyCards": "",
                      "LoyaltyCarrier": "",
                      "CountryPhoneCode": "90",
                      "CityPhoneCode": "532",
                      "PhoneNo": "1234567",
                      "CitizenNo": "60892341698",
                      "PassportNo": "",
                      "Passportserial": "",
                      "PassportissueDate": "2024-11-17T22:26:07.9521863Z",
                      "PassportendDate": "2025-11-17T22:26:07.9521864Z",
                      "PassportcitizenhipCountry": "",
                      "PassportissueCountry": "",
                      "Nationality": "TR",
                      "BirthDate": "1980-10-22",
                      "Gender": "M",
                      "TempTag": "",
                      "IfContact": false,
                      "Address": "Test Mah",
                      "City": "",
                      "Town": "",
                      "PostalCode": ""
                      }
                      ],
                      "BillingInfo": {
                      "BillingName": "Tournate Test",
                      "Address_District": "ANTALYA",
                      "Address_City": "ANTALYA",
                      "Address_Detail": "Etiler",
                      "Address_ZipCode": "07010",
                      "TaxNo": "12345",
                      "TaxOffice": "ANTALYA",
                      "IfCompany": false,
                      "Email": "[email protected]",
                      "Phone": "+20(540)123-4567",
                      "CountryCode": "TR"
                      }
                      }
                      

Response

With the message Success: true you can find the booking number by the Provider with VoucherNo. You should keep the ShoppingFile.Id field as it will be used in your next transactions.

  {
    "Success": true,
    "Data": {
        "ShoppingFile": {
            "Id": "132a0d4a-4322-417c-8240-d443b5d2845e",
            "BookingNo": 350,
            "VoucherNo": "TP10000148",
            "IsPriceChanged": false,
            "IsDynamic": false,
            "IsReservationCancelled": false,
            "LastTransactionId": "00000000-0000-0000-0000-000000000000",
            "LastTransactionDate": "0001-01-01T00:00:00",
            "CreationDate": "2025-04-03T21:11:38.2400252+03:00",
            "TimeZone": "00:00:00",
            "Customer_BusinessId": 0,
            "HotelBookings": [
                {
                    "CheckInDate": "2025-06-09T00:00:00",
                    "CheckOutDate": "2025-06-16T00:00:00",
                    "HotelId": "ARKSUIAPA",
                    "HotelName": "MIXX - ARK SUITE APART ",
                    "HotelStar": "Apart",
                    "Latitude": 0.000000,
                    "Longitude": 0.000000,
                    "LocalCityName": "Antalya",
                    "LocalTownName": "Alanya",
                    "Night": 7,
                    "CityId": 384,
                    "TownId": 34,
                    "Rooms": [
                        {
                            "AccId": "1",
                            "AdultCount": 2,
                            "ChildCount": 0,
                            "ChildAges": "",
                            "HotelId": "ARKSUIAPA",
                            "HotelName": "MIXX - ARK SUITE APART ",
                            "BoardId": "4",
                            "BoardName": "Room Only",
                            "MaleControl": false,
                            "RoomId": "2802",
                            "RoomName": "APART ROOM / 1 LIVING ROOM 1 BEDROOM",
                            "AvailRoomCount": 100,
                            "RoomCount": 0,
                            "SalePrice": 10244.724,
                            "ProductId": "1f9cb4ea-dd16-477e-933d-ea4901611418",
                            "Currency": "TRY",
                            "ContractId": 556,
                            "GrossPrice": 10244.724,
                            "CommissionAmount": 0.0,
                            "CommissionPercent": 0.0,
                            "CommissionPercentEB": 0.0,
                            "CommissionAmountEB": 0.0,
                            "StopSale": false,
                            "Release": false,
                            "AskSale": false,
                            "DailyPrices": [
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-09T00:00:00"
                                },
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-10T00:00:00"
                                },
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-11T00:00:00"
                                },
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-12T00:00:00"
                                },
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-13T00:00:00"
                                },
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-14T00:00:00"
                                },
                                {
                                    "SaleAmount": 1463.532,
                                    "Date": "2025-06-15T00:00:00"
                                }
                            ],
                            "CancellationPolicies": [],
                            "No": 194
                        }
                    ],
                    "ifReservationEnabled": false,
                    "BuyingAgencyBaseFare": 0.0,
                    "BuyingCurrency": "TRY",
                    "BookingItems": [
                        {
                            "PaxReference": {
                                "PassengerId": "b3328b4d-5b4f-4bb8-8eea-7f261fbaf0f9",
                                "LocalSequenceNo": 1,
                                "LocalPaxType": "ADT",
                                "PaxReferenceId": "f2f8a5e8-6f33-4ae7-ae70-3b9a47f7f3d8",
                                "Age": 0
                            },
                            "BaseFare_Discount": 0.0,
                            "ServiceFee_Discount": 0.0,
                            "Taxes_Discount": 0.0,
                            "ProductItemId": "5a477de0-9cd9-4614-b95d-cec56fbf568a",
                            "Currency": "TRY",
                            "BaseFare": 5122.36,
                            "Taxes": 0.0,
                            "ServiceFee": 0.0,
                            "LastSellerCommission": 0.0,
                            "TotalFare": 5122.36,
                            "NetFare": 5122.36,
                            "IsRefundDraft": false,
                            "IsRefundPerformed": false,
                            "IsRefundWaitingOffer": false,
                            "IsRefundWaitingFinalization": false,
                            "IsReissue": false
                        },
                        {
                            "PaxReference": {
                                "PassengerId": "00000000-0000-0000-0000-000000000000",
                                "LocalSequenceNo": 2,
                                "LocalPaxType": "ADT",
                                "PaxReferenceId": "b825cc31-2c49-4ec5-b151-20a6d6508212",
                                "Age": 0
                            },
                            "BaseFare_Discount": 0.0,
                            "ServiceFee_Discount": 0.0,
                            "Taxes_Discount": 0.0,
                            "ProductItemId": "24e382ed-be48-4781-bd93-647a05cee055",
                            "Currency": "TRY",
                            "BaseFare": 5122.36,
                            "Taxes": 0.0,
                            "ServiceFee": 0.0,
                            "LastSellerCommission": 0.0,
                            "TotalFare": 5122.36,
                            "NetFare": 5122.36,
                            "IsRefundDraft": false,
                            "IsRefundPerformed": false,
                            "IsRefundWaitingOffer": false,
                            "IsRefundWaitingFinalization": false,
                            "IsReissue": false
                        }
                    ],
                    "BaseFare_Discount": 0.0,
                    "ServiceFee_Discount": 0.0,
                    "Taxes_Discount": 0.0,
                    "ProductId": "1f9cb4ea-dd16-477e-933d-ea4901611418",
                    "Currency": "TRY",
                    "BaseFare": 10244.72,
                    "Taxes": 0.0,
                    "ServiceFee": 0.0,
                    "LastSellerCommission": 0.0,
                    "TotalFare": 10244.72,
                    "NetFare": 0.0,
                    "Status": "10",
                    "Type": "2",
                    "ProviderId": 0,
                    "IsRefundable": false
                }
            ],
            "Currency": "TRY",
            "GrandTotal": 10244.72,
            "RemainingSum": 10244.72,
            "GetPlaceIds": [
                {
                    "Name": "MIXX - ARK SUITE APART ",
                    "Type": "HOTEL",
                    "Code": "ARKSUIAPA"
                }
            ],
            "Passengers": [
                {
                    "Id": "48d2f06d-2ee1-49d2-b764-cdf17b96939f",
                    "SequenceNo": 1,
                    "FirstName": "Test A",
                    "LastName": "Tournate",
                    "MiddleName": "",
                    "Type": "ADT",
                    "Email": "[email protected]",
                    "CountryPhoneCode": "90",
                    "CityPhoneCode": "532",
                    "PhoneNo": "1234567",
                    "CitizenNo": "60892341698",
                    "PassportNo": "",
                    "Passportserial": "",
                    "PassportissueDate": "2024-11-17T22:26:07.9521863Z",
                    "PassportendDate": "2025-11-17T22:26:07.9521864Z",
                    "PassportcitizenhipCountry": "",
                    "PassportissueCountry": "",
                    "Nationality": "TR",
                    "BirthDate": "1980-10-22",
                    "Gender": "M",
                    "IfContact": true
                },
                {
                    "Id": "b3328b4d-5b4f-4bb8-8eea-7f261fbaf0f9",
                    "SequenceNo": 2,
                    "FirstName": "Test B",
                    "LastName": "Tournate",
                    "MiddleName": "",
                    "Type": "ADT",
                    "Email": "[email protected]",
                    "CountryPhoneCode": "90",
                    "CityPhoneCode": "532",
                    "PhoneNo": "1234567",
                    "CitizenNo": "60892341698",
                    "PassportNo": "",
                    "Passportserial": "",
                    "PassportissueDate": "2024-11-17T22:26:07.9521863Z",
                    "PassportendDate": "2025-11-17T22:26:07.9521864Z",
                    "PassportcitizenhipCountry": "",
                    "PassportissueCountry": "",
                    "Nationality": "TR",
                    "BirthDate": "1980-10-22",
                    "Gender": "M",
                    "IfContact": false
                }
            ],
            "BillingInformation": {
                "BillingName": "TOURNATE TEST",
                "Address_District": "ANTALYA",
                "Address_City": "ANTALYA",
                "Address_Detail": "ETILER",
                "Address_ZipCode": "07010",
                "TaxNo": "12345",
                "TaxOffice": "ANTALYA",
                "IfCompany": false,
                "Email": "[email protected]",
                "CountryCode": "TR"
            }
        },
        "PartialGuid": "0a0c9862-c52f-48b1-bbb3-d0f761794e59",
        "LastAllocatedProductIds": [
            "1f9cb4ea-dd16-477e-933d-ea4901611418"
        ]
    }
}
              

Confirm Booking

POST URL : {{baseUrl}}/hotelbookings/Reservation/ConfirmBooking

Mandatory Criteria

* PartialGuid
* ShoppingFileId (Same as CreateReservation ShoppingFile.id)
* Amount (*****)

Request

    {
  "ShoppingFileId": "{{shoppingfileid}}",
  "PartialGuid": "{{partialGuid}}",
  "Amount": "{{Amount}}"
}
                

Response

   {
  "Message": "",
  "RecordCount": 0,
  "Success": true,
  "ErrorMessage": "string",
  "Status": "string",
  "Data": {
    "VoucherNo": "string",
    "Status": "string"
  }
}
                

Booking List

BookingList returns the complete list of your reservations. You can view reservations with statuses such as Confirmed, Requested, and Canceled.
The DateType parameter accepts two values: "Booking" (based on booking date) and "Arrival" (based on arrival date).
The maximum allowed date range for a single request is 30 days.
To view detailed information for a specific reservation, use the VoucherNo returned in the BookingList response with the BookingDetail endpoint.

POST URL : {{baseUrl}}/hotelbookings/Reservation/BookingList

Mandatory Criteria

The DateType parameter accepts two values: "Booking" (based on booking date) and "Arrival" (based on arrival date)

* DateType (Arrival or Booking)
* StartDate
* EndDate

Optional Criteria

* HotelCode

Request Sample by Arrival

Displays a list of reservations based on the arrival (check-in) date.

    {
  "DateType": "Arrival",
  "StartDate": "2025-03-01",
  "EndDate": "2025-03-31"
}
                

Request Sample by Booking (Register Á Sale Date)

Displays a list of reservations based on the Booking (Sale Date) date.

    {
  "DateType": "Booking",
  "StartDate": "2025-03-01",
  "EndDate": "2025-03-31"
}
                

Request Sample by Hotel List

Displays a list of reservations by Booking (Register & Sale Date) or Arrival (Check-In) date and by hotel.

 {
  "DateType": "Booking",
  "StartDate": "2025-03-01",
  "EndDate": "2025-03-31",
  "HotelCodes": [
    "ACARESHOTCONSPA"
  ]
}
                

Response

{
  "Success": true,
  "Data": [
    {
      "VoucherNo": "TN0000564",
      "ReservationType": 0,
      "ReservationConfirmStatus": "Confirmed",
      "ReservationStatus": "New",
      "ReservationLockStatus": "UnLocked",
      "BookingDate": "2025-03-08T09:54:09.68",
      "ReservationCheckInDate": "2025-07-08T00:00:00",
      "ReservationCheckOutDate": "2025-07-15T00:00:00",
      "GuestLeaderName": "Noname NONAME",
      "GuestEmail": "[email protected]",
      "GuestPhone": "+13241234",
      "BookingConfirmationDate": "2025-05-21T10:25:23.94",
      "RoomCount": 1,
      "AdultCount": 2,
      "ChildCount": 0,
      "InfantCount": 0,
      "TotalPax": 2,
      "TotalNight": 7,
      "SupplierHotelCode": "ACARESHOTCONSPA",
      "SupplierHotelName": "Acapulco Resort Hotel & Convention & SPA",
      "SupplierHotelCity": "Girne",
      "SupplierHotelTown": "Girne",
      "Pansion": "Ultra Her Şey Dahil",
      "Room": "Deluxe Room",
      "ReservationTotalPaidAmount": 0,
      "ReservationTotalSaleAmount": 4560,
      "ReservationBalanceAmount": 4560,
      "Currency": "EUR",
      "AgencyCommitionPercent": 11,
      "AgencyCommitionAmount": 501.6
    },
    {
      "VoucherNo": "TN0000565",
      "ReservationType": 0,
      "ReservationConfirmStatus": "Request",
      "ReservationStatus": "New",
      "ReservationLockStatus": "UnLocked",
      "BookingDate": "2025-03-08T12:17:21.197",
      "ReservationCheckInDate": "2025-06-01T00:00:00",
      "ReservationCheckOutDate": "2025-06-08T00:00:00",
      "GuestLeaderName": "Noname NONAME",
      "GuestEmail": "[email protected]",
      "GuestPhone": "+1111111",
      "RoomCount": 1,
      "AdultCount": 2,
      "ChildCount": 0,
      "InfantCount": 0,
      "TotalPax": 2,
      "TotalNight": 7,
      "SupplierHotelCode": "ACAHOT04N0",
      "SupplierHotelName": "Acar Hotel",
      "SupplierHotelCity": "Antalya",
      "SupplierHotelTown": "Alanya",
      "Pansion": "Her Şey Dahil",
      "Room": "Standard Room",
      "ReservationTotalPaidAmount": 0,
      "ReservationTotalSaleAmount": 646.4,
      "ReservationBalanceAmount": 646.4,
      "Currency": "EUR",
      "AgencyCommitionPercent": 11,
      "AgencyCommitionAmount": 71.1
    }
  ]
}
                

Booking Detail

POST URL : {{baseUrl}}/hotelbookings/Reservation/BookingDetail

Mandatory Criteria

* VoucherNo (Confirm Booking Response ShoppingFile.VoucherNo)

Request

{
  "VoucherNo": "string",
}
                

Response

   {
  "Success": true,
  "Data": {
    "VoucherNo": "TN0000564",
    "AgencyCode": "B2CAGENCY",
    "ReservationPassword": "748998",
    "CheckInDate": "2025-07-08T00:00:00",
    "CheckOutDate": "2025-07-15T00:00:00",
    "RegisterDate": "2025-03-08T09:54:09.68",
    "TotalPrice": 4560,
    "Balance": 0,
    "CurrencySymbol": "€",
    "CurrencyName": "EUR",
    "ReservationStatus": "Confirmed",
    "CreatedUser": "B2CUSER",
    "Paxes": [
      {
        "OrderNo": 1,
        "RoomOrder": 1,
        "PaxId": 4621,
        "FirstName": "Noname",
        "LastName": "NONAME",
        "FullName": "Noname  NONAME",
        "BirthDate": "1995-03-08T00:00:00",
        "Age": 30,
        "IsLeader": true,
        "PhoneNumber": "+13241234",
        "Email": "[email protected]",
        "IdendityNumber": "0",
        "SexType": "MR"
      },
      {
        "OrderNo": 2,
        "RoomOrder": 1,
        "PaxId": 4622,
        "FirstName": "Noname",
        "LastName": "NONAME",
        "FullName": "Noname  NONAME",
        "BirthDate": "1995-03-08T00:00:00",
        "Age": 30,
        "IsLeader": false,
        "IdendityNumber": "0",
        "SexType": "MRS"
      }
    ],
    "Products": [
      {
        "RoomOrder": 1,
        "ProductCode": "ACARESHOTCONSPA",
        "ProductName": "Acapulco Resort Hotel & Convention & SPA (Ultra All Inclusive - 1 Deluxe Room)",
        "ProductType": "Hotel",
        "CheckInDate": "2025-07-08T00:00:00",
        "CheckOutDate": "2025-07-15T00:00:00",
        "Currency": "EUR",
        "Amount": 4560,
        "ProductPaxes": [
          {
            "PaxId": 4621,
            "Amount": 2280
          },
          {
            "PaxId": 4622,
            "Amount": 2280
          }
        ]
      }
    ],
    "ReservationPaymentDetails": []
  }
}
                

Cancel Fee

This method response the applicable cancellation fee for a reservation based on the provided Voucher No.
It is used to check the penalty amount before completing the cancellation process.

POST URL : {{baseUrl}}/hotelbookings/Reservation/CancelFee

Mandatory Criteria

* VoucherNo (Confirm Booking Response ShoppingFile.VoucherNo)

Request

{
  "VoucherNo": "string",
}
                

Response

{
  "Success": true,
  "Data": {
    "Amount": 100,
    "Currency": "EUR",
    "Date": "2025-05-31T00:00:00"
  }
}
                

Cancel Booking

After retrieving the cancellation fee using the Cancel Fee method, the reservation can be cancelled accordingly if the conditions are accepted.

POST URL : {{baseUrl}}/hotelbookings/Reservation/CancelBooking

Mandatory Criteria

* VoucherNo (Confirm Booking Response ShoppingFile.VoucherNo)

Request

{
  "VoucherNo": "string",
}
                

Response

*** Penalty Amount and Success Message.

{
{
  "Message": "string",
  "RecordCount": 0,
  "Success": true,
  "ErrorMessage": "string",
  "Status": "string",
  "Data": true
}