<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:include schemaLocation="simpleTypes.xsd"/>
    <xs:complexType name="ExciseGoodType">
        <xs:sequence>
            <xs:element name="SequenceNumber" type="SequenceNumberType"/>
            <xs:element name="BrandName" type="BrandNameType"/>
            <xs:element name="Trademark" type="TrademarkType" minOccurs="0" maxOccurs="1" />
            <xs:element name="APCode" type="APCodeType"/>
            <xs:element name="CNCode" type="CNCodeType"/>
            <xs:element name="Measure" type="MeasureType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ExciseGoodADType">
        <xs:complexContent>
            <xs:extension base="ExciseGoodType">
                <xs:sequence>
                    <xs:element name="AdditionalCode" type="AdditionalCodeType" minOccurs="0" maxOccurs="1"/>
                    <xs:element name="QuantityOfGoods" type="QuantityOfGoodsType" minOccurs="0" maxOccurs="1"/>
                    <xs:element name="IntendedUseOfProduct" type="IntendedUseOfProductType" minOccurs="0" maxOccurs="1"/>
                    <xs:element name="Purpose" type="PurposeType" minOccurs="0" maxOccurs="1"/>
                    <xs:element name="DutyAmount" type="DutyAmountType" minOccurs="0" maxOccurs="1"/>
                    <xs:element name="Payment" type="PaymentType" minOccurs="0" maxOccurs="1"/>
                    <xs:element name="PaidDuty" type="PaidDutyType" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>  
    <xs:element name="Customer">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="LegalEntity" type="LegalEntityType"/>
                <xs:element name="SIC" type="SICType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="ExciseNumber" type="ExciseNumberType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="NotificationNumber" type="NotificationNumberType" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="Declarer">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Name" type="NameType"/>
                <xs:element name="Egn" type="EgnType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="ReportingPeriod">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ReceivingDate" type="DateType" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="TaxPeriod" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="TaxPeriod">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Start" type="DateType"/>
                <xs:element name="End" type="DateType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="AppliedDocuments">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="AppliedDocument" maxOccurs="999"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="AppliedDocument">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="DocumentType" type="DocumentTypeType"/>
                <xs:element name="PurposeOfeAD" type="PurposeOfeADType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="1"/>
                <xs:element name="DocumentNumber" type="DocumentNumberForGoodsType"/>
                <xs:element name="DocumentDate" type="DateType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="Inventories">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Inventory" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="Inventory">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SequenceNumber" type="SequenceNumberType" minOccurs="0" maxOccurs="1" />
				<xs:element name="BrandName" type="BrandNameType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TradeName" type="TradeNameType" minOccurs="0" maxOccurs="1" />
				<xs:element name="CNCode" type="CNCodeType" minOccurs="0" maxOccurs="1" />
				<xs:element name="AdditionalCode" type="AdditionalCodeType" minOccurs="0" maxOccurs="1" />
				<xs:element name="APCode" type="APCodeType" minOccurs="0" maxOccurs="1" />
				<xs:element name="MeasureUnit" type="MeasureType" minOccurs="0" maxOccurs="1" />
				<xs:element ref="StoredGoodsInventories" minOccurs="0" maxOccurs="1" />
				<xs:element ref="RemovedGoodsInventories" minOccurs="0" maxOccurs="1" />
				<xs:element ref="InitialGoodsQuantities" minOccurs="0" maxOccurs="1" />
				<xs:element ref="TotalGoodsQuantities" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="StoredGoodsInventories">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="StoredGoodsInventory" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="RemovedGoodsInventories">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="RemovedGoodsInventory" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="InitialGoodsQuantities">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="InitialGoodsQuantity" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="TotalGoodsQuantities">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TotalGoodsQuantity" minOccurs="1" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>


	<xs:element name="StoredGoodsInventory">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SequenceNumber" type="SequenceNumberType" />
				<xs:element name="Date" type="DateType" minOccurs="0" maxOccurs="1" />
				<xs:element name="MeasureUnit" type="MeasureType" minOccurs="0" maxOccurs="1" />
				<xs:element name="StorageContainer" type="UpToFourCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="PlaceOfStorage" type="UpToThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="Amount" type="InitialAmountType" minOccurs="0" maxOccurs="1" />
				<xs:element name="ExciseDocIdAndDate" type="DocumentNumberForGoodsType" minOccurs="0" maxOccurs="1" />
				<xs:element name="EstablishedAmount" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
				<xs:element name="ExpectedAmount" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="RemovedGoodsInventory">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SequenceNumber" type="SequenceNumberType" />
				<xs:element name="Date" type="DateType" minOccurs="0" maxOccurs="1" />
				<xs:element name="Amount" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
				<xs:element name="MeasureUnit" type="MeasureType" minOccurs="0" maxOccurs="1" />
				<xs:element name="ExciseDocIdAndDate" type="DocumentNumberForGoodsType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TransportType" type="UpToThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TransportContainer" type="UpToThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TransportDuration" type="ThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TransportPeriod" type="ThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="InitialGoodsQuantity">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SequenceNumber" type="SequenceNumberType" />
				<xs:element name="StorageContainer" type="UpToFourCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="PlaceOfStorage" type="UpToThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="InitialAmount" type="InitialAmountType" minOccurs="0" maxOccurs="1" />
				<xs:element name="EstablishedAmount" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
				<xs:element name="StorageWastage" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
				<xs:element name="LossesAfterWastage" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="TotalGoodsQuantity">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="SequenceNumber" type="SequenceNumberType" />
				<xs:element name="TransportContainer" type="UpToThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TransportType" type="UpToThreeCharsFormatType" minOccurs="0" maxOccurs="1" />
				<xs:element name="TransportWastage" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
				<xs:element name="LossesAfterWastage" type="FifteenDigitsDecimalType" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
