Last updated

Managing units

Use this endpoint to create units, add rooms, add bed configurations, set occupancy, among other tasks.

You can:

Before you start

Before implementing the Rooms API, it is important to explore the relevant metadata and validation rules.

Discover relevant meta information

To create a unit, you must provide the unit type ID, unit name ID, and bed type ID. For example, to create an Apartment with a Sea view and with a large bed, you must specify the following IDs:

  • unit type ID 1 refers to Apartment
  • unit name ID 44 refers to Apartment with Sea View
  • bed type ID 6 refers to Large bed

You can find the IDs and their corresponding attributes using the Rooms API meta endpoint. For more information, see the Retrieving units metadata details and the corresponding OpenAPI specification.

Each unit type object has a set of important attributes:

  • is_active - defines if a unit type can be used to create or update units. Inactive unit types are read-only.
  • allowed_property_categories - defines a set of property categories for which a given unit type can be created, and
  • is_multi_room - defines if a unit type is a single or multi-room.

Understand the difference between single and multi-room units

The Rooms API supports two categories of units:

  • single-room
  • multi-room

The following table summarizes the differences between single-room unit and multi-room units:

CategoryExample unit typesSupports creating multiple rooms?Supported room typesSupports multiple bed configurations?
Single-room unitStudio, DoublenoGUEST_ROOMyes
Multi-room unitApartment, Villa, SuiteyesBEDROOM_SUBROOM, LIVING_ROOM_SUBROOMno

Note that each category has distinct validation requirements. For more information, see:

Learn more about the create and update requests validations

The request body for POST and PATCH requests is validated against a set of rules. These include generic rules applicable to all units, as well as specific rules based on unit category (single- or multi-room) and unit type.

Understand the occupancy model

Occupancy defines how the number of guests is calculated. Occupancy has implications when defining children rates and availability.

You specify the following fields within the occupancy_details request body parameter:

  • maximum number of guests (max_guests)
  • maximum adult occupancy(max_adults)
  • maximum occupancy by children (3-17 years old) (max_children)
  • maximum occupancy by infants (0-2 years old) (max_infants) when you want to count infant occupancy toward the maximum number of guests
  • maximum occupancy by infants (0-2 years old) on top of maximum number of guests (max_infants_on_top) when you want to count infant occupancy separately from the maximum number of guests

Note that values of max_infants or max_infants_on_top are mutually exclusive - only one can be non-zero at a time, while the other one must always be zero.

Considerations for connectivity providers that implemented Rooms API before 5 June 2025

Before 5 June 2025 Rooms API offered a simpler occupancy model. You specified the following fields within the occupancy request body parameter:

  • maximum number of guests (max_guests)
  • maximum adult occupancy(max_adults)
  • maximum occupancy by children 0-17 years old (max_children)

To ensure compatibility with existing implementations, Booking.com has added a provider feature called rooms_api_old_occupancy_enabled and enabled it on your behalf. While the feature is turned on, you can still read and write occupancy as before. As Booking.com plans to deprecate the old occupancy model, the deprecation announcement and detailed migration guide will follow soon.

Create a unit

POST
https://supply-xml.booking.com/rooms-api/properties/{propertyId}/units

Header parameter

The following table describes the elements you can add in the header:

HeaderDescriptionTypeRequired/
Optional
Notes
Content-Type: application/jsonSpecifies the expected content type.stringrequired
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringoptionalCurrently supports the value: 1.0

Path parameters

The following table describes the elements you must specify in the path:

ElementDescriptionTypeRequired/
Optional
Notes
propertyIdSpecifies the unique ID of the property.integerrequiredMust be valid and assigned to your account

Request body parameters

The following table describes the elements you can add in the request body:

