﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ApartmentHouses" nillable="true" type="ApartmentHouses" />
  <xs:complexType name="ApartmentHouses">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Buildings" type="ArrayOfBuilding" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfBuilding">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="Building" nillable="true" type="Building" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Building">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Address" type="Address" />
      <xs:element minOccurs="1" maxOccurs="1" name="BuildingManagementType" type="BuildingManagmentTypeEnum" />
      <xs:element minOccurs="0" maxOccurs="1" name="RepairOrganization" type="ArrayOfLegalEntity" />
      <xs:element minOccurs="0" maxOccurs="1" name="BuildingManagmentAgreement" type="BuildingManagmentAgreement" />
      <xs:element minOccurs="0" maxOccurs="1" name="RefuseChute" type="RefuseChute" />
      <xs:element minOccurs="0" maxOccurs="1" name="LiftInformation" type="ArrayOfLiftInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="ResourceInputs" type="ArrayOfResourceInput" />
      <xs:element minOccurs="1" maxOccurs="1" name="PlanningInformation" type="PlanningInformation" />
      <xs:element minOccurs="1" maxOccurs="1" name="PremiseInformations" type="ArrayOfPremiseInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="ColdWaterInformation" type="ColdWaterInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="HotWaterInformation" type="HotWaterInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="ElectricalSystemInformation" type="ElectricalSystemInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="GasSupplyInformation" type="GasSupplyInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="HeatSystemInformation" type="HeatSystemInformation" />
      <xs:element minOccurs="0" maxOccurs="1" name="SewerageInformation" type="SewerageInformation" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="District" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="City" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Street" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="House" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="BuildingManagmentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="YO" />
      <xs:enumeration value="NSY" />
      <xs:enumeration value="TSJ" />
      <xs:enumeration value="JSK" />
      <xs:enumeration value="NotSelected" />
      <xs:enumeration value="TSN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ArrayOfLegalEntity">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LegalEntity" nillable="true" type="LegalEntity" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LegalEntity">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="INN" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="FullName" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BuildingManagmentAgreement">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ManagmentOrganization" type="LegalEntity" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsСontest" type="xs:boolean" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProtocolNumder" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="ProtocolDate" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RefuseChute">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ConstructionType" type="RefuseChuteTypeEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RefuseChuteTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="StairCase" />
      <xs:enumeration value="SeparateRoom" />
      <xs:enumeration value="Apartment" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ArrayOfLiftInformation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LiftInformation" nillable="true" type="LiftInformation" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LiftInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ServiceStartYear" nillable="true" type="xs:short" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsPassenger" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="1" maxOccurs="1" name="PorchNumber" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfResourceInput">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResourceInput" nillable="true" type="ResourceInput" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ResourceInput">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Place" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="UtilityService" type="UtilityServiceEnum" />
      <xs:element minOccurs="0" maxOccurs="1" name="MeteringDevice" type="MeteringDevice" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UtilityServiceEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ColdWater" />
      <xs:enumeration value="HotWater" />
      <xs:enumeration value="Electric" />
      <xs:enumeration value="Gas" />
      <xs:enumeration value="ThermalEnergy" />
      <xs:enumeration value="GasInBallon" />
      <xs:enumeration value="SolidFuel" />
      <xs:enumeration value="Sewerage" />
      <xs:enumeration value="RemovalLiquidWaste" />
      <xs:enumeration value="RemovalSolidWaste" />
      <xs:enumeration value="Overhaul" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeteringDevice">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="DeviceNumber" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="InstallationDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="1" maxOccurs="1" name="StartUpDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="1" maxOccurs="1" name="InspectionDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="1" maxOccurs="1" name="Type" type="MeteringDeviceTypeEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MeteringDeviceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Standard" />
      <xs:enumeration value="TwoTariff" />
      <xs:enumeration value="Automatic" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PlanningInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="BuildYear" type="xs:short" />
      <xs:element minOccurs="1" maxOccurs="1" name="PorchCount" type="xs:unsignedByte" />
      <xs:element minOccurs="1" maxOccurs="1" name="FloorCount" type="xs:unsignedByte" />
      <xs:element minOccurs="1" maxOccurs="1" name="TotalArea" type="xs:decimal" />
      <xs:element minOccurs="1" maxOccurs="1" name="TotalHabitableArea" type="xs:decimal" />
      <xs:element minOccurs="1" maxOccurs="1" name="ResidentCount" type="xs:short" />
      <xs:element minOccurs="1" maxOccurs="1" name="WallType" type="WallTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="DeteriorationTotalRate" type="xs:float" />
      <xs:element minOccurs="0" maxOccurs="1" name="RamshackleDocumentId" type="Document" />
      <xs:element minOccurs="0" maxOccurs="1" name="DemolishedDocument" type="Document" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="WallTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Panel" />
      <xs:enumeration value="Brick" />
      <xs:enumeration value="Monolithic" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="Stone" />
      <xs:enumeration value="Block" />
      <xs:enumeration value="Hybrid" />
      <xs:enumeration value="Wooden" />
      <xs:enumeration value="Concreet" />
      <xs:enumeration value="газобетон" />
      <xs:enumeration value="гипсолитовые" />
      <xs:enumeration value="карамзитобетон" />
      <xs:enumeration value="паромакс" />
      <xs:enumeration value="пенобетон" />
      <xs:enumeration value="пеноблоки" />
      <xs:enumeration value="пенополистирол" />
      <xs:enumeration value="стекломагнезитовые_плиты" />
      <xs:enumeration value="шлакоблок" />
      <xs:enumeration value="саманные" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Document">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Number" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfPremiseInformation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PremiseInformation" nillable="true" type="PremiseInformation" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PremiseInformation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Number" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="UsingPurpose" type="UsingPurposeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="Type" type="PremiseTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="RegistredPersonCount" type="xs:int" />
      <xs:element minOccurs="1" maxOccurs="1" name="TotalArea" type="xs:decimal" />
      <xs:element minOccurs="1" maxOccurs="1" name="HasShower" type="xs:boolean" />
      <xs:element minOccurs="1" maxOccurs="1" name="HasElectricFloorPlates" type="xs:boolean" />
      <xs:element minOccurs="0" maxOccurs="1" name="PremiseOwners" type="ArrayOfPremiseOwner" />
      <xs:element minOccurs="0" maxOccurs="1" name="Childs" type="ArrayOfPremiseInformation" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UsingPurposeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Social" />
      <xs:enumeration value="Specialized" />
      <xs:enumeration value="Individual" />
      <xs:enumeration value="Commercial" />
      <xs:enumeration value="Maneuverable" />
      <xs:enumeration value="Nonresidential" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PremiseTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Habitable" />
      <xs:enumeration value="Uninhabited" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ArrayOfPremiseOwner">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PremiseOwner" nillable="true" type="PremiseOwner" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PremiseOwner">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="LegalEntity" type="LegalEntityOwner" />
      <xs:element minOccurs="0" maxOccurs="1" name="PhysicalPerson" type="PhysicalPersonOwner" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LegalEntityOwner">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="FullName" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="INN" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PhysicalPersonOwner">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Surname" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Patronymic" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ColdWaterInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ColdWaterType" type="ColdWaterTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsExistODPU" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ColdWaterTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Central" />
      <xs:enumeration value="Individual" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="HotWaterInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="HotWaterType" type="HotWaterTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsExistODPU" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="HotWaterTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Central" />
      <xs:enumeration value="AutonomousBoiler" />
      <xs:enumeration value="Flat" />
      <xs:enumeration value="IndividualHeater" />
      <xs:enumeration value="WoodColumn" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ElectricalSystemInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ElectricalSystemType" type="ElectricalSystemTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsExistODPU" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ElectricalSystemTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Central" />
      <xs:enumeration value="Individual" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GasSupplyInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ElectricalSystemType" type="ElectricalSystemTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsExistODPU" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HeatSystemInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="HeatSystemType" type="HeatSystemTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsExistODPU" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="HeatSystemTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Central" />
      <xs:enumeration value="AutonomousBoiler" />
      <xs:enumeration value="Flat" />
      <xs:enumeration value="Stove" />
      <xs:enumeration value="Electrical" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SewerageInformation">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="SewerageType" type="SewerageTypeEnum" />
      <xs:element minOccurs="1" maxOccurs="1" name="IsExistODPU" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SewerageTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Central" />
      <xs:enumeration value="Individual" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>