Last updated

Managing property settings

Use the Property API settings endpoint to add, update or retrieve property settings.

For example, using this endpoint, you can specify whether the property:

  • Accepts child guests and define their age range
  • Accepts pets and their policy
  • Requires booker address and phone number when guests book

You can also specify:

  • The house rules for the property
  • Country-specific invoice, tax and finance details that Booking.com requires before you can set a property open and bookable.

To specify cancellation and prepayment policies, see the Policies API. To specify property settings for a property, you must have already created a property. For more information, see creating a property using the Property API.

This topic helps you:

Creating or updating property settings

POST
https://supply-xml.booking.com/property-api/properties/{{property_id}}/settings

Use the property-api settings endpoint to create or update property settings by specifying details such as curfew, age restrictions, pets policy, cancellation exceptions, quiet hours, renovation dates when the property might likely not be available for bookings, and so on.

All the settings are optional

The request body accepts property settings in groups. All the settings are optional. However, when you specify settings for a group, some settings in the group can be mandatory. For example, you can send a request to set:

  • Damage policy
  • Quiet hours or Curfew timing
  • long stay details
  • pets policy
  • children policy and so on.

In each request, you can specify a single setting or multiple settings for a property. The endpoint validates and returns the response status as a group of settings. Each group of settings is processed individually.

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

Path parameter

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

ValueDescriptionTypeRequired/
Optional
Notes
{property ID} valueSpecify the unique ID of the property to update its details.integerRequired

Request body

The following is a request body example:

Click to view the request body example.
{
  "property_settings": {
    "require_cvc": true,
    "view_cc_details": true,
    "curfew": {
      "enabled": true,
      "start": "18:00",
      "end": "09:00"
    },
    "require_booker_address": true,
    "require_booker_phone_number": true,
    "age_restriction": {
      "enabled": true,
      "min": 18,
      "max": 99
    },
    "auto_replenish": true,
    "replenish_closed_rooms": true,
    "long_stay": {
      "enabled": true,
      "max_length_of_stay": 45
    },
    "pricing_type": "Standard",
    "allow_smoking": true
  },
  "pets": {
    "pets_allowed": "PETS_NOT_ALLOWED",
    "pets_price_type": "FREE"
  },
  "damage_policy": {
    "amount": 90,
    "policy_type": "HANDLED_BY_PROPERTY",
    "damage_programme_terms_agreed": false,
    "collection_mode": "CASH",
    "return_mode": "CASH",
    "collection_when": "ON_ARRIVAL",
    "return_when": "ON_CHECKOUT"
  },
  "standard_phrases": [
    {
      "name": "GuestIdentification",
      "enabled": true
    }
  ],
  "quiet_hours": {
    "enabled": true,
    "start": "18:00",
    "end": "08:30"
  },
  "renovation": {
    "enabled": true,
    "start": "2014-01-01",
    "end": "2014-01-10"
  },
  "bed_linen_policy": {
    "enabled": true,
    "amount": 100.0
  },
  "accepted_payment_types": {
    "codes": [
      1,
      2,
      55
    ]
  },
  "french_tax_details": {
    "category_id": "11",
    "nature_id": "1",
    "declare_revenue": true,
    "has_vat": true,
    "registered_in_rcs": true
  },
  "cancellation_exceptions" : {
    "grace_period": {
      "enabled": true,
      "after_booking": "HOURS_4"
    },
    "advance_cancellation": {
      "enabled": true,
      "before_check_in": "WEEKS_4"
    }
  },
  "age_buckets": [
    {
      "min_age": 1,
      "max_age": 10
    }
  ],
  "children_policies": {
    "allow_children": true,
    "min_age": 0,
    "policy_rules": [
      {
        "rule_type": "EXISTING_BED",
        "from_age": 0,
        "to_age": 10,
        "price_type": "FIXED",
        "price_mode": "PER_STAY",
        "price": 0
      }
    ]
  },
  "booking_model": {
    "type": "IB"
  },
  "invoice_settings": {
    "legal_name": "string",
    "contact_person": "string",
    "address": "string",
    "country_code": "string",
    "city": "string",
    "postal_code": "string",
    "state": "st",
    "notification_channel": "POSTAL_MAIL",
    "brazil_tax_details": {
      "tax_payer_number_type": "CNPJ",
      "tax_payer_number": "string",
      "city_hall_id": "string",
      "email": "string"
    }
  }
}