ElementDescriptionTypeRequired/
Optional
Default valueRoot parameter in HIN
unit_name_idSpecifies the unit name ID that is part of the unit typestringrequiredn/aDescription > Text
number_of_unitsSpecifies the total number of units available at the propertyintegeroptional1Room > Quantity
smoking_policySpecifies the smoking policy in the unitenumerated stringoptionalSMOKING_AND_NONSMOKINGRoom > NonSmoking
sizeContains the unit size detailsobjectoptionalnull
> valueSpecifies the unit size in the chosen unitintegerrequired1n/aRoom > SizeMeasurement
> unitSpecifies the unit of measurement to represent the unit sizeenumerated stringrequired1n/aRoom > SizeMeasurementUnit
partner_reference_nameSpecifies a custom unit name visible in the extranet and API responsestringoptionalnullNew field
room_located_on_floorsSpecifies the floor where the unit is locatedarray of integer(s)optionalnullNew field
configurationContains the unit configurationobjectrequiredn/a
> unit_type_idSpecifies the unit type IDenumerated stringrequiredn/aRoom > RoomType
> roomsContains the room details provided the unit type supports roomsarray of objectsrequiredn/a
>> typeSpecifies the room type supported by the unit typeenumerated stringrequiredn/aSubRoom > RoomType
>> bed_configurationsContains the details of the bed available in the roomobjectconditional2n/aSubRoom > Amenities
>>> bedsContains the bed type and the total number of bedsarray of objectsrequired1n/a
>>>> bed_type_idSpecifies the bed type ID supported by the unit typeenumerated integerrequired1n/aAmenityCode (or RoomAmenityCode)
>>>> bed_countSpecifies the total number of beds of the type specified aboveintegerrequired1n/aQuantity (or Value)
>>> is_default_configurationSpecifies whether the specified bed configuration is default for the unit/roombooleanrequired1n/aConfiguration
occupancy_details3Contains the occupancy details of the unitobjectoptionaln/a-
> max_guestsSpecifies the maximum guest occupancy for the unitintegeroptional1Occupancy > MaxOccupancy
> max_adultsSpecifies the maximum adult occupancy for the unitintegeroptional1Occupancy > MaxAdultOccupancy
> max_childrenSpecifies the maximum occupancy of children (ages 3-17) per unit.integeroptional0New field
> max_infantsSpecifies the maximum infants (0-2) occupancy for the unit count toward max_guestsintegeroptional0New field
> max_infants_on_topSpecifies the maximum infants (0-2) occupancy for the unit on top of max_guestsintegeroptional0New field
max_children_that_pay_children_rateSpecifies the maximum number of children eligible for the children rate. Note that infants will always pay children rate if it is available, irrespective of the limit set here.integeroptionalmax_childrenTPA_Extensions > MaxChildPayableOccupancy
extra_beds_configurationContains the extra beds details for the unitobjectoptionaln/a
> extra_bedsSpecifies the total number of extra beds available on request per unit/roomintegeroptional0Quantities > MaxRollaways
> cribsSpecifies the total number of extra cribs available on request per unit/roomintegeroptional0Quantities > MaxCribs
> is_crib_and_extra_bed_allowedSpecifies whether guests can request both the extra bed and crib in the unit/roombooleanoptionalfalseNew field

1 - required only if a parent field is provided
2 - required for room types GUEST_ROOM and BEDROOM_SUBROOM. Optional for LIVING_ROOM_SUBROOM
3 - if the provider feature: rooms_api_old_occupancy_enabled is enabled, you see occupancy containing only max_guests, max_adults and max_children. See for more details)

Request body example

For example, the following request creates a multi-room unit with two bedrooms and one living room:

{
  "configuration": {
    "unit_type_id": 1,
    "rooms": [
      {
        "type": "BEDROOM_SUBROOM",
        "bed_configurations": [
          {
            "beds": [
              {
                "bed_type_id": 6,
                "bed_count": 1
              }
            ],
            "is_default_configuration": true
          }
        ]
      },
      {
        "type": "BEDROOM_SUBROOM",
        "bed_configurations": [
          {
            "beds": [
              {
                "bed_type_id": 4,
                "bed_count": 1
              }
            ],
            "is_default_configuration": true
          }
        ]
      },
      {
        "type": "LIVING_ROOM_SUBROOM",
        "bed_configurations": [
          {
            "beds": [
              {
                "bed_type_id": 7,
                "bed_count": 1
              }
            ],
            "is_default_configuration": true
          }
        ]
      }
    ]
  },
  "unit_name_id": 138547,
  "number_of_units": 5,
  "smoking_policy": "SMOKING_AND_NONSMOKING",
  "size": {
    "value": 155.0,
    "unit": "SQM"
  },
  "partner_reference_name": "Park facing Apartment",
  "floor_numbers_located_on": [
    2
  ],
  "occupancy_details": {
    "max_guests": 5,
    "max_adults": 5,
    "max_children": 4,
    "max_infants": 4,
    "max_infants_on_top: 0"
  },
  "max_children_that_pay_children_rate": 2,
  "extra_beds_configuration": {
    "extra_beds": 1,
    "cribs": 0,
    "is_crib_and_extra_bed_allowed": false
  }
}

For more request examples for various use cases, see the examples in the API Explorer section in the Open API specification.

