Table of contents:
Introduction
Use cases
Methods available
Table of parameters
Examples:
Petition (POST)
In this article we talk about API requests related to Bookings.
Processing a booking:
The endpoint is responsible for verifying the creation/update of the reservation in question, as well as the stays, associated contacts.
It is necessary that the apiuser have permission."Bookings" to use this endpoint.
The endpoint we use is: https://app.hoteldatahub.io/api/v1/bookings/
The Swagger section is: https://app.hoteldatahub.io/swagger/#/bookings
Create and update a booking with stays and guests information.
Post: https://app.hoteldatahub.io/api/v1/bookings/
Booking:
Key | Type | mandatory | Description |
hotel_chain | String | Yes | Code of the company. Provided by HotelDataHub. |
external_object_id | String | Yes | External ID of the reservation at HotelDataHub |
date | Datetime Yyyyy-mm-ddthh:mm:ss | Yes | Date of creation |
entrance | Date YYYY-MM-DD | Yes | Date of entry |
departure | Date YYYY-MM-DD | Yes | Date of departure |
localizer | String | Yes | Locator |
hotel | Integer | Yes | The hotel identifier. Provided by HotelDataHub. |
agency | String | No | Name of agency |
amount | Float | No | Total amount. |
currency | String | No | Currency inIso 4217 |
status | Integer | No | State:
|
input_channel | Integer | No | Entrance channel of movement
|
regime | String | No | Name of type of regimen |
room_type | String | No | Name of room type |
fare_type | String | No | Name of rate type |
offer | String | No | Name of the offer |
event_type | String | No | Name of type of event |
package | String | No | Name of the Package |
category | String | No | Name of category (segment) |
url | String (max. 2048 characters) | No | Allows you to send a URL associated with the reservation. |
notes | String (max. 1024 characters) | No | Comments on the reservation |
stays | List[Stay] | Yes | See Stay table below |
Key | Type | mandatory | Description |
hotel_chain | String | Yes | Code of the company. Provided by HotelDataHub. |
external_object_id | Integer | Yes | Identifier at HotelDataHub |
date | Datetime Yyyyy-mm-ddthh:mm:ss | Yes | Date of creation |
entrance | Date YYYY-MM-DDD | Yes | Date of entry |
departure | Date YYYY-MM-DDD | Yes | Date of departure |
localizer | String | Yes | Locator |
Hotel | Integer | Yes | The hotel identifier. Provided by HotelDataHub. |
agency | String | No | Name of agency |
amount | Float | No | Total amount. |
currency | String | No | Currency inIso 4217 |
status | Integer | No | State of the Movement
|
room_number | String | No | Room number |
adults | Integer | No | Number of adults in the movement |
Juniors | Integer | No | Number of Juniors in the Movement |
children | Integer | No | Number of children in the movement |
babies | Integer | No | Number of babies in movement |
regime** | String | No | Name of type of regimen |
room_type** | String | No | Name of room type |
fare_type** | String | No | Name of rate type |
offer** | String | No | Name of the offer. |
event_type** | String | No | Name of type of event |
package** | String | No | Name of the Package |
category** | String | No | Name of category (segment). |
url | String (max. 2048 characters) | No | Allows to send a URL associated with the stay |
notes | String (max. 1024 characters) | No | Comments on the stay |
guests | List[guest] | Yes | View guest table below |
** Fields already present in the booking with the same value in the stay can be omitted, thus the stay will infer these values from the booking.
Guest:
Key | Type | mandatory | Description |
String | Yes | Unique field in the Fideltour DB, used as a guest identifier. | |
external_object_id | String | No | External identifier of the guest |
is_owner | Boolean | No | Indicates whether the main guest of the reservation |
name | String | No | Name |
surname | String | No | Surnames |
phone | String | No | Telephone |
birthday | Date YYYY-MM-DDD | No | Date of birth |
gender | Integer | No | Gender:
|
address | String | No | Address |
post_code | String | No | Postal Code |
zone | String | No | Name of the area. |
town | String | No | Name of the city. |
province | String | No | Name of the province |
country | String | No | |
language | String | No | |
identification_document_type | Numeric | No | Type of identity document.
|
identification_number | String | No | Number of identity document. |
business_name | String | No | Name of the company |
work_place | String | No | Business Charge |
business_address | String | No | Address of company |
fiscal_address | String | No | Fiscal Directorate |
notes | String | No | Notes |
custom_tags | List of Strings | No | Listing made up of label names |
subscribed | Boolean | No | Indicates if the contact is subscribed to commercial communications.
|
Below is an example of reservation processing:
Protocol: http/1.1
Method: Post
Host/ENDPOINT:https://app.hoteldatahub.io/api/v1/contacts/
Headers:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: an example is added below.
{
"hotel": "2293",
"hotel_chain": "6NOK",
"date": "2025-11-27T10:08:08",
"entry": "2026-10-02",
"Departure": "2026-10-04",
"localizer": "91764088833/6",
"external_object_id": "12345726",
"agency": "Testing company",
Offer: Black Friday.
"Category": "Consumerists"
"amount": 280,
"currency": "EUR",
"input_channel": 4,
"Status": 2,
"stays": [
{
"entry": "2026-10-02",
"Departure": "2026-10-04",
"localizer": "91764088833/6",
"externa_object_id": "123456112",
"amount": 280,
"currency": "EUR",
"room_number": "0A Double 2 beds",
"room_type": "Double room",
"Regime": "Accommodation",
"Adults": 2,
"Childs": 0,
"Status": 2,
"Guests": [
{
"id": 3183465,
"name": "BETTINA",
"is_owner":true,
"surname": "STROBEL",
"Email": "bettinastrobel@web.de"
"phone": "0049772691980",
"Gender": 2,
"language": "is",
Birthdate: "1990-12-12",
"post_code": "07009",
"Notes": "
"country": "ESP",
"custom_tags": [],
"subscribed": false,
"is_active": true
}
]
}
]
}