<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
  <xs:include schemaLocation="simpleTypes.xsd"/>
  <xs:element name="WarehouseStockLog">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="WarehouseGoods" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="ExciseLabels" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="WarehouseGoods">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="WarehouseGood" maxOccurs="unbounded" minOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="WarehouseGood">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="BrandName" type="BrandNameType" />
        <xs:element name="TradeName" type="TradeNameType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="CNCode" type="CNCodeType" />
        <xs:element name="AdditionalCode" type="AdditionalCodeType" />
        <xs:element name="APCode" type="APCodeType" />
        <xs:element name="Degree" type="DegreeType" minOccurs="0" maxOccurs="1" />
        <xs:element name="PricePerPack" type="PricePerPackType" minOccurs="0" maxOccurs="1" />
        <xs:element name="Pieces" type="PiecesType" minOccurs="0" maxOccurs="1" />
        <xs:element name="CigarLength" type="CigarLengthType" minOccurs="0" maxOccurs="1" />
        <xs:element name="Measure" type="MeasureType" />
        <xs:element name="InitialAmount" type="InitialAmountType" />
        <xs:element name="FinalAmount" type="FinalAmountType" />
        <xs:element name="IntroducedAmount" type="FifteenDigitsDecimalType" />
        <xs:element name="RemovedAmount" type="FifteenDigitsDecimalType" />
        <xs:element name="TransportationLosses" type="TransportationLossesType" />
        <xs:element name="StorageLosses" type="StorageLossesType" />
        <xs:element ref="StoredGoods" minOccurs="0" maxOccurs="1" />
        <xs:element ref="RemovedGoods" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="StoredGoods">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="StoredGood" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="StoredGood">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="DeclaredGoodsQuantity" type="DeclaredGoodsQuantityType" />
        <xs:element name="ActualStoredGoods" type="ActualStoredGoodsType" />
        <xs:element name="NumberOfPackages" type="NumberOfPackagesType" minOccurs="0" maxOccurs="1" />
        <xs:element name="DocumentType" type="DocumentTypeType" />
        <xs:element name="DocumentNumber" type="DocumentNumberForGoodsType" />
        <xs:element name="DocumentDate" type="DateType" />
        <xs:element name="ControlPoint" type="ControlPointType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="TransactionNumber" type="TransactionNumberType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="RealDateIn" type="DateType" />
        <xs:element name="GoodsEntryMethod" type="GoodsEntryMethodType" />
        <xs:element name="GoodProperty" type="GoodPropertyType" />
        <xs:element name="OwnerShip" type="OwnershipType" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="RemovedGoods">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="RemovedGood" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="RemovedGood">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="QuantityToRemove" type="QuantityToRemoveType" />
        <xs:element name="NumberOfPackages" type="NumberOfPackagesType" minOccurs="0" maxOccurs="1" />
        <xs:element name="DocumentType" type="DocumentTypeType" />
        <xs:element name="DocumentNumber" type="DocumentNumberForGoodsType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="DocumentDate" type="DateType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ControlPoint" type="ControlPointType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="TransactionNumber" type="TransactionNumberType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="DocumentNumberForReducedRate" type="DocumentNumberForGoodsType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="ProductPurpose" type="ProductPurposeType" />
        <xs:element name="GoodProperty" type="GoodPropertyType" />
        <xs:element name="OwnerShip" type="OwnershipType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="DocumentReturnDate" type="DateType" maxOccurs="1" minOccurs="0"/>
        <xs:element name="Difference" type="DifferenceType" minOccurs="0" maxOccurs="1" />
        <xs:element name="ADDNoForDifference" type="ADDNoType" minOccurs="0" maxOccurs="1" />
        <xs:element name="ADDDateForDifference" type="DateType" minOccurs="0" maxOccurs="1" />
        <xs:element name="PaidAkcizDocument" type="UpToThirtyCharsFormatType" minOccurs="0" maxOccurs="1" />
        <xs:element name="PaidAkcizDocDate" type="DateType" minOccurs="0" maxOccurs="1" />
        <xs:element name="PaidAkcizQuantity" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="ExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="ExciseLabel" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="LabelType" type="LabelTypeType" />
        <xs:element name="Capacity" type="CapacityType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="AlcoholicStrength" type="AlcoholicStrengthType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="SellPrice" type="SellPriceType" minOccurs="0" maxOccurs="1"/>
        <xs:element name="AvailableLabels" type="AvailableLabelsType" />
        <xs:element name="RemainingLabels" type="RemainingLabelsType" />
        <xs:element ref="ReceivedExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="UsedExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="SentToProducerExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="ReturnedUnusedExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="ReturnedScrappedExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="DestroyedExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="LackOfExciseLabels" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="UnReturnedExciseLabels" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ReceivedExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="ReceivedExciseLabel" minOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ReceivedExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="DocumentNumber" type="DocumentNumberForLabelsType" />
        <xs:element name="DocumentDate" type="DateType" />
        <xs:element name="NewlyReceivedLables" type="NewlyReceivedLablesType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />

      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="UsedExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="UsedExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="UsedExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="UsedAmount" type="UsedAmountLabelsType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="SentToProducerExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="SentToProducerExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="SentToProducerExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="SentToProducerAmount" type="ReturnedAmountType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ReturnedUnusedExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="ReturnedUnusedExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ReturnedUnusedExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="ReturnedUnusedAmount" type="ReturnedAmountType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ReturnedScrappedExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="ReturnedScrappedExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ReturnedScrappedExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="ReturnedScrappedAmount" type="ReturnedAmountType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>



  <xs:element name="DestroyedExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="DestroyedExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="DestroyedExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="DestroyedAmount" type="ReturnedAmountType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LackOfExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="LackOfExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LackOfExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="LackOfAmount" type="ReturnedAmountType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="UnReturnedExciseLabels">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1000000" ref="UnReturnedExciseLabel"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="UnReturnedExciseLabel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="SequenceNumberType" />
        <xs:element name="UnReturnedAmount" type="ReturnedAmountType" />
        <xs:element name="LabelEmission" type="LabelEmissionType" />
        <xs:element name="LabelSeria" type="LabelSeriaType" />
        <xs:element name="LabelStartNumber" type="LabelStartNumberType" />
        <xs:element name="LabelEndNumber" type="LabelEndNumberType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
</xs:schema>