Response body example

The following is a response snippet:

{
  "data": {
    "unit_id": 813518812,
    "configuration": {
      "unit_type_id": 1,
      "rooms": [
        {
          "type": "BEDROOM_SUBROOM",
          "bed_configurations": [
            {
              "beds": [
                {
                  "bed_type_id": 6,
                  "bed_count": 1
                }
              ],
              "is_default_configuration": true
            }
          ]
        },
        {
          "type": "BEDROOM_SUBROOM",
          "bed_configurations": [
            {
              "beds": [
                {
                  "bed_type_id": 4,
                  "bed_count": 1
                }
              ],
              "is_default_configuration": true
            }
          ]
        },
        {
          "type": "LIVING_ROOM_SUBROOM",
          "bed_configurations": [
            {
              "beds": [
                {
                  "bed_type_id": 7,
                  "bed_count": 1
                }
              ],
              "is_default_configuration": true
            }
          ]
        }
      ]
    },
    "unit_name_id": 138547,
    "number_of_units": 5,
    "smoking_policy": "SMOKING_AND_NONSMOKING",
    "size": {
      "value": 155.0,
      "unit": "SQM"
    },
    "partner_reference_name": "Park facing Apartment",
    "floor_numbers_located_on": [
      2
    ],
    "occupancy_details": {
      "max_guests": 5,
      "max_adults": 5,
      "max_children": 4,
      "max_infants": 4,
      "max_infants_on_top": 0
    },
    "max_children_that_pay_children_rate": 2,
    "extra_beds_configuration": {
      "extra_beds": 1,
      "cribs": 0,
      "is_crib_and_extra_bed_allowed": false
    }
  },
  "warnings": [],
  "errors": [],
  "meta": {
    "ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
  }
}

Response body elements

The following table describes the response elements:

ElementDescriptionTypeNotes
dataContains details of the unit created.object-
> unit_idSpecifies the unit IDstring-
> configurationContains the unit configurationobject-
>> unit_type_idSpecifies the unit type IDenumerated string-
>> roomsContains the room details provided the unit type supports rooms (also known as subrooms)array of objects-
>>> typeSpecifies the room type supported by the unit typeenumerated string-
>>> bed_configurationsContains the details of the bed available in the roomobject-
>>>> bedsContains the bed type and the total number of bedsarray of objects-
>>>>> bed_type_idSpecifies the bed type ID that is supported by the unit typeenumerated integer-
>>>>> bed_countSpecifies the total number of beds available in the unit/roominteger-
>>>> is_default_configurationSpecifies whether the specified bed configuration is default for the unit/roomboolean-
> unit_name_idSpecifies the unit name ID that is part of the unit typestring-
> number_of_unitsSpecifies the total number of rooms available at the property for the specified room typeinteger-
> smoking_policySpecifies the smoking policy in the roomenumerated string-
>> sizeContains the unit size detailsobject-
>>> valueSpecifies the unit size in the chosen unitinteger-
>>> unitSpecifies the unit of measurement to represent the unit sizeenumerated string-
> partner_reference_nameSpecifies a custom unit name that is visible in the extranet and in the API responsestring-
> floor_numbers_located_onSpecifies the floor where the unit is locatedarray of integer(s)-
> occupancy_details1Contains the occupancy details of the unitobject-
>> max_guestsSpecifies the maximum guest occupancy for the unitinteger-
>> max_adultsSpecifies the maximum adult occupancy for the unitinteger-
>> max_childrenSpecifies the maximum occupancy of children (ages 3-17) per unit.integer-
>> max_infantsSpecifies the maximum infants (0-2) occupancy for the unit count toward max_guestsinteger-
>> max_infants_on_topSpecifies the maximum infants (0-2) occupancy for the unit on top of max_guestsinteger-
max_children_that_pay_children_rateSpecifies the maximum number of children eligible for the child rateinteger-
> extra_beds_configurationContains the extra beds details for the unitobject-
>> extra_bedsSpecifies the total number of extra beds available on request per room/unitinteger-
>> cribsSpecifies the total number of extra cribs available on request per room/unitinteger-
>> is_crib_and_extra_bed_allowedSpecifies whether guests have the option of requesting both the extra bet and crib in the room/unitboolean-
warningsContains any warnings in the requestobject-
errorsContains any errors in the requestobject-
metaContains metadata information about the responseobject-
> ruidSpecifies the unique request IDstringYou can share this ID with Booking.com customer support when you run into an issue This can help in understanding what went wrong

