# 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](/connectivity/docs/policies-api/policies-overview). 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.](/connectivity/docs/property-api/implementing-property-api-ga)

This topic helps you:

- [Create or update property settings.](#creating-or-updating-property-settings)
- [Retrieve property settings details.](#retrieving-property-settings)


## Creating or updating property settings


```http
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:

| Header | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `Content-Type: application/json` | Specifies the expected content type. | string | Required |  |


### Path parameter

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

| Value | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| {`property ID`} value | Specify the unique ID of the property to update its details. | integer | Required |  |


### Request body

The following is a request body example:

details
summary
 Click to view the request body example.

```json
{
  "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.

| Object | Attribute | Description | Type | Optional/Required | Notes | Root parameter in HDCN |
|  --- | --- | --- | --- | --- | --- | --- |
| **>** `property_settings` |  | Contains multiple settings related to the property. | object | Optional |  |  |
|  | `require_cvc` | Specifies whether the guest needs to provide CVC details for the booking. | boolean | Optional | Default: false | [HotelInfo > TPA_Extensions > PaymentPreferences](/connectivity/docs/collecting-cvc#implementing-or-disabling-cvc-collection) |
|  | `view_cc_details` | Specifies whether a trusted property can view the guest's credit card details on Extranet. | boolean | Optional | Default: false | [HotelInfo > TPA_Extensions > PaymentPreferences](/connectivity/docs/collecting-cvc#implementing-or-disabling-cvc-collection) |
|  | `require_booker_address` | Specifies whether the guests must provide a contact address. | boolean | Optional | Default: false | [TPA_Extensions > GuestInformation > RequireGuestAddress](/connectivity/docs/api-reference/guestinformation#guestinformation) |
|  | `require_booker_phone_number` | Specifies whether the guests must provide a contact telephone number. | boolean | Optional | Default: false | [TPA_Extensions > GuestInformation > RequireGuestContactNumber](/connectivity/docs/api-reference/guestinformation#guestinformation) |
|  | `auto_replenish` | Specifies if property is enabled to auto-replenish and is used to make a room available to sell again after a cancellation. | boolean | Optional | Default: true |  |
|  | `replenish_closed_rooms` | Specifies whether to reopen closed rooms after a cancellation. This will open a closed room after a cancellation is received. | boolean | Optional | Default: true. This option will only work if `auto_replenish=true`. |  |
|  | `pricing_type` | Specifies the property's pricing type. Can be `Standard`, `LOS` or `OBP`. For more information, see [pricing types.](/connectivity/docs/understanding-pricing-types/) | enum | Optional | Default: Standard | [TPA_Extensions > PricingType](/connectivity/docs/api-reference/pricingtype#ota_hoteldescriptivecontentnotif) |
|  | `allow_smoking` | Specifies whether the property allows smoking. | boolean | Optional | Default: true | [House-Rules API](/connectivity/docs/set-house-rules) |
| **>>** `curfew` |  | Contains curfew settings for the property. | object | Optional | Curfew start and end cannot overlap with property check-in and check-out times. |  |
|  | `enabled` | Specifies whether the property has curfew time enabled. | boolean | Required |  | [TPA_Extensions > GuestInformation > HasCurfew](/connectivity/docs/api-reference/guestinformation#guestinformation) |
|  | `start` | Specifies the time when curfew starts. Accepts the format: `HH:MM`. Only effective when `enabled=true`. | boolean | Optional | Required if `enabled=true`. | [TPA_Extensions > GuestInformation > CurfewStart](/connectivity/docs/api-reference/guestinformation#guestinformation) |
|  | `end` | Specifies the time when curfew ends. Accepts the format: `HH:MM`. Only effective when `enabled=true`. | boolean | Optional | Required if `enabled=true`. | [TPA_Extensions > GuestInformation > CurfewEnd](/connectivity/docs/api-reference/guestinformation#guestinformation) |
| **>>** `age_restriction` |  | Contains whether there is an age limit to check-in. | object | Optional |  |  |
|  | `enabled` | Specify whether age restriction is enabled | boolean | Required |  | [TPA_Extensions > GuestInformation > HasAgeRestriction](/connectivity/docs/api-reference/guestinformation#guestinformation) |
|  | `min` | Specifies the minimum allowed age for guests to check-in. Allowed age range: 18-99. Only effective when `enabled=true`. | boolean | Optional | Required if `enabled=true`. | [TPA_Extensions > GuestInformation > AgeRestrictionMin](/connectivity/docs/api-reference/guestinformation#guestinformation) |
|  | `max` | Specifies the maximum allowed age for guests to check-in. Allowed age range: 18-99. Only effective when `enabled=true`. | boolean | Optional | Required if `enabled=true`. | [TPA_Extensions > GuestInformation > AgeRestrictionMax](/connectivity/docs/api-reference/guestinformation#guestinformation) |
| **>>** `long_stay` |  | Contains whether property accepts a stay longer than 30 nights. | object | Optional |  |  |
|  | `enabled` | Specifies whether the property has a long stay option enabled. | boolean | Required |  | [TPA_Extensions > LongStayInfo > AcceptLongStay](/connectivity/docs/api-reference/longstayinfo#longstayinfo) |
|  | `max_length_of_stay` | Specifies the maximum number of days allowed to stay at the property. Can be one of the values: 45, 60, 75, 90. | integer | Optional | Default: 90 if long stay option is enabled. | [TPA_Extensions > LongStayInfo > MaxLengthOfStay](/connectivity/docs/api-reference/longstayinfo#longstayinfo) |
| **>** `pets` |  | Contains settings related to pets policy. | object | Optional |  | [Policies > Policy > PetsPolicies](/connectivity/docs/api-reference/petspolicy) |
|  | `pets_allowed` | Specifies whether pets are allowed at the property. Possible values are:  - `PETS_ALLOWED`,  - `PETS_NOT_ALLOWED` and   - `PETS_ALLOWED_ON_REQUEST`. | enum | Required |  |  |
|  | `pets_price_type` | Specifies pets price type option for the property. Possible values are:  - `FREE`  - `CHARGES_MAY_APPLY`. | enum | Optional |  |  |
| **>** `damage_policy` |  | Contains settings related to damage policy. | object | Optional |  | [TPA_Extensions > StandardPhrases](/connectivity/docs/fine-print) |
|  | `amount` | Specifies the amount on which the damage deposit or programme is applicable for | double | Required | Default: 0.0 |  |
|  | `currency` | Specifies the currency in which the claim and limit occurs. | string | Optional | Default is Property Currency if not specified. |  |
|  | `policy_type` | Specifies the policy that is applicable.  Possible values are:  - `NONE`,  - `HANDLED_BY_PROPERTY` and   - `HANDLED_BY_BOOKING_COM`. | enum | Required | Default: 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_agreed` | Specifies if you agree to the terms for the damage programme. To view damage deposit terms, you can make GET call to `/property-api/legal/damage-programme/terms?language_code=en-us` endpoint | boolean | Optional | Default: 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_mode` | Specifies how you would collect damage deposit. Possible values are:  - `CASH`,  - `CREDIT_CARD`,  - `PAYPAL`,  - `BANK_TRANSFER` and   - `OTHER`. | enum | Optional | Only applicable for `HANDLED_BY_PROPERTY`. |  |
|  | `collection_when` | Specifies when you would collect the damage deposit. Possible values are:  - `ON_ARRIVAL`,  - `SEVEN_DAYS_BEFORE_ARRIVAL` and   - `FOURTEEN_DAYS_BEFORE_ARRIVAL`. | enum | Optional | Only applicable for `HANDLED_BY_PROPERTY`. If `collection_mode` is `CASH` then only `ON_ARRIVAL` is allowed for `collection_when`. |  |
|  | `return_mode` | Specifies how you would return the damage deposit. Possible values are:  - `CASH`,  - `CREDIT_CARD`,  - `PAYPAL`,  - `BANK_TRANSFER` and   - `OTHER`. | enum | Optional | Only applicable for `HANDLED_BY_PROPERTY`. |  |
|  | `return_when` | Specifies when you would return the damage deposit. Possible values are:  - `ON_CHECKOUT`,  - `WITHIN_7_DAYS` and   - `WITHIN_14_DAYS`. | enum | Optional | Only applicable for `HANDLED_BY_PROPERTY`. If `return_mode` is `CASH` then only `ON_CHECKOUT` is allowed for `return_when`. |  |
| **>** `standard_phrases` |  | Contains settings related to standard phrases. You can send 1 or multiple standard phrases that you want to enable or remove. | array of objects | Optional |  | [TPA_Extensions > StandardPhrases](/connectivity/docs/fine-print) |
|  | `name` | Specifies the name of the standard phrase. For a full list of Booking.com supported standard phrases, see [StandardPhrase.](/connectivity/docs/content-api-modules/property-details-api/standard-phrases) | enum | Required |  |  |
|  | `enabled` | Specifies if standard phrase should be enabled or removed. | boolean | Required |  |  |
| **>** `quiet_hours` |  | Contains settings related to quiet hours of the property. | object | Optional |  | [House-Rules API](/connectivity/docs/set-house-rules) |
|  | `enabled` | Specifies whether the property has quiet hours enabled. | boolean | Required |  |  |
|  | `start` | Specifies the quiet hours start time. Accepts the format" `HH:mm` | string | Optional | Required if `enabled=true`. |  |
|  | `end` | Specifies the quiet hours end time. Accepts the format: `HH:mm` | string | Optional | Required if `enabled=true`. |  |
| **>** `renovation` |  | Contains settings related to renovation dates. | object | Optional |  | [TPA_Extensions > StandardPhrases](/connectivity/docs/fine-print) |
|  | `enabled` | Specifies whether renovation dates are enabled. | boolean | Required |  |  |
|  | `start` | Specifies the renovation start date. Accepts the format: `yyyy-mm-dd`. | string | Optional | Required if `enabled=true`. |  |
|  | `end` | Specifies the renovation end date. Accepts the format: `yyyy-mm-dd`. | string | Optional | Required if `enabled=true`. |  |
| **>** `bed_linen_policy` |  | Contains 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. | object | Optional |  | [TPA_Extensions > StandardPhrases](/connectivity/docs/fine-print) |
|  | `enabled` | Specifies whether the option to rent bed linen is enabled. | boolean | Required |  |  |
|  | `amount` | Specifies the cost of renting bed linens and towels specified in the property's default currency. | double | Optional | Required if `enabled=true`. |  |
| **>** `accepted_payment_types` |  | Contains settings related to payment methods. | object | Optional |  |  |
|  | `codes` | Specifies the list of supported payment methods. For a full list of payment codes, see [Booking.com Payment Type Codes.](/connectivity/docs/codes-bcpt) | array of integers | Required |  | [TPA_Extensions > AcceptedPayments](/connectivity/docs/api-reference/acceptedpayments) |
| **>** `french_tax_details` |  | Contains settings related to tax details. Only applicable for countries: France, Martinique, Guadeloupe, French Guiana, Reunion, Mayotte. | object | Optional |  | [TPA_Extensions > PropertyTaxInfo](/connectivity/docs/api-reference/propertytaxinfo) |
|  | `category_id` | Contains a number - city tax category ID. You can retrieve available categories using the [/xml/citytaxcategory](/connectivity/docs/b_xml-citytaxcategory) call. | string | Optional |  | [TPA_Extensions > PropertyTaxInfo > PropertyTaxCategory](/connectivity/docs/api-reference/propertytaxinfo) |
|  | `nature_id` | Contains a number - nature category ID. You can retrieve available categories using [/xml/citytaxcategory](/connectivity/docs/b_xml-citytaxcategory) call. | string | Optional |  | [TPA_Extensions > PropertyTaxInfo > PropertyNatureCategory](/connectivity/docs/api-reference/propertytaxinfo) |
|  | `declare_revenue` | Specifies whether the property declares revenues as professional for direct tax purposes. | boolean | Required |  | [TPA_Extensions > PropertyTaxInfo > PropertyDeclaresRevenue](/connectivity/docs/api-reference/propertytaxinfo) |
|  | `has_vat` | Specifies whether the property has a registered VAT for this activity. | boolean | Required |  | [TPA_Extensions > PropertyTaxInfo > PropertyHasVat](/connectivity/docs/api-reference/propertytaxinfo) |
|  | `registered_in_rcs` | Specifies whether the property is registered as a professional at the trade commercial register (Registre du Commerce et des Sociétés). | boolean | Required |  | [TPA_Extensions > PropertyTaxInfo > PropertyRegisteredInVcs](/connectivity/docs/api-reference/propertytaxinfo) |
| **>** `cancellation_exceptions` |  | Contains settings related to cancellation for non-refundable policy. | object | Optional |  | [TPA_Extensions > CancellationGracePeriod](/connectivity/docs/api-reference/cancellationgraceperiod) |
| **>>**`grace_period` |  |  |  | Optional |  |  |
|  | `enabled` | Specifies whether the property has a grace period enabled. | boolean | Optional |  |  |
|  | `after_booking` | Specifies the number of hours after booking when free cancellation is available. Can be one of the values: `HOURS_1`, `HOURS_4` or `HOURS_24`. | enum | Required |  | [TPA_Extensions > CancellationGracePeriod > HoursAfterBooking](/connectivity/docs/api-reference/cancellationgraceperiod) |
| **>>**`advance_cancellation` |  |  |  | Optional |  |  |
|  | `enabled` | Specifies whether the property has advance cancellation enabled. |  | Optional |  |  |
|  | `before_check_in` | Specifies the advance 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`. | enum | Required |  | [TPA_Extensions > CancellationGracePeriod > WeeksBeforeCheckIn](/connectivity/docs/api-reference/cancellationgraceperiod) |
| **>** `age_buckets` |  | Contains age bucket details. When [setting flexible children pricing,](/connectivity/docs/flexible-children-rates/managing-flexible-children-rates) you can use the age bucket you set here to specify the age range to which the pricing applies. | array of objects | Optional | No age bucket set up by default.  You can create up to four 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. Sending empty array will remove all age buckets. | [TPA_Extensions > AgeBuckets](/connectivity/docs/flexible-children-rates/managing-a-children-policy) |
|  | `min_age` | Specifies the minimum age for the age bucket. | integer | Required |  | [Policies > TPA_Extensions > AgeBuckets > AgeBucket > MinAge](/connectivity/docs/flexible-children-rates/managing-a-children-policy) |
|  | `max_age` | Specifies the maximum age for the age bucket. | integer | Required |  | [Policies > TPA_Extensions > AgeBuckets > AgeBucket > MaxAge](/connectivity/docs/flexible-children-rates/managing-a-children-policy) |
|   **>** `children_policies` |  | Contains whether a property accepts children. You can specify the following: the minimum age the children are welcome and additional rules for existing/extra bed or crib. | object | Optional | Please check additional logic that can be found below. |  |
|  | `allow_children` | Specifies whether the property admits adults and children, or only adults. | boolean | Optional | Set it to `true` if property contains rooms with children occupancy more than 0. Consequently, if any unit's `max_children` occupancy is set above `0`, then this value is automatically changed to `true`. If `max_children` occupancy is set to `0` for all property's units, then this value is automatically changed to `false` and all children policy rules are removed including the price details. | [Policies > Policy > PolicyInfo > AcceptedGuestType](/connectivity/docs/flexible-children-rates/managing-a-children-policy) |
|  | `min_age` | Specifies the minimum age of children allowed to stay at the property. | integer | Optional | Applies only when `allow_children = true`. Updating `min_age` to a value relative to the `from_age` field under `policy_rules` can alter the `from_age` values. For more details on the dependency between the two and examples, see the section [How minimum age changes affect policy rules.](#how-minimum-age-changes-affect-policy-rules) | [Policies > Policy > PolicyInfo > MinGuestAge](/connectivity/docs/flexible-children-rates/managing-a-children-policy) |
| **>>** `policy_rules` |  | You 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 objects | Optional | Applies only when `allow_children = true` except for `EXTRA_BED_FOR_ADULTS`. Sending empty array will remove all rules. | [Policies > Policy > FeePolicies](/connectivity/docs/api-reference/feepolicy) |
|  | `rule_type` | Specifies the rule type for which this rule applies. Possible values are:  - `EXISTING_BED`  - `EXTRA_BED`  - `CRIB`  - `EXTRA_BED_FOR_ADULTS`. | enum | Required | The age allowance for `CRIB` is in range from 0 to 6. | [Policies > Policy > FeePolicies > Code](/connectivity/docs/api-reference/feepolicy) |
|  | `from_age` | Specifies the minimum age for the children policy to apply. In combination with `to_age` it becomes an age range. | integer | Required* | *Optional if `policy_rules` = `EXTRA_BED_FOR_ADULTS`   Updating `min_age` to a value lower than the `from_age` field resets this value to the `min_age` value. | [Policies > Policy > FeePolicies > MinAge](/connectivity/docs/api-reference/feepolicy) |
|  | `to_age` | Specifies the maximum age for the children policy to apply. | integer | Required* | *Optional if `policy_rules` = `EXTRA_BED_FOR_ADULTS` | [Policies > Policy > FeePolicies > MaxAge](/connectivity/docs/api-reference/feepolicy) |
|  | `price_type` | Specifies if the rule is `FREE`, `ADULT_PERCENTAGE`, or `FIXED` price. | enum | Required | Set `FREE` if price is null. Set `ADULT_PERCENTAGE` if price is calculated based on a percentage of the adult price. Set `FIXED` when specifying a price. |  |
|  | `price_mode` | Specifies the unit of time on which the charge is calculated. Can be `PER_NIGHT` or `PER_STAY`. | enum | Required |  | [Policies > Policy > FeePolicies > ChargeFrequency](/connectivity/docs/api-reference/feepolicy) |
|  | `price` | If `price_type` is `Fixed`, specifies a fixed amount charged in the [country's local currency.](/connectivity/docs/b_xml-countrycurrencies)  If `price_type` is `ADULT_PERCENTAGE`, specifies a percentage of adult price to charge as child price. | double | Optional | Required if `price_type=FIXED` or `ADULT_PERCENTAGE`. | [Policies > Policy > FeePolicies > Amount](/connectivity/docs/api-reference/feepolicy) |
| **>** `booking_model` |  | Contains whether the property can have request to book option. | object | Optional |  |  |
|  | `type` | Specifies the booking model type of the property. Can be RTB (request to Book) or IB (instant booking). | enum | Required | Default: IB. You can check the [eligibility criteria](/connectivity/docs/request-to-book/eligibility). | [TPA_Extensions > RTB](/connectivity/docs/tsk-create-property#enabling-request-to-book) |
| **>** `invoice_settings` |  | Specifies the details of the company that owns/manages the property. | object | Optional | Invoice settings cannot be updated during the billing period from 1st to 7th day of the month. |  |
|  | `legal_name` | Specifies the legal name of the company. | string | Optional |  |  |
|  | `contact_person` | Specifies the full name of the contact person. | string | Optional | You need to setup if you want property to go Open/Bookable. | [ContactInfos > ContactInfo > Name](/connectivity/docs/api-reference/contactinfo) |
|  | `address` | Specifies the company address. | string | Optional | You need to setup if you want property to go Open/Bookable. | [ContactInfos > ContactInfo > Addresses > AddressLine](/connectivity/docs/api-reference/contactinfo) |
|  | `country_code` | Specifies the country Code. Should be valid ISO code. | string | Optional | You need to setup if you want property to go Open/Bookable. | [ContactInfos > ContactInfo > Addresses > CountryName](/connectivity/docs/api-reference/contactinfo) |
|  | `city` | Specifies the city name. | string | Optional | You need to setup if you want property to go Open/Bookable. | [ContactInfos > ContactInfo > Addresses > CityName](/connectivity/docs/api-reference/contactinfo) |
|  | `postal_code` | Specifies the postal/Zip code. | string | Optional |  | [ContactInfos > ContactInfo > Addresses > PostalCode](/connectivity/docs/api-reference/contactinfo) |
|  | `state` | Specifies the state. | string | Optional |  | [ContactInfos > ContactInfo > Addresses > StateProv > StateCode](/connectivity/docs/api-reference/contactinfo) |
|  | `notification_channel` | Specifies the channel that the company prefers to be notified for invoice related information. Can be one of: POSTAL_MAIL or EMAIL. | enum | Optional |  |  |
| **>>** `brazil_tax_details` |  | You can indicate additional settings for Brazilian properties, issued by the Brazilian tax authority. Used for invoicing. | object | Optional | You need to setup brazil tax details if you want property in Brazil to go Open/Bookable. |  |
|  | `tax_payer_number_type` | Specifies whether the identifying number belongs to a company or a private individual. | string | Optional |  | [TPA_Extensions > InvoiceDetails > InvoiceTaxType > Type](/connectivity/docs/api-reference/invoicedetails) |
|  | `tax_payer_number` | Specifies the identifying number. CNPJ = 14 digits. CPF = 11 digits. | string | Optional |  | [TPA_Extensions > InvoiceDetails > InvoiceTaxNumber > Code](/connectivity/docs/api-reference/invoicedetails) |
|  | `city_hall_id` | Specifies the 8-digit ID for the city hall which issued the CNPJ or CPF number | string | Optional |  | [TPA_Extensions > InvoiceDetails > CityHallInfo > ID](/connectivity/docs/api-reference/invoicedetails) |
|  | `email` | Specifies the email address of the invoice recipient. | string | Optional |  | [TPA_Extensions > InvoiceDetails > InvoiceAddress > Email](/connectivity/docs/api-reference/invoicedetails) |
| **>** `land_registration_numbers` |  | To comply with the European Union's (EU) DAC7 tax legislation, properties located in EU countries must provide their land registration number when listed on Booking.com. This unique property identifier is recorded in official registers and is also known as a cadastral number. | array of strings | Optional | You can apply 1 or multiple numbers on 1 property. Only applicable for EU countries, excluding Spain. |  |


### Response body

details
summary
 Click to view the response body example:

```json
{
  "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:


```json
{
    "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, setting child policies with no rooms may result in the following error:


```json
{
    "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


```http
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:

| Value | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| {`property ID`} value | Specify the unique ID of the property to retrieve its details. | integer | Required |  |


### Response body parameters

To know more about the response body parameters, see
the [open API specification](https://supply-xml.booking.com/property-api/swagger#/Property%20Settings%20API/readPropertySettings)
of the Property API `settings` endpoint.

### Response body example

details
summary
 Click to view the full response. 

```json
{
  "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",
      "rtb_eligible": false
    }
  },
  "warnings": [
    {
      "message": "string",
      "code": "string",
      "details": {}
    }
  ],
  "errors": [
    {
      "message": "string",
      "code": "string",
      "details": {}
    }
  ],
  "meta": {
    "ruid": "string"
  }
}
```

## Retrieving terms and conditions for damage programme


```http
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:

| Header | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| `Accept-Version` | Specify the version number to get the API functionality specific to that version. | string | Optional | Currently supports the value:  1.0 |


### Query parameter

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

| Value | Description | Type | Required/Optional | Notes |
|  --- | --- | --- | --- | --- |
| language_code | Specify the language code in which you want the terms to be returned in. | Accepts the values listed under [BCL.](/connectivity/docs/codes-bcl) | Required |  |


### Response body parameters

To know more about the response body parameters, see
the [open API specification](https://supply-xml.booking.com/property-api/swagger#/Property%20Settings%20API/getDamageProgrammeTerms)
of the Property API `settings` section.

## How minimum age changes affect policy rules

When updating `min_age`, the API takes different actions based on its comparison to `from_age`:

- Deletes the specific policy rule if the `to_age` of a policy rule is lower than `min_age`. For example, if the existing policy rule specifies {`from_age`: 2, `to_age`: 5} and when the new `min_age`: 6, the rule is removed.
- Increases the `from_age` to match `min_age` if `to_age` is greater than `min_age` but `from_age` is smaller than `min_age`. For example, if the existing policy rule specifies {`from_age`: 2, `to_age`: 5} and when the new `min_age`: 3, then the API updates the policy rule to: {`from_age`: 3, `to_age`: 5}
- Lowers the `from_age` to match `min_age` if `to_age` is greater than `min_age` and `from_age` is greater than `min_age`. For example, if the existing policy rule specifies {`from_age`: 5, `to_age`: 10} and when the new `min_age`: 3, then the API updates the policy rule to: {`from_age`: 3, `to_age`: 10}


Here's an example with multiple policy rules, including some with the same type:


```json
{
    "children_policies": {
        "allow_children": true,
        "min_age": 1,
        "policy_rules": [
            {
                "rule_type": "CRIB",
                "from_age": 1,
                "to_age": 2,
                "price_type": "FREE",
                "price_mode": "PER_STAY"
            },
            {
                "rule_type": "CRIB",
                "from_age": 3,
                "to_age": 5,
                "price_type": "FREE",
                "price_mode": "PER_STAY"
            },
            {
                "rule_type": "EXTRA_BED",
                "from_age": 1,
                "to_age": 4,
                "price_type": "FREE",
                "price_mode": "PER_STAY"
            },
            {
                "rule_type": "EXISTING_BED",
                "from_age": 1,
                "to_age": 5,
                "price_type": "FREE",
                "price_mode": "PER_STAY"
            }
        ]
    }
}
```

When sending a request with min_age = 4, the policy rules update to:


```json
{
  "children_policies": {
    "allow_children": true,
    "min_age": 4,
    "policy_rules": [
      {
        "rule_type": "EXISTING_BED",
        "from_age": 4,
        "to_age": 5,
        "price_type": "FREE",
        "price_mode": "PER_STAY",
        "price": 0.0
      },
      {
        "rule_type": "EXTRA_BED",
        "from_age": 4,
        "to_age": 4,
        "price_type": "FREE",
        "price_mode": "PER_STAY",
        "price": 0.0
      },
      {
        "rule_type": "CRIB",
        "from_age": 4,
        "to_age": 5,
        "price_type": "FREE",
        "price_mode": "PER_STAY",
        "price": 0.0
      }
    ]
  }
}
```

The results show:

- All rules with `from_age` less than 4 are updated to `from_age` = 4
- The `CRIB` policy rule with `to_age` = `2` is removed since the `to_age` less than the new `min_age` of `4`


### Age bracket rules

- Each rule type must have unique, non-overlapping age brackets
- For example, you cannot have two `CRIB` rules covering ages 1-3 and 2-4, as ages 2-3 would overlap


### Rule type handling

- Sending a single rule automatically removes all existing rules of the same type
- Rule types are grouped by their base type:
  - `EXTRA_BED_FOR_ADULTS` and `EXTRA_BED` belong to the same group
  - Sending either one will remove all rules from this group


## Quick actions

→ To create and manage property, see [Property API.](/connectivity/docs/property-api/implementing-property-api-ga)