<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
           xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
           xmlns:xsl="http://www.w3.org/2001/XMLSchema"
           version="1.0"
           jxb:version="2.0" elementFormDefault="qualified">

    <!-- begin XSD root element definition-->
    <xs:element name="feed">
        <xs:annotation>
            <xs:appinfo>root-node</xs:appinfo>
            <xs:documentation xml:lang="it">Nodo radice del feed</xs:documentation>
            <xs:documentation xml:lang="es">Nodo raíz del feed</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:all>
                <xs:element name="version" type="version" minOccurs="0" maxOccurs="1"/>
                <xs:element name="metadata" type="metadata" minOccurs="0" maxOccurs="1"/>
                <xs:element name="agents" type="agents" minOccurs="0" maxOccurs="1"/>
                <xs:element name="projects" type="projects" minOccurs="0" maxOccurs="1"/>
                <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
                <xs:element name="auctions" type="auctions" minOccurs="0" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="metadata">
        <xs:all>
            <xs:element name="publisher" type="publisher"/>
            <xs:element name="build-date" type="xs:dateTime"/>
            <xs:element name="snaptime" type="xs:string" minOccurs="0"/>
            <xs:element name="multipage" minOccurs="0">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="current" type="xs:int"/>
                        <xs:element name="last" type="xs:int"/>
                    </xs:all>
                </xs:complexType>
            </xs:element>
        </xs:all>
    </xs:complexType>

    <xs:annotation>
        <xs:appinfo>Import Feed Format</xs:appinfo>
        <xs:documentation xml:lang="it">
            <title>Il documento contiene la descrizione del formato del feed contenente gli annunci che devono essere
                integrati su immobiliare.it
            </title>
            <content>Il feed deve essere codificato in UTF-8 e, se inviato via ftp, compresso in formato zip o gzip.
            </content>
        </xs:documentation>
        <xs:documentation xml:lang="es">
            <title>El documento contiene la descripción del formato de feed que contiene los anuncios que deben
                integrarse en indomio.es
            </title>
            <content>El feed debe estar codificado en UTF-8 y, si se envía a través de ftp, comprimido en formato zip o
                gzip.
            </content>
        </xs:documentation>
    </xs:annotation>

    <xs:simpleType name="nullString">
        <xs:restriction base="xs:string">
            <xs:maxLength value="0"/>
        </xs:restriction>
    </xs:simpleType>

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

    <xs:simpleType name="nullInteger">
        <xs:union memberTypes="xs:long nullString"/>
    </xs:simpleType>

    <xs:simpleType name="dateUpdatedType">
        <xs:restriction base="xs:dateTime"/>
    </xs:simpleType>

    <xs:simpleType name="emailType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^@]+@[^\.]+\..+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="uuidType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/>
        </xs:restriction>
    </xs:simpleType>


    <!-- Publisher complex type -->
    <xs:complexType name="publisher">
        <xs:all>
            <xs:element ref="setup" minOccurs="0"/>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="site" type="xs:string" minOccurs="0"/>
            <xs:element name="email" type="emailType"/>
            <xs:element name="phone" type="xs:string"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="id-uuid-string">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="id" type="xs:long"/>
                <xs:attribute name="uuid" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- Operation -->
    <xs:simpleType name="operation">
        <xs:restriction base="xs:string">
            <xs:enumeration value="write"/>
            <xs:enumeration value="force"/>
            <xs:enumeration value="delete"/>
            <xs:enumeration value="archive"/>
            <xs:enumeration value="partial"/>
            <xs:enumeration value="secret"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- Sell or rental -->
    <xs:simpleType name="sellOrRent">
        <xs:restriction base="xs:string">
            <xs:pattern value="S|R"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:complexType name="transactions">
        <xs:sequence>
            <xs:element name="transaction" type="transaction" minOccurs="1" maxOccurs="3"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="transaction">
        <xs:all>
            <xs:element name="price" type="priceType"/>
        </xs:all>
        <xs:attribute name="type" type="sellOrRent" use="required"/>
        <xs:attribute name="auction" type="xs:boolean"/>
        <xs:attribute name="for-revenue" type="xs:boolean">
            <xs:annotation>
                <xs:documentation xml:lang="es">Obsoleta: use "extra-features/for-revenue" en su lugar</xs:documentation>
                <xs:documentation xml:lang="it">Deprecato: usa "extra-features/for-revenue" invece</xs:documentation>
                <xs:documentation xml:lang="en">Deprecated: use "extra-features/for-revenue" instead</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="on-redeem" type="xs:boolean"/>
        <xs:attribute name="ownership" type="ownershipType"/>
        <xs:attribute name="ownership-quota" type="xs:string"/>
    </xs:complexType>

    <xs:simpleType name="ownershipType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="intera proprietà">
                <xs:annotation>
                    <xs:documentation xml:lang="es">plena propiedad</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nuda proprietà">
                <xs:annotation>
                    <xs:documentation xml:lang="es">nuda propiedad</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="parziale proprietà">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cuota de propiedad</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="usufrutto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">usufructo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="multiproprietà">
                <xs:annotation>
                    <xs:documentation xml:lang="es">multipropiedad</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="diritto di superficie">
                <xs:annotation>
                    <xs:documentation xml:lang="es">derecho de superficie</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- terrains -->
    <xs:complexType name="terrains">
        <xs:sequence>
            <xs:element name="terrain" type="terrainType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <!-- breadcrumb on 3 levels (2 separators!) -->
    <xs:simpleType name="breadcrumb3">
        <xs:restriction base="xs:string">
            <xs:pattern value="([^/]+)/([^/]+)/([^/]+)"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- buildingMap (version 2.6) -->
    <xs:complexType name="buildingMap">
        <xs:attribute name="map" type="breadcrumb3">
            <xs:annotation>
                <xs:documentation xml:lang="it">Tipologia dell'immobile. Per l'elenco delle tipologie ammesse vedi il
                    link ad inizio pagina
                </xs:documentation>
                <xs:documentation xml:lang="es">Tipología del inmueble. Para ver la lista de tipologías permitidas,
                    consulta el enlace al inicio de la página
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <!-- buildingMaps (version 2.6) -->
    <xs:complexType name="buildingMaps">
        <xs:sequence>
            <xs:element name="additional" type="buildingMap" minOccurs="1" maxOccurs="2"/>
        </xs:sequence>
    </xs:complexType>

    <!-- building (version 2.6) -->
    <xs:complexType name="building">
        <xs:all>
            <xs:element name="maps" type="buildingMaps" minOccurs="0"/>
            <xs:element name="status" type="status" minOccurs="0"/>
            <xs:element name="terrains" type="terrains" minOccurs="0"/>
            <xs:element name="class" type="class" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="map" type="breadcrumb3"/>
        <xs:attribute name="IDType" type="xs:int"/>
        <xs:attribute name="originalType" type="xs:string"/>
        <xs:attribute name="categoryV1" type="xs:int"/>
        <xs:attribute name="typologyV1" type="xs:int"/>
    </xs:complexType>

    <!-- Year -->
    <xs:simpleType name="year">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1000"/>
            <xs:maxInclusive value="3000"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="terrainType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="seminativo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cultivable</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="seminativo irriguo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">tierra cultivable irrigada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="seminativo arborato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cultivable arbolado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="seminativo arborato irriguo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cultivable arbolado de regadío</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="prato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">césped</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="prato irriguo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">césped de regadío</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="prato arborato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">césped arbolado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="prato a marcita">
                <xs:annotation>
                    <xs:documentation xml:lang="es">pradera</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="risaia stabile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">campo de arroz</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pascolo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">pasto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pascolo arborato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">pasto arbolado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pascolo cespugliato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">pasto con arbustos</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="giardino">
                <xs:annotation>
                    <xs:documentation xml:lang="es">jardín</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="orto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">huerta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="orto irriguo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">huerta de regadío</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="agrumeto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cultivo de cítricos</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vigneto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">viñedo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uliveto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">olivar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="frutteto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">huerto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gelseto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">plantación de moreras</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="colture speciali">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cultivos especiales</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="castagneto da frutto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">castaño para fruto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="canneto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cañaveral</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bosco alto fusto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">bosque de tallo alto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bosco ceduo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">bosque forestal</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bosco misto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">bosque mixto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="incolto produttivo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">baldío productivo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="incolto sterile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">baldío estéril</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- Status -->
    <xs:simpleType name="status">
        <xs:restriction base="xs:string">
            <xs:enumeration value="in costruzione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">en construcción</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nuovo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">nuevo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="abitabile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">habitable</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ottimo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">óptimo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="buono">
                <xs:annotation>
                    <xs:documentation xml:lang="es">bueno</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ristrutturato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">reestructurado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="da ristrutturare">
                <xs:annotation>
                    <xs:documentation xml:lang="es">a reformar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="discreto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">discreto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nd"> <!-- passare questo valore per sbiancare il campo -->
				<xs:annotation>
					<xs:documentation xml:lang="es">pasar este valor para blanquear el campo</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- class -->
    <xs:simpleType name="class">
        <xs:restriction base="xs:string">
            <xs:enumeration value="di lusso">
                <xs:annotation>
                    <xs:documentation xml:lang="es">de lujo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="signorile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">señorial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="medio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">medio</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="economico">
                <xs:annotation>
                    <xs:documentation xml:lang="es">económico</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- location complextype -->
    <xs:complexType name="locationStructure">
        <xs:all>
            <xs:element name="country-code" type="country-code" minOccurs="0"/>
            <xs:element name="administrative-area" type="xs:string" minOccurs="0"/>
            <xs:element name="sub-administrative-area" type="sub-administrative-area" minOccurs="0"/>
            <xs:element name="city" type="city"/>
            <xs:element name="locality" type="locality" minOccurs="0"/>
        </xs:all>
    </xs:complexType>

    <xs:simpleType name="country-code">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z]{2}"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="sub-administrative-area">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="code" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="city">
        <xs:annotation>
            <xs:documentation xml:lang="it">Nome e identificativi del comune</xs:documentation>
            <xs:documentation xml:lang="es">Nombre e identificación de la localidad</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="latitude" type="latitude" />
                <xs:attribute name="longitude" type="longitude"/>
                <xs:attribute name="geo" type="xs:positiveInteger"/>
                <xs:attribute name="code" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Codice ISTAT o altro identificativo del comune
                        </xs:documentation>
                        <xs:documentation xml:lang="es">Código Postal u otra identificación de la localidad
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>


    <xs:complexType name="locality">
        <xs:all>
            <!-- deprecato -->
            <xs:element name="neighbourhood" type="neighbourhood" minOccurs="0"/>
            <xs:element name="zones" type="zones" minOccurs="0"/>
            <!-- deprecato: usare addresses -->
            <xs:element name="thoroughfare" type="thoroughfare" minOccurs="0"/>
            <!-- deprecato: usare addresses -->
            <xs:element name="street-number" type="street-number-value" minOccurs="0"/>
            <xs:element name="addresses" type="addresses" minOccurs="0" />
            <xs:element name="postal-code" type="postal-code" minOccurs="0"/>
            <xs:element name="latitude" type="latitude" minOccurs="0"/>
            <xs:element name="longitude" type="longitude" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="map" type="map-type"/>
        <xs:attribute name="admin-level" type="admin-level" />
        <xs:attribute name="admin-level-id" type="xs:string" />
        <xs:attribute name="coordinate-type" type="coordinate-type"/>
    </xs:complexType>

    <xs:complexType name="addresses">
        <xs:sequence>
            <xs:element name="address" type="address" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="address">
        <xs:sequence>
            <xs:element name="thoroughfare" type="thoroughfare" minOccurs="0"/>
            <xs:element name="street-number" type="street-number-value" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="language" type="nationcode" use="required" />
    </xs:complexType>

    <xs:simpleType name="admin-level">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1" />
            <xs:maxInclusive value="10" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="coordinate-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="derived" />
            <xs:enumeration value="real" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="latitude">
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="11"/>
            <xs:fractionDigits value="8"/>
            <xs:minInclusive value="-90"/>
            <xs:maxInclusive value="+90"/>
        </xs:restriction>
    </xs:simpleType>

	<xs:simpleType name="longitude">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="11"/>
			<xs:fractionDigits value="8"/>
            <xs:minInclusive value="-180"/>
            <xs:maxInclusive value="+180"/>
		</xs:restriction>
	</xs:simpleType>

    <xs:complexType name="zones">
        <xs:all>
            <xs:element name="macrozone" type="id-uuid-string" minOccurs="0"/>
            <xs:element name="microzone" type="id-uuid-string" minOccurs="0"/>
            <xs:element name="locality" type="id-uuid-string" minOccurs="0"/>
        </xs:all>
    </xs:complexType>

    <xs:simpleType name="neighbourhood-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="district"/>
            <xs:enumeration value="locality"/>
            <xs:enumeration value="area"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="neighbourhood">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="neighbourhood-type"/>
                <xs:attribute name="id" type="xs:positiveInteger"/>
                <xs:attribute name="geolocalized" type="yesonly"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="thoroughfare">
        <xs:simpleContent>
            <xs:extension base="thoroughfare-value">
                <xs:attribute name="display" type="address-display-mode"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="thoroughfare-value">
        <xs:restriction base="xs:string">
            <xs:maxLength value="200" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="street-number-value">
        <xs:restriction base="xs:string">
            <xs:maxLength value="10" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="map-type">
        <xs:annotation>
            <xs:documentation xml:lang="it">Modalità di visualizzazione dell'elemento sulla mappa.</xs:documentation>
            <xs:documentation xml:lang="es">Modalidad de visualización del elemento en el mapa</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="exact|near|no"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="address-display-mode">
        <xs:restriction base="xs:string">
            <xs:pattern value="yes|no"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="sizeUnit">
        <xs:restriction base="xs:string">
            <xs:enumeration value="m2"/>
            <xs:enumeration value="sft"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- landSizeUnit -->
    <xs:simpleType name="landSizeUnit">
        <xs:restriction base="xs:string">
            <xs:enumeration value="m2"/>
            <xs:enumeration value="sft"/>
            <xs:enumeration value="ha"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- size -->
    <xs:complexType name="sizeType">
        <xs:simpleContent>
            <xs:extension base="restrictedLong">
                <xs:attribute name="unit" type="sizeUnit"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="decimalSizeType">
        <xs:simpleContent>
            <xs:extension base="xs:decimal">
                <xs:attribute name="unit" type="sizeUnit"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="restrictedLong">
        <xs:restriction base="xs:long">
            <xs:minInclusive value="0"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="landSizeType">
        <xs:simpleContent>
            <xs:extension base="restrictedLong">
                <xs:attribute name="unit" type="landSizeUnit"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="currency">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z]{3}"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- price -->
    <xs:complexType name="priceType">
        <xs:simpleContent>
            <xs:extension base="xs:long">
                <xs:attribute name="currency" type="currency"/>
                <xs:attribute name="reserved" type="xs:boolean" default="false"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="priceDecimalType">
        <xs:simpleContent>
            <xs:extension base="xs:double">
                <xs:attribute name="currency" type="currency"/>
                <xs:attribute name="reserved" type="xs:boolean" default="false"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- text with a language -->
    <xs:complexType name="langtxt">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="language" type="nationcode"/>
                <xs:attribute name="native" type="yesonly"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- nationcode -->
    <xs:simpleType name="nationcode">
        <xs:restriction base="xs:string">
            <xs:enumeration value="it"/>
            <xs:enumeration value="en"/>
            <xs:enumeration value="de"/>
            <xs:enumeration value="fr"/>
            <xs:enumeration value="es"/>
            <xs:enumeration value="pt"/>
            <xs:enumeration value="ru"/>
            <xs:enumeration value="gr"/>
            <xs:enumeration value="el"/>
            <xs:enumeration value="hr"/>
            <xs:enumeration value="sl"/>
            <xs:enumeration value="sr"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="title">
        <xs:restriction base="xs:string">
            <xs:maxLength value="255" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="description">
        <xs:all>
            <xs:element name="title" type="title" minOccurs="0"/>
            <xs:element name="content" type="xs:string"/>
        </xs:all>
        <xs:attribute name="language" type="nationcode"/>
        <xs:attribute name="native" type="yesonly"/>
    </xs:complexType>

    <xs:complexType name="company-name">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="language" type="nationcode" use="required" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- garage -->
    <xs:complexType name="box">
        <xs:simpleContent>
            <xs:extension base="xs:int">
                <xs:attribute name="type">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="No">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">No</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Box">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Aparcamiento cubierto</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Rimessa">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Garaje</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="PostoAuto">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Plaza de aparcamiento</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- kitchen -->
    <xs:simpleType name="kitchen">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Abitabile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Independiente</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Semi abitabile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Semiindependiente</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Cucinotto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Kitchenette</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Angolo cottura">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Cocina americana</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="A vista">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Abierta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Indipendente">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Indipendente - solo per IES</xs:documentation>
                    <xs:documentation xml:lang="en">Independent - IES only</xs:documentation>
                    <xs:documentation xml:lang="es">Independiente - solo para IES</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Aperta">
                <xs:annotation>
                    <xs:documentation xml:lang="it">solo per IES</xs:documentation>
                    <xs:documentation xml:lang="en">IES only</xs:documentation>
                    <xs:documentation xml:lang="es">solo para IES</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- heating -->
    <xs:simpleType name="heat">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Assente">
                <xs:annotation>
                    <xs:documentation xml:lang="es">No hay</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Autonomo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Individual</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Centralizzato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Central</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- garden -->
    <xs:simpleType name="garden">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Privato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Privado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Comune">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Comunitario</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Nessuno">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Ninguno</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Entrambi">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Ambos</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- yesonly  -->
    <xs:simpleType name="yesonly">
        <xs:restriction base="xs:string">
            <xs:pattern value="YES|yes"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- yesnoready  -->
    <xs:simpleType name="yesnoready">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Yes"/>
            <xs:enumeration value="No"/>
            <xs:enumeration value="Ready"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- sinomensola  -->
    <xs:simpleType name="sinomensola">
        <xs:restriction base="xs:string">
            <xs:enumeration value="SI">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Sí</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NO">
                <xs:annotation>
                    <xs:documentation xml:lang="es">No</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MENSOLA">
                <xs:annotation>
                    <xs:documentation xml:lang="es">estante</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- rental -->
    <xs:simpleType name="rental">
        <xs:restriction base="xs:string">
            <xs:enumeration value="3+2"/>
            <xs:enumeration value="4+4"/>
            <xs:enumeration value="6+6"/>
            <xs:enumeration value="9+9"/>
            <xs:enumeration value="Transitorio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">De temporada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Concordato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Acordado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Libero">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Libre</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Studenti">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Estudiantes</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- furniture -->
    <xs:simpleType name="furniture">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Arredato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Amueblado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Non Arredato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">No amueblado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Parzialmente Arredato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Parcialmente amueblado</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Solo Cucina Arredata">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Solo cocina amueblada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- version -->
    <xs:simpleType name="version">
        <xs:restriction base="xs:string">
            <xs:enumeration value="2.8"/>
            <xs:enumeration value="2.9"/>
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="ratioType">
        <xs:restriction base="xs:double">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="100"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- project floor -->
    <xs:complexType name="floorProject">
        <xs:simpleContent>
            <xs:extension base="nullInteger">
                <xs:attribute name="type">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="Intermedio">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Intermedio</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Interrato">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Sótano</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Seminterrato">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Semisótano</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="PianoTerra">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Planta baja</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Rialzato">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Entresuelo</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="PianoNobile">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Planta noble</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Multipiano">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Varias plantas</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Ultimo">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Último</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Attico">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Ático</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Scantinato">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Sótano</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Ammezzato">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Entreplanta</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- project garage -->
    <xs:complexType name="boxProject">
        <xs:simpleContent>
            <xs:extension base="nullInteger">
                <xs:attribute name="type">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="No">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">No</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="Box">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Garaje</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="PostoAuto">
                                <xs:annotation>
                                    <xs:documentation xml:lang="es">Plaza de aparcamiento</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- rooms OBSOLETE! -->
    <xs:complexType name="roomsType">
        <xs:simpleContent>
            <xs:extension base="xs:int">
                <xs:attribute name="literal-value" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- rooms -->
    <xs:complexType name="roomsDetail">
        <xs:all>
            <xs:element name="amount-bedrooms" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="amount-other-rooms" type="xs:double" minOccurs="0" maxOccurs="1"/>
            <xs:element name="kitchen" minOccurs="0" type="kitchen"/>
        </xs:all>
    </xs:complexType>

    <!-- gender -->
    <xs:simpleType name="genderType">
        <xs:restriction base="xs:string">
            <xs:pattern value="DoesntMatter|Male|Female"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- accommodation -->
    <xs:simpleType name="accommodationType">
        <xs:restriction base="xs:string">
            <xs:pattern value="single|double|triple|multiple"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- pet -->
    <xs:simpleType name="petType">
        <xs:restriction base="xs:string">
            <xs:pattern value="true|false|doesnt-matter|cat|dog"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- energy-class -->
    <xs:complexType name="classEnergy">
        <xs:sequence>
            <xs:element name="energy-performance" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="xs:double">
                            <xs:attribute name="unit" use="required">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="kWh/m2anno"/>
                                        <xs:enumeration value="kWh/m3anno"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:attribute>
                            <xs:attribute name="type" use="required">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="nren">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="it">da energie non rinnovabili</xs:documentation>
                                            </xs:annotation>
                                        </xs:enumeration>
                                        <xs:enumeration value="ren">
                                            <xs:annotation>
                                                <xs:documentation xml:lang="it">da energie rinnovabili</xs:documentation>
                                            </xs:annotation>
                                        </xs:enumeration>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:attribute>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="energy-season" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="season">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="summer"/>
                                <xs:enumeration value="winter"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="level">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="low"/>
                                <xs:enumeration value="normal"/>
                                <xs:enumeration value="high"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="zero" type="xs:boolean" use="optional" default="false"/>
        <xs:attribute name="scale">
            <xs:annotation>
                <xs:documentation xml:lang="it">1= Certificazione IPE antecedente al 1 Ottobre 2015, 2= Certificazione APE (raccomandato), 3= Estero, non supportato da immobiliare.it</xs:documentation>
                <xs:documentation xml:lang="en">1= IPE certification before 2015-10-01, 2= APE certification(recommended), 3= Foreign countries, not supported by immobiliare.it</xs:documentation>
                <xs:documentation xml:lang="es">1= Certificación IPE anterior al 1 de octubre de 2015, 2= Certificación APE (recomendada), 3=Extranjero, no compatible con immobiliare</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:pattern value="1|2|3|4"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="value" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="A4"/>
                    <xs:enumeration value="A3"/>
                    <xs:enumeration value="A2"/>
                    <xs:enumeration value="A1"/>
                    <xs:enumeration value="A+"/>
                    <xs:enumeration value="A"/>
                    <xs:enumeration value="B+"/>
                    <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:enumeration value="H"/>
                    <xs:enumeration value="I"/>
                    <xs:enumeration value="Γ"/>
                    <xs:enumeration value="Δ"/>
                    <xs:enumeration value="Ε"/>
                    <xs:enumeration value="Ζ"/>
                    <xs:enumeration value="Η"/>
                    <xs:enumeration value="esente">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">exento</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="NC"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="certified" type="xs:boolean" default="true"/>
    </xs:complexType>

    <!-- energy-emissions -->
    <xs:complexType name="emissionsClass">
        <xs:sequence>
            <xs:element name="co2-emissions" minOccurs="0">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="xs:double">
                            <xs:attribute name="unit" use="required">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="CO2/m2anno"/>
                                        <xs:enumeration value="CO2/m3anno"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:attribute>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="value">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <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:enumeration value="H"/>
                    <xs:enumeration value="I"/>
                    <xs:enumeration value="esente"/>
                    <xs:enumeration value="NC"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <!-- advert-visibility -->
    <xs:simpleType name="visibilityType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="basic"/>
            <xs:enumeration value="premium"/>
            <xs:enumeration value="top"/>
            <xs:enumeration value="showcase"/>
            <xs:enumeration value="star"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- advert-visibility -->
    <xs:simpleType name="visibilityOp">
        <xs:restriction base="xs:string">
            <xs:enumeration value="active"/>
            <xs:enumeration value="remove"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="visibility">
        <xs:simpleContent>
            <xs:extension base="visibilityType">
                <xs:attribute name="op" type="visibilityOp" default="active"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- additional-costs -->
    <xs:complexType name="additionalCostsType">
        <xs:simpleContent>
            <xs:extension base="xs:float">
                <xs:attribute name="currency" use="required">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:pattern value="[a-zA-Z]{3}"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="link-type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="pvp"/>
                <xs:enumeration value="other"/>
                <xs:enumeration value="building-site"/>
                <xs:enumeration value="housing-anywhere"/>
                <xs:enumeration value="roomless-rent"/>
            </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="link">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="url" type="xs:string" use="required"/>
                <xs:attribute name="type" type="link-type"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="links">
        <xs:sequence>
            <xs:element name="link" type="link" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="features-project">
        <xs:all>
            <xs:element name="building-status" type="xs:string" minOccurs="0"/>
            <xs:element name="start-date" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="end-date" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="name" type="xs:string" minOccurs="0"/>
            <xs:element name="specification" type="xs:string" minOccurs="0"/>
            <xs:element name="floorplanner-url" type="floorplanner" minOccurs="0"/>
            <xs:element name="virtual-tour" type="xs:string" minOccurs="0"/>
            <xs:element ref="descriptions" minOccurs="0" maxOccurs="1"/>
            <xs:element name="energy-class" type="classEnergy" minOccurs="1"/>
            <xs:element name="emissions-class" type="emissionsClass" minOccurs="0"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="features-property">
        <xs:all>
            <xs:element name="rooms-detail" type="roomsDetail" minOccurs="0"/>
            <xs:element name="size" type="sizeType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="sizes" type="sizes" minOccurs="0" maxOccurs="1"/>
            <!--<xs:element name="price" type="priceType" minOccurs="1" maxOccurs="1" />-->
            <xs:element ref="descriptions" minOccurs="0" maxOccurs="1"/>
            <xs:element name="energy-class" type="classEnergy" minOccurs="1"/>
            <xs:element name="emissions-class" type="emissionsClass" minOccurs="0"/>
            <xs:element name="building-status" type="xs:string" minOccurs="0"/><!-- deprecato -->
            <xs:element name="start-date" type="xs:dateTime" minOccurs="0"/><!-- deprecato -->
            <xs:element name="end-date" type="xs:dateTime" minOccurs="0"/><!-- deprecato -->
            <xs:element name="name" type="xs:string" minOccurs="0"/><!-- deprecato -->
            <xs:element name="specification" type="xs:string" minOccurs="0"/><!-- deprecato -->
            <xs:element name="floorplanner-url" type="floorplanner" minOccurs="0"/><!-- deprecato -->
        </xs:all>
    </xs:complexType>

    <xs:complexType name="company-names">
        <xs:sequence>
            <xs:element name="company-name" type="company-name" minOccurs="0" maxOccurs="25"/>
        </xs:sequence>
    </xs:complexType>


    <xs:element name="descriptions">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="description" type="description" minOccurs="0" maxOccurs="25"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="detailedSizeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Abitazione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Casa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Ufficio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Oficina</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Studio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Despacho. Obsoleta: use "Ufficio" en su lugar</xs:documentation>
                    <xs:documentation xml:lang="it">Deprecato: usa "Ufficio" invece</xs:documentation>
                    <xs:documentation xml:lang="en">Deprecated: use "Ufficio" instead</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Negozio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Negocio</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Magazzino">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Almacén</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Garage">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Garaje</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Cantina">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Trastero</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Soffitta">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Desván</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Balcone">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Balcón</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Terrazzo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Terraza</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Giardino">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Jardín</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Terreno">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Terreno</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Parti comuni">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Zonascomunes</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Altro">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Otro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Mansarda">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Buhardilla</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Capannone">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Nave</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Laboratorio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Taller</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Posti auto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Plazas de aparcamiento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Posto auto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Plaza de aparcamiento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Soppalco">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Altillo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Esterno">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Exterior</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Parcheggio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Aparcamiento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Albergo/hotel">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Hotel</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Posto moto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Plaza para moto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Posto barca">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Amarre</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Posto camper o roulotte"/>
            <xs:enumeration value="Autorimessa">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Edificio de aparcamiento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Centralina">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Centralita</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Podere o tenuta">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Hacienda o finca</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Filiale bancaria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Sucursal bancaria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Scuderia">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Caballeriza</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Casa di cura">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Centro médico</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Stabilimento balneare">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Servicios de playa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Azienda agricola">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Granja</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Impianti sportivi">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Instalaciones deportivas</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Stazione di servizio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Estación de servicio</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Autorimessa">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Edificio de aparcamiento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Autolavaggio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Lavadero de coches</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Campeggio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Cámping</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Piazzale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Piazzale</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Locale tecnico">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Sala técnica</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Appartamento">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Apartamento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="detailedSizeFloorType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Intermedio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Intermedio</xs:documentation>
                    <xs:documentation xml:lang="it">Intermedio</xs:documentation>
                    <xs:documentation xml:lang="en">Intermediate</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Interrato">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Interrato </xs:documentation>
                    <xs:documentation xml:lang="es">Sótano</xs:documentation>
                    <xs:documentation xml:lang="en">Basement</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Interrato(-1)">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Interrato (-1)</xs:documentation>
                    <xs:documentation xml:lang="es">Sótano (-1)</xs:documentation>
                    <xs:documentation xml:lang="en">Basement (-1)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Interrato(-2)">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Interrato (-2)</xs:documentation>
                    <xs:documentation xml:lang="es">Sótano (-2)</xs:documentation>
                    <xs:documentation xml:lang="en">Basement (-2)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Interrato(-3)">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Interrato (-3)</xs:documentation>
                    <xs:documentation xml:lang="es">Sótano (-3)</xs:documentation>
                    <xs:documentation xml:lang="en">Basement (-3)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Interrato(-4)">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Interrato (-4)</xs:documentation>
                    <xs:documentation xml:lang="es">Sótano (-4)</xs:documentation>
                    <xs:documentation xml:lang="en">Basement (-4)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Interrato(-5)">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Interrato (-5)</xs:documentation>
                    <xs:documentation xml:lang="es">Sótano (-5)</xs:documentation>
                    <xs:documentation xml:lang="en">Basement (-5)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Controterra">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Sótano bajo tierra</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Seminterrato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Semisótano</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PianoTerra">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Planta baja</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Rialzato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Entresuelo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PianoNobile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Planta noble</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Multipiano">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Varias plantas</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Ultimo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Último</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Attico">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Ático</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Edificio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Edificio</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Scantinato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Sótano</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Ammezzato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Entreplanta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Principale">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Principal, for indomio.es only</xs:documentation>
                    <xs:documentation xml:lang="it">Principale, solo per indomio.es</xs:documentation>
                    <xs:documentation xml:lang="es">Principal, solo para indomio.es</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- floor -->
    <xs:complexType name="floor">
        <xs:simpleContent>
            <xs:extension base="nullInteger">
                <xs:attribute name="type" type="detailedSizeFloorType"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>


    <xs:complexType name="sizes">
        <xs:sequence>
            <xs:element name="size" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="type" type="detailedSizeType" minOccurs="1" maxOccurs="1"/>
                        <xs:element name="floor" minOccurs="0" maxOccurs="1">
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:int">
                                        <xs:attribute name="type" type="detailedSizeFloorType" use="optional"
                                                      default="Intermedio"/>
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="surface" type="xs:double" minOccurs="1" maxOccurs="1"/>
                        <xs:element name="weight" type="ratioType" minOccurs="1" maxOccurs="1"/>
                    </xs:sequence>
                    <xs:attribute name="main" type="xs:boolean"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="unit" type="sizeUnit" use="required"/>
    </xs:complexType>

    <xs:complexType name="agents">
        <xs:sequence>
            <xs:element ref="agent" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="projects">
        <xs:sequence>
            <xs:element ref="project" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="properties">
        <xs:sequence>
            <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="auctions">
        <xs:sequence>
            <xs:element ref="auction" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="connectionType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="phone"/>
            <xs:enumeration value="mobile"/>
            <xs:enumeration value="fax"/>
            <xs:enumeration value="email"/>
            <xs:enumeration value="im"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="connection">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="connectionType"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="connections">
        <xs:sequence>
            <xs:element name="connection" type="connection" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="realtorRole">
        <xs:restriction base="xs:string">
            <xs:enumeration value="owner"/>
            <xs:enumeration value="admin"/>
            <xs:enumeration value="secretary"/>
            <xs:enumeration value="agent"/>
            <xs:enumeration value="business manager"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- realtor -->
    <xs:complexType name="realtor">
        <xs:all>
            <xs:element name="firstname" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="surname" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="avatar" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="role" type="realtorRole" minOccurs="0" maxOccurs="1"/>
            <xs:element name="connections" type="connections" minOccurs="0" maxOccurs="1"/>
            <xs:element name="language" type="user-language" minOccurs="0" />
        </xs:all>
        <xs:attribute name="external-id" type="xs:string" use="optional"/>
        <xs:attribute name="uuid" type="uuidType" use="optional"/>
        <xs:attribute name="id" type="xs:int" use="optional"/>
        <xs:attribute name="operation" type="operation" use="optional"/>
    </xs:complexType>

    <xs:complexType name="realtors">
        <xs:sequence>
            <xs:element name="realtor" type="realtor" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="contact">
        <xs:all>
            <xs:element name="firstname" type="xs:string" minOccurs="0"/>
            <xs:element name="surname" type="xs:string" minOccurs="0"/>
            <xs:element name="phone" type="xs:string" minOccurs="0"/>
        </xs:all>
    </xs:complexType>

    <xs:element name="agent">
        <xs:complexType>
            <xs:all>
                <xs:element name="name" type="xs:string" minOccurs="0"/>
                <xs:element name="company-names" type="company-names" minOccurs="0"/>
                <xs:element name="office-name" type="xs:string" minOccurs="0"/>
                <xs:element name="franchising" type="xs:string" minOccurs="0"/>
                <xs:element name="email" type="emailType" minOccurs="1" maxOccurs="1"/>
                <xs:element name="phone" type="xs:string" minOccurs="0"/>
                <xs:element name="mobile-phone" type="xs:string" minOccurs="0"/>
                <xs:element name="fax" type="xs:string" minOccurs="0"/>
                <xs:element name="description" type="langtxt" minOccurs="0"/>
                <xs:element ref="descriptions" minOccurs="0" />
                <xs:element name="vat" type="xs:string" minOccurs="0"/>
                <xs:element name="fiscal-code" type="xs:string" minOccurs="0"/>
                <xs:element name="web" type="xs:string" minOccurs="0"/>
                <xs:element name="builder" type="xs:boolean" minOccurs="0"/>
                <xs:element name="location" type="locationStructure" minOccurs="0"/>
                <xs:element name="logo" type="xs:string" minOccurs="0"/>
                <xs:element name="sales-office" type="sales-office" minOccurs="0" maxOccurs="1"/>
                <xs:element name="price-proposal-enabled" type="xs:boolean" minOccurs="0"/>
                <xs:element name="visit-request-enabled" type="xs:boolean" minOccurs="0"/>
                <xs:element name="contact" type="contact" minOccurs="0"/>
                <xs:element name="realtors" type="realtors" minOccurs="0"/>
                <xs:element name="contract-data" type="contract-data" minOccurs="0"/>
                <xs:element name="import-sources" type="import-sources" minOccurs="0"/>
                <xs:element name="status" type="agent-status" minOccurs="0"/>
                <xs:element name="extension-status" type="extension-status" minOccurs="0"/>
                <xs:element name="custom-fields" type="custom-fields" minOccurs="0" maxOccurs="1"/>
                <xs:element name="mortgage-evaluate-url" type="xs:anyURI" minOccurs="0" />
                <xs:element name="mortgage-consulting-url" type="xs:anyURI" minOccurs="0" />
                <xs:element name="facebook-url" type="xs:anyURI" minOccurs="0" />
                <xs:element name="instagram-url" type="xs:anyURI" minOccurs="0" />
                <xs:element name="linkedin-url" type="xs:anyURI" minOccurs="0" />
                <xs:element name="twitter-url" type="xs:anyURI" minOccurs="0" />
                <xs:element name="association" type="xs:string" minOccurs="0" />
                <xs:element name="language" type="user-language" minOccurs="0" />
                <xs:element name="opening-times" type="opening-times" minOccurs="0" />
                <xs:element name="extra-services" type="extra-services" minOccurs="0" />
                <xs:element name="office-manager" type="xs:string" minOccurs="0"/>
            </xs:all>
            <xs:attribute name="id" type="xs:long"/>
            <xs:attribute name="external-id" type="xs:string" use="optional"/>
            <xs:attribute name="uuid" type="uuidType" use="optional"/>
            <xs:attribute name="partner" type="xs:string" use="optional"/>
            <xs:attribute name="date-updated" type="xs:dateTime" use="optional"/>
            <xs:attribute name="published-on" type="xs:dateTime" use="optional"/>
            <xs:attribute name="group" type="xs:string" use="optional"/>
            <xs:attribute name="watermark" type="xs:boolean" use="optional" default="true"/>
            <xs:attribute name="no-virtual-visit" type="xs:boolean" use="optional"/>
            <xs:attribute name="operation" type="operation" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="user">
        <xs:complexType>
            <xs:all>
                <xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="surname" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="phone" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="mobile" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="email" type="emailType" minOccurs="1" maxOccurs="1" />
                <xs:element name="show-name" default="false" type="xs:boolean" minOccurs="0" />
                <xs:element name="show-phone" default="false" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="show-mobile" default="false" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="show-email" default="false" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="show-avatar" default="false" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="birth-date" type="xs:date" minOccurs="0"/>
                <xs:element name="gender" type="user-gender" minOccurs="0" />
                <xs:element name="language" type="user-language" minOccurs="0" />
                <xs:element name="location" type="locationStructure" minOccurs="0"/>
                <xs:element name="registration-date" type="xs:date" minOccurs="0"/>
            </xs:all>
            <xs:attribute name="uuid" type="xs:string" use="optional" />
            <xs:attribute name="active" type="xs:boolean" use="optional" />
            <xs:attribute name="group" type="xs:string" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="user-gender">
        <xs:restriction base="xs:string">
            <xs:enumeration value="M" />
            <xs:enumeration value="F" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="contract-data">
        <xs:annotation>
            <xs:documentation xml:lang="it">Dati di contratto dell'agenzia. Se un contratto viene passato il dato verrà
                aggiornato in
                modalità UPSERT, se non viene fornito sarà ignorato e nessuna modifica verrà apportata ai dati di
                contratto.
            </xs:documentation>
            <xs:documentation xml:lang="es">Datos de contrato de la agencia. Si se aprueba un contrato, los datos se
                actualizarán en
                modo UPSERT, si no se proporciona, se ignorará y no se realizarán cambios en los datos del contrato.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="premium" type="contract-type" minOccurs="0"/>
            <xs:element name="top" type="contract-type" minOccurs="0"/>
            <xs:element name="showcase" type="contract-type" minOccurs="0"/>
            <xs:element name="star" type="contract-type" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="contract-type">
        <xs:annotation>
            <xs:documentation xml:lang="it">Dettaglio dei dati di contratto dell'agenzia</xs:documentation>
            <xs:documentation xml:lang="es">Detalles del contrato de la agencia</xs:documentation>
        </xs:annotation>
        <xs:all>
            <xs:element name="start" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="end" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="num-rent" type="xs:int" minOccurs="0"/>
            <xs:element name="num-sale" type="xs:int" minOccurs="0"/>
            <xs:element name="num-project" type="xs:int" minOccurs="0"/>
            <xs:element name="num-total" type="xs:int" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="active" type="xs:boolean" use="required"/>
    </xs:complexType>


    <xs:complexType name="sales-office">
        <xs:all>
            <xs:element name="country-code" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="[a-zA-Z]{2}"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="administrative-area" type="xs:string" minOccurs="0"/>
            <xs:element name="sub-administrative-area" type="xs:string" minOccurs="0"/>
            <xs:element name="city" minOccurs="0">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="xs:string">
                            <xs:attribute name="code" type="xs:string"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="locality">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="thoroughfare" type="xs:string" minOccurs="1"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="phone" type="xs:string" minOccurs="0"/>
            <xs:element name="mobile" type="xs:string" minOccurs="0"/>
        </xs:all>
    </xs:complexType>


    <xs:complexType name="lots">
        <xs:sequence>
            <xs:element name="residential" type="xs:long"/>
            <xs:element name="commercial" type="xs:long"/>
            <xs:element name="lot" type="lot" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="lot">
        <xs:all>
            <xs:element name="unique-id" type="notEmptyString"/>
            <xs:element name="building" type="building"/>
            <xs:element name="price" type="priceType"/>
            <xs:element name="size" type="sizeType"/>
            <xs:element name="rooms" type="roomsType" minOccurs="0"/>
            <xs:element name="bathrooms" type="roomsType" minOccurs="0"/>
            <xs:element name="floor" type="floorProject" minOccurs="0"/>
            <xs:element name="garage" type="boxProject" minOccurs="0"/>
            <xs:element name="description" type="langtxt" minOccurs="0"/>
            <xs:element name="specification" type="xs:string" minOccurs="0"/>
            <xs:element name="pictures" type="pictures" minOccurs="0"/>
            <xs:element name="documents" type="documents" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="total" type="nullInteger"/>
        <xs:attribute name="forsale" type="nullInteger"/>
        <xs:attribute name="ID" type="xs:long"/>
    </xs:complexType>


    <xs:complexType name="processable" abstract="true">
        <xs:sequence>
            <xs:element name="unique-id" type="notEmptyString" minOccurs="1" maxOccurs="1"/>
            <xs:element name="published-on" type="dateUpdatedType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="date-updated" type="dateUpdatedType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="date-deletion" type="dateUpdatedType" minOccurs="0" maxOccurs="1"/>
            <xs:choice>
                <xs:element ref="agent"/>
                <xs:element ref="user"/>
            </xs:choice>
            <xs:element name="location" type="locationStructure" minOccurs="1" maxOccurs="1"/>
            <xs:element name="pictures" type="pictures" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="videos" minOccurs="0" maxOccurs="1"/>
            <xs:element name="visits" type="xs:int" minOccurs="0"/>
            <xs:element name="estates" type="estates" minOccurs="0" />
            <xs:element name="fotoplan" type="xs:anyURI" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="operation" type="operation"/>
        <xs:attribute name="ID" type="xs:long"/>
        <xs:attribute name="external-id" type="xs:string" use="optional"/>
        <xs:attribute name="uuid" type="uuidType" use="optional"/>
        <xs:attribute name="padlock" type="padlock" use="optional"/>
    </xs:complexType>

    <xs:element name="project">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="processable">
                    <xs:sequence>
                        <xs:element name="reference-code" type="reference-code" minOccurs="0" />
                        <xs:element name="publish" type="publish" minOccurs="0"/>
                        <xs:element name="features" type="features-project" minOccurs="1" maxOccurs="1"/>
                        <xs:element name="extended" type="extended" minOccurs="1" maxOccurs="1"/>
                        <xs:element name="lots" type="lots" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="documents" type="documents" minOccurs="0"/>
                        <xs:element ref="raw-360s" minOccurs="0"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="auction">
        <xs:complexType>
            <xs:all>
                <xs:element name="unique-id" type="notEmptyString">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Identificativo esterno dell'annuncio</xs:documentation>
                        <xs:documentation xml:lang="es">Identificación externa del anuncio</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="reference-code" type="reference-code" minOccurs="0"/>
                <xs:element name="published-on" type="dateUpdatedType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Data di pubblicazione dell'annuncio</xs:documentation>
                        <xs:documentation xml:lang="es">Fecha de publicación del anuncio</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="date-updated" type="dateUpdatedType">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Data di ultimo aggiornamento dell'annuncio</xs:documentation>
                        <xs:documentation xml:lang="es">Fecha de la última actualización del anuncio</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element ref="agent"/>
                <xs:element ref="descriptions" minOccurs="0" maxOccurs="1"/>
                <xs:element name="starting-price" type="priceDecimalType">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Prezzo di partenza dell'asta</xs:documentation>
                        <xs:documentation xml:lang="es">Precio inicial de la subasta</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="minimum-bid" type="priceDecimalType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Rialzo minimo</xs:documentation>
                        <xs:documentation xml:lang="es">Incremento mínimo</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="minimum-bid-challenge" type="priceDecimalType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Rialzo minimo gara</xs:documentation>
                        <xs:documentation xml:lang="es">Incremento mínimo de licitación</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="success-price" type="priceDecimalType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Offerta minima</xs:documentation>
                        <xs:documentation xml:lang="es">Oferta mínima</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element ref="court" minOccurs="0"/>
                <xs:element name="reference" type="auction-reference" minOccurs="0"/>
                <xs:element name="actors" type="actors" minOccurs="0"/>
                <xs:element name="notes" type="xs:string" minOccurs="0"/>
                <xs:element name="lot-number" type="xs:string" minOccurs="0"/>

                <xs:element name="selling-market" type="xs:string" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Luogo di vendita dell'asta (working but obsolete)
                        </xs:documentation>
                        <xs:documentation xml:lang="es">Lugar de venta de subasta</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="selling-place" type="locationStructure" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Luogo di vendita dell'asta</xs:documentation>
                        <xs:documentation xml:lang="es">Lugar de venta de subasta</xs:documentation>
                    </xs:annotation>
                </xs:element>

                <xs:element name="depot-conditions" type="xs:string" minOccurs="0"/>
                <xs:element name="depot-out-of-date" type="xs:dateTime" minOccurs="0"/>
                <xs:element name="depot-bills" type="xs:double" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Deposito conto spese</xs:documentation>
                        <xs:documentation xml:lang="es">Depósito de cuenta de gastos</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="real-value" type="xs:double" minOccurs="0"/>
                <xs:element name="ransom" type="xs:double" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Cauzione</xs:documentation>
                        <xs:documentation xml:lang="es">Depósito</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ransom-bill" type="xs:double" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Spese cauzione</xs:documentation>
                        <xs:documentation xml:lang="es">Gastos de depósito</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="practice" type="externable" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Rito procedura</xs:documentation>
                        <xs:documentation xml:lang="es">Procedimiento</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="show-place" type="xs:string" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Luogo di presentazione dell'asta</xs:documentation>
                        <xs:documentation xml:lang="es">Lugar de presentación de la subasta</xs:documentation>
                    </xs:annotation>
                </xs:element>

                <xs:element name="reference-info" type="xs:string" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Informazioni sul referente dell'asta</xs:documentation>
                        <xs:documentation xml:lang="es">Información sobre el referente de la subasta</xs:documentation>
                    </xs:annotation>
                </xs:element>

                <xs:element name="events" type="auction-events" minOccurs="0"/>
                <xs:element name="documents" type="documents" minOccurs="0"/>
                <xs:element ref="raw-360s" minOccurs="0"/>
                <xs:element name="publish" type="publish" minOccurs="0"/>
                <xs:element name="estates" type="estates"/>

                <xs:element name="register" type="auction-register-type" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">Informazioni di registro dell'asta (lookup)</xs:documentation>
                        <xs:documentation xml:lang="es">Información de registro de la subasta</xs:documentation>
                    </xs:annotation>
                </xs:element>

                <xs:element name="legal-category" type="auction-legal-category" minOccurs="0"/>
                <xs:element name="legal-fee" type="auction-legal-fee" minOccurs="0"/>

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

                <xs:element name="custom-fields" type="custom-fields" minOccurs="0"/>
                <xs:element name="fotoplan" type="xs:anyURI" minOccurs="0"/>
                <xs:element name="contact-infos" type="contact-infos" minOccurs="0" />
            </xs:all>
            <xs:attribute name="ID" type="xs:long"/>
            <xs:attribute name="operation" type="operation" use="required"/>
            <xs:attribute name="uuid" type="uuidType" use="optional" />
            <xs:attribute name="source-type" type="auction-source-type"/>
            <xs:attribute name="type" type="auction-execution-type"/>
            <xs:attribute name="incomplete" type="xs:boolean" default="false"/>
            <xs:attribute name="padlock" type="padlock" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="auction-legal-fee">
        <xs:all>
            <xs:element name="free" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Esente</xs:documentation>
                    <xs:documentation xml:lang="es">Exento</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="scheduled-in-debt" type="xs:boolean" default="false">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Spese prenotata a debito</xs:documentation>
                    <xs:documentation xml:lang="es">Gastos a débito</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="acquitted" type="xs:boolean" default="false">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Bene non registrato o contributo non dovuto</xs:documentation>
                    <xs:documentation xml:lang="es">Bien no registrado o contribución no vencida</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:all>
    </xs:complexType>

    <xs:simpleType name="auction-legal-category">
        <xs:restriction base="xs:string">
            <xs:enumeration value="immobile residenziale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">inmueble residencial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="immobile commerciale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">inmueble comercial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="immobile industriale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">inmueble industrial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="impianto sportivo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">instalación deportiva</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="altra categoria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">otra categría</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:attributeGroup name="externable-support">
        <xs:attribute name="ID" type="xs:string"/>
    </xs:attributeGroup>

    <xs:complexType name="externable">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attributeGroup ref="externable-support"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="auction-register-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="procedure concorsuali">
                <xs:annotation>
                    <xs:documentation xml:lang="es">procedimientos de insolvencia</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzioni civili immobiliari">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecuciones inmobiliarias civiles</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzioni civili mobiliari">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecuciones mobiliarias civiles</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="volontaria giurisdizione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">voluntaria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="contenzioso civile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">contencioso civil</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="liquidazione volontaria - giudiziale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">liquidación voluntaria - judicial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzione coattiva per inadempimento compratore">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecución obligatoria por incumplimiento del comprador
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cose depositate">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cosas depositadas</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pegno non possessorio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">derecho de retención</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzioni esattoriali immobiliari">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecuciones impositivas inmobiliarias</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzioni esattoriali mobiliari">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecuciones impositivas mobiliarias</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="estates">
        <xs:sequence>
            <xs:element name="residential" type="xs:long" minOccurs="0"/>
            <xs:element name="commercial" type="xs:long" minOccurs="0"/>
            <xs:element name="estate" type="estate" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="estate">
        <xs:all>
            <xs:element name="unique-id" type="notEmptyString"/>
            <xs:element name="building" type="building"/>
            <xs:element name="location" type="locationStructure"/>
            <xs:element name="pictures" type="pictures" minOccurs="0"/>
            <xs:element ref="videos" minOccurs="0"/>
            <xs:element name="features" type="features-property"/>
            <xs:element name="extra-features" type="extra-features" minOccurs="0"/>
            <xs:element name="extended" type="extended" minOccurs="0"/>
            <xs:element name="registrar-data" type="registrar-data" minOccurs="0"/>
            <xs:element name="ownership-quota" type="xs:string" minOccurs="0"/>
            <xs:element name="ownership-type" type="ownershipType" minOccurs="0"/>
            <xs:element name="documents" type="documents" minOccurs="0"/>
            <xs:element ref="blueprints" minOccurs="0"/>

            <xs:element name="bill" type="estate-bill" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Denuncia</xs:documentation>
                    <xs:documentation xml:lang="es">Denuncia</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="custom-fields" type="custom-fields" minOccurs="0"/>
            <xs:element name="price" type="priceType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="reference-code" type="reference-code" minOccurs="0" />
        </xs:all>
        <xs:attribute name="ID" type="xs:long"/>
        <xs:attribute name="preferred" type="xs:boolean" default="false"/>
        <xs:attribute name="order" type="xs:int" use="optional" default="1"/>
    </xs:complexType>

    <xs:simpleType name="registrar-data-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="T" />
            <xs:enumeration value="F" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="registrar-data">
        <xs:all>
            <xs:element name="type" type="registrar-data-type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: tipo di catasto</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: tipo</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="section" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: sezione</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: sección</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="sheet" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: foglio</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: hoja</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="parcel" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: particella</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: polígono</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="sub-parcel" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: subparticella</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: parcela</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="sub" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: subalterno</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: construcción</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="sub-2nd" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: subalterno2</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: construcción2</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="attached" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Dati catastali: graffato</xs:documentation>
                    <xs:documentation xml:lang="es">Datos catastrales: adjunto</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="revenue" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Rendita catastale</xs:documentation>
                    <xs:documentation xml:lang="es">Ingresos catastrales</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:double">
                        <xs:minInclusive value="0"/>
                        <xs:maxInclusive value="99999999.99"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="extra" type="xs:string" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="class" type="registrar-class">
            <xs:annotation>
                <xs:documentation xml:lang="it">Classe catastale</xs:documentation>
                <xs:documentation xml:lang="es">Clase catastrales</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:simpleType name="registrar-class">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-FT](/[0-9]{1,2})?"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="estate-bill">
        <xs:all>
            <xs:element name="year" type="xs:positiveInteger" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Denuncia: anno. ATTENZIONE: Può differire dal valore di `date`
                    </xs:documentation>
                    <xs:documentation xml:lang="es">Denuncia: año. ATENCIÓN: puede diferir del valor de `fecha`
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="number" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Denuncia: numero</xs:documentation>
                    <xs:documentation xml:lang="es">Denuncia: número</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="date" type="xs:date" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Denuncia: data</xs:documentation>
                    <xs:documentation xml:lang="es">Denuncia: fecha</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:all>
        <xs:attribute name="type" type="bill-type" use="required"/>
    </xs:complexType>

    <xs:simpleType name="bill-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="protocollo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">protocolo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="scheda">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ficha</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="variazione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">variación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="property">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="processable">
                    <xs:sequence>
                        <xs:element name="date-expiration" minOccurs="0">
                            <xs:simpleType>
                                <xs:union memberTypes="xs:dateTime nullString"/>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="reference-code" type="reference-code" minOccurs="0"/>
                        <xs:element name="publish" type="publish" minOccurs="0"/>
                        <xs:element name="transactions" type="transactions"/>
                        <xs:element name="building" type="building"/>
                        <xs:element name="features" type="features-property"/>
                        <xs:element name="extra-features" type="extra-features" minOccurs="0"/>
                        <xs:element name="extended" type="extended" minOccurs="0"/>
                        <xs:element name="auction-features" type="auction-features" minOccurs="0"/>
                        <xs:element name="documents" type="documents" minOccurs="0"/>
                        <xs:element ref="blueprints" minOccurs="0"/>
                        <xs:element ref="raw-360s" minOccurs="0"/>
                        <xs:element name="registrar-data" type="registrar-data" minOccurs="0"/>
                        <xs:element name="work-start-date" type="xs:dateTime" minOccurs="0"/>
                        <xs:element name="work-end-date" type="xs:dateTime" minOccurs="0"/>
                        <xs:element name="project-name" type="xs:string" minOccurs="0"/>
                        <xs:element name="proposer" type="xs:string" minOccurs="0"/>
                        <xs:element name="sales-officer-address" type="xs:string" minOccurs="0"/><!-- deprecato -->
                        <xs:element name="housing-units" type="xs:int" minOccurs="0"/><!-- deprecato -->
                        <xs:element name="commercial-units" type="xs:int" minOccurs="0"/><!-- deprecato -->
                        <xs:element name="project-status" type="xs:string" minOccurs="0"/>
                        <xs:element name="contact-infos" type="contact-infos" minOccurs="0" />
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="contact-infos">
        <xs:sequence>
            <xs:element name="contact-info" type="contact-info" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="contact-info">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="contact-info-type" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="contact-info-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="email" />
        </xs:restriction>
    </xs:simpleType>


    <xs:complexType name="identifiers">
        <xs:all>
            <xs:element name="listing-id" type="xs:long" minOccurs="0"/>
            <xs:element name="agency-id" type="xs:long" minOccurs="0"/>
            <xs:element name="agency-username" type="xs:string" minOccurs="0"/>
            <xs:element name="listing-external-id" type="xs:string" minOccurs="0"/>
            <xs:element name="listing-uuid" type="xs:string" minOccurs="0"/>
            <xs:element name="agency-uuid" type="xs:string" minOccurs="0"/>
            <xs:element name="agency-external-id" type="xs:string" minOccurs="0"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="virtual-tours">
        <xs:sequence>
            <xs:choice>
                <xs:element name="url-virtual-tour" type="xs:string" minOccurs="0"/>
                <xs:element ref="raw-360s" minOccurs="0"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="resource-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="property"/>
            <xs:enumeration value="project"/>
            <xs:enumeration value="auction"/>
            <xs:enumeration value="room"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="partial">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="identifiers" type="identifiers" minOccurs="1"/>
                <xs:element name="resource-type" type="resource-type" minOccurs="0"/>
                <xs:element name="certified" type="xs:boolean" minOccurs="0"/>
                <xs:choice>
                    <xs:element name="virtual-tours" type="virtual-tours" minOccurs="0"/>
                    <xs:element name="pictures" type="pictures" minOccurs="0"/>
                    <xs:element name="documents" type="documents" minOccurs="0"/>
                    <xs:element ref="blueprints" minOccurs="0"/>
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>



    <xs:complexType name="publish">
        <xs:sequence>
            <xs:element name="portal" minOccurs="1" type="portal" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="visibilities">
        <xs:sequence>
            <xs:element name="visibility" minOccurs="1" type="visibility" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="portal">
        <xs:sequence>
            <xs:element name="visibilities" type="visibilities" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="refresh-date" type="xs:dateTime" />
        <xs:attribute name="status" type="xs:boolean" use="required"/>
        <xs:attribute name="id" use="required" type="xs:string"/>
        <xs:attribute name="zone" type="xs:int"/>
        <xs:attribute name="mode">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="premium"/>
                    <xs:enumeration value="low"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <xs:element name="blueprints">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="blueprint" type="picture" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="raw-360s">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="raw-360" type="picture" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="extra-features">
        <xs:all>
            <xs:element name="business" type="business" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Informazioni dell'attività in annuncio</xs:documentation>
                    <xs:documentation xml:lang="en">Information about business listed</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="last-business" type="xs:int" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Per gli annunci di locali commerciali, indica l'ultimo tipo di attività commerciale per cui l'edificio è stato utilizzato. Consultare la documentazione specifica per i possibili valori.</xs:documentation>
                    <xs:documentation xml:lang="en">For listings about commercial estates, it indicates the last business type the building was used for. See specific documentation for possible values.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="commercial-building" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Per gli annunci riguardo attività/negozi, indica che le mura sono incluse</xs:documentation>
                    <xs:documentation xml:lang="en">For listings about shop/businesses, it indicates  building is included</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="workshop" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Per gli annunci riguardo attività/negozi, indica che il laboratorio è incluso</xs:documentation>
                    <xs:documentation xml:lang="en">For listings about shop/businesses, it indicates workshop is included</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="equipment" type="equipment" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">It indicated if the equipment needed for business is included.</xs:documentation>
                    <xs:documentation xml:lang="it">Indica se sono incluse le attrezzature per l'attività</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="num-showcases" type="xs:int" minOccurs="0"/>
            <xs:element name="showcases-size" type="xs:int" minOccurs="0"/>
            <xs:element name="bathrooms" type="roomsType" minOccurs="0"/>
            <xs:element name="garage" minOccurs="0" type="box">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Posti auto in garage/box</xs:documentation>
                    <xs:documentation xml:lang="en">Garage parking/box spaces</xs:documentation>
                    <xs:documentation xml:lang="es">Número de plazas de aparcamiento en el garaje/box</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ambience" type="ambience" minOccurs="0"/>
            <xs:element name="garden" minOccurs="0" type="garden"/>
            <xs:element name="terrace" minOccurs="0" type="xs:boolean"/>
            <xs:element name="balcony" minOccurs="0" type="xs:boolean"/>
            <xs:element name="elevator" minOccurs="0" type="xs:boolean"/>
            <xs:element name="num-elevators" minOccurs="0" type="xs:int"/>
            <xs:element name="floor" minOccurs="0" type="floor"/>
            <xs:element name="num-floors" type="xs:int" minOccurs="0"/>
            <xs:element name="for-revenue" minOccurs="0" type="xs:boolean"/>
            <xs:element name="available-now" minOccurs="0" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Obsoleta: use "free-conditions@free" en su lugar</xs:documentation>
                    <xs:documentation xml:lang="it">Deprecato: usa "free-conditions@free" invece</xs:documentation>
                    <xs:documentation xml:lang="en">Deprecated: use "free-conditions@free" instead</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="virtual-tour" type="xs:string" minOccurs="0"/>
            <xs:element name="rent-contract" minOccurs="0" type="rental"/>
            <xs:element name="additional-costs" minOccurs="0" type="additionalCostsType">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Spese condominiali</xs:documentation>
                    <xs:documentation xml:lang="en">Shared additional costs</xs:documentation>
                    <xs:documentation xml:lang="es">Gastos de comunidad</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="additional-heating-costs" minOccurs="0" type="additionalCostsType"/>
            <xs:element name="furniture" minOccurs="0" type="furniture"/>
            <xs:element name="security-alarm" minOccurs="0" type="xs:boolean"/>
            <xs:element name="reception" minOccurs="0" type="xs:boolean"/>
            <xs:element name="net" minOccurs="0" type="xs:boolean"/>
            <xs:element name="external-area" minOccurs="0" type="landSizeType"/>
            <xs:element name="build-year" minOccurs="0" type="year"/>
            <xs:element name="free-conditions" minOccurs="0" type="free-conditions">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Condizioni necessarie per liberare l'immobile</xs:documentation>
                    <xs:documentation xml:lang="en">Property availability constraints</xs:documentation>
                    <xs:documentation xml:lang="es">Condiciones necesarias para liberar el inmueble</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="overhead-crane" minOccurs="0" type="sinomensola">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Tipo di carroponte, se presente</xs:documentation>
                    <xs:documentation xml:lang="es">Tipo de puente grúa, si está presente</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="overhead-crane-num" type="xs:int" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Numero di carriponte</xs:documentation>
                    <xs:documentation xml:lang="en">Number of overhead crane</xs:documentation>
                    <xs:documentation xml:lang="es">Número de puente grúa</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="overhead-crane-max-capacity" type="xs:int" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Portata massima del carroponte (in tonnellate)</xs:documentation>
                    <xs:documentation xml:lang="en">Overhead crane max capacity (in tons)</xs:documentation>
                    <xs:documentation xml:lang="es">Capacidad máxima de la grúa puente (en toneladas)</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="beam-height" minOccurs="0" type="xs:double">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Altezza della sottotrave</xs:documentation>
                    <xs:documentation xml:lang="es">Altura de la viga</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="room-height" minOccurs="0" type="xs:double">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Altezza del locale</xs:documentation>
                    <xs:documentation xml:lang="en">Room height</xs:documentation>
                    <xs:documentation xml:lang="es">Altura de la sala</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="shed-height" minOccurs="0" type="xs:double">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Altezza del capannone</xs:documentation>
                    <xs:documentation xml:lang="en">Shed height</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="pillars" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="span-num" type="xs:int" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Numero di campate</xs:documentation>
                    <xs:documentation xml:lang="en">Number of spans</xs:documentation>
                    <xs:documentation xml:lang="es">Número de puente grúa</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="loading-dock-num" type="xs:int" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Numero di banchine di carico</xs:documentation>
                    <xs:documentation xml:lang="en">Number of loading docks</xs:documentation>
                    <xs:documentation xml:lang="es">Número de plataformas de carga</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="slope" type="slope"  minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Intensità del dislivello del terreno</xs:documentation>
                    <xs:documentation xml:lang="en">intensity of slope of terrain</xs:documentation>
                    <xs:documentation xml:lang="es">diferencia de altura del suelo</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="building-area" type="xs:int" minOccurs="0"/>
            <xs:element name="building-height" type="xs:double" minOccurs="0"/>
            <xs:element name="access-type" type="access-type" minOccurs="0"/>
            <xs:element name="office-size" minOccurs="0" type="sizeType"/>
            <xs:element name="floorplanner-url" minOccurs="0" type="floorplanner"/>
            <xs:element name="doc-specification" minOccurs="0" type="xs:string"/>
            <xs:element name="doc-description" minOccurs="0" type="xs:string"/>
            <xs:element name="available-date" minOccurs="0" type="xs:dateTime"/>
            <xs:element name="minimum-stay" minOccurs="0" type="xs:int"/>
            <xs:element name="bills-included" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="powerline" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="gas" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="phone" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="internet" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="water" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="waste-tax" minOccurs="0" type="xs:boolean"/>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="costs" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="services" minOccurs="0" type="priceType"/>
                        <xs:element name="other" minOccurs="0" type="priceType"/>
                        <xs:element name="deposit" minOccurs="0" type="priceType"/>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="flatmate" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="gender" minOccurs="0" type="genderType"/>
                        <xs:element name="couples" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="smoker" minOccurs="0" type="xs:boolean"/>
                        <xs:element name="pets" minOccurs="0" type="petType"/>
                        <xs:element name="age" minOccurs="0">
                            <xs:complexType>
                                <xs:attribute name="from" type="range-age"/>
                                <xs:attribute name="to" type="range-age"/>
                            </xs:complexType>
                        </xs:element>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="accommodation-type" type="accommodationType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="sleeping-accommodation" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="rent-room" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="furnished" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="bedlinen" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="private-bathroom" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="parquet" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="telephone-socket" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="tv" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="private-entrance" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="wardrobe" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="moquette" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="workspaces" type="workspaces" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Elenco delle postazioni disponibili nel coworking. Valido solo per la tipologia coworking</xs:documentation>
                    <xs:documentation xml:lang="en">List of available workspaces in the coworking. Valid for building type coworking only</xs:documentation>
                    <xs:documentation xml:lang="es">Lista de estaciones disponibles en coworking. Válido solo para el tipo coworking</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="opening-times" type="opening-times" minOccurs="0" />
            <xs:element name="price-reference-index" type="xs:double" minOccurs="0"/>
            <xs:element name="vat-applied" minOccurs="0" type="value-or-ratio"/>
            <xs:element name="agency-commission" minOccurs="0" type="value-or-ratio"/>
            <xs:element name="notary-commission" minOccurs="0" type="value-or-ratio"/>
            <xs:element name="bank-guarantee" minOccurs="0" type="value-or-ratio"/>
            <xs:element name="commission-paid-by" minOccurs="0" type="commission-paid-by-type"/>
            <xs:element name="thermal-insulation" minOccurs="0" type="thermal-insulation-type"/>
            <xs:element name="net-energy-need" minOccurs="0" type="net-energy-unit"/>
        </xs:all>
    </xs:complexType>

    <xs:simpleType name="range-age">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="18"/>
            <xs:maxInclusive value="80"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="free-conditions">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="free" type="xs:boolean" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    
    <xs:simpleType name="view">
        <xs:restriction base="xs:string">
            <xs:enumeration value="sea" />
            <xs:enumeration value="lake" />
            <xs:enumeration value="mountain" />
            <xs:enumeration value="panorama" />
            <xs:enumeration value="river" />
            <xs:enumeration value="park" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ambience">
        <xs:all>
            <xs:element name="heating" type="heating" minOccurs="0" maxOccurs="1"/>
            <xs:element name="air-conditioning" type="air-conditioning" minOccurs="0" maxOccurs="1"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="heating">
        <xs:all>
            <xs:element name="system" type="heating-system" minOccurs="0"/>
            <xs:element name="source" type="heating-source" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="type" type="heat"/>
    </xs:complexType>

    <xs:simpleType name="heating-source">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Gas">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Gas</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Metano">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Metano</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GPL">
                <xs:annotation>
                    <xs:documentation xml:lang="es">GLP</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Gasolio">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Gasóleo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Pellet">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Pellet</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Legna">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Leña</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Solare">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Solar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Fotovoltaico">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Energía fotovoltaica</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Teleriscaldamento">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Calefacción urbana</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Pompa di calore">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Bomba de calor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Elettrica"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="heating-system">
        <xs:restriction base="xs:string">
            <xs:enumeration value="A radiatori">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Por radiadores</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="A pavimento">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Suelo radiante</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Ad aria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Por aire</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="A stufa">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Por estufa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="air-conditioning">
        <xs:all>
            <xs:element name="effect" type="air-conditioning-effect" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="type" type="air-conditioning-type"/>
        <xs:attribute name="present" type="xs:boolean"/>
    </xs:complexType>

    <xs:simpleType name="air-conditioning-effect">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Freddo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Frío</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caldo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Calor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Freddo/Caldo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Frío/Calor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="air-conditioning-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Autonomo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Individual</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Centralizzato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Central</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Predisposizione impianto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">Preinstalación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Assente">
                <xs:annotation>
                    <xs:documentation xml:lang="es">No hay</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="videos">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="video" type="video" minOccurs="1" maxOccurs="5"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="video">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="video-type"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="video-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="local"/>
            <xs:enumeration value="remote"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="auction-reference">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="year" type="xs:int"/>
                <xs:attribute name="number" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="auction-execution-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="accordo di ristrutturazione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">acuerdo de reestructuración</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="amministrazione giudiziaria mp">
                <xs:annotation>
                    <xs:documentation xml:lang="es">administración judicial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="amministrazione straordinaria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">administración extraordinaria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="appalto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">adjudicación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="causa civile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">demanda civil</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="composizione crisi da sovraindebitamento">
                <xs:annotation>
                    <xs:documentation xml:lang="es">composición de crisis por sobreendeudamiento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="concordato fallimentare">
                <xs:annotation>
                    <xs:documentation xml:lang="es">acuerdo de quiebra</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="concordato preventivo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">acuerdo con acreedores</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="divisione giudiziale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">división judicial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="eredità giacente">
                <xs:annotation>
                    <xs:documentation xml:lang="es">herencia vacante</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzione immobiliare">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecución inmobiliaria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="esecuzione penale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ejecución penal</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fallimento">
                <xs:annotation>
                    <xs:documentation xml:lang="es">quiebra</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="liquidazione coatta">
                <xs:annotation>
                    <xs:documentation xml:lang="es">liquidación forzosa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="liquidazione volontaria-giudiziale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">liquidación voluntaria-judicial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="misura di prevenzione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">medida de prevención</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="procedura esattoriale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">procedimiento de recaudación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="procedura concorsuale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">procedimiento de insolvencia</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="scioglimento per atto d'autorità">
                <xs:annotation>
                    <xs:documentation xml:lang="es">disolución por acto de autoridad</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sequestro preventivo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">embargo preventivo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="usucapione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">prescripción adquisitiva</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vendita immobiliare">
                <xs:annotation>
                    <xs:documentation xml:lang="es">venta inmobiliaria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="volontaria giurisdizione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">jurisdicción voluntaria</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="giudiziaria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">judicial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="altra vendita">
                <xs:annotation>
                    <xs:documentation xml:lang="es">otra venta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="auction-source-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="giudiziaria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">judicial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="altra vendita">
                <xs:annotation>
                    <xs:documentation xml:lang="es">otra venta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- Tipo deprecato, relativo alle aste V2 -->
    <xs:complexType name="auction-features">
        <xs:sequence>
            <xs:element name="auctions">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="auction" type="auction-event" minOccurs="1" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="starting-price" type="priceType" minOccurs="1" maxOccurs="1"/>
            <xs:element name="minimum-bid" type="priceType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="success-price" type="priceDecimalType" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="court" minOccurs="0" maxOccurs="1"/>
            <xs:element name="reference" type="auction-reference" minOccurs="0" maxOccurs="1"/>
            <xs:element name="actors" type="actors" minOccurs="0" maxOccurs="1"/>
            <xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="type" type="auction-execution-type"/>
    </xs:complexType>

    <xs:complexType name="simple-court">
        <xs:attribute name="name" type="xs:string"/>
        <xs:attribute name="type" type="court-type"/>
    </xs:complexType>

    <xs:element name="court">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="court-info" type="court-info" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
            <xs:attribute name="name" type="xs:string"/>
            <xs:attribute name="type" type="court-type"/>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="court-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="court"/>
            <xs:enumeration value="other"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="court-info">
        <xs:sequence>
            <xs:element name="address" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="zip-code" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="picture" type="picture" minOccurs="0" maxOccurs="1"/>
            <xs:element name="location" type="locationStructure" minOccurs="0" maxOccurs="1"/>
            <xs:element name="description" type="description" minOccurs="0" maxOccurs="1"/>
            <xs:element name="extra-info" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="contact-data" type="contact-data" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attributeGroup ref="externable-support"/>
        <xs:attribute name="source" type="xs:string" use="required"/>
    </xs:complexType>

    <xs:complexType name="contact-data">
        <xs:sequence>
            <xs:element name="contact-detail" type="contact-detail" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="contact-detail">
        <xs:attribute name="type">
            <xs:simpleType>
                <!-- NB. Mantenere SEMPRE alineati con i valori nel database (tabella www_eurekasa.tipoContattoAnagrafica  -->
                <xs:restriction base="xs:string">
                    <xs:enumeration value="telefono">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">teléfono</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="fax">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">fax</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="cellulare">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">móvil</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="email">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">email</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="sito">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">web</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="pagina facebook">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">página facebook</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="account twitter">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">cuenta twitter</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="account linkedin">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">cuenta linkedin</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="altro social">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">otra red social</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="note">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">notas</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="value" type="xs:string"/>
        <xs:attribute name="main" type="xs:boolean" use="optional" default="false"/>
    </xs:complexType>

    <xs:complexType name="auction-events">
        <xs:sequence>
            <xs:element name="event" type="auction-event" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="auction-event">
        <xs:all>
            <xs:element name="date" type="xs:dateTime"/>
            <xs:element name="starting-price" type="priceDecimalType" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="type" type="auction-event-type"/>
        <xs:attribute name="status" type="auction-event-status"/>
        <xs:attribute name="mode" type="auction-event-mode"/>
    </xs:complexType>

    <xs:complexType name="actors">
        <xs:sequence>
            <xs:element name="actor" type="auctionActorType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="ws-leads" type="xs:boolean" default="false"/>
    </xs:complexType>

    <xs:simpleType name="auction-event-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="a trattativa privata">
                <xs:annotation>
                    <xs:documentation xml:lang="es">de adjudicación indirecta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="asincrona">
                <xs:annotation>
                    <xs:documentation xml:lang="es">asíncrono</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="asta privata">
                <xs:annotation>
                    <xs:documentation xml:lang="es">subasta privada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="atto pubblico notarile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">acto público notarial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="con incanto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">por subasta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gara informale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">licitación informal</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="invito a manifestare interesse">
                <xs:annotation>
                    <xs:documentation xml:lang="es">convocatoria de manifestaciones de interés</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="invito a offrire">
                <xs:annotation>
                    <xs:documentation xml:lang="es">invitación a licitar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="licitazione privata">
                <xs:annotation>
                    <xs:documentation xml:lang="es">licitación privada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="mezzo commissionario">
                <xs:annotation>
                    <xs:documentation xml:lang="es">medio comisionista</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tramite commissionario">
                <xs:annotation>
                    <xs:documentation xml:lang="es">a través de comisionista</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="offerta segreta">
                <xs:annotation>
                    <xs:documentation xml:lang="es">oferta secreta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="senza incanto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">sin subasta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="senza incanto - seguito aumento di un quinto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">sin subasta - seguido de un aumento de un quinto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="sollecitazione di locazione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">solicitud de alquiler</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="udienza di assegnazione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">audiencia de asignación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="vendita competitiva">
                <xs:annotation>
                    <xs:documentation xml:lang="es">venta competitiva</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="competitiva">
                <xs:annotation>
                    <xs:documentation xml:lang="es">competitiva</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="vendita da definire">
                <xs:annotation>
                    <xs:documentation xml:lang="es">venta a definir</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vendita online">
                <xs:annotation>
                    <xs:documentation xml:lang="es">venta online</xs:documentation>
                </xs:annotation>
            </xs:enumeration>

            <xs:enumeration value="vendita competitiva">
                <xs:annotation>
                    <xs:documentation xml:lang="es">venta competitiva</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="auction-event-mode">
        <xs:restriction base="xs:string">
            <xs:enumeration value="presso il venditore">
                <xs:annotation>
                    <xs:documentation xml:lang="es">a través del vendedor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sincrona telematica">
                <xs:annotation>
                    <xs:documentation xml:lang="es">síncrona telemática</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sincrona mista">
                <xs:annotation>
                    <xs:documentation xml:lang="es">síncrona mixta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="asincrona telematica">
                <xs:annotation>
                    <xs:documentation xml:lang="es">asíncrona telemática</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="auction-event-status">
        <xs:restriction base="xs:string">
            <xs:enumeration value="partecipabile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">participable</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="non più partecipabile">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ya no participable</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="asta deserta">
                <xs:annotation>
                    <xs:documentation xml:lang="es">subasta desierta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sospesa">
                <xs:annotation>
                    <xs:documentation xml:lang="es">suspendida</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="auctionActorType">
        <xs:sequence>
            <xs:element name="name" type="xs:string" minOccurs="1"/>
            <xs:element name="lastname" type="xs:string" minOccurs="0"/>
            <xs:element name="tax-code" type="xs:string" minOccurs="0"/>
            <xs:element name="phone" type="xs:string" minOccurs="0"/>
            <xs:element name="mobile" type="xs:string" minOccurs="0"/>
            <xs:element name="email" type="emailType" minOccurs="0"/>
            <xs:element name="fax" type="xs:string" minOccurs="0"/>

            <xs:element name="selling-operations" type="xs:boolean" minOccurs="0"/>
            <xs:element name="estate-journey" type="xs:boolean" minOccurs="0"/>
        </xs:sequence>
        <xs:attributeGroup ref="externable-support"/>
        <xs:attribute name="type" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="giudice">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">juez</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="delegato">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">delegado</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="professionista delegato">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">representante profesional</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="delegato alla vendita">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">representante de ventas</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="custode">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">custodio</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="creditore">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">acreedor</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="richiedente">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">solicitante</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="referente">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">referente</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="curatore">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">administrador</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="curatore fallimentare">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">administrador judicial</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="geometra">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">aparejador</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="controparte istituzionale">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">contraparte institucional</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="firmatario">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">signatario</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="ctu">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">uct</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="avvocato">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">abogado</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="commissario">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">comisionado</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="commissario straordinario">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">comisionado extraordinario</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="commissario giudiziale">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">administrador judicial</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="commissario liquidatore">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">comisario liquidador</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="liquidatore">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">liquidador</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="liquidatore giudiziale">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">liquidador judicial</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="soggetto specializzato alla vendita">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">sujeto especializado en la venta</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="persona autorizzata alla vendita">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">persona autorizada para la venta</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="istituto vendite giudiziarie">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">instituto judicial de ventas</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="commissionario">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">comisionista</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="amministratore di sostegno">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">administrador de soporte</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="tutore">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">tutor</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="gestore per la liquidazione">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">gestor de la liquidación</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="legale della parte">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">legal de dicha parte</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="pignorante con procedure de formalizzate">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">Ejecución hipotecaria con procedimientos formales
                            </xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="ufficiale giudiziario">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">oficial judicial</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="altro soggetto">
                        <xs:annotation>
                            <xs:documentation xml:lang="es">otro sujeto</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="documents">
        <xs:sequence>
            <xs:element name="document" type="document" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="document">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="position" type="xs:int" default="1"/>
                <xs:attribute name="mimetype" type="xs:string"/>
                <xs:attribute name="url" type="xs:anyURI" use="required"/>
                <xs:attribute name="type" type="document-type" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="document-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ordinanza">
                <xs:annotation>
                    <xs:documentation xml:lang="es">orden</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ordinanza di vendita">
                <xs:annotation>
                    <xs:documentation xml:lang="es">orden de venta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="planimetria">
                <xs:annotation>
                    <xs:documentation xml:lang="es">plano</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="perizia">
                <xs:annotation>
                    <xs:documentation xml:lang="es">tasación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="modalità di partecipazione">
                <xs:annotation>
                    <xs:documentation xml:lang="es">modalidades de participación</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="avviso">
                <xs:annotation>
                    <xs:documentation xml:lang="es">aviso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="avviso di vendita">
                <xs:annotation>
                    <xs:documentation xml:lang="es">aviso de venta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="capitolato">
                <xs:annotation>
                    <xs:documentation xml:lang="es">pliego</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="documento catastale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">documento catastral</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="visura catastale">
                <xs:annotation>
                    <xs:documentation xml:lang="es">levantamiento catastral</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="altro">
                <xs:annotation>
                    <xs:documentation xml:lang="es">otro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="altro-asta">
                <xs:annotation>
                    <xs:documentation xml:lang="es">otro-subasta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="descrizione progetto">
                <xs:annotation>
                    <xs:documentation xml:lang="es">descripción del proyecto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ape">
                <xs:annotation>
                    <xs:documentation xml:lang="es">ape</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="pictures">
        <xs:sequence>
            <xs:element name="picture" type="picture" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="picture">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="position" type="xs:int" default="1"/>
                <xs:attribute name="url" type="xs:string" use="required"/>
                <xs:attribute name="id" type="xs:long"/>
                <xs:attribute name="etag" type="xs:string" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="it">etag dell'immagine</xs:documentation>
                        <xs:documentation xml:lang="en">image etag</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="width" type="xs:int"/>
                <xs:attribute name="height" type="xs:int"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="extended">
        <xs:all>
            <xs:element name="note" type="xs:string" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Note relative all'annuncio</xs:documentation>
                    <xs:documentation xml:lang="en">Listing notes</xs:documentation>
                    <xs:documentation xml:lang="es">Notas sobre el anuncio</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="amount-parking" type="xs:int" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Numero di posti auto esterni. Deprecato</xs:documentation>
                    <xs:documentation xml:lang="en">Amount of external parking spaces. Deprecated</xs:documentation>
                    <xs:documentation xml:lang="es">Cantidad de espacios de estacionamiento externos. Obsoleta</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="garage-type" type="garage-type" minOccurs="0"/>
            <xs:element name="amount-car-parking" type="xs:int" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Numero di posti auto</xs:documentation>
                    <xs:documentation xml:lang="en">Amount of car parking spaces</xs:documentation>
                    <xs:documentation xml:lang="es">Número de plazas de aparcamiento para automóviles</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="amount-motorcycle-parking" type="xs:int" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Numero di posti moto</xs:documentation>
                    <xs:documentation xml:lang="en">Amount of motorcycle parking spaces</xs:documentation>
                    <xs:documentation xml:lang="es">Número de plazas de aparcamiento para motos</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="garage-door-width" type="xs:double" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Larghezza porta garage</xs:documentation>
                    <xs:documentation xml:lang="en">Garage door width</xs:documentation>
                    <xs:documentation xml:lang="es">Ancho de la puerta de garaje</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="amount-terrace" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="amount-balcony" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="amount-levels" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="amount-sgl" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="amount-dbl" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="inner-exposition" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="outer-exposition" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="entrance" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <!-- valorizza gtxRipostiglio (deprecato) -->
            <xs:element name="closet" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <!-- valorizza gtxCantina -->
            <xs:element name="basement" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="penthouse" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tavern" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fireplace" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="security-door" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tub" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="security-alarm" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="swimming-pool" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="tennis" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="electric-gate" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="electric-garage-door" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="electric-car-charging" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="optical-fiber" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="broadband-internet" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="concierge" type="concierge" minOccurs="0" maxOccurs="1"/>
            <xs:element name="video-intercom" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="external-frames" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="nd"/>
                        <xs:enumeration value="glass/wood"/>
                        <xs:enumeration value="glass/metal"/>
                        <xs:enumeration value="double glass/wood"/>
                        <xs:enumeration value="double glass/metal"/>
                        <xs:enumeration value="triple glass/wood"/>
                        <xs:enumeration value="triple glass/metal"/>
                        <xs:enumeration value="glass/pvc"/>
                        <xs:enumeration value="double glass/pvc"/>
                        <xs:enumeration value="triple glass/pvc"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="tv" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="nd"/>
                        <xs:enumeration value="centralized"/>
                        <xs:enumeration value="private"/>
                        <xs:enumeration value="satellite"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="sharable" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="certified" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="building-site-status" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="disabled-people-access" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="disabled-people-toilet" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="free-side" type="free-side" minOccurs="0" maxOccurs="1"/>
            <xs:element name="orientation" type="orientation" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Deprecato: usa "orientations".</xs:documentation>
                    <xs:documentation xml:lang="en">Deprecated: use "orientations"</xs:documentation>
                    <xs:documentation xml:lang="es">Obsoleta: use "orientations" en su lugar</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="orientations" type="orientations" minOccurs="0" maxOccurs="1"/>
            <xs:element name="floor-level" minOccurs="0" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="low"/>
                        <xs:enumeration value="medium"/>
                        <xs:enumeration value="high"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="agreement" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Data in formato "yyyy-MM-dd" (es. 2002-09-24). Indica la scadenza
                        del mandato dell'agenzia riguardo a questo annuncio.
                    </xs:documentation>
                    <xs:documentation xml:lang="es">Fecha en formato "yyyy-MM-dd" (ej. 2002-09-24). Indica la caducidad
                        del mandato de la agencia con respecto a este anuncio.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="inner-subdivision" type="inner-subdivision" minOccurs="0" maxOccurs="1"/>
            <xs:element name="amount-cupboard" type="xs:int" minOccurs="0" maxOccurs="1"/>
            <xs:element name="raised-floor" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="deposit" type="priceType" minOccurs="0" maxOccurs="1"/>
            <xs:element name="building-usages" type="building-usages" minOccurs="0" maxOccurs="1"/>
            <xs:element name="gym" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="load-unload-area" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="private-field" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="driveway" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fenced-property" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="cctv-supervision" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="accessibility-24h" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="kitchen" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="bike-parking" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="false-ceiling" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="access-check" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fire-detector" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fire-protection-rain" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fire-protection-hydrant" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fire-door" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="emergency-exit" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="emergency-lights" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="hot-drinks" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="multifunction-printer" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="conviviality-room" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="microwave-oven" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="cleaning-service" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="waiting-room" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="refrigerator" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="parcel-collection-storage-service" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="dishwasher" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="talking-phone-spaces" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="registered-office" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="badge" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="background-music" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="TV-screen" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="private-locker" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="newspapers" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fruit" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="coffee-bar" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="shower" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="watchman" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="barber-hairdresser" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="child-care-center" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fitness-room" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="other-services" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="water-connection" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="electrical-connection" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="gas-connection" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="sewer-connection" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="street-lights" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="arable-land" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="grassland" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="paddy-field" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="pasture" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="garden" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="citrus-grove" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="olive-tree-grove" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="vineyard" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="orchard" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="wood" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="chestnut-grove" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="uncultivated" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="locker-room" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="dining-hall" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="fume-aspiration" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="mechanical-ventilation" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="electric-shutter" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="manual-shutter" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="corner-position" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="double-entrance" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="chimney-flue" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Canna fumaria</xs:documentation>
                    <xs:documentation xml:lang="en">Chimney flue</xs:documentation>
                    <xs:documentation xml:lang="es">cañón de chimenea</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="links" type="links" minOccurs="0" maxOccurs="1"/>
            <xs:element name="available-for-students" type="xs:boolean" minOccurs="0" />
            <xs:element name="building-coverage-ratio" type="xs:double" minOccurs="0" />
            <xs:element name="solar-thermal" type="xs:boolean" minOccurs="0" />
            <xs:element name="master-plan" type="xs:boolean" minOccurs="0" />
            <xs:element name="equipped-for-elderly" type="xs:boolean" minOccurs="0" />
            <xs:element name="separate-toilet" type="xs:boolean" minOccurs="0" />
            <xs:element name="electric-car-charging-station" type="xs:boolean" minOccurs="0" />
            <xs:element name="sea-distance" type="xs:int" minOccurs="0" />
            <xs:element name="views" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="view" type="view" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="floorplanner">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="id" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="concierge">
        <xs:restriction base="xs:string">
            <xs:enumeration value="true"/>
            <xs:enumeration value="yes"/>
            <xs:enumeration value="false"/>
            <xs:enumeration value="no"/>
            <xs:enumeration value="half-day"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="free-side">
        <xs:restriction base="xs:string">
            <xs:enumeration value="uno">
                <xs:annotation>
                    <xs:documentation xml:lang="es">uno</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="due, paralleli">
                <xs:annotation>
                    <xs:documentation xml:lang="es">dos, paralelos</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="due, ad angolo">
                <xs:annotation>
                    <xs:documentation xml:lang="es">dos, en esquina</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tre">
                <xs:annotation>
                    <xs:documentation xml:lang="es">tres</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="quattro">
                <xs:annotation>
                    <xs:documentation xml:lang="es">cuatro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="orientation">
        <xs:restriction base="xs:string">
            <xs:enumeration value="north"/>
            <xs:enumeration value="south"/>
            <xs:enumeration value="east"/>
            <xs:enumeration value="west"/>
            <xs:enumeration value="north-east"/>
            <xs:enumeration value="north-west"/>
            <xs:enumeration value="south-east"/>
            <xs:enumeration value="south-west"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- setup -->
    <xs:element name="setup">
        <xs:complexType>
            <xs:all>
                <xs:element name="has_auctions" type="xs:int" minOccurs="0"/>
                <xs:element name="has_projects" type="xs:int" minOccurs="0"/>
                <xs:element name="condition" type="xs:string" minOccurs="0"/>
                <xs:element name="certificable" type="xs:int" minOccurs="0"/>
                <xs:element name="strict" type="xs:int" minOccurs="0"/>
            </xs:all>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="padlock">
        <xs:restriction base="xs:string">
            <xs:enumeration value="open"/>
            <xs:enumeration value="closed"/>
            <xs:enumeration value="native"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="inner-subdivision">
        <xs:restriction base="xs:string">
            <xs:enumeration value="open-space"/>
            <xs:enumeration value="semi-open-space"/>
            <xs:enumeration value="compartments"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- temporaneo, solo per migrazioni -->
    <xs:element name="lead">
        <xs:complexType>
            <xs:all>
                <xs:element name="property-uuid" type="xs:string" minOccurs="0"/>
                <xs:element name="agency-uuid" type="xs:string" minOccurs="0"/>
                <xs:element name="first-name" type="xs:string" minOccurs="0"/>
                <xs:element name="last-name" type="xs:string" minOccurs="0"/>
                <xs:element name="email" type="xs:string" />
                <xs:element name="phone" type="xs:string" minOccurs="0"/>
                <xs:element name="message" type="xs:string" />
                <xs:element name="source" type="xs:string" />
                <xs:element name="remote-ip" type="xs:string" minOccurs="0" />
                <xs:element name="property-id" type="xs:long" minOccurs="0"/>
                <xs:element name="agency-id" type="xs:long" minOccurs="0"/>
                <xs:element name="property-external-id" type="xs:string" minOccurs="0"/>
                <xs:element name="agency-external-id" type="xs:string" minOccurs="0"/>
            </xs:all>
            <xs:attribute name="date" type="xs:dateTime" use="required" />
            <xs:attribute name="uuid" type="xs:string" />
            <xs:attribute name="external-id" type="xs:string" />
        </xs:complexType>
    </xs:element>

    <xs:element name="phone-call">
        <xs:complexType>
            <xs:all>
                <xs:element name="agency-uuid" type="xs:string" minOccurs="0"/>
                <xs:element name="agency-id" type="xs:long" minOccurs="0"/>
                <xs:element name="agency-external-id" type="xs:string" minOccurs="0"/>
                <xs:element name="caller" type="xs:string" minOccurs="0"/>
                <xs:element name="forwarded-to" type="xs:string"/>
                <xs:element name="talk-time" type="xs:long" minOccurs="0"/>
                <xs:element name="outcome" type="phone-call-outcome" />
                <xs:element name="call-start" type="xs:dateTime"/>
                <xs:element name="source" type="xs:string"/>
                <xs:element name="remote-ip" type="xs:string" minOccurs="0" />
            </xs:all>
            <xs:attribute name="id" type="xs:long" />
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="phone-call-outcome">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ANSWERED"/>
            <xs:enumeration value="CANCELED"/>
            <xs:enumeration value="REJECTED"/>
            <xs:enumeration value="NOANSWER"/>
            <xs:enumeration value="BUSY"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- temporaneo, solo per migrazioni / temporal, solo para migraciones -->
    <xs:complexType name="import-sources">
        <xs:sequence>
            <xs:element name="import-source" type="import-source" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <!-- temporaneo, solo per migrazioni / temporal, solo para migraciones -->
    <xs:simpleType name="portal-identifier">
        <xs:restriction base="xs:string">
            <xs:enumeration value="enalquiler"/>
            <xs:enumeration value="ventadepisos"/>
            <xs:enumeration value="masprofesional"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- temporaneo, solo per migrazioni  / temporal, solo para migraciones -->
    <xs:simpleType name="portal-source-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="manual"/>
            <xs:enumeration value="partner"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- temporaneo, solo per migrazioni / temporal, solo para migraciones -->
    <xs:complexType name="import-source">
        <xs:simpleContent>
            <xs:extension base="portal-source-type">
                <xs:attribute name="portal" type="portal-identifier" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- da abilitare solo dietro configurazione specifica e comunque attivo solo su inserimento/aggiornamento anagrafica agenzia /
  para habilitar solo después de una configuración específica y, en cualquier caso, solo activo al añadir/actualizar la base de datos de la agencia -->
    <xs:simpleType name="agent-status">
        <xs:restriction base="xs:string">
            <xs:enumeration value="active"/>
            <xs:enumeration value="idle"/>
            <xs:enumeration value="terminated"/>
            <xs:enumeration value="to-approve"/>
            <xs:enumeration value="deleted" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="extension-status">
        <xs:restriction base="xs:string">
            <xs:enumeration value="prova"/>
            <xs:enumeration value="contratto"/>
            <xs:enumeration value="sospeso"/>
            <xs:enumeration value="Sospeso"/>
            <xs:enumeration value="omaggio"/>
            <xs:enumeration value="no interesse"/>
            <xs:enumeration value="freemium"/>
            <xs:enumeration value="Attivo"/>
            <xs:enumeration value="Disattivo"/>
            <xs:enumeration value="In attesa"/>
            <xs:enumeration value="Cancellato"/>
            <xs:enumeration value="Free"/>
            <xs:enumeration value="Pre-moroso"/>
            <xs:enumeration value="Test"/>
            <xs:enumeration value="Non valido"/>
            <xs:enumeration value="Duplicato"/>
            <xs:enumeration value="Cessato"/>
            <xs:enumeration value="Nuovo"/>
            <xs:enumeration value="Moroso"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="postal-code">
        <xs:restriction base="xs:string">
            <xs:maxLength value="5"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="custom-fields">
        <xs:sequence>
            <xs:element name="custom-field" type="custom-field" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="custom-field">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="name" type="xs:string" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="building-usages">
        <xs:sequence>
            <xs:element name="building-usage" type="building-usage" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="building-usage">
        <xs:annotation>
            <xs:documentation xml:lang="it">Se il valore &quot;type&quot; è &quot;other&quot; si può fornire una descrizione</xs:documentation>
            <xs:documentation xml:lang="en">If &quot;type&quot; is &quot;other&quot; you can provide a description</xs:documentation>
            <xs:documentation xml:lang="es">Si &quot;Type&quot; es &quot;other&quot;, puede proporcionar una descripción</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="usage" type="building-usage-type" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="building-usage-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="residential"/>
            <xs:enumeration value="office"/>
            <xs:enumeration value="commercial"/>
            <xs:enumeration value="hotel"/>
            <xs:enumeration value="industrial"/>
            <xs:enumeration value="castle"/>
            <xs:enumeration value="warehouse"/>
            <xs:enumeration value="services"/>
            <xs:enumeration value="single-unit"/>
            <xs:enumeration value="multiple-units"/>
            <xs:enumeration value="other"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="garage-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="detached-garage"/>
            <xs:enumeration value="box-in-garage-complex"/>
            <xs:enumeration value="parking-space-indoor"/>
            <xs:enumeration value="parking-space-outdoor"/>
            <xs:enumeration value="carport"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="slope">
        <xs:restriction base="xs:string">
            <xs:enumeration value="light"/>
            <xs:enumeration value="medium"/>
            <xs:enumeration value="strong"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="access-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="not-present"/>
            <xs:enumeration value="on-dirt-road"/>
            <xs:enumeration value="on-paved-road"/>
            <xs:enumeration value="on-highway"/>
        </xs:restriction>
    </xs:simpleType>



    <xs:complexType name="workspaces">
        <xs:sequence>
            <xs:element name="workspace" type="workspace" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="portion">
        <xs:sequence>
            <xs:element name="pictures" type="pictures" minOccurs="0"/>
            <xs:element ref="descriptions" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="reference" type="xs:string"/>
    </xs:complexType>

    <xs:complexType name="workspace">
            <xs:complexContent>
                <xs:extension base="portion">
                    <xs:sequence>
                        <xs:element name="capacity-from" type="xs:int" minOccurs="0" />
                        <xs:element name="capacity-to" type="xs:int" minOccurs="0" />
                        <xs:element name="rent-from" type="priceDecimalType"/>
                        <xs:element name="rent-to" type="priceDecimalType"/>
                    </xs:sequence>
                    <xs:attribute name="type" type="workspace-type" use="required"/>
                    <xs:attribute name="amount" type="xs:int"/>
                </xs:extension>
            </xs:complexContent>
    </xs:complexType>

    <xs:simpleType name="workspace-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="private-office"/>
            <xs:enumeration value="meeting-room"/>
            <xs:enumeration value="hot-desk">
                <xs:annotation>
                    <xs:documentation xml:lang="en">shared desks</xs:documentation>
                    <xs:documentation xml:lang="it">Scrivania condivisa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dedicated-desk">
                <xs:annotation>
                    <xs:documentation xml:lang="en">private desk in shared office / open sapce</xs:documentation>
                    <xs:documentation xml:lang="it">Una scrivania riservata in un ufficio condiviso / open space</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="opening-times">
        <xs:sequence>
            <xs:element name="opening-time" type="opening-time" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="opening-time">
        <xs:all>
            <xs:element name="opening" type="xs:time" minOccurs="0"/>
            <xs:element name="closing" type="xs:time" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="week-day" type="week-day" use="required"/>
        <xs:attribute name="closed" type="xs:boolean"/>
    </xs:complexType>

    <xs:simpleType name="week-day">
        <xs:restriction base="xs:string">
            <xs:enumeration value="monday"/>
            <xs:enumeration value="tuesday"/>
            <xs:enumeration value="wednesday"/>
            <xs:enumeration value="thursday"/>
            <xs:enumeration value="friday"/>
            <xs:enumeration value="saturday"/>
            <xs:enumeration value="sunday"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="extra-services">
        <xs:sequence>
            <xs:element name="extra-service" type="extra-service" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="extra-service">
        <xs:attribute name="name" type="xs:string" use="required" />
        <xs:attribute name="value" type="xs:int" />
    </xs:complexType>

    <xs:complexType name="orientations">
        <xs:sequence>
            <xs:element name="orientation" maxOccurs="unbounded">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="north" />
                        <xs:enumeration value="south" />
                        <xs:enumeration value="east" />
                        <xs:enumeration value="west" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="business">
        <xs:all>
            <xs:element name="type" type="xs:int">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Type of business listed. See specific documentation for possible values.</xs:documentation>
                    <xs:documentation xml:lang="it">Tipo di attività commerciale. Guardare la specifica documentazione per i possibili valori.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="last-year-turnover" type="priceDecimalType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Fatturato dell'ultimo anno</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="open-for-years" type="xs:int" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="it">Aperto da anni</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:all>
    </xs:complexType>

    <xs:simpleType name="equipment">
        <xs:restriction base="xs:string">
            <xs:enumeration value="included"/>
            <xs:enumeration value="partially-included"/>
            <xs:enumeration value="not-included"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="location">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="locationStructure"/>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="reference-code">
        <xs:restriction base="xs:string">
            <xs:maxLength value="255" />
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="userdata">
        <xs:complexType>
            <xs:all>
                <xs:element name="uuid" type="uuidType" />
                <xs:element name="email" type="xs:string"/>
                <xs:element name="name" type="xs:string"/>
                <xs:element name="last-name" type="xs:string"/>
                <xs:element name="location" type="locationStructure" minOccurs="0" />
                <xs:element name="phone" type="xs:string" />
                <xs:element name="newsletter" type="xs:boolean"/>
                <xs:element name="promo-emails" type="xs:boolean" />
                <xs:element name="last-login" type="xs:dateTime" minOccurs="0"/>
                <xs:element name="saved-listings" type="saved-listings" minOccurs="0" />
                <xs:element name="alerts" type="alerts" minOccurs="0"  />
            </xs:all>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="saved-listings">
        <xs:sequence>
            <xs:element name="saved-listing-uuid" type="uuidType" maxOccurs="unbounded" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="alerts">
        <xs:sequence>
            <xs:element ref="alert" maxOccurs="unbounded" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>

    <xs:element name="alert">
        <xs:complexType>
            <xs:all>
                <xs:element name="name" type="xs:string" minOccurs="0" />
                <xs:element name="date" type="xs:dateTime" minOccurs="0" />
                <xs:element name="transaction" type="sellOrRent" minOccurs="1" />
                <xs:element name="min-surface" type="xs:int" minOccurs="0" />
                <xs:element name="min-rooms" type="xs:int" minOccurs="0" />
                <xs:element name="max-rooms" type="xs:int" minOccurs="0" />
                <xs:element name="min-price" type="xs:int" minOccurs="0" />
                <xs:element name="max-price" type="xs:int" minOccurs="0" />
                <xs:element name="min-bathrooms" type="xs:int" minOccurs="0" />
                <xs:element name="terrace" type="xs:boolean" minOccurs="0" />
                <xs:element name="balcony" type="xs:boolean" minOccurs="0" />
                <xs:element name="elevator" type="xs:boolean" minOccurs="0" />
                <xs:element name="garden" type="xs:boolean" minOccurs="0" />
                <xs:element name="location" type="locationStructure" minOccurs="0" />
                <xs:element name="districts" type="xs:string" minOccurs="0" />
                <xs:element name="polygon" type="alert-polygon" minOccurs="0" />
                <xs:element name="typologies" type="typologies-type" minOccurs="0" />
                <xs:element name="multizones" type="multizones" minOccurs="0" />
            </xs:all>
            <xs:attribute name="username" type="xs:string" />
            <xs:attribute name="user-uuid" type="xs:string" />
            <xs:attribute name="user-language" type="user-language" />
            <xs:attribute name="sending-frequency" type="alert-frequency-type" use="required" />
            <xs:attribute name="sending-mode" type="alert-mode-type" use="required" />
            <xs:attribute name="active" type="xs:boolean" use="required" />
        </xs:complexType>
    </xs:element>

    <xs:complexType name="alert-polygon">
        <xs:sequence>
            <xs:element name="coordinates" type="coordinates" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="mode" type="alert-polygon-type" use="required" />
        <xs:attribute name="radius" type="xs:int" />
    </xs:complexType>

    <xs:complexType name="typologies-type">
        <xs:sequence>
            <xs:element name="typology" type="id-uuid-string" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="multizones">
        <xs:sequence>
            <xs:element name="macrozone" type="id-uuid-string" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="microzone" type="id-uuid-string" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="alert-polygon-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="polygon" />
            <xs:enumeration value="circle" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="coordinates">
        <xs:sequence>
            <xs:element name="latitude" type="latitude" />
            <xs:element name="longitude" type="longitude" />
        </xs:sequence>
    </xs:complexType>

    <xs:element name="bookmark">
        <xs:complexType>
            <xs:all>
                <xs:element name="user-uuid" type="xs:string" minOccurs="0" />
                <xs:element name="username" type="xs:string" minOccurs="0" />
                <xs:element name="listing-uuid" type="xs:string" minOccurs="0" />
                <xs:element name="listing-external-id" type="xs:string" minOccurs="0" />
                <xs:element name="listing-id" type="xs:int" minOccurs="0" />
            </xs:all>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="alert-frequency-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="daily" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="alert-mode-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="email" />
            <xs:enumeration value="phone" />
            <xs:enumeration value="all" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="user-language">
        <xs:restriction base="xs:string">
            <xs:enumeration value="de-DE" />
            <xs:enumeration value="el-GR" />
            <xs:enumeration value="en-GB" />
            <xs:enumeration value="es-ES" />
            <xs:enumeration value="fr-FR" />
            <xs:enumeration value="it-IT" />
            <xs:enumeration value="pt-PT" />
            <xs:enumeration value="ru-RU" />
            <xs:enumeration value="hr-HR" />
            <xs:enumeration value="sl-SI" />
            <xs:enumeration value="sr-RS" />
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="agency-banner">
        <xs:complexType>
            <xs:all>
                <xs:element name="banner-id" type="xs:long" minOccurs="0"/>
                <xs:element name="agency-id" type="xs:long" minOccurs="0"/>
                <xs:element name="agency-username" type="xs:string" minOccurs="0"/>
                <xs:element name="agency-uuid" type="xs:string" minOccurs="0"/>
                <xs:element name="agency-external-id" type="xs:string" minOccurs="0"/>
                <xs:element name="localities" type="localities"/>
                <xs:element name="visibility" type="agency-visibility"/>
                <xs:element name="start-date" type="xs:dateTime" minOccurs="0"/>
                <xs:element name="end-date" type="xs:dateTime" minOccurs="0"/>
                <xs:element name="image-url" type="xs:string" minOccurs="0"/>
            </xs:all>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="localities">
        <xs:sequence>
            <xs:element name="locality" type="locality-element" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="locality-element">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="locality-type" use="required"/>
                <xs:attribute name="id" type="xs:string"/>
                <xs:attribute name="uuid" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="locality-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="province"/>
            <xs:enumeration value="city"/>
            <xs:enumeration value="macrozone"/>
            <xs:enumeration value="microzone"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="agency-visibility">
        <xs:restriction base="xs:string">
            <xs:enumeration value="evaluation-expert"/>
            <xs:enumeration value="zone-expert"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="value-or-ratio">
        <xs:choice>
            <xs:element name="value" type="additionalCostsType" />
            <xs:element name="ratio">
                <xs:simpleType>
                    <xs:restriction base="xs:decimal">
                        <xs:minInclusive value="0" />
                        <xs:maxInclusive value="100" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:choice>
    </xs:complexType>

    <xs:simpleType name="thermal-insulation-type">
        <xs:restriction base="xs:string">
            <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:enumeration value="H"/>
            <xs:enumeration value="I"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="commission-paid-by-type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="buyer"/>
            <xs:enumeration value="seller"/>
            <xs:enumeration value="buyer/seller"/>
            <xs:enumeration value="tenant"/>
            <xs:enumeration value="lessee"/>
            <xs:enumeration value="tenant/lessee"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="net-energy-unit">
        <xs:simpleContent>
            <xs:extension base="xs:decimal">
                <xs:attribute name="unit" type="xs:string" fixed="kWh/m²an"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

</xs:schema>