Business rules

In addition to the schema validation, some extra business rules apply. They are explained in this document to ensure your listings can be processed without issues.

Conditional required fields

These fields are only required when certain other fields are present or contain a specific value.

Acceptance date

When <acceptance-type> is set to per date, acceptance-date must be set:

<acceptance>
  <acceptance-type>per date</acceptance-type>
  <acceptance-date>2020-12-30</acceptance-date>
</acceptance>

When immediately or in consulation is set, the date field is prohibited.

Price

In some cases the price node is required

Sale

When using the <sale> complex type, the <price> node must be set when either asking price or purchase price is set for <price-type>:

<sale>
  <price>350000</price>
  <price-type>asking price</price-type>
</sale>

<price> is optional when price on request is set.

Rent

When using the <rent> complex type, the <price> node must be set when rent price is set for <price-type>:

<rent>
  <price>1000</price>
  <price-type>rent price</price-type>
</rent>

<price-type> is optional when price on request is set.

Rent Duration

When specifying a duration for a rent listing, a few rules apply.

  • When both <minimum> and <maximum> are set, <maximum> must be greater than or equal to <minimum>
  • When <maximum> is set, <temporary> must also be set

The following snippets, for example, are valid:

<duration>
  <minimum>6</minimum>
  <maximum>12</maximum>
  <temporary>1</temporary>
</duration>
<duration>
  <maximum>12</maximum>
  <temporary>1</temporary>
</duration>
<duration>
  <minimum>6</minimum>
</duration>

Price Specifications

When specifying utility costs using the <price-specifications> element, these rules apply:

  • Multiple <cost> elements can be specified within <price-specifications>
  • Each <cost> element must have a type attribute specified (gas, water, electricity, etc)
  • Each <cost> element must have an included attribute that indicates whether the cost is included in the rent (true or false)
  • When a cost has included false, then the costs will be ignored and will not be shown on the websites.
  • When a cost has included true, then the amount attribute is required. When specified it must be an integer value representing the monthly cost in euros
  • The <price> tag specifies the price excluding service costs. So the total price is calculated based on the <price> tag summer with all the <cost> in the <price-specifications> tag.

Example of valid price specifications:

<price-specifications>
  <cost type="gas" included="true" amount="100"/>
  <cost type="water" included="false"/>
</price-specifications>

Upholstery and furnishing

When specifying the interior costs using the <price-specifications> element, these rules apply:

  • When the property is upholstered then you add a <cost type="upholstery" included="true" amount="10" /> element.
  • When the property is furnished then you add a <cost type="furnishing" included="true" amount="10" /> element.
  • When the property is both upholstered and furnished then you add a <cost type="furnishing" included="true" amount="10" /> element, an added upholstery element will be ignored.
  • When the property is optionally furnished then you add a <cost type="furnishing" included="false" amount="10" /> element, an added upholstery element will be processed as well.
  • When both furnishing and upholstery is not specified, the property will be treated as shell.