<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">

  <xs:annotation>
    <xs:documentation>
      Схема формы электронного договора на транспортирование отходов строительства
      и сноса, в том числе грунтов. Форма утверждена совместным распоряжением Департамента
      градостроительной политики города Москвы и Департамента информационных технологий города Москвы,
      принятым во исполнение Порядка обращения с отходами строительства и сноса в городе Москве, утвержденного постановлением
      Правительства Москвы от 26 августа 2020 г. № 1386-ПП.
    </xs:documentation>
  </xs:annotation>

  <xs:element name="Договор_транспортирования_ОССиГ">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Стороны" type="Стороны_тип"/>
        <xs:element name="Заказ" type="Заказ_тип"/>
        <xs:element name="Текст_договора" type="Текст_договора_тип"/>
        <xs:element name="Защитный_код" type="xs:string"/>
      </xs:sequence>
      <xs:attribute name="Номер" type="xs:string" use="required"/>
      <xs:attribute name="Дата" type="xs:date" use="required"/>
      <xs:attribute name="Номер_заявки" type="xs:string" use="required"/>
      <xs:attribute name="Версия_формата" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="Стороны_тип">
    <xs:sequence>
      <xs:element name="Отходообразователь" type="Отходообразователь_тип"/>
      <xs:element name="Отходоперевозчик" type="Отходоперевозчик_тип"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Отходообразователь_тип">
    <xs:sequence>
      <xs:element name="Наименование" type="xs:string"/>
      <xs:element name="ИНН" type="xs:string"/>
      <xs:element name="Расчетный_счет" type="xs:string"/>
      <xs:element name="Банк" type="Банк_тип"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Отходоперевозчик_тип">
    <xs:sequence>
      <xs:element name="Наименование" type="xs:string"/>
      <xs:element name="ИНН" type="xs:string"/>
      <xs:element name="Лицензия" type="Лицензия_тип" minOccurs="0"/>
      <xs:element name="Расчетный_счет" type="xs:string"/>
      <xs:element name="Банк" type="Банк_тип"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Банк_тип">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="БИК" type="xs:string" use="required"/>
        <xs:attribute name="Кор_счет" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="Лицензия_тип">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Дата_выдачи" type="xs:date" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="Заказ_тип">
    <xs:sequence>
      <xs:element name="Дата_транспортирования" type="xs:date"/>
      <xs:element name="Начало_окна" type="xs:string"/>
      <xs:element name="Окончание_окна" type="xs:string"/>
      <xs:element name="Продолжительность_погрузки_в_минутах" type="xs:positiveInteger"/>
      <xs:element name="Планируемое_количество_рейсов" type="xs:positiveInteger"/>
      <xs:element name="Объект_образования" type="Объект_образования_тип"/>
      <xs:element name="Отходы" type="Отходы_тип"/>
      <xs:element name="Объекты_приема" type="Объекты_приема_тип"/>
      <xs:element name="Стоимость_транспортирования" type="Стоимость_транспортирования_тип"/>
      <xs:element name="Требования_к_транспортным_средствам" type="xs:string" minOccurs="0"/>
      <xs:element name="Дополнительные_условия" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Объект_образования_тип">
    <xs:sequence>
      <xs:element name="Наименование" type="xs:string"/>
      <xs:element name="Адресный_ориентир" type="xs:string"/>
      <xs:element name="Координаты" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="Номер" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="Отходы_тип">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="ФККО" type="xs:string" use="required"/>
        <xs:attribute name="Планируемое_количество_тонн" type="xs:decimal" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="Объекты_приема_тип">
    <xs:sequence>
      <xs:element name="Основной_объект_приема" type="Объект_приема_тип"/>
      <xs:element name="Резервный_объект_приема" type="Объект_приема_тип"
                  minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Объект_приема_тип">
    <xs:sequence>
      <xs:element name="Наименование" type="xs:string"/>
      <xs:element name="Адресный_ориентир" type="xs:string"/>
      <xs:element name="Отходополучатель" type="Отходополучатель_тип"/>
      <xs:element name="Кадастровый_номер" type="xs:string"
                  minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Лицензия" type="Лицензия_тип"
                  minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="КИП" type="КИП_тип"
                  minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="График_работы" type="График_работы_тип"
                  minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Номер" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="Отходополучатель_тип">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="ИНН" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="КИП_тип">
    <xs:attribute name="Номер" type="xs:string" use="required"/>
    <xs:attribute name="Координаты" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="График_работы_тип">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Дни_недели" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="Стоимость_транспортирования_тип">
    <xs:sequence>
      <xs:element name="Цены_транспортирования_по_объектам_приема"
                  type="Цены_транспортирования_тип"/>
      <xs:element name="Для_иного_объекта_приема" type="Иной_объект_приема_тип"/>
      <xs:element name="Планируемая_стоимость_услуг_в_рублях" type="xs:decimal"/>
      <xs:element name="Расчет_итоговой_стоимости" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Цены_транспортирования_тип">
    <xs:sequence>
      <xs:element name="Цена_транспортирования_в_рублях_за_тонну"
                  type="Цена_транспортирования_тип"
                  minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Цена_транспортирования_тип">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Номер_объекта_приема" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="Иной_объект_приема_тип">
    <xs:sequence>
      <xs:element name="Общий_тариф_для_перерасчета_в_рублях_за_тонну" type="xs:decimal"/>
      <xs:element name="Правило_расчета" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Текст_договора_тип">
    <xs:sequence>
      <xs:element name="Наименование" type="xs:string"/>
      <xs:element name="Преамбула" type="Блок_абзацев_тип"/>
      <xs:element name="Раздел" type="Раздел_договора_тип"
                  minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Блок_абзацев_тип">
    <xs:sequence>
      <xs:element name="Абзац" type="xs:string"
                  minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Раздел_договора_тип">
    <xs:sequence>
      <xs:element name="Заголовок" type="xs:string"/>
      <xs:element name="Пункт" type="Пункт_договора_тип"
                  minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Номер" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="Пункт_договора_тип">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
      <xs:element name="Абзац" type="xs:string"/>
      <xs:element name="Пункт" type="Пункт_договора_тип"/>
      <xs:element name="Перечень" type="Перечень_тип"/>
    </xs:choice>
    <xs:attribute name="Номер" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="Перечень_тип">
    <xs:sequence>
      <xs:element name="Элемент_перечня" type="xs:string"
                  minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>