1 - if the provider feature: rooms_api_old_occupancy_enabled is enabled, you see occupancy containing only max_guests, max_adults and max_children. See for more details)

Updating a unit

PATCH
https://supply-xml.booking.com/rooms-api/properties/{propertyId}/units/{unitID}

To update an existing unit, copy the relevant portion of the response from the GET property unit details endpoint and use it as the request body. As an update action, the API overlays the existing unit details with the configuration in the request body. Make sure to send the root-level field and their nested fields.

Note that updating a unit doesn't affect existing reservations.

Header parameter

The following table describes the elements you can add in the header:

HeaderDescriptionTypeRequired/
Optional
Notes
Content-Type: application/jsonSpecifies the expected content type.stringrequired
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringoptionalCurrently supports the value: 1.0

Path parameters

The following table describes the elements you must specify in the path:

ElementDescriptionTypeRequired/
Optional
Notes
propertyIdSpecifies the unique ID of the property.integerrequiredMust be valid and connected to your account
unitIDSpecifies the unique ID of the unit to update.integerrequiredMust belong to the property

Request body parameters

The following table describes the elements you can add in the request body. Note that every root level field is optional, but if it has subfields you must provide all the subfields in full.

ElementDescriptionTypeRequired/
Optional
Root parameter in HIN
unit_name_idSpecifies the unit name ID that is part of the unit typestringoptionalDescription > Text
number_of_unitsSpecifies the total number of units available at the propertyintegeroptionalRoom > Quantity
smoking_policySpecifies the smoking policy in the unitenumerated stringoptionalRoom > NonSmoking
sizeContains the unit size detailsobjectoptional
> valueSpecifies the unit size in the chosen unitintegerrequired1Room > SizeMeasurement
> unitSpecifies the unit of measurement to represent the unit sizeenumerated stringrequired1Room > SizeMeasurementUnit
partner_reference_nameSpecifies a custom unit name visible in the extranet and API responsestringoptionalNew field
room_located_on_floorsSpecifies the floor where the unit is locatedarray of integer(s)optionalNew field
configurationContains the unit configurationobjectoptional
> unit_type_idSpecifies the unit type IDenumerated stringrequired1Room > RoomType
> roomsContains the room details provided the unit type supports roomsarray of objectsrequired1
>> typeSpecifies the room type supported by the unit typeenumerated stringrequired1SubRoom > RoomType
>> bed_configurationsContains the details of the bed available in the roomobjectconditional2SubRoom > Amenities
>>> bedsContains the bed type and the total number of bedsarray of objectsrequired1
>>>> bed_type_idSpecifies the bed type ID supported by the unit typeenumerated integerrequired1AmenityCode (or RoomAmenityCode)
>>>> bed_countSpecifies the total number of beds of the type specified aboveintegerrequired1Quantity (or Value)
>>> is_default_configurationSpecifies whether the specified bed configuration is default for the unit/roombooleanrequired1Configuration
occupancy_details3Contains the occupancy details of the unitobjectoptional-
> max_guestsSpecifies the maximum guest occupancy for the unitintegerrequired1Occupancy > MaxOccupancy
> max_adultsSpecifies the maximum adult occupancy for the unitintegerrequired1Occupancy > MaxAdultOccupancy
> max_childrenSpecifies the maximum occupancy of children (ages 3-17) per unitintegerrequired1New field
> max_infantsSpecifies the maximum infants (0-2) occupancy for the unit count toward max_guestsintegerrequired1n/a
> max_infants_on_topSpecifies the maximum infants (0-2) occupancy for the unit on top of max_guestsintegerrequired1n/a
max_children_that_pay_children_rateSpecifies the maximum number of children eligible for the child rateintegeroptionalTPA_Extensions > MaxChildPayableOccupancy
extra_beds_configurationContains the extra beds details for the unitobjectoptional
> extra_bedsSpecifies the total number of extra beds available on request per unit/roomintegerrequired1Quantities > MaxRollaways
> cribsSpecifies the total number of extra cribs available on request per unit/roomintegerrequired1Quantities > MaxCribs
> is_crib_and_extra_bed_allowedSpecifies whether guests can request both the extra bed and crib in the unit/roombooleanrequired1New field

1 - required only if a parent field is provided
2 - required for room types GUEST_ROOM and BEDROOM_SUBROOM, optional for LIVING_ROOM_SUBROOM
3 - if the provider feature: rooms_api_old_occupancy_enabled is enabled, you see occupancy containing only max_guests, max_adults and max_children. See for more details)

Request body example

For example, the following request sets new smoking policy, size and occupancy for an existing unit:

{
  "smoking_policy": "SMOKING",
  "size": {
      "value": 45.0,
      "unit": "SQM"
  },
  "occupancy_details": {
      "max_guests": 3,
      "max_adults": 3,
      "max_children": 2,
      "max_infants": 0,
      "max_infants_on_top": 3
  }
}

For more request examples for various use cases, see the examples in the API Explorer section in the Open API specification.

Response body example

The following is a response snippet:

{
  "warnings": [],
  "errors": [],
  "meta": {
    "ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
  }
}

Response body elements

The following table describes the response elements:

ElementDescriptionTypeNotes
warningsContains any warnings in the requestobject-
errorsContains any errors in the requestobject-
metaContains metadata information about the responseobject-
> ruidSpecifies the unique request IDstringYou can share this ID with Booking.com customer support when you run into an issue This can help in understanding what went wrong

Deleting a unit

DELETE
https://supply-xml.booking.com/rooms-api/properties/{propertyId}/units/{unitID}

Note that you can delete a unit only if there are no active or future reservations for that unit. Deleting a unit is irreversible.

Header parameter

The following table describes the elements you can add in the header:

HeaderDescriptionTypeRequired/
Optional
Notes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringoptionalCurrently supports the value: 1.0

Path parameters

The following table describes the elements you must specify in the path:

ElementDescriptionTypeRequired/
Optional
Notes
propertyIdSpecifies the unique ID of the propertyintegerrequiredMust be valid and connected to your account
unitIDSpecifies the unique ID of the unit to deactivateintegerrequiredMust belong to the property

Response body example

The following is a response snippet:

{
  "warnings": [],
  "errors": [],
  "meta": {
    "ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
  }
}

Response body elements

The following table describes the response elements:

ElementDescriptionTypeNotes
warningsContains any warnings in the requestobject-
errorsContains any errors in the requestobject-
metaContains metadata information about the responseobject-
> ruidSpecifies the unique request IDstringYou can share this ID with Booking.com customer support when you run into an issue This can help in understanding what went wrong

Retrieving unit details

GET
https://supply-xml.booking.com/rooms-api/properties/{propertyId}/units?debug_info=false

Retrieve all units available in the specified property. When updating a unit, you can also copy the relevant portion of the response from this endpoint and use it as the request body.

Header parameter

The following table describes the elements you can add in the header:

HeaderDescriptionTypeRequired/
Optional
Notes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringoptionalCurrently supports the value: 1.0

Path parameters

The following table describes the elements you must specify in the path:

ElementDescriptionTypeRequired/
Optional
Notes
propertyIdSpecifies the unique ID of the propertyintegerrequiredMust be valid and connected to your account
debug_infoSpecifies whether to return unit_name_fallback in responsebooleanoptionalfalse

Response body example

The following is a response body snippet:

{
  "data": [
    {
      "unit_id": 1178287071,
      "configuration": {
        "unit_type_id": 9,
        "rooms": [
          {
            "type": "GUEST_ROOM",
            "bed_configurations": [
              {
                "beds": [
                  {
                    "bed_type_id": 3,
                    "bed_count": 1
                  }
                ],
                "is_default_configuration": true
              },
              {
                "beds": [
                  {
                    "bed_type_id": 1,
                    "bed_count": 2
                  }
                ],
                "is_default_configuration": false
              }
            ]
          }
        ]
      },
      "unit_name_id": 255,
      "number_of_units": 20,
      "smoking_policy": "NONSMOKING",
      "size": {
        "value": 24.0,
        "unit": "SQM"
      },
      "partner_reference_name": "Test double with multiple bed configurations",
      "floor_numbers_located_on": [
        1,
        2,
        3,
        4,
        5
      ],
      "occupancy_details": {
        "max_guests": 2,
        "max_adults": 2,
        "max_children": 1,
        "max_infants": 1,
        "max_infants_on_top": 0
      },
      "max_children_that_pay_children_rate": 1,
      "extra_beds_configuration": {
        "extra_beds": 0,
        "cribs": 1,
        "is_crib_and_extra_bed_allowed": false
      }
    },
    {
      "unit_id": 1178287072,
      "configuration": {
        "unit_type_id": 1,
        "rooms": [
          {
            "type": "BEDROOM_SUBROOM",
            "bed_configurations": [
              {
                "beds": [
                  {
                    "bed_type_id": 1,
                    "bed_count": 1
                  },
                  {
                    "bed_type_id": 6,
                    "bed_count": 1
                  }
                ],
                "is_default_configuration": true
              }
            ]
          },
          {
            "type": "BEDROOM_SUBROOM",
            "bed_configurations": [
              {
                "beds": [
                  {
                    "bed_type_id": 1,
                    "bed_count": 3
                  }
                ],
                "is_default_configuration": true
              }
            ]
          },
          {
            "type": "LIVING_ROOM_SUBROOM",
            "bed_configurations": [
              {
                "beds": [
                  {
                    "bed_type_id": 5,
                    "bed_count": 1
                  }
                ],
                "is_default_configuration": true
              }
            ]
          }
        ]
      },
      "unit_name_id": 1463,
      "number_of_units": 5,
      "smoking_policy": "SMOKING_AND_NONSMOKING",
      "size": {
        "value": 155.0,
        "unit": "SQM"
      },
      "partner_reference_name": "Test two-bedroom apartment",
      "floor_numbers_located_on": [
        2
      ],
      "occupancy_details": {
        "max_guests": 5,
        "max_adults": 5,
        "max_children": 4,
        "max_infants": 4,
        "max_infants_on_top": 0
      },
      "max_children_that_pay_children_rate": 2,
      "extra_beds_configuration": {
        "extra_beds": 1,
        "cribs": 0,
        "is_crib_and_extra_bed_allowed": false
      }
    }
  ],
  "warnings": [],
  "errors": [],
  "meta": {
    "ruid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
  }
}

Response body elements

The following table describes the response elements:

ElementDescriptionTypeNotes
dataContains details of the unit created.object-
> unit_idSpecifies the unit IDstring-
> configurationContains the unit configurationobject-
>> unit_type_idSpecifies the unit type IDenumerated string-
>> roomsContains the room details provided the unit type supports rooms (also known as subrooms)array of objects-
>>> typeSpecifies the room type supported by the unit typeenumerated string-
>>> bed_configurationsContains the details of the bed available in the roomobject-
>>>> bedsContains the bed type and the total number of bedsarray of objects-
>>>>> bed_type_idSpecifies the bed type ID that is supported by the unit typeenumerated integer-
>>>>> bed_countSpecifies the total number of beds available in the unit/roominteger-
>>>> is_default_configurationSpecifies whether the specified bed configuration is default for the unit/roomboolean-
> unit_name_idSpecifies the unit name ID that is part of the unit typestring-
> number_of_unitsSpecifies the total number of rooms available at the property for the specified room typeinteger-
> smoking_policySpecifies the smoking policy in the roomenumerated string-
>> sizeContains the unit size detailsobject-
>>> valueSpecifies the unit size in the chosen unitinteger-
>>> unitSpecifies the unit of measurement to represent the unit sizeenumerated string-
> partner_reference_nameSpecifies a custom unit name that is visible in the extranet and in the API responsestring-
> floor_numbers_located_onSpecifies the floor where the unit is locatedarray of integer(s)-
> occupancy_details1Contains the occupancy details of the unitobject-
>> max_guestsSpecifies the maximum guest occupancy for the unitinteger-
>> max_adultsSpecifies the maximum adult occupancy for the unitinteger-
>> max_childrenSpecifies the maximum occupancy of children (ages 3-17) per unit.integer-
>> max_infantsSpecifies the maximum infants (0-2) occupancy for the unit count toward max_guestsinteger-
>> max_infants_on_topSpecifies the maximum infants (0-2) occupancy for the unit on top of max_guestsinteger-
max_children_that_pay_children_rateSpecifies the maximum number of children eligible for the child rateinteger-
> extra_beds_configurationContains the extra beds details for the unitobject-
>> extra_bedsSpecifies the total number of extra beds available on request per room/unitinteger-
>> cribsSpecifies the total number of extra cribs available on request per room/unitinteger-
>> is_crib_and_extra_bed_allowedSpecifies whether guests have the option of requesting both the extra bet and crib in the room/unitboolean-
> unit_name_fallbackContains a unit name; it can be used to read custom unit names not present in metastringCustom unit names cannot be used in create and update requests
warningsContains any warnings in the requestobject-
errorsContains any errors in the requestobject-
metaContains metadata information about the responseobject-
> ruidSpecifies the unique request IDstringYou can share this ID with Booking.com customer support when you run into an issue This can help in understanding what went wrong

1 - if the provider feature: rooms_api_old_occupancy_enabled is enabled, you see occupancy containing only max_guests, max_adults and max_children. See for more details)