<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="unitaimmobiliari" type="xmlRootElementUIDto"/>

  <xs:complexType name="xmlRootElementUIDto">
    <xs:sequence>
      <xs:element name="unitaimmobiliare" type="unitaImmobiliare" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="unitaImmobiliare">
    <xs:sequence>
      <xs:element name="acquirente" type="xs:string" minOccurs="0"/>
      <xs:element name="altraFinalita" type="xs:string" minOccurs="0"/>
      <xs:element name="codiceUnitaImmobiliare" type="xs:string" minOccurs="0"/>
      <xs:element name="dataInserimento" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="dataModifica" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="dataacquisizione" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="denominazione" type="xs:string" minOccurs="0"/>
      <xs:element name="edSovvenzionata" type="xs:boolean" minOccurs="0"/>
      <xs:element name="codiceentegestore" type="ente" minOccurs="0"/>
      <xs:element name="codiceenteproprietario" type="ente" minOccurs="0"/>
      <xs:element name="enteGestoreAltro" type="ente" minOccurs="0"/>
      <xs:element name="estremiAcquisizione" type="xs:string" minOccurs="0"/>
      <xs:element name="interventoManutentivo" type="interventoManutentivo" minOccurs="0"/>
      <xs:element name="legge" type="legge" minOccurs="0"/>
      <xs:element name="localizzazione" type="localizzazione" minOccurs="0"/>
      <xs:element name="note" type="xs:string" minOccurs="0"/>
      <xs:element name="occupazione" type="xs:string" minOccurs="0"/>
      <xs:element name="parentUis" type="unitaImmobiliare" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="statoAccatastamento" type="xs:string" minOccurs="0"/>
      <xs:element name="vocAcquisizione" type="vocAcquisizione" minOccurs="0"/>
      <xs:element name="vocFinalitaUI" type="vocFinalitaUI" minOccurs="0"/>
      <xs:element name="vocStatoConservazione" type="vocStatoConservazione" minOccurs="0"/>
      <xs:element name="vocTipoimmobile" type="vocTipoImmobile" minOccurs="0"/>
      <xs:element name="vocTipologiaUI" type="vocTipologiaUI" minOccurs="0"/>
      <xs:element name="vocTitoloUtilizzoUI" type="vocTitoloUtilizzoUI" minOccurs="0"/>
      <xs:element name="vocUtilizzoUI" type="vocUtilizzoUI" minOccurs="0"/>
      <xs:element name="uICaratteristiche" type="uiCaratteristiche" minOccurs="0"/>
      <xs:element name="uIDatiCatastali" type="uiDatiCatastali" minOccurs="0"/>
      <xs:element name="uIDatiFabbricato" type="uiDatiFabbricato" minOccurs="0"/>
      <xs:element name="uIStato" type="uiStato" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ente">
    <xs:sequence>
      <xs:element name="codCatastale" type="xs:string" minOccurs="0"/>
      <xs:element name="codiceEnte" type="xs:string"/>
      <xs:element name="codiceFiscale" type="xs:string" minOccurs="0"/>
      <xs:element name="dataInserimento" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="denominazione" type="xs:string" minOccurs="0"/>
      <xs:element name="email" type="xs:string" minOccurs="0"/>
      <xs:element name="fax" type="xs:string" minOccurs="0"/>
      <xs:element name="isEdit" type="xs:boolean" minOccurs="0"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="pecEmail" type="xs:string" minOccurs="0"/>
      <xs:element name="telefono" type="xs:string" minOccurs="0"/>
      <xs:element name="vocTipologiaEnte" type="vocTipologiaEnte" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocTipologiaEnte">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="tipologiaEnteId" type="xs:long" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="interventoManutentivo">
    <xs:sequence>
      <xs:element name="adeguamentoEnergeticoRecuperoSecondario" type="xs:boolean" minOccurs="0"/>
      <xs:element name="adeguamentoFunzionaleRecuperoSecondario" type="xs:boolean" minOccurs="0"/>
      <xs:element name="adeguamentoImpiantisticoRecuperoPrimario" type="xs:boolean" minOccurs="0"/>
      <xs:element name="adeguamentoImpiantisticoRecuperoSecondario" type="xs:boolean" minOccurs="0"/>
      <xs:element name="adeguamentoSismicoRecuperoPrimario" type="xs:boolean" minOccurs="0"/>
      <xs:element name="adeguamentoStaticoRecuperoPrimario" type="xs:boolean" minOccurs="0"/>
      <xs:element name="importoTotaleLavori" type="xs:decimal" minOccurs="0"/>
      <xs:element name="interventoManutentivoId" type="xs:int" minOccurs="0"/>
      <xs:element name="manutenzioneStraordinaria" type="xs:boolean" minOccurs="0"/>
      <xs:element name="nessuno" type="xs:boolean" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="legge">
    <xs:sequence>
      <xs:element name="ambito" type="xs:string" minOccurs="0"/>
      <xs:element name="anno" type="xs:int" minOccurs="0"/>
      <xs:element name="data" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="ediliziaErp" type="xs:string" minOccurs="0"/>
      <xs:element name="leggeId" type="xs:long" minOccurs="0"/>
      <xs:element name="numero" type="xs:int" minOccurs="0"/>
      <xs:element name="vocTipoLegge" type="vocTipoLegge" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="uiStato">
    <xs:sequence>
      <xs:element name="codiceEnteTrasferimento" type="xs:string" minOccurs="0"/>
      <xs:element name="codiceFiscale" type="xs:string" minOccurs="0"/>
      <xs:element name="cognome" type="xs:string" minOccurs="0"/>
      <xs:element name="data" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="dataDiNascita" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="ente" type="ente" minOccurs="0"/>
      <xs:element name="estremi" type="xs:string" minOccurs="0"/>
      <xs:element name="importoAcconto" type="xs:decimal" minOccurs="0"/>
      <xs:element name="leggeVendita" type="legge" minOccurs="0"/>
      <xs:element name="luogoDiNascita" type="xs:string" minOccurs="0"/>
      <xs:element name="nome" type="xs:string" minOccurs="0"/>
      <xs:element name="prezzoDiVendita" type="xs:decimal" minOccurs="0"/>
      <xs:element name="statoId" type="xs:long" minOccurs="0"/>
      <xs:element name="tipoPagamento" type="xs:string" minOccurs="0"/>
      <xs:element name="unitaImmobiliare" type="unitaImmobiliare" minOccurs="0"/>
      <xs:element name="unitaimmobiliare" type="unitaImmobiliare" minOccurs="0"/>
      <xs:element name="valoriAmmortizzati" type="valoreAmmortizzato" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="vocStatoUI" type="vocStatoUI" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="valoreAmmortizzato">
    <xs:sequence>
      <xs:element name="anno" type="xs:string" minOccurs="0"/>
      <xs:element name="importo" type="xs:decimal" minOccurs="0"/>
      <xs:element name="valoreAmmortizzatoId" type="xs:long" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocStatoUI">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="statoId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocTipoLegge">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="descrizioneBreve" type="xs:string" minOccurs="0"/>
      <xs:element name="tipoLeggeId" type="xs:long" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="localizzazione">
    <xs:sequence>
      <xs:element name="civico" type="xs:string" minOccurs="0"/>
      <xs:element name="enti" type="ente" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="georefAltitudineZ" type="xs:double" minOccurs="0"/>
      <xs:element name="georefLatitudineX" type="xs:double" minOccurs="0"/>
      <xs:element name="georefLongitudineY" type="xs:double" minOccurs="0"/>
      <xs:element name="indirizzo" type="xs:string" minOccurs="0"/>
      <xs:element name="interno" type="xs:string" minOccurs="0"/>
      <xs:element name="localita" type="xs:string" minOccurs="0"/>
      <xs:element name="localizzazioneId" type="xs:long" minOccurs="0"/>
      <xs:element name="piano" type="xs:string" minOccurs="0"/>
      <xs:element name="scalaEdificio" type="xs:string" minOccurs="0"/>
      <xs:element name="vocComune" type="vocComune" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocComune">
    <xs:sequence>
      <xs:element name="cap" type="xs:string" minOccurs="0"/>
      <xs:element name="codiceCatastale" type="xs:string" minOccurs="0"/>
      <xs:element name="codiceComuneIstat" type="xs:string" minOccurs="0"/>
      <xs:element name="comune" type="xs:string" minOccurs="0"/>
      <xs:element name="prefissoTelefonico" type="xs:string" minOccurs="0"/>
      <xs:element name="sitoWeb" type="xs:string" minOccurs="0"/>
      <xs:element name="vocProvincia" type="vocProvincia" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocProvincia">
    <xs:sequence>
      <xs:element name="provincia" type="xs:string" minOccurs="0"/>
      <xs:element name="provinciaCodiceIstat" type="xs:string" minOccurs="0"/>
      <xs:element name="vocRegione" type="vocRegione" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocRegione">
    <xs:sequence>
      <xs:element name="regione" type="xs:string" minOccurs="0"/>
      <xs:element name="regioneCodiceIstat" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocAcquisizione">
    <xs:sequence>
      <xs:element name="acquisizioneId" type="xs:int" minOccurs="0"/>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocFinalitaUI">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="finalitaId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocStatoConservazione">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="statoConservazioneId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocTipoImmobile">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="idtipoimmobile" type="xs:string" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocTipologiaUI">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="descrizioneBreve" type="xs:string" minOccurs="0"/>
      <xs:element name="tipologiaId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocTitoloUtilizzoUI">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="titoloutilizzoId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocUtilizzoUI">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="utilizzoId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="uiCaratteristiche">
    <xs:sequence>
      <xs:element name="annoCostruzione" type="xs:int" minOccurs="0"/>
      <xs:element name="annoStima" type="xs:int" minOccurs="0"/>
      <xs:element name="caratteristicheId" type="xs:long" minOccurs="0"/>
      <xs:element name="ipoteca" type="xs:boolean" minOccurs="0"/>
      <xs:element name="mcCubatura" type="xs:decimal" minOccurs="0"/>
      <xs:element name="mqSuperficie" type="xs:decimal" minOccurs="0"/>
      <xs:element name="mqSuperficiePertinenze" type="xs:decimal" minOccurs="0"/>
      <xs:element name="mqSuperficieUtile" type="xs:decimal" minOccurs="0"/>
      <xs:element name="valoreBilancio" type="xs:decimal" minOccurs="0"/>
      <xs:element name="valoreMercato" type="xs:decimal" minOccurs="0"/>
      <xs:element name="vocEpoca" type="vocEpoca" minOccurs="0"/>
      <xs:element name="vocVincolo" type="vocVincolo" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocEpoca">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="epocaId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocVincolo">
    <xs:sequence>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="vincoloId" type="xs:int" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="uiDatiCatastali">
    <xs:sequence>
      <xs:element name="classe" type="xs:string" minOccurs="0"/>
      <xs:element name="codiceComune" type="xs:string" minOccurs="0"/>
      <xs:element name="datiCatastaliId" type="xs:long" minOccurs="0"/>
      <xs:element name="foglio" type="xs:string" minOccurs="0"/>
      <xs:element name="particella" type="xs:string" minOccurs="0"/>
      <xs:element name="rendita" type="xs:decimal" minOccurs="0"/>
      <xs:element name="sezione" type="xs:string" minOccurs="0"/>
      <xs:element name="subalterno" type="xs:string" minOccurs="0"/>
      <xs:element name="vocCategorieCatastali" type="vocCategorieCatastali" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="vocCategorieCatastali">
    <xs:sequence>
      <xs:element name="categorieid" type="xs:long" minOccurs="0"/>
      <xs:element name="descrizione" type="xs:string" minOccurs="0"/>
      <xs:element name="descrizionebreve" type="xs:string" minOccurs="0"/>
      <xs:element name="xmlkey" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="uiDatiFabbricato">
    <xs:sequence>
      <xs:element name="condMisto" type="xs:boolean" minOccurs="0"/>
      <xs:element name="fabbricatoId" type="xs:long" minOccurs="0"/>
      <xs:element name="nrAlloggi" type="xs:int" minOccurs="0"/>
      <xs:element name="nrAlloggiPub" type="xs:int" minOccurs="0"/>
      <xs:element name="nrAltroAlloggi" type="xs:int" minOccurs="0"/>
      <xs:element name="nrAltroAlloggiPub" type="xs:int" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>