Bookings

Table of Contents

Introduction

This article covers the API requests related to Bookings.

Processing a booking

The endpoint handles the creation/update of the booking in question, as well as its stays and associated contacts.

The API user needs the "bookings" permission to use this endpoint.

  • Endpoint: https://app.hoteldatahub.io/api/v1/bookings/
  • Swagger: https://app.hoteldatahub.io/swagger/#/bookings

Use cases

The booking management endpoint is very useful for bringing new bookings into Fideltour from different sources. For bookings that already exist, it lets you enrich the information in their record, improving the quality of the database. Multiple data sources let you gather different information that is then centralized in Fideltour.

Available methods

Method Endpoint
POST https://app.hoteldatahub.io/api/v1/bookings/

Parameter table

Booking

Key Type Required Description
hotel_chain String Yes Company code. Provided by HotelDataHub.
external_object_id String Yes External identifier of the booking in HotelDataHub
date Datetime (YYYY-MM-DDTHH:MM:SS) Yes Creation date
entrance Date (YYYY-MM-DD) Yes Check-in date
departure Date (YYYY-MM-DD) Yes Check-out date
localizer String Yes Localizer
hotel Integer Yes Hotel identifier. Provided by HotelDataHub.
agency String No Agency name
amount Float No Total amount
currency String No Currency in ISO 4217
status Integer No Status:
1 = Voided
2 = Confirmed
3 = Pending
4 = Cancelled
5 = No show
6 = Modified
7 = Quote
8 = Stay
9 = Departure
input_channel Integer No Input channel of the movement:
0 = Phone
1 = Web
2 = App
3 = Wifi
4 = PMS
5 = API
6 = Import
7 = BE
8 = Chatbot
9 = Concierge
10 = Call center
11 = IBE (ad-hoc BE)
12 = Channel manager
14 = PMS Restaurant
15 = PMS Spa
17 = BE Restaurant
18 = BE Spa
19 = Connector HUB
20 = Digital key platform
21 = Corporate CRM
22 = Social media form
regime String No Name of the meal plan
room_type String No Name of the room type
fare_type String No Name of the rate type
offer String No Name of the offer
event_type String No Name of the event type
package String No Name of the package
category String No Name of the category (segment)
url String (max. 2048 characters) No Lets you send a URL associated with the booking
notes String (max. 1024 characters) No Comments about the booking
tags List[String] No List of tags associated with the booking
stays List[Stay] Yes See the Stay table below
extras List[Extra] No See the Extra table below

Stay

Note: For convenience, fields already present in the booking with the same value in the stay can be omitted; the stay will then inherit those values from the booking.

Key Type Required Description
hotel_chain String Yes Company code. Provided by HotelDataHub.
external_object_id Integer Yes Identifier in HotelDataHub
date Datetime (YYYY-MM-DDTHH:MM:SS) Yes Creation date
entrance Date (YYYY-MM-DD) Yes Check-in date
departure Date (YYYY-MM-DD) Yes Check-out date
localizer String Yes Localizer
hotel Integer Yes Hotel identifier. Provided by HotelDataHub.
agency String No Agency name
amount Float No Total amount
currency String No Currency in ISO 4217
status Integer No Movement status:
1 = Voided
2 = Confirmed
3 = Pending
4 = Cancelled
5 = No show
6 = Modified
7 = Quote
8 = Stay
9 = Departure
room 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 the movement
regime String No Name of the meal plan
contracted_regime String No Originally contracted meal plan
upgraded_regime String No Meal plan assigned after an upgrade
room_type String No Name of the room type
contracted_room_type String No Contracted room type
upgraded_room_type String No Room type assigned after an upgrade
fare_type String No Name of the rate type
offer String No Name of the offer
event_type String No Name of the event type
package String No Name of the package
category String No Name of the category (segment)
url String (max. 2048 characters) No Lets you send a URL associated with the stay
notes String (max. 1024 characters) No Comments about the stay
guests List[Guest] Yes See the Guest table below

Extra

