Schema definition

This page documents the definition of the schema as accepted by Pararius and Huurwoningen. Additional business rules may apply to certain combinations of fields. See the Business Rules page for details. The XSD is also available for Download.

  <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
           vc:minVersion="1.1"
           elementFormDefault="qualified"
           targetNamespace="https://feed.casco.io/v2"
           xmlns="https://feed.casco.io/v2"
>
  <xs:annotation>
    <xs:documentation><![CDATA[
      Casco XML Schema, version 2.0.2
      Describes the contents of a Casco feed.
    ]]></xs:documentation>
  </xs:annotation>

  <xs:simpleType name="nonEmptyString">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="year">
    <xs:restriction base="xs:gYear">
      <xs:pattern value="[12][0-9]{3}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="details">
    <xs:all>
      <xs:element name="original-url" type="xs:anyURI">
        <xs:annotation>
          <xs:documentation xml:lang="en">Link to the listing on the agent website.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="descriptions">
        <xs:complexType>
          <xs:all>
            <xs:element name="nl" type="nonEmptyString">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  Description that can contain lists in this format:

                  - unordered list item
                  1. ordered list item

                  All other markup will be removed.
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="en" type="nonEmptyString" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  Description that can contain lists in this format:

                  - unordered list item
                  1. ordered list item

                  All other markup will be removed.
                </xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:all>
        </xs:complexType>
      </xs:element>
      <xs:element name="available-since" type="xs:date" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">Date from when the listing is available to rent / for sale.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="house-number-visibility" type="xs:boolean">
        <xs:annotation>
          <xs:documentation xml:lang="en">True means that the house number will be shown.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="viewing-full" type="xs:boolean">
        <xs:annotation>
          <xs:documentation xml:lang="en">True means that the viewing time slots are full.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="address">
    <xs:annotation>
      <xs:documentation xml:lang="en">
        Address of the listing. Addresses are validated for existence via their postal code and house number.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="country">
        <xs:annotation>
          <xs:documentation xml:lang="en">Only "NL" will be published.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z]{2}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="postal-code">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[1-9][0-9]{3}[A-Z]{2}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="house-number" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            0 can be used for newly build houses that haven't been assigned a house number yet.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="house-number-suffix" type="nonEmptyString" minOccurs="0"/>
      <xs:element name="street" type="xs:string" minOccurs="0" />
      <xs:element name="city" type="xs:string" minOccurs="0" />
      <xs:element name="latitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-90"/>
            <xs:maxInclusive value="90"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="longitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-180"/>
            <xs:maxInclusive value="180"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="facilities">
    <xs:sequence>
      <xs:element name="facility" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="airconditioning">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Airco</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="alarm installation">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Alarminstallatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="attick">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zolder</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bath">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bad</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cable tv">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kabel tv</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cellar">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kelder</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dormer">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dakkapel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="elevator">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Lift</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fiber optic cable">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Glasvezelkabel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fireplace">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Open haard</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="flue">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Rookkanaal</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="french balcony">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Frans balkon</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="intercom">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Intercom</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="internet connection">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Internetverbinding</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="jacuzzi">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Jacuzzi</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mechanical ventilation">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Mechanische ventilatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="outdoor awning">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Buiten zonwering</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rolldown shutters">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Rolluiken</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="roller blinds">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Rolgordijnen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="roof terrace">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dakterras</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="satellite antenna">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Satelliet</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sauna">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Sauna</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sewer connection">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Rioolaansluiting</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="shower">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Douche</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="skylight">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dakraam</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sliding door">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Schuifpui</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="solar collectors">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zonnecollectoren</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="solar panels">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zonnepanelen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="steam cabin">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Stoomcabine</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="storage room">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Opslagkamer</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="swimming pool">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zwembad</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="terrace">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Terras</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="toilet">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Wc</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wash place">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Wasruimte</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="windmill">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Windmolen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="construction">
    <xs:all>
      <xs:element name="type">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="newly">
              <xs:annotation>
                <xs:documentation xml:lang="en">Newly built house</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="existing">
              <xs:annotation>
                <xs:documentation xml:lang="en">Existing house</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="year" type="year"/>
      <xs:element name="modifications" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="modification" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:all>
                  <xs:element name="year" type="year"/>
                  <xs:element name="description" type="nonEmptyString"/>
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="layout">
    <xs:all>
      <xs:element name="number-of-rooms" type="xs:positiveInteger"/>
      <xs:element name="number-of-bedrooms" type="xs:positiveInteger" minOccurs="0"/>
      <xs:element name="number-of-bathrooms" type="xs:positiveInteger" minOccurs="0"/>
      <xs:element name="number-of-floors" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            The number of floors in the house or apartment that are available for sale / to rent.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="balcony" type="xs:boolean" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="dimensions">
    <xs:all>
      <xs:element name="surface-area" type="xs:positiveInteger"/>
      <xs:element name="volume" type="xs:positiveInteger" minOccurs="0"/>
      <xs:element name="plot-size" type="xs:positiveInteger" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="insulations">
    <xs:sequence>
      <xs:element name="insulation" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="roof">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dakisolatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wall">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Muurisolatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="floor">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Vloerisolatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="single glazing">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Enkel glas</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="double glazing">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dubbel glas</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="triple glazing">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Driedubbel glas</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hr glazing">
              <xs:annotation>
                <xs:documentation xml:lang="nl">HR glas</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="partly double glazing">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Gedeeltelijk dubbel glas</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="secondary glazing">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Voorzetramen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="full">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Volledig geïsoleerd</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cavity wall">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Spouwmuur</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="anchor free cavity wall">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Ankerloze spouwmuur</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no cavity wall">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geen spouwmuur</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="eco building">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Eco-constructie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geen isolatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="energyLabel">
    <xs:all>
      <xs:element name="energy-class">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="A+++++"/>
            <xs:enumeration value="A++++"/>
            <xs:enumeration value="A+++"/>
            <xs:enumeration value="A++"/>
            <xs:enumeration value="A+"/>
            <xs:enumeration value="A"/>
            <xs:enumeration value="B"/>
            <xs:enumeration value="C"/>
            <xs:enumeration value="D"/>
            <xs:enumeration value="E"/>
            <xs:enumeration value="F"/>
            <xs:enumeration value="G"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="index" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:float">
            <xs:minInclusive value="-9.99"/>
            <xs:maxInclusive value="9.99"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="end-date" type="xs:date" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="heatings">
    <xs:sequence>
      <xs:element name="heating" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="ch boiler">
              <xs:annotation>
                <xs:documentation xml:lang="nl">CV</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="communal heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Blokverwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="district heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Stadsverwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="electric heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Elektrische verwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wall heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Muurverwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="floor fully">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Vloerverwarming (geheel)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="floor partly">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Vloerverwarming (gedeeltelijk)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="central hearth">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Moederhaard</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gas hearth">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Gashaard</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fireplace">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Open haard</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fireplace possible">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Mogelijkheid voor open haard</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="coal heater">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kolenkachel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gas heater">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Gaskachel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wood heater">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Houtkachel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pellet stove">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Pelletkachel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hot air">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Heteluchtverwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="heat pump">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Warmtepomp</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="heat recovery unit">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Warmte terugwininstallatie</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="geothermal heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aardwarmte</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fan coil unit">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Ventilatieconvectoren</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="convector heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Convectorverwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="solar heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zonnecollectoren</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geen verwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="heatingBoiler">
    <xs:all>
      <xs:element name="make" type="nonEmptyString" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">Make of the heating boiler</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="year" type="year" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">Year that the heating boiler was installed</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="property" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="owned"/>
            <xs:enumeration value="rental"/>
            <xs:enumeration value="lease"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="fuel" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="gas"/>
            <xs:enumeration value="oil"/>
            <xs:enumeration value="electricity"/>
            <xs:enumeration value="pellet"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="combi" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="waterHeatings">
    <xs:sequence>
      <xs:element name="water-heating" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="ch boiler">
              <xs:annotation>
                <xs:documentation xml:lang="nl">CV-ketel</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="central facility">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Centrale voorziening</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gas water heater">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geiser</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gas boiler">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Gasboiler</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="electric boiler">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Electrische boiler</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="solar boiler">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zonneboiler</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="solar collectors">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Zonnecollector</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="district heating">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Stadsverwarming</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="situations">
    <xs:sequence>
      <xs:element name="situation" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="beside forest">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aan bosrand</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="by water">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aan water</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="by park">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aan park</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="at calm road">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aan rustige weg</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="at busy road">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aan drukke weg</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="in center">
              <xs:annotation>
                <xs:documentation xml:lang="nl">In centrum</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="in residential area">
              <xs:annotation>
                <xs:documentation xml:lang="nl">In woonwijk</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="unobstructed view">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Vrij uitzicht</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="open position">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Open ligging</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sheltered position">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Beschutte ligging</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="outside built-up area">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Buiten bebouwde kom</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="at navigable waterway">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Aan vaarwater</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="in wooded area">
              <xs:annotation>
                <xs:documentation xml:lang="nl">In bosrijke omgeving</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="in rural area">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Landelijk gelegen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="near sea">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bij zee</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="peripheral">
              <xs:annotation>
                <xs:documentation xml:lang="nl">In buitenwijk</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="near shopping center">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bij winkelcentrum</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="near public transport">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bij OV-voorziening</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="at business park">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bij bedrijfsterrein</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="near school">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bij school</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="near airport">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bij luchthaven</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="parking">
    <xs:all>
      <xs:element name="available" type="xs:boolean" minOccurs="0"/>
      <xs:element name="description" type="nonEmptyString" minOccurs="0"/>
      <xs:element name="type" type="parkingType" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="parkingType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="public">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Openbaar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="paid">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Betaald</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="garage">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Parkeergarage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permit">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Vergunning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="private terrain">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Prive terrein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="enclosed terrain">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Afgesloten terrein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="upkeep">
    <xs:restriction base="xs:string">
      <xs:enumeration value="excellent">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Zeer goed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="good">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Goed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reasonable">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Redelijk</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="moderate">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Matig</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bad">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Slecht</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="storage">
    <xs:all>
      <xs:element name="available" type="xs:boolean" minOccurs="0"/>
      <xs:element name="description" type="nonEmptyString" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="garage">
    <xs:all>
      <xs:element name="available" type="xs:boolean" minOccurs="0"/>
      <xs:element name="description" type="nonEmptyString" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="garden">
    <xs:all>
      <xs:element name="available" type="xs:boolean" minOccurs="0"/>
      <xs:element name="surface-area" type="xs:positiveInteger" minOccurs="0"/>
      <xs:element name="orientation" type="gardenOrientation" minOccurs="0"/>
      <xs:element name="back-entrance" type="xs:boolean" minOccurs="0"/>
      <xs:element name="description" type="nonEmptyString" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="gardenOrientation">
    <xs:restriction base="xs:string">
      <xs:enumeration value="n">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Noord</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ne">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Noordoost</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="e">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Oost</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="se">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Zuidoost</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="s">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Zuid</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sw">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Zuidwest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="w">
        <xs:annotation>
          <xs:documentation xml:lang="nl">West</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nw">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Noordwest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="specifics">
    <xs:sequence>
      <xs:element name="specific" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="shell">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kaal</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="monumental building">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Monumentaal pand</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fixer upper">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kluswoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="double occupancy possible">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dubbele bewoning mogelijk</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="accessible for seniors">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Toegankelijk voor ouderen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="accessible for disabled people">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Toegankelijk voor gehandicapten</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="protected townscape">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Beschermd stads- of dorpsgezicht</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="house">
    <xs:all>
      <xs:element name="kind">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="single family">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Eengezinswoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="town house">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Herenhuis</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="canal house">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Grachtenpand</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="country estate">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Landgoed</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="country house">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Landhuis</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="villa">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Villa</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bungalow">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bungalow</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="caravan">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Woonwagen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mobile home">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Stacaravan</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="former farm">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Woonboerderij</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="houseboat">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Woonboot</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="type">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="terraced">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Tussenwoning (rijtjeshuis)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="corner">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Hoekwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="end-of-terrace">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Eindwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="linked">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geschakelde woning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="duplex">
              <xs:annotation>
                <xs:documentation xml:lang="nl">2-onder-1-kapwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="linked duplex">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Geschakelde 2-onder-1-kapwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="semi-detached">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Halfvrijstaande woning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="detached">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Vrijstaande woning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="staggered">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Verspringende woning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="characteristic" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="quadrant">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kwadrantwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dike">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dijkwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mill">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Wind/watermolen</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="split-level">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Split-level woning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="drive-in">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Drive-in woning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="semi-bungalow">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Semi-bungalow</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="patio">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Patiowoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="stilt">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Paalwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="courtyard">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Hofjeswoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="company">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bedrijfs-of dienstwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="water">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Waterwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="facilities" type="facilities" minOccurs="0"/>
      <xs:element name="construction" type="construction"/>
      <xs:element name="layout" type="layout"/>
      <xs:element name="dimensions" type="dimensions"/>
      <xs:element name="insulations" type="insulations" minOccurs="0"/>
      <xs:element name="energy-label" type="energyLabel" minOccurs="0"/>
      <xs:element name="heatings" type="heatings" minOccurs="0"/>
      <xs:element name="heating-boiler" type="heatingBoiler" minOccurs="0"/>
      <xs:element name="water-heatings" type="waterHeatings" minOccurs="0"/>
      <xs:element name="situations" type="situations" minOccurs="0"/>
      <xs:element name="parking" type="parking" minOccurs="0"/>
      <xs:element name="upkeep" type="upkeep" minOccurs="0"/>
      <xs:element name="storage" type="storage" minOccurs="0"/>
      <xs:element name="garage" type="garage" minOccurs="0"/>
      <xs:element name="garden" type="garden" minOccurs="0"/>
      <xs:element name="specifics" type="specifics" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="apartment">
    <xs:all>
      <xs:element name="type">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="porch flat">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Portiekflat</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gallery flat">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Galerijflat</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="upper floor">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bovenwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ground floor">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Benedenwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="double ground floor">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dubbel benedenhuis</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="maisonnette">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Maisonnette</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="penthouse">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Penthouse</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="porch house">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Portiekwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="studio">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Studio</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="loft">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Loft</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mezzanine">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Tussenverdieping</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="duplex">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Beneden + bovenwoning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="characteristic" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="apartment">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Appartement</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="service flat">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Serviceflat</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="piano nobile">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Bel-etage</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="corridor flat">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Corridorflat</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sheltered apartment">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Verzorgingsflat</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="double upper floor">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Dubbel bovenhuis</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="souterrain">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Souterrain</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="storyNumber" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            Describes on what story of the building the apartment is located. 1 = the ground floor
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="numberOfStories" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            Total number of stories in the building containing the apartment.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="facilities" type="facilities" minOccurs="0"/>
      <xs:element name="construction" type="construction"/>
      <xs:element name="layout" type="layout"/>
      <xs:element name="dimensions" type="dimensions"/>
      <xs:element name="insulations" type="insulations" minOccurs="0"/>
      <xs:element name="energy-label" type="energyLabel" minOccurs="0"/>
      <xs:element name="heatings" type="heatings" minOccurs="0"/>
      <xs:element name="heating-boiler" type="heatingBoiler" minOccurs="0"/>
      <xs:element name="water-heatings" type="waterHeatings" minOccurs="0"/>
      <xs:element name="situations" type="situations" minOccurs="0"/>
      <xs:element name="parking" type="parking" minOccurs="0"/>
      <xs:element name="upkeep" type="upkeep" minOccurs="0"/>
      <xs:element name="storage" type="storage" minOccurs="0"/>
      <xs:element name="garage" type="garage" minOccurs="0"/>
      <xs:element name="garden" type="garden" minOccurs="0"/>
      <xs:element name="specifics" type="specifics" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="room">
    <xs:all>
      <xs:element name="property">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="apartment">
              <xs:annotation>
                <xs:documentation xml:lang="en">Room is located within an apartment</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="house">
              <xs:annotation>
                <xs:documentation xml:lang="en">Room is located within a house</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="shared">
        <xs:complexType>
          <xs:sequence>
            <xs:annotation>
              <xs:documentation xml:lang="en">Provide what facilities are shared with the roommates.</xs:documentation>
            </xs:annotation>
            <xs:element name="living-room" type="xs:boolean" minOccurs="0"/>
            <xs:element name="toilet" type="xs:boolean" minOccurs="0"/>
            <xs:element name="bathroom" type="xs:boolean" minOccurs="0"/>
            <xs:element name="kitchen" type="xs:boolean" minOccurs="0"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="roommates">
        <xs:complexType>
          <xs:all>
            <xs:element name="gender" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="male"/>
                  <xs:enumeration value="female"/>
                  <xs:enumeration value="mixed"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="number-of-roommates" type="xs:positiveInteger" minOccurs="0"/>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="dimensions">
        <xs:complexType>
          <xs:all>
            <xs:element name="surface-area" type="xs:positiveInteger" minOccurs="0"/>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="layout">
        <xs:complexType>
          <xs:all>
            <xs:element name="number-of-rooms" type="xs:positiveInteger" minOccurs="0"/>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="specifics" type="specifics" minOccurs="0"/>
      <xs:element name="facilities" type="facilities" minOccurs="0"/>
      <xs:element name="situations" type="situations" minOccurs="0"/>
      <xs:element name="upkeep" type="upkeep" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="property">
    <xs:choice>
      <xs:element name="house" type="house"/>
      <xs:element name="apartment" type="apartment"/>
      <xs:element name="room" type="room"/>
    </xs:choice>
  </xs:complexType>

  <xs:complexType name="acceptance">
    <xs:all>
      <xs:element name="acceptance-type">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="per date">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Per datum</xs:documentation>
                <xs:documentation xml:lang="en">
                  When "per date" is selected, the date field is required.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="immediately">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Direct</xs:documentation>
                <xs:documentation xml:lang="en">
                  When "immediately" is selected, the date field is prohibited.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="in consultation">
              <xs:annotation>
                <xs:documentation xml:lang="nl">In overleg</xs:documentation>
                <xs:documentation xml:lang="en">
                  When "in consultation" is selected, the date field is prohibited.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="acceptance-date" type="xs:date" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="interior">
    <xs:restriction base="xs:string">
      <xs:enumeration value="shell">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Kaal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="upholstered">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Gestoffeerd</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="furnished">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Gemeubileerd</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="upholstered or furnished">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Mogelijkheid om gestoffeerd of gemeubileerd op te leveren</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="sale">
    <xs:all>
      <xs:element name="status">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="for sale"/>
            <xs:enumeration value="under bidding"/>
            <xs:enumeration value="under option"/>
            <xs:enumeration value="sold under reservation"/>
            <xs:enumeration value="sold"/>
            <xs:enumeration value="withdrawn"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="price" minOccurs="0">
        <xs:simpleType>
          <xs:annotation>
            <xs:documentation xml:lang="en">Price in euros.</xs:documentation>
          </xs:annotation>
          <xs:restriction base="xs:integer">
            <xs:minInclusive value="1000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="price-type">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="asking price">
              <xs:annotation>
                <xs:documentation xml:lang="en">Selecting this makes the price field required.</xs:documentation>
                <xs:documentation xml:lang="nl">Vraagprijs</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="purchase price">
              <xs:annotation>
                <xs:documentation xml:lang="en">Selecting this makes the price field required.</xs:documentation>
                <xs:documentation xml:lang="nl">Koopsom</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="price on request">
              <xs:annotation>
                <xs:documentation xml:lang="en">Selecting this makes the price field optional.</xs:documentation>
                <xs:documentation xml:lang="nl">Prijs op aanvraag</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="condition">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="buyers cost">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Kosten koper</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="free on name">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Vrij op naam</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="acceptance" type="acceptance"/>

      <xs:element name="homeowners-association" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="nl">VVE</xs:documentation>
        </xs:annotation>

        <xs:complexType>
          <xs:all>
            <xs:element name="available" type="xs:boolean">
              <xs:annotation>
                <xs:documentation xml:lang="en">Has a homeowners association</xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="monthly-contribution" type="xs:positiveInteger" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="en">In euros</xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="chamber-of-commerce-registered" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="nl">KVK geregistreerd</xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="annual-meeting" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Jaarlijkse VVE vergadering</xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="reserve-fund" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="nl">VVE Reservefonds aanwezig</xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="maintenance-plan" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Onderhoudsplan aanwezig</xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="home-insurance" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="nl">VVE opstalverzekering</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="cadastral-information" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="nl">Kadastrale informatie</xs:documentation>
        </xs:annotation>

        <xs:complexType>
          <xs:sequence>
            <xs:element name="parcel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation xml:lang="nl">Perceel</xs:documentation>
              </xs:annotation>

              <xs:complexType>
                <xs:all>
                  <xs:element name="paid-off-until" type="xs:date" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease paid off until</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="pay-off-option" type="xs:boolean" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Option to pay off ground lease</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="paid-off-forever" type="xs:boolean" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease forever paid off</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="ownership" minOccurs="0">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="full ownership">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Volle eigendom</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ground lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Erfpacht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with ground lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met erfpacht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="sublease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Ondererfpacht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="building lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Opstal</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with building lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met opstal</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ground lease with building lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Erfpacht en opstal</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with ground lease and building lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met erfpacht en opstal</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="perpetual lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Beklemrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with perpetual lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met beklemrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="city ownership lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Stadsmeierrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with city ownership lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met stadsmeierrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="perpetual sublease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Onderbeklemrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="usufruct">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Vruchtgebruik</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with usufruct">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met vruchtgebruik</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="use and occupancy">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Gebruik en bewoning</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with use and occupancy">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met gebruik en bewoning</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ground lease with use and occupancy">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Erfpacht belast met gebruik en bewoning</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="building lease with use and occupancy">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Opstal belast met gebruik en bewoning</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ground lease and building lease with use and occupancy">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Erfpacht en opstal belast met gebruik en bewoning
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="perpetual lease with use and occupancy">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Beklemrecht belast met gebruik en bewoning
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ownership with limited rights">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eigendom belast met beperkte rechten</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ground lease with usufruct">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Erfpacht belast met vruchtgebruik</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="building lease with usufruct">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Opstal belast met vruchtgebruik</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="ground lease and building lease with usufruct">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Erfpacht en opstal belast met vruchtgebruik
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="perpetual lease with usufruct">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Beklemrecht belast met vruchtgebruik</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="referring to certificate">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Zie akte</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="membership right">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Lidmaatschapsrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="shared ownership">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Mandelig</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="right of overhang">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Recht van overbouw</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>

                  <xs:element name="end-date" type="xs:date" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">End date ground lease</xs:documentation>
                      <xs:documentation xml:lang="nl">Einddatum erfpacht</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="yearly-amount" type="xs:positiveInteger" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease yearly contribution</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="duration" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease duration</xs:documentation>
                    </xs:annotation>

                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="everlasting">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Eeuwig</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="temporary">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Tijdelijk</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="continuous">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Doorlopend</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>

                  <xs:element name="scope" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease scope</xs:documentation>
                    </xs:annotation>

                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="complete parcel">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Geheel perceel</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="partial parcel">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Deelperceel</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="apartment right">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Appartementsrecht of complex</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="perpetual lease">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Beklemming</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="membership right">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">Lidmaatschapsrecht</xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>

                  <xs:element name="price-type" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease price type</xs:documentation>
                    </xs:annotation>

                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="variable"/>
                        <xs:enumeration value="fixed"/>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>

                  <xs:element name="municipality" type="nonEmptyString" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Municipality of the parcel</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="section" type="nonEmptyString" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease section</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="parcel" type="nonEmptyString" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Ground lease parcel</xs:documentation>
                    </xs:annotation>
                  </xs:element>

                  <xs:element name="surface-area" type="xs:positiveInteger" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation xml:lang="en">Surface area of the parcel</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="interior" type="interior" minOccurs="0" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="rent">
    <xs:all>
      <xs:element name="status">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="to rent"/>
            <xs:enumeration value="under bidding"/>
            <xs:enumeration value="under option"/>
            <xs:enumeration value="rented under reservation"/>
            <xs:enumeration value="rented"/>
            <xs:enumeration value="withdrawn"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="price" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            In euros
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:integer">
            <xs:minInclusive value="50"/>
            <xs:maxInclusive value="25000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="price-type">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="rent price">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  When selected, price is required.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="price on request">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  When selected, price is optional.
                </xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="price-period">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="weekly"/>
            <xs:enumeration value="monthly"/>
            <xs:enumeration value="yearly"/>
            <xs:enumeration value="semi yearly"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="specifications">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="specification" minOccurs="0" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="taxed">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Belast
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="indexation">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Geïndexeerd
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="incl service costs">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Inclusief servicekosten
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="excl service costs">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Exclusief servicekosten
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="incl internet">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Inclusief internet
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="incl electricity">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Inclusief electriciteit
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="incl gas">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Inclusief gas
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="incl water">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Inclusief water
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

      <xs:element name="service-costs" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            In euros
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="acceptance" type="acceptance" minOccurs="0"/>

      <xs:element name="duration" minOccurs="0">
        <xs:complexType>
          <xs:all>
            <xs:element name="minimum" type="xs:positiveInteger" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  In months
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="maximum" type="xs:positiveInteger" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  In months

                  Must either not exist, be equal or greater than minimum.
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="temporary" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  Must be true when maximum is set.
                </xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="conditions" minOccurs="0">
        <xs:complexType>
          <xs:all>
            <xs:element name="smoking-allowed" type="xs:boolean" minOccurs="0"/>
            <xs:element name="pets-allowed" type="xs:boolean" minOccurs="0"/>
            <xs:element name="municipal-registration-allowed" type="xs:boolean" minOccurs="0"/>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="tenant-requirements" minOccurs="0">
        <xs:complexType>
          <xs:all>
            <xs:element name="required-statuses">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="required-status" minOccurs="0" maxOccurs="unbounded">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="student">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Student
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="working student">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Werkende student
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="working">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Werkend
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="unemployed">
                          <xs:annotation>
                            <xs:documentation xml:lang="nl">
                              Werkloos
                            </xs:documentation>
                          </xs:annotation>
                        </xs:enumeration>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>

            <xs:element name="required-income" type="xs:positiveInteger" minOccurs="0">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  In euros
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="maximum-number-of-tenants" type="xs:positiveInteger" minOccurs="0"/>
          </xs:all>
        </xs:complexType>
      </xs:element>

      <xs:element name="intermediation-costs" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            In euros
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="deposit" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation xml:lang="en">
            In euros
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="interior" type="interior" minOccurs="0" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="mediaSet">
    <xs:sequence>
      <xs:element name="media" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="category">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="photo">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Foto
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="photo 360">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        360 graden foto
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="video">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Video
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="brochure">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Brochure
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="ground plan">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Plattegrond
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="cadastral map">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Kadastrale kaart
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                  <xs:enumeration value="other">
                    <xs:annotation>
                      <xs:documentation xml:lang="nl">
                        Overig
                      </xs:documentation>
                    </xs:annotation>
                  </xs:enumeration>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>

            <xs:element name="main-media" type="xs:boolean">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  Only one media item can be the main-image. The main image will be shown in search results.
                </xs:documentation>
              </xs:annotation>
            </xs:element>

            <xs:element name="position" type="xs:nonNegativeInteger">
              <xs:annotation>
                <xs:documentation xml:lang="en">
                  Defines the order in which this is shown
                </xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="url" type="xs:anyURI"/>
            <xs:element name="title" type="nonEmptyString"/>
            <xs:element name="modified-on" type="xs:dateTime" minOccurs="0"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="listing">
    <xs:all>
      <xs:element name="details" type="details"/>
      <xs:element name="address" type="address"/>
      <xs:element name="property" type="property"/>
      <xs:element name="sale" type="sale" minOccurs="0"/>
      <xs:element name="rent" type="rent" minOccurs="0"/>
      <xs:element name="media-set" type="mediaSet"/>
    </xs:all>
    <xs:attribute name="id" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation xml:lang="en">
          Needs to be unique. When a listing is rented / sold, it is not allowed to re-use the same id for a listing on
          another address. When the same listing returns after the rental period, it is allowed to re-use the same id
          for a listing on the same address. This can be a UUID, an incrementing integer or something completely
          different.

          It is required to have either rent or sale. It is allowed to have both.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <!-- root node -->
  <xs:element name="listings">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="listing" type="listing" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>