Skip to content

Book for Work API (1.0.0)

Welcome to Book for Work API! Before reading the documentation please make sure you read the tab Getting Started.

Authentication

All endpoints require HMAC-SHA256 signature authentication via the Authorization header:

Format: Authorization: API-Key={key},Signature={hmac_signature}, Timestamp={unix_timestamp}

Steps to generate signature:

  1. Generate the current Unix timestamp (UTC, seconds).
  2. Create the signing message by concatenating the following values in this exact order with no separators:
    {api_key}{secret}{timestamp}
  3. Generate an HMAC-SHA256 signature using the API secret as the HMAC key.
  4. Encode the signature as a hexadecimal string.
  5. Include the API key, signature, and timestamp in the Authorization header.

Requests are rejected if the timestamp differs from the server time by more than 5 minutes.

Download OpenAPI description
Overview
Languages
Servers
https://api-docs.bookforwork.com/api/v1
BFW API Production server
https://bookforwork.com
BFW API Staging server
https://staging.bookforwork.com
Operations
Operations

Request

Retrieve paginated list of active properties filtered by country code.

Pagination: Page size is fixed at 200 items per page. The total field in response represents the total number of properties (not pages). To calculate the number of pages, use: total_pages = total / page_size.

Query
country_codestring(Country Code)= 2 characters^[A-Z]{2}$required

Type: String, ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE')

language_codestring(Language Code)
Default "en"
Enum"en""it"
pageinteger(Page)>= 1

Page number - Type: Integer, Example: 1

Default 1
Headers
authorizationstring(Authorization)required

Authorization header with HMAC signature. Format: API-Key={key},Signature={hmac_signature},Timestamp={unix_timestamp}

curl -i -X GET \
  'https://api-docs.bookforwork.com/api/v1/properties/content/?country_code=st&language_code=en&page=1' \
  -H 'authorization: API-Key=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0,Signature=d8e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3,Timestamp=1234567890'

Responses

Successful properties list retrieval

Bodyapplication/json
country_codestring(Country Code)required

Country code

pageinteger(Page)>= 1required

Current page number

page_sizeinteger(Page Size)required

Page size (fixed at 200)

totalinteger(Total)>= 0required

Total number of properties (not pages). Calculate total pages as: total / page_size

hotelsArray of objects(Hotels)

List of properties

Response
application/json
{ "country_code": "US", "page": 1, "page_size": 200, "total": 60450, "hotels": [ {} ] }

Request

Retrieve complete property information by ID. Returns all hotel details including descriptions, images, themes, attributes, amenities, and rooms.

Path
hotel_idinteger(Hotel Id)required

Hotel Id to get all the details - Type: Integer, Example: 75843

Query
language_codestring(Language Code)
Default "en"
Enum"en""it"
Headers
authorizationstring(Authorization)required

Authorization header with HMAC signature. Format: API-Key={key},Signature={hmac_signature},Timestamp={unix_timestamp}

curl -i -X GET \
  'https://api-docs.bookforwork.com/api/v1/properties/content/{hotel_id}?language_code=en' \
  -H 'authorization: API-Key=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0,Signature=d8e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3,Timestamp=1234567890'

Responses

Successful hotel detail retrieval

Bodyapplication/json
idinteger(Id)required

Hotel ID

namestring(Name)required

Hotel name

starsStars (number) or Stars (null)(Stars)

Star rating

Any of:

Star rating

number(Stars)
picPic (string) or Pic (null)(Pic)

Main image URL

Any of:

Main image URL

string(Pic)
cityCity (string) or City (null)(City)

City name

Any of:

City name

string(City)
addressAddress (string) or Address (null)(Address)

Address

Any of:

Address

string(Address)
state_codeState Code (string) or State Code (null)(State Code)

State code

Any of:

State code

string(State Code)
state_nameState Name (string) or State Name (null)(State Name)

State name

Any of:

State name

string(State Name)
zipcodeZipcode (string) or Zipcode (null)(Zipcode)

ZIP code

Any of:

ZIP code

string(Zipcode)
coordinatesCoordinatesSchema (object) or null

GPS coordinates

Any of:

GPS coordinates

countryCountrySchema (object) or null

Country information

Any of:

Country information

categoryCategory (string) or Category (null)(Category)

Property category

Any of:

Property category

string(Category)
phone_nrPhone Nr (string) or Phone Nr (null)(Phone Nr)

Phone number

Any of:

Phone number

string(Phone Nr)
guest_rating_countGuest Rating Count (integer) or Guest Rating Count (null)(Guest Rating Count)

Number of guest ratings

Any of:

Number of guest ratings

integer(Guest Rating Count)
guest_rating_overallGuest Rating Overall (number) or Guest Rating Overall (null)(Guest Rating Overall)

Overall rating

Any of:

Overall rating

number(Guest Rating Overall)
guest_rating_cleanlinessGuest Rating Cleanliness (number) or Guest Rating Cleanliness (null)(Guest Rating Cleanliness)

Cleanliness rating

Any of:

Cleanliness rating

number(Guest Rating Cleanliness)
guest_rating_serviceGuest Rating Service (number) or Guest Rating Service (null)(Guest Rating Service)

Service rating

Any of:

Service rating

number(Guest Rating Service)
guest_rating_comfortGuest Rating Comfort (number) or Guest Rating Comfort (null)(Guest Rating Comfort)

Comfort rating

Any of:

Comfort rating

number(Guest Rating Comfort)
guest_rating_conditionGuest Rating Condition (number) or Guest Rating Condition (null)(Guest Rating Condition)

Condition rating

Any of:

Condition rating

number(Guest Rating Condition)
guest_rating_locationGuest Rating Location (number) or Guest Rating Location (null)(Guest Rating Location)

Location rating

Any of:

Location rating

number(Guest Rating Location)
guest_rating_neighborhoodGuest Rating Neighborhood (number) or Guest Rating Neighborhood (null)(Guest Rating Neighborhood)

Neighborhood rating

Any of:

Neighborhood rating

number(Guest Rating Neighborhood)
guest_rating_amenitiesGuest Rating Amenities (number) or Guest Rating Amenities (null)(Guest Rating Amenities)

Amenities rating

Any of:

Amenities rating

number(Guest Rating Amenities)
guest_rating_rec_percentGuest Rating Rec Percent (number) or Guest Rating Rec Percent (null)(Guest Rating Rec Percent)

Recommendation percentage

Any of:

Recommendation percentage

number(Guest Rating Rec Percent)
check_in_begin_timeCheck In Begin Time (string) or Check In Begin Time (null)(Check In Begin Time)

Check-in begin time. HH:MM:SS

Any of:

Check-in begin time. HH:MM:SS

string(Check In Begin Time)
check_in_end_timeCheck In End Time (string) or Check In End Time (null)(Check In End Time)

Check-in end time. HH:MM:SS

Any of:

Check-in end time. HH:MM:SS

string(Check In End Time)
check_out_timeCheck Out Time (string) or Check Out Time (null)(Check Out Time)

Check-out time. HH:MM:SS

Any of:

Check-out time. HH:MM:SS

string(Check Out Time)
min_ageMin Age (integer) or Min Age (null)(Min Age)

Minimum age requirement

Any of:

Minimum age requirement

integer(Min Age)
instructionsInstructions (string) or Instructions (null)(Instructions)

Instructions

Any of:

Instructions

string(Instructions)
special_instructionsSpecial Instructions (string) or Special Instructions (null)(Special Instructions)

Special instructions

Any of:

Special instructions

string(Special Instructions)
mandatory_feesMandatory Fees (string) or Mandatory Fees (null)(Mandatory Fees)

Mandatory fees

Any of:

Mandatory fees

string(Mandatory Fees)
optional_feesOptional Fees (string) or Optional Fees (null)(Optional Fees)

Optional fees

Any of:

Optional fees

string(Optional Fees)
policiesPolicies (string) or Policies (null)(Policies)

Hotel policies

Any of:

Hotel policies

string(Policies)
descriptionHotelDescription (object) or null

Hotel description

Any of:

Hotel description

importanceImportance (integer) or Importance (null)(Importance)

Importance ranking

Any of:

Importance ranking

integer(Importance)
nr_of_roomsNr Of Rooms (integer) or Nr Of Rooms (null)(Nr Of Rooms)

Number of rooms

Any of:

Number of rooms

integer(Nr Of Rooms)
property_area_sqProperty Area Sq (number) or Property Area Sq (null)(Property Area Sq)

Property area in sq meters

Any of:

Property area in sq meters

number(Property Area Sq)
activeActive (boolean) or Active (null)(Active)

Active status

Any of:

Active status

boolean(Active)
created_atstring(Created At)required

Creation timestamp

updated_atstring(Updated At)required

Last update timestamp

imagesArray of objects(Images)

Hotel images

themesArray of objects(Themes)

Hotel themes

attributesArray of objects(Attributes)

Hotel attributes

amenitiesArray of objects(Amenities)

Hotel amenities

roomsArray of objects(Rooms)

Hotel rooms

Response
application/json
{ "id": 255450, "name": "Smyth Tribeca", "stars": 4, "pic": "https://i.travelapi.com/lodging/3000000/2300000/2292900/2292873/f83fa98d_z.jpg", "city": "New York", "address": "85 West Broadway", "state_code": "NY", "state_name": "New York", "zipcode": "10017", "coordinates": { "latitude": 40.715195, "longitude": -74.00917 }, "country": { "code": "US", "name": "United States of America" }, "category": "Hotel", "phone_nr": "1-917-997-2700", "guest_rating_count": 828, "guest_rating_overall": 8.8, "guest_rating_cleanliness": 9.2, "guest_rating_service": 9.2, "guest_rating_comfort": 9.2, "guest_rating_condition": 9.2, "guest_rating_location": 9.2, "guest_rating_neighborhood": 9.2, "guest_rating_amenities": 9.2, "guest_rating_rec_percent": 9.2, "check_in_begin_time": "15:00:00", "check_in_end_time": "23:00:00", "check_out_time": "12:00:00", "min_age": 18, "instructions": "This is a sample instruction", "special_instructions": "This is a sample special instruction", "mandatory_fees": "This is a sample mandatory fee", "optional_fees": "This is a sample optional fees", "policies": "This is a sample hotel policies", "description": "This is a sample description", "importance": 233434, "nr_of_rooms": 250, "property_area_sq": 300000, "active": true, "created_at": "2025-03-21T20:35:43.717023+00:00", "updated_at": "2025-08-26T12:37:07.210607+00:00", "images": [ {} ], "themes": [ {} ], "attributes": [ {} ], "amenities": [ {} ], "rooms": [ {} ] }

Request

Retrieves the list of static content reference in English or Italian language.

Query
languagestring(Language)required

language needed for static content reference list. Type: String, Example: en.

Headers
authorizationstring(Authorization)required

Authorization header with HMAC signature. Format: API-Key={key},Signature={hmac_signature},Timestamp={unix_timestamp}

curl -i -X GET \
  'https://api-docs.bookforwork.com/api/v1/static_content_reference_list?language=string' \
  -H 'authorization: API-Key=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0,Signature=d8e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3,Timestamp=1234567890'

Responses

Successful static content reference list retrieval

Bodyapplication/json
categoriesArray of objects(Categories)required

List of all available categories.

categories[].​idstring(Id)required

Amenity ID

categories[].​namestring(Name)required

Detail of the amenity.

treatment_categoriesArray of objects(Treatment Categories)required

List of all available treatment categories.

treatment_categories[].​idstring(Id)required

Amenity ID

treatment_categories[].​namestring(Name)required

Detail of the amenity.

room_amenitiesArray of objects(Room Amenities)required

List of all available room amenities.

room_amenities[].​idstring(Id)required

Amenity ID

room_amenities[].​namestring(Name)required

Detail of the amenity.

property_amenitiesArray of objects(Property Amenities)required

List of all available property amenities.

property_amenities[].​idstring(Id)required

Amenity ID

property_amenities[].​namestring(Name)required

Detail of the amenity.

hotel_attributesArray of objects(Hotel Attributes)required

List of all available hotel attributes.

hotel_attributes[].​idstring(Id)required

Amenity ID

hotel_attributes[].​namestring(Name)required

Detail of the amenity.

Response
application/json
{ "categories": [ {}, {} ], "treatment_categories": [ {}, {} ], "room_amenities": [ {}, {} ], "property_amenities": [ {}, {} ], "hotel_attributes": [ {}, {} ] }
Operations
Operations