Key Type Required Description
id String Yes Extra's ID
localizer String Yes Extra's localizer
name String Yes Extra's name
date Datetime (YYYY-MM-DDTHH:MM:SS) No Extra's creation date
start Date (YYYY-MM-DD) No Extra's start date
end Date (YYYY-MM-DD) No Extra's end date
amount Numeric No Extra's total
currency String No Extra's payment currency

Guest

Key Type Required Description
email String Yes Unique field in the Fideltour DB, used as the guest's identifier
external_object_id String No Guest's external identifier
is_owner Boolean No Indicates the booking's main guest
name String No First name
surname String No Last name
phone String No Phone number
birthday Date (YYYY-MM-DD) No Date of birth
gender Integer No Gender:
0 = not specified (default)
1 = male
2 = female
3 = non-binary
4 = genderfluid
5 = prefer not to say
address String No Address
post_code String No Postal code
zone String No Name of the zone
town String No Name of the town
province String No Name of the province
country String No ISO 3166-1 alpha-2
language String No ISO 639-1 Code
identification_document_type Numeric No Identity document type:
0 = Other
1 = National ID
2 = Foreigner ID
3 = Passport
identification_number String No Identity document number
business_name String No Company name
work_place String No Job title
business_address String No Company address
fiscal_address String No Fiscal address
url String (max. 2048 characters) No URL associated with the guest
notes String No Notes
custom_tags List[String] No List of tag names
custom_fields Object No Key-value dictionary with the contact's custom fields
subscribed Boolean No Subscribed to marketing communications. true = subscribed, false = not subscribed (default)
accept_terms Boolean No Accepts the terms and conditions
accept_personalized_communications Boolean No Accepts personalized marketing communications
accept_sms Boolean No Accepts SMS marketing communications
accept_webpush Boolean No Accepts web push notifications
accept_whatsapp Boolean No Accepts WhatsApp marketing communications
subscribed_datetime Datetime (YYYY-MM-DDTHH:MM:SS) No Date and time of the subscription
opt_in String No Opt-in type:
• S = Simple opt-in
• D = Double opt-in
• P = Double opt-in pending
loyalty_subscribed Boolean No If true, enrolls the guest in the loyalty program
loyalty_unsubscribed Boolean No If true, removes the guest from the loyalty program
loyalty_datetime Datetime (YYYY-MM-DDTHH:MM:SS) No Date and time of enrollment in the loyalty program
loyalty_id String No Loyalty program card number
loyalty_level String No Loyalty level identifier
loyalty_nights Integer No Total nights accumulated in the program
loyalty_bookings Integer No Total bookings accumulated in the program
loyalty_last_booking Date (YYYY-MM-DD) No Date of the last booking in the program

Examples

Below is an example of processing a booking:

Request (POST)

Protocol: HTTP/1.1 Method: POST Endpoint: https://app.hoteldatahub.io/api/v1/bookings/

Headers:

Content-Type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Body:

{
  "hotel": 2293,
  "hotel_chain": "6NOK",
  "date": "2025-11-27T10:08:08",
  "entrance": "2026-10-02",
  "departure": "2026-10-04",
  "localizer": "91764088833/6",
  "external_object_id": "12345726",
  "agency": "Empresa de prueba",
  "offer": "Black Friday",
  "category": "Adultos consumistas",
  "amount": 280,
  "currency": "EUR",
  "input_channel": 4,
  "status": 2,
  "stays": [
    {
      "entrance": "2026-10-02",
      "departure": "2026-10-04",
      "localizer": "91764088833/6",
      "external_object_id": "123456112",
      "amount": 280,
      "currency": "EUR",
      "room": "0A Doble 2 camas",
      "room_type": "Habitación Doble",
      "regime": "Alojamiento",
      "adults": 2,
      "children": 0,
      "status": 2,
      "guests": [
        {
          "id": "3183465",
          "name": "BETTINA",
          "is_owner": true,
          "surname": "STROBEL",
          "email": "bettinastrobel@web.de",
          "phone": "0049772691980",
          "gender": 2,
          "language": "es",
          "birthday": "1990-12-12",
          "post_code": "07009",
          "notes": "",
          "country": "DE",
          "custom_tags": [],
          "subscribed": false
        }
      ]
    }
  ]
}