Request body elements

The following table describes the request body elements.

ObjectAttributeDescriptionTypeOptional/RequiredNotesRoot parameter in HDCN
> property_settingsContains multiple various settings related to the property.objectOptional
require_cvcSpecifies whether the guest needs to provide CVC details for the booking.booleanOptionalDefault: falseHotelInfo > TPA_Extensions > PaymentPreferences
view_cc_detailsSpecifies whether a trusted property can view the guest's credit card details on Extranet.booleanOptionalDefault: falseHotelInfo > TPA_Extensions > PaymentPreferences
require_booker_addressSpecifies whether the guests must provide a contact address.booleanOptionalDefault: falseTPA_Extensions > GuestInformation > RequireGuestAddress
require_booker_phone_numberSpecifies whether the guests must provide a contact telephone number.booleanOptionalDefault: falseTPA_Extensions > GuestInformation > RequireGuestContactNumber
auto_replenishSpecifies if property is enabled to auto-replenish and is used to make a room available to sell again after a cancellation.booleanOptionalDefault: true
replenish_closed_roomsReopen closed rooms after a cancellation. This will open a closed room after a cancellation is received.booleanOptionalDefault: true. This option will only work if auto_replenish=true.
pricing_typeSpecifies the property's pricing type. Can be Standard, LOS or OBP. For more information, see pricing types.enumOptionalDefault: StandardTPA_Extensions > PricingType
allow_smokingSpecifies whether the property allows smoking.booleanOptionalDefault: trueHouse-Rules API
>> curfewContains curfew settings for the property.objectOptionalCurfew start and end cannot be overlaped with property check-in and check-out times.
enabledSpecifies whether the property has curfew time enabled.booleanRequiredTPA_Extensions > GuestInformation > HasCurfew
startTime when curfew starts. Accepts the format: HH:MM. Only effective when enabled=true.booleanOptionalRequired if enabled=true.TPA_Extensions > GuestInformation > CurfewStart
endTime when curfew ends. Accepts the format: HH:MM. Only effective when enabled=true.booleanOptionalRequired if enabled=true.TPA_Extensions > GuestInformation > CurfewEnd
>> age_restrictionContains whether there is an age limit to check-in.objectOptional
enabledSpecify whether age restriction is enabledbooleanRequiredTPA_Extensions > GuestInformation > HasAgeRestriction
minSpecifies the minimum allowed age for guests to check-in. Allowed age range: 18-99. Only effective when enabled=true.booleanOptionalRequired if enabled=true.TPA_Extensions > GuestInformation > AgeRestrictionMin
maxSpecifies the maximum allowed age for guests to check-in. Allowed age range: 18-99. Only effective when enabled=true.booleanOptionalRequired if enabled=true.TPA_Extensions > GuestInformation > AgeRestrictionMax
>> long_stayContains whether property accepts a stay longer than 30 nights.objectOptional
enabledSpecifies whether the property has a long stay option enabled.booleanRequiredTPA_Extensions > LongStayInfo > AcceptLongStay
max_length_of_staySpecifies the maximum number of days allowed to stay at the property. Can be one of the values: 45, 60, 75, 90.integerOptionalDefault: 90 if long stay option is enabled.TPA_Extensions > LongStayInfo > MaxLengthOfStay
> petsContains settings related to pets policy.objectOptionalHouse-Rules API
allow_petsSpecifies whether pets are allowed at the property. Possible values are:
- PETS_ALLOWED,
- PETS_NOT_ALLOWED and
- PETS_ALLOWED_ON_REQUEST.
enumRequired
pets_price_typeSpecifies pets price type option for the property. Possible values are:
- FREE
- CHARGES_MAY_APPLY.
enumOptional
> damage_policyContains settings related to damage policy.objectOptionalTPA_Extensions > StandardPhrases
amountSpecifies the amount on which the damage deposit or programme is applicable fordoubleRequiredDefault: 0.0
currencySpecifies the currency in which the claim and limit occurs.stringOptionalDefault is Property Currency if not specified.
policy_typeSpecifies the policy that is applicable. Possible values are:
- NONE,
- HANDLED_BY_PROPERTY and
- HANDLED_BY_BOOKING_COM.
enumRequiredDefault: NONE. HANDLED_BY_PROPERTY - Guests pay you a damage deposit directly. HANDLED_BY_BOOKING_COM - Guests only pay if they cause damage during their stay, facilitated by Booking.com
damage_programme_terms_agreedSpecifies if you agree to the terms for the damage programme. To view damage deposit terms, you can make GET call to /legal/damage-programme/terms endpointbooleanOptionalDefault: false. Required if you are applying for HANDLED_BY_BOOKING_COM. You can only enrol if you agree to the terms which are provided to you.
collection_modeSpecifies how you would collect damage deposit. Possible values are:
- CASH,
- CREDIT_CARD,
- PAYPAL,
- BANK_TRANSFER and
- OTHER.
enumOptionalOnly applicable for HANDLED_BY_PROPERTY.
collection_whenSpecifies when you would collect the damage deposit. Possible values are:
- ON_ARRIVAL,
- SEVEN_DAYS_BEFORE_ARRIVAL and
- FOURTEEN_DAYS_BEFORE_ARRIVAL.
enumOptionalOnly applicable for HANDLED_BY_PROPERTY. If collection_mode is CASH then only ON_ARRIVAL is allowed for collection_when.
return_modeSpecifies how you would return the damage deposit. Possible values are:
- CASH,
- CREDIT_CARD,
- PAYPAL,
- BANK_TRANSFER and
- OTHER.
enumOptionalOnly applicable for HANDLED_BY_PROPERTY.
return_whenSpecifies when you would return the damage deposit. Possible values are:
- ON_CHECKOUT,
- WITHIN_7_DAYS and
- WITHIN_14_DAYS.
enumOptionalOnly applicable for HANDLED_BY_PROPERTY. If return_mode is CASH then only ON_CHECKOUT is allowed for return_when.
> standard_phrasesContains settings related to standard phrases. You can send 1 or multiple standard phrases that you want to enable or remove.array of objectsOptionalTPA_Extensions > StandardPhrases
nameSpecifies the name of the standard phrase. For a full list of Booking.com supported standard phrases, see StandardPhrase.enumRequired
enabledSpecifies if standard phrase should be enabled or removed.booleanRequired
> quiet_hoursContains settings related to quiet hours of the property.objectOptionalHouse-Rules API
enabledSpecifies whether the property has quiet hours enabled.booleanRequired
startSpecifies the quiet hours start time. Accepts the format" HH:mmstringOptionalRequired if enabled=true.
endSpecifies the quiet hours end time. Accepts the format: HH:mmstringOptionalRequired if enabled=true.
> renovationContains settings related to renovation dates.objectOptionalTPA_Extensions > StandardPhrases
enabledSpecifies whether renovation dates are enabled.booleanRequired
startSpecifies the renovation start date. Accepts the format: yyyy-mm-dd.stringOptionalRequired if enabled=true.
endSpecifies the renovation end date. Accepts the format: yyyy-mm-dd.stringOptionalRequired if enabled=true.
> bed_linen_policyContains renting details for bed linens and towels as they are not included in the room rate. Guests can rent them at the property for an additional charge or bring their own.objectOptionalTPA_Extensions > StandardPhrases
enabledSpecifies whether the option to rent bed linen is enabled.booleanRequired
amountSpecifies the cost of renting bed linens and towels specified in the property's default currency.doubleOptionalRequired if enabled=true.
> accepted_payment_typesContains settings related to payment methods.objectOptional
codesSpecifies the list of supported payment methods. For a full list of payment codes, see Booking.com Payment Type Codes.array of integersRequiredTPA_Extensions > AcceptedPayments
> french_tax_detailsContains settings related to tax details. Only applicable for countries: France, Martinique, Guadeloupe, French Guiana, Reunion, Mayotte.objectOptionalRequired to setup for properties located in the specified countries in order to go Open/Bookable.TPA_Extensions > PropertyTaxInfo
category_idContains a number - city tax category ID. You can retrieve available categories using the /xml/citytaxcategory call.stringOptionalTPA_Extensions > PropertyTaxInfo > PropertyTaxCategory
nature_idContains a number - nature category ID. You can retrieve available categories using /xml/citytaxcategory call.stringOptionalTPA_Extensions > PropertyTaxInfo > PropertyNatureCategory
declare_revenueSpecifies whether the property declares revenues as professional for direct tax purposes.booleanRequiredTPA_Extensions > PropertyTaxInfo > PropertyDeclaresRevenue
has_vatSpecifies whether the property has a registered VAT for this activity.booleanRequiredTPA_Extensions > PropertyTaxInfo > PropertyHasVat
registered_in_rcsSpecifies whether the property is registered as a professional at the trade commercial register (Registre du Commerce et des Sociétés).booleanRequiredTPA_Extensions > PropertyTaxInfo > PropertyRegisteredInVcs
> cancellation_exceptionsContains settings related to cancellation for non-refundable policy.objectOptionalTPA_Extensions > CancellationGracePeriod
>>grace_periodOptional
enabledSpecifies whether the property has a grace period enabled.booleanOptional
after_bookingAmount of hours after booking when free cancellation is available. Can be one of the values: HOUR_1, HOURS_4 or HOURS_24.enumRequiredTPA_Extensions > CancellationGracePeriod > HoursAfterBooking
>>advance_cancellationOptional
enabledSpecifies whether the property has a advance cancellation enabled.Optional
before_check_inAdvance cancellation - amount of weeks before check-in when free cancellation is available. Can be one of the values: WEEKS_4, WEEKS_8 or WEEKS_12.enumRequiredTPA_Extensions > CancellationGracePeriod > WeeksBeforeCheckIn
> age_bucketsContains age bucket details. When setting flexible children pricing, you can use the age bucket you set here to specify the age range to which the pricing applies.array of objectsOptionalNo age bucket set up by default. You can create up to three age buckets per property. Each age bucket contains a minimum and maximum age, where the maximum age is inclusive. Age buckets can't overlap with each other.TPA_Extensions > AgeBuckets
min_ageSpecifies the minimum age for the age bucket.integerRequiredPolicies > TPA_Extensions > AgeBuckets > AgeBucket > MinAge
max_ageSpecifies the maximum age for the age bucket.integerRequiredPolicies > TPA_Extensions > AgeBuckets > AgeBucket > MaxAge
> children_policiesYou can indicate whether a property accepts children and specify the following: the minimum age children are welcome and additional rules for existing/extra bed or crib.objectOptional
allow_childrenSpecifies whether the property admits adults and children, or only adults.booleanOptionalPolicies > Policy > PolicyInfo > AcceptedGuestType
min_ageSpecifies the minimum age of children allowed to stay at the property.integerOptionalApplies only when allow_children = true.Policies > Policy > PolicyInfo > MinGuestAge
>> policy_rulesYou can specify a different price and rules for children staying in EXISTING_BED and specify a price for children staying in CRIB or EXTRA_BED.array of objectsOptionalApplies only when allow_children = true. Rules ages cannot be overlapped with other rules that have the same type.Policies > Policy > FeePolicies
rule_typeSpecifies the rule type for which this rule applies. Possible values are:
- EXISTING_BED
- EXTRA_BED
- CRIB).
enumRequiredPolicies > Policy > FeePolicies > Code
from_ageSpecifies the minimum age for the children policy to apply. In combination with to_age it becomes an age range.integerRequiredPolicies > Policy > FeePolicies > MinAge
to_ageSpecifies the maximum age for the children policy to apply.integerRequiredPolicies > Policy > FeePolicies > MaxAge
price_typeSpecifies if the rule is FREE or has FIXED price. Set FREE if price is null or FIXED when specifying a price.enumRequired
price_modeSpecifies the unit of time on which the charge is calculated. Can be PER_NIGHT or PER_STAY.enumRequiredPolicies > Policy > FeePolicies > ChargeFrequency
priceSpecifies the amount charged in the country's local currency.doubleOptionalRequired if price_type=FIXED.Policies > Policy > FeePolicies > Amount
> booking_modelYou can indicate that property can have request to book optionobjectOptional
typeSpecifies the booking model type of the property. Can be RTB (request to Book) or IB (instant booking).enumRequiredDefault: IB. You can check the eligibility criteria.TPA_Extensions > RTB
> invoice_settingsDetails of the company that owns/manages the propertyobjectOptionalInvoice settings cannot be updated during the billing period from 1st to 7th day of the month.
legal_nameLegal name of the companystringOptional
contact_personFull name of the contact personstringOptionalYou need to setup if you want property to go Open/Bookable.ContactInfos > ContactInfo > Name
addressCompany addressstringOptionalYou need to setup if you want property to go Open/Bookable.ContactInfos > ContactInfo > Addresses > AddressLine
country_codeCountry Code. Should be valid ISO code.stringOptionalYou need to setup if you want property to go Open/Bookable.ContactInfos > ContactInfo > Addresses > CountryName
cityCity name.stringOptionalYou need to setup if you want property to go Open/Bookable.ContactInfos > ContactInfo > Addresses > CityName
postal_codePostal/Zip codestringOptionalYou need to setup if you want property to go Open/Bookable and should have valid postal/zip code for the country code.ContactInfos > ContactInfo > Addresses > PostalCode
stateState.stringOptionalContactInfos > ContactInfo > Addresses > StateProv > StateCode
notification_channelThe channel how company should be notified invoice related mails. Can be one of: POSTAL_MAIL or EMAIL.enumOptional
>> brazil_tax_detailsYou can indicate additional settings for Brazilian properties, issued by the Brazilian tax authority. Used for invoicing.objectOptionalYou need to setup brazil tax details if you want property in Brazil to go Open/Bookable.
tax_payer_number_typeSpecifies whether the identifying number belongs to a company or a private individual.stringOptionalTPA_Extensions > InvoiceDetails > InvoiceTaxType > Type
tax_payer_numberThe identifying number. CNPJ = 14 digits. CPF = 11 digits.stringOptionalTPA_Extensions > InvoiceDetails > InvoiceTaxNumber > Code
city_hall_idThe 8-digit ID for the city hall which issued the CNPJ or CPF numberstringOptionalTPA_Extensions > InvoiceDetails > CityHallInfo > ID
emailEmail address of invoice recipient.stringOptionalTPA_Extensions > InvoiceDetails > InvoiceAddress > Email

Response body

Click to view the response body example:
{
  "property_settings":{
    "success":true
  },
  "renovation":{
    "success":true
  },
  "standard_phrases":{
    "success":true
  },
  "bed_linen_policy":{
    "success":true
  },
  "child_policies":{
    "success":true
  },
  "age_buckets":{
    "success":true
  },
  "quiet_hours":{
    "success":true
  },
  "booking_model":{
    "success":true
  },
  "cancellation_exceptions":{
    "success":true
  },
  "french_tax_details":{
    "success":true
  },
  "damage_policy":{
    "success":true
  }
}

Error samples

When using the Property Settings API, you can encounter two different type of error responses:

  • API level validation error, and
  • Business logic or system error

API validation error

The API validation type error is handled at the API level. You may encounter this response if you fail to provide the required field or when the API encounters incorrect data type in the request body.

For example when setting pets without required pets_allowed field, the API returns the following response:

{
    "warnings": [],
    "errors": [
        {
            "message": "Required field missing",
            "code": 321,
            "details": {
                "fields": [
                    "$.pets.pets_allowed"
                ]
            },
            "description": "must not be null"
        }
    ],
    "meta": {
        "ruid": "..."
    }
}

Business logic error

You may encounter a business logic error when the API validates your request against Booking.com business rules and it fails. For example, when setting child policies with no rooms may result in the following error:

{
    "data": {
        "child_policies": {
            "success": false
        }
    },
    "warnings": [
        {
            "message": "Invalid value",
            "code": 320,
            "description": "None of the rooms have children occupancy set. Therefore, AcceptedGuestType for the property is set to AdultOnly. Call OTA_HotelInvNotif to increase children occupancy in rooms to allow children."
        }
    ],
    "errors": [],
    "meta": {
        "ruid": "..."
    }
}

Retrieving property settings

GET
https://supply-xml.booking.com/property-api/properties/{propertyID}/settings

Use the GET property-api endpoint along with the property ID to retrieve the property settings details.

Path parameter

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

ValueDescriptionTypeRequired/
Optional
Notes
{property ID} valueSpecify the unique ID of the property to retrieve its details.integerRequired

Response body parameters

To know more about the response body parameters, see the open API specification of the Property API settings endpoint.

Response body example

Click to view the full response.
{
  "data": {
    "property_settings": {
      "require_cvc": true,
      "curfew": {
        "start": "18:00",
        "end": "09:00"
      },
      "require_booker_address": true,
      "require_booker_phone_number": true,
      "age_restriction": {
        "min": 18,
        "max": 99
      },
      "auto_replenish": true,
      "replenish_closed_rooms": true,
      "long_stay": {
        "max_length_of_stay": 45
      },
      "pricing_type": "Standard",
      "allow_smoking": true,
      "view_cc_details": true
    },
    "pets": {
      "pets_allowed": "PETS_NOT_ALLOWED",
      "pets_price_type": "FREE"
    },
    "damage_policy": {
      "amount": 80.0,
      "currency": "EUR",
      "policy_type": "HANDLED_BY_BOOKING_COM",
      "damage_programme_terms_agreed": true
    },
    "standard_phrases": [
      {
        "name": "GuestIdentification",
        "enabled": true
      }
    ],
    "quiet_hours": {
      "start": "22:00",
      "end": "06:00"
    },
    "renovation": {
      "renovation_from": "2014-01-01",
      "renovation_until": "2014-01-10"
    },
    "bed_linen_policy": {
      "amount": 100.0
    },
    "accepted_payment_types": {
      "codes": [
        1,
        2,
        55
      ]
    },
    "french_tax_details": {
      "category_id": 0,
      "nature_id": 0,
      "declare_revenue": true,
      "has_vat": true,
      "registered_in_rcs": true
    },
    "cancellation_exceptions" : {
      "grace_period": {
        "enabled": true,
        "after_booking": "HOUR_1"
      },
      "advance_cancellation": {
        "enabled": true,
        "before_check_in": "WEEKS_4"
      }
    },
    "age_buckets": [
      {
        "min_age": 1,
        "max_age": 10
      }
    ],
    "children_policies": {
      "allow_children": true,
      "min_age": 0,
      "policy_rules": [
        {
          "rule_type": "EXISTING_BED",
          "from_age": 0,
          "to_age": 0,
          "price_type": "FREE",
          "price_mode": "PER_STAY",
          "price": 0
        }
      ]
    },
    "invoice_settings": {
      "legal_name": "string",
      "contact_person": "string",
      "address": "string",
      "state": "string",
      "notification_channel": "string",
      "payment_method": "string",
      "country_code": "string",
      "city": "string",
      "postal_code": "string",
      "brazil_tax_details": {
        "tax_payer_number_type": "string",
        "tax_payer_number": "string",
        "city_hall_id": "string",
        "email": "string"
      }
    },
    "booking_model": {
      "type": "IB"
    }
  },
  "warnings": [
    {
      "message": "string",
      "code": "string",
      "details": {}
    }
  ],
  "errors": [
    {
      "message": "string",
      "code": "string",
      "details": {}
    }
  ],
  "meta": {
    "ruid": "string"
  }
}

Retrieving terms and conditions for damage programme

GET
https://supply-xml.booking.com/property-api/legal/damage-programme/terms

Use the GET property-api endpoint along with the language code to retrieve the terms and conditions for enrolling into the damage programme with Booking.com.

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

Query parameter

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

ValueDescriptionTypeRequired/
Optional
Notes
language_codeSpecify the language code in which you want the terms to be returned in.Accepts the values listed under BCL.Required

Response body parameters

To know more about the response body parameters, see the open API specification of the Property API settings section.

Quick Actions


→ To create and manage property, see Property API.