Room Set (Create/Update) API

This endpoint is used to create or update room details within a property unit. When a request is made to this endpoint, it processes the provided room configuration data and either creates a new room unit or updates an existing one.


Endpoint

POST

https://connect-sandbox.su-api.com/SUAPI/jservice/bdc/room/set
-app-id: YOUR_APP_ID
Authorization: YOUR_API_KEY
Content-Type:application/json
Header
Type
Required
Description

app-id

string

Yes

Your application ID. Required for authentication.

Authorization

string

Yes

Your API key. for authorization. Required for authentication.

Content-Type

string

Yes

Must be set to application/json.


Attributes

hotel_id string (Required)

Specifies the hotel ID for the property.


channel_hotel_id string (Required)

Specifies the channel-specific hotel ID for the property.


language_code string (Required)

The language_code parameter specifies the language in which the response should be provided or the language preference for the data.

The language_code must be a 2-letter ISO 639-1 language code (for example, "en" for English, "fr" for French, "de" for German).


room_request object (Required)

Contains the room-related configurations and details for the unit.

configuration object (Required)

Contains the configuration details for the unit type.

unit_type_id enumerated string (Required)

Specifies the unit type ID (for example, "1" for apartment).

rooms array (Required)

Contains details of the room types supported by the unit. An array of room objects.

type enumerated string (Required)

Specifies the room type supported by the unit.

Accepted values are:

  • BEDROOM_SUBROOM

  • LIVING_ROOM_SUBROOM

bed_configurations object (Conditional)

Contains details of the bed configuration for the room.

beds array (Required)

Contains the bed type and total number of beds available in the room.

bed_type_id enumerated integer (Required)

Specifies the bed type ID.

Accepted values are:

  • 1 for Single Bed

  • 2 for Double Bed

bed_count integer (Required)

Specifies the total number of beds of the specified type in the room.

is_default_configuration boolean (Required)

Specifies if the bed configuration is the default configuration for the room.


unit_name_id string (Required)

Specifies the unit name ID that is part of the unit type.

number_of_units integer (Optional)

Specifies the total number of units available at the property.

Default Value: 1


smoking_policy enumerated string (Optional)

Specifies the smoking policy in the unit.

Default Value: SMOKING_AND_NONSMOKING

Acceptable values include:

  • SMOKING_AND_NONSMOKING

  • NONSMOKING

  • SMOKING


size object (Optional)

Contains the unit size details.

Default Value: null

value integer (Required)

Specifies the unit size in the chosen unit.

unit enumerated string (Required)

Specifies the unit of measurement to represent the unit size.

partner_reference_name string (Optional)

Specifies a custom unit name visible in the extranet and API response.

Default Value: null

room_located_on_floors array (Optional) Specifies the floors where the unit is located. This is an array of integers representing the floor numbers.

Default Value: null

occupancy object (Optional)

Contains the occupancy details for the unit.

max_guests integer (Optional)

Specifies the maximum guest occupancy for the unit.

Default Value: 1

max_adults integer (Optional)

Specifies the maximum adult occupancy for the unit.

Default Value: 1

max_children integer (Optional)

Specifies the maximum child occupancy for the unit.

Default Value: 0

max_children_that_pay_children_rate integer (Optional)

Specifies the maximum number of children eligible for the child rate.

Default Value: 0

extra_beds_configuration object (Optional)

Contains details for extra bed configuration in the unit.

extra_beds integer (Optional)

Specifies the number of extra beds available on request per unit.

Default Value: 0

cribs integer (Optional)

Specifies the number of cribs available on request per unit.

Default Value: 0

is_crib_and_extra_bed_allowed boolean (Optional)

Specifies whether both cribs and extra beds are allowed to be requested simultaneously for the unit.

Default Value: false


Sample Request

Request Body to Create Room

{
   "hotel_id": "new1",
   "channel_hotel_id": "12915674",
   "language_code": "en",
   "room_request": {
       "configuration": {
           "unit_type_id": 1,
           "rooms": [
               {
                   "type": "BEDROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 255
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               },
               {
                   "type": "BEDROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 44
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               },
               {
                   "type": "LIVING_ROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 1
                               },
                               {
                                   "bed_type_id": 2,
                                   "bed_count": 2
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               }
           ]
       },
       "unit_name_id": 9,
       "number_of_units": 1,
       "smoking_policy": "SMOKING_AND_NONSMOKING",
       "size": {
           "value": 1,
           "unit": "SQM"
       },
       "partner_reference_name": "oijk",
       "floor_numbers_located_on": [
           0,1,2,3,5
       ],
       "occupancy": {
           "max_guests": 10,
           "max_adults": 5,
           "max_children": 5,
           "max_children_that_pay_children_rate": 5
       },
       "extra_beds_configuration": {
           "extra_beds": 1,
           "cribs": 1,
           "is_crib_and_extra_bed_allowed": true
       }
   }
}

Request Body to Update Room

channel_room_id is required when you update the unit.

{
   "hotel_id": "new1",
   "channel_hotel_id": "12915674",
   "channel_room_id": "1291567447",
   "language_code": "en",
   "room_request": {
       "configuration": {
           "unit_type_id": 1,
           "rooms": [
               {
                   "type": "BEDROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 255
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               },
               {
                   "type": "BEDROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 44
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               },
               {
                   "type": "LIVING_ROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 1
                               },
                               {
                                   "bed_type_id": 2,
                                   "bed_count": 2
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               }
           ]
       },
       "unit_name_id": 9,
       "number_of_units": 1,
       "smoking_policy": "SMOKING_AND_NONSMOKING",
       "size": {
           "value": 1,
           "unit": "SQM"
       },
       "partner_reference_name": "oijk",
       "floor_numbers_located_on": [
           0,1,2,3,5
       ],
       "occupancy": {
           "max_guests": 10,
           "max_adults": 5,
           "max_children": 5,
           "max_children_that_pay_children_rate": 5
       },
       "extra_beds_configuration": {
           "extra_beds": 1,
           "cribs": 1,
           "is_crib_and_extra_bed_allowed": true
       }
   }
}

Response

Sample Success Response

{
   "Status": "Success",
   "Data": {
       "channel_room_id": 1291567459,
       "configuration": {
           "unit_type_id": 1,
           "rooms": [
               {
                   "type": "BEDROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 255
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               },
               {
                   "type": "BEDROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 44
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               },
               {
                   "type": "LIVING_ROOM_SUBROOM",
                   "bed_configurations": [
                       {
                           "beds": [
                               {
                                   "bed_type_id": 1,
                                   "bed_count": 1
                               },
                               {
                                   "bed_type_id": 2,
                                   "bed_count": 2
                               }
                           ],
                           "is_default_configuration": true
                       }
                   ]
               }
           ]
       },
       "unit_name_id": 9,
       "number_of_units": 1,
       "smoking_policy": "SMOKING_AND_NONSMOKING",
       "size": {
           "value": 1,
           "unit": "SQM"
       },
       "partner_reference_name": "oijk",
       "floor_numbers_located_on": [
           0,
           1,
           2,
           3,
           5
       ],
       "occupancy": {
           "max_guests": 10,
           "max_adults": 5,
           "max_children": 5,
           "max_children_that_pay_children_rate": 5
       },
       "extra_beds_configuration": {
           "extra_beds": 1,
           "cribs": 1,
           "is_crib_and_extra_bed_allowed": true
       }
   },
   "Message": "Room Details Set Successfully",
   "Ruid": "d510fcce-6d2c-4cf4-87b6-4187800496b2"
}

Success Response Body Elements

data object

Contains details of the unit created.

channel_room_id integer

Specifies the channel-specific room ID for the unit.

This is the unique identifier for the room in the channel (for example, Booking.com) system.

unit_id string

Specifies the unit ID.

configuration object

Contains the unit configuration.

unit_type_id enumerated string

Specifies the unit type ID.

For example, to create an One-Bedroom Apartment unit, you must specify the unit type ID: 1.

rooms array

Contains the room details provided the unit type supports rooms (also known as subrooms).

type enumerated string

Specifies the room type supported by the unit type.

Supports the following values:

  • BEDROOM_SUBROOM

  • LIVING_ROOM_SUBROOM

  • GUEST_ROOM

bed_configurations object

Contains the details of the bed available in the room.

beds array

Contains the bed type and the total number of beds.

bed_type_id enumerated integer

Specifies the bed type ID that is supported by the unit type.

bed_count integer

Specifies the total number of beds available in the unit/room.

is_default_configuration boolean

Specifies whether the specified bed configuration is default for the unit/room.

unit_name_id string

Specifies the unit name ID that is part of the unit type.

number_of_units integer

Specifies the total number of rooms available at the property for the specified room type.

Default value: 1.

smoking_policy enumerated string

Specifies the smoking policy in the room.

Supports the following values:

  • SMOKING

  • NONSMOKING

  • SMOKING_AND_NONSMOKING

size object

Contains the unit size details.

value integer

Specifies the unit size in the chosen unit.

unit enumerated string

Specifies the unit of measurement to represent the unit size.

Supports the following values:

  • SQM

  • SQFT

partner_reference_name string

Specifies a custom unit name that is visible in the extranet and in the API response.

Default value: "" (an empty string).

floor_numbers_located_on array

Specifies the floor where the unit is located.

Default value: [] (an empty array).

occupancy object

Contains the occupancy details of the unit.

optional

max_guests integer

Specifies the maximum guest occupancy for the unit.

Maximum value: 50.

Default value: 1.

max_adults integer

Specifies the maximum adult occupancy for the unit.

Maximum value: 50.

Default value: 1.

The total occupancy (sum of adults and children) must not exceed the room's maximum guest occupancy (max_guests) limit.

max_children integer

Specifies the maximum child occupancy for the unit.

Maximum value: 49.

Default value: 0.

The total number of children should be less than the maximum number of guests.

max_children_that_pay_children_rate integer

Specifies the maximum number of children eligible for the child rate.

Maximum value: 49.

Default value: 0.

The number of children eligible for the child rate specified here cannot exceed the maximum child occupancy (max_children).

extra_beds_configuration object

Contains the extra beds details for the unit.

If not specified, the API specifies default values.

extra_beds integer

Specifies the total number of extra beds available on request per room/unit.

Default value: 0.

Maximum: 100.

cribs integer

Specifies the total number of extra cribs available on request per room/unit.

Default value: 0.

Maximum: 100.

is_crib_and_extra_bed_allowed integer

Specifies whether guests have the option of requesting both the extra bed and crib in the room/unit.

Default: false

Message string

A message receives within the response body. This will generally be an empty string if no additional information is needed.

Ruid string

Specifies the unique request ID.

You can share this ID with Booking.com customer support when you run into an issue. This can help in understanding what went wrong.

Errors

Sample Error Response 1

{
   "Errors": [
       {
           "Code": "400",
           "ShortText": "HotelCode: Invalid HotelCode ('NT711')"
       }
   ],
   "Status": "Fail"
}

Sample Error Response 2

{
   "Errors": [
       {
           "Code": "573",
           "ShortText": "channel-mapping not found for this property!"
       }
   ],
   "Status": "Fail"
}

Sample Error Response 3

When you pass invalid value for bedding type:

{
   "Status": "Fail",
   "Errors": [
       {
           "Code": "786",
           "ShortText": "rooms: type is invalid or not found at [0]"
       }
   ],
   "Message": "",
   "Ruid": ""
}

Error Response Body Elements

Status string

Indicates the result of the API call, which will be always "Fail" in case of an error response.


Error array

Array that contains details about any errors that occurred during the API call. Each object in the Errors array contains the following properties:

Code string

Specific error code that helps identify the type of error.

For example: "400" indicates a bad request.

ShortText string

A short description of the error.


Message string

A message providing more information about the error.


Ruid string

A unique identifier for tracking the request.

Last updated

Was this helpful?