<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="properties">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="vocabulary" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="lt" type="xs:string" minOccurs="0"/>
                          <xs:element name="en" type="xs:string" minOccurs="0"/>
                          <xs:element name="def" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                        <xs:attribute name="code" type="xs:string"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0"/>
              <xs:element name="kind" type="xs:string" minOccurs="0"/>
              <xs:element name="kind_label" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="status" type="xs:string" minOccurs="0"/>
              <xs:element name="updated_at" type="xs:string" minOccurs="0"/>
              <xs:element name="title" type="xs:string" minOccurs="0"/>
              <xs:element name="descriptions" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="locale" type="xs:string" minOccurs="0"/>
                          <xs:element name="content" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="sale" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="price" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="amount" type="xs:decimal" minOccurs="0"/>
                          <xs:element name="currency" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="price_per_m2" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="amount" type="xs:decimal" minOccurs="0"/>
                          <xs:element name="currency" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="rent" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="price" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="amount" type="xs:decimal" minOccurs="0"/>
                          <xs:element name="currency" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="price_per_m2" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="amount" type="xs:decimal" minOccurs="0"/>
                          <xs:element name="currency" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="period" type="xs:string" minOccurs="0"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="location" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="precision" type="xs:string" minOccurs="0"/>
                    <xs:element name="municipality" type="xs:string" minOccurs="0"/>
                    <xs:element name="city" type="xs:string" minOccurs="0"/>
                    <xs:element name="district" type="xs:string" minOccurs="0"/>
                    <xs:element name="street" type="xs:string" minOccurs="0"/>
                    <xs:element name="building_number" type="xs:string" minOccurs="0"/>
                    <xs:element name="coordinates" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="lat" type="xs:decimal" minOccurs="0"/>
                          <xs:element name="lon" type="xs:decimal" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="area_m2" type="xs:decimal" minOccurs="0"/>
              <xs:element name="rooms" type="xs:integer" minOccurs="0"/>
              <xs:element name="floor" type="xs:integer" minOccurs="0"/>
              <xs:element name="floors_total" type="xs:integer" minOccurs="0"/>
              <xs:element name="year_built" type="xs:integer" minOccurs="0"/>
              <xs:element name="year_renovated" type="xs:integer" minOccurs="0"/>
              <xs:element name="building" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="structure" type="xs:string" minOccurs="0"/>
                    <xs:element name="form" type="xs:string" minOccurs="0"/>
                    <xs:element name="heating" type="xs:string" minOccurs="0"/>
                    <xs:element name="condition" type="xs:string" minOccurs="0"/>
                    <xs:element name="energy_class" type="xs:string" minOccurs="0"/>
                    <xs:element name="windows" type="xs:string" minOccurs="0"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="features" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="item" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="land_area_m2" type="xs:decimal" minOccurs="0"/>
              <xs:element name="area_from_m2" type="xs:decimal" minOccurs="0"/>
              <xs:element name="area_to_m2" type="xs:decimal" minOccurs="0"/>
              <xs:element name="floors_from" type="xs:integer" minOccurs="0"/>
              <xs:element name="floors_to" type="xs:integer" minOccurs="0"/>
              <xs:element name="purposes" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="item" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="garage" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="type" type="xs:string" minOccurs="0"/>
                    <xs:element name="cars_fit" type="xs:integer" minOccurs="0"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="media" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="type" type="xs:string" minOccurs="0"/>
                          <xs:element name="url" type="xs:string" minOccurs="0"/>
                          <xs:element name="position" type="xs:integer" minOccurs="0"/>
                          <xs:element name="provider" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="contact" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="name" type="xs:string" minOccurs="0"/>
                    <xs:element name="email" type="xs:string" minOccurs="0"/>
                    <xs:element name="phone" type="xs:string" minOccurs="0"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="schema" type="xs:string"/>
      <xs:attribute name="generated_at" type="xs:string"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
