<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.customs.bg/BgDictionary"
	targetNamespace="http://www.customs.bg/BgDictionary">

  <simpleType name="alpha">
    <restriction base="string">
      <pattern value='([а-яА-Яa-zA-Z ,."])*'/>
    </restriction>
  </simpleType>

  <simpleType name="alphaLatinNum">
    <restriction base="string">
      <pattern value='([0-9A-Z])*'/>
    </restriction>
  </simpleType>

  <simpleType name="numSequence">
    <restriction base="string">
      <pattern value="([0-9])*"/>
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric">
    <restriction base="string">
      <pattern value='([0-9а-яА-Яa-zA-Z ,."-/])*'/>
    </restriction>
  </simpleType>

  <simpleType name="alphaNumericOnlySlash">
    <restriction base="string">
      <pattern value='([0-9а-яА-Яa-zA-Z/])*'/>
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric10">
    <restriction base="tns:alphaNumeric">
      <maxLength value="10" />
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric13">
    <restriction base="tns:alphaNumeric">
      <maxLength value="13" />
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric20">
    <restriction base="tns:alphaNumeric">
      <maxLength value="20" />
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric100">
    <restriction base="tns:alphaNumeric">
      <maxLength value="100" />
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric128">
    <restriction base="tns:alphaNumeric">
      <maxLength value="128" />
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric380">
    <restriction base="tns:alphaNumeric">
      <maxLength value="380" />
    </restriction>
  </simpleType>

  <simpleType name="alphaNumeric2048">
    <restriction base="tns:alphaNumeric">
      <maxLength value="2048" />
    </restriction>
  </simpleType>

  <simpleType name="numeric4">
    <restriction base="int">
      <minInclusive value="0" />
      <maxInclusive value="9999" />
    </restriction>
  </simpleType>

  <simpleType name="numeric2">
    <restriction base="int">
      <minInclusive value="0" />
      <maxInclusive value="99" />
    </restriction>
  </simpleType>

  <simpleType name="numeric5">
    <restriction base="int">
      <minInclusive value="0" />
      <maxInclusive value="99999" />
    </restriction>
  </simpleType>

  <simpleType name="DocumentNumberType">
    <restriction base="token">
      <pattern value="\d{10}" />
    </restriction>
  </simpleType>

  <simpleType name="UCNType">
    <restriction base="token">
      <pattern value="\d{16}" />
    </restriction>
  </simpleType>

  <simpleType name="NotGoodsOutType">
    <restriction base="int">
      <minInclusive value="1" />
      <maxInclusive value="1" />
    </restriction>
  </simpleType>

  <simpleType name="BulstatType">
    <restriction base="token">
      <pattern value="\d{13}|\d{9}" />
      <maxLength value="13" />
    </restriction>
  </simpleType>

  <simpleType name="IdentifyNumberType">
    <restriction base="token">
      <pattern value="\d{13}|\d{9}|\d{10}" />
      <maxLength value="13" />
    </restriction>
  </simpleType>

  <simpleType name="JourneyTimeType">
    <restriction base="token">
      <length value="3" />
      <pattern value="H([01][0-9]|2[0-4])|D([0-8][0-9]|9[0-2])" />
    </restriction>
  </simpleType>

  <simpleType name="TimeType">
    <restriction base="string">
      <pattern value="([0-1][0-9]|2[0-4]):([0-5][0-9]|5[0-9])" />
    </restriction>
  </simpleType>

  <simpleType name="ControlPointType">
    <restriction base="string">
      <pattern value="BGNCA[0-9]{8}[0-9]{6}|BG[0-9]{6}[ABCDEFNLPRST][0-9]{4}[0-9]{6}|[0-9]{2}[A-Z]{2}[0-9]{9}[0-9]{6}" />
    </restriction>
  </simpleType>

  <complexType name="OriginalMessageType">
    <sequence>
      <element name="Bulstat" type="tns:BulstatType" />
      <element name="OriginalMessageID" type="tns:alphaNumeric20" />
      <element name="ReplyTo" type="tns:alphaNumeric20" minOccurs="0"/>
      <element name="OriginalDocumentNumber" type="tns:DocumentNumberType" minOccurs="0"/>      
    </sequence>
  </complexType>

  <complexType name="RegisteredADDType">
    <sequence>
      <element name="UCN" type="tns:UCNType" />
    </sequence>
  </complexType>

  <complexType name="PeriodType">
    <sequence>
      <element name="dateFrom" type="dateTime" />
      <element name="dateTo" type="dateTime" />
    </sequence>
  </complexType>
  
  <complexType name="MessagesType">
    <sequence>
      <element name="message" type="string" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </complexType>

  <complexType name="CancellationType">
    <sequence>
      <element name="UCN" type="tns:UCNType" />
      <element name="ADDDate" type="date" />
      <element name="CancellationReason" type="string" />
      <element name="NotGoodsOut" type="tns:NotGoodsOutType" />
    </sequence>
  </complexType>

  <complexType name="FinishedEADDType">
    <sequence>
      <element name="UCN" type="tns:UCNType" />
      <element name="ADDDate" type="date" />      
    </sequence>
  </complexType>

  <complexType name="ReportOfReceiptType">
    <sequence>
      <element name="UCN" type="tns:UCNType" />
      <element name="ADDDate" type="date" />
      <element name="FADocumentNumber" type="tns:alphaNumeric20" />
      <element name="TradeMark">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="280" />
          </restriction>
        </simpleType>
      </element>
      <element name="CNCode">
        <simpleType>
          <restriction base="tns:numSequence">
            <minLength value="8" />
            <maxLength value="8" />
          </restriction>
        </simpleType>
      </element>      
      <element name="Measure">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="PlaceOfDelivery">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="256" />
          </restriction>
        </simpleType>
      </element>
      <element name="DeliveryDate" type="date" />
      <element name="ReceivedQuantity">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="PersonName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="Message_Bg905">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg905" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" />
      <element name="RegisteredeADD" type="tns:RegisteredADDType" minOccurs="0"/>
    </sequence>
  </complexType>

  <complexType name="ErrorType">
    <sequence>     
      <element name="ErrorReason" type="string" />
      <element name="ErrorLocation" type="string" />      
      <element name="OriginalValue" type="string" />
    </sequence>
  </complexType>

  <complexType name="FunctionalErrorsType">
    <sequence>
      <element name="Error" minOccurs="1" maxOccurs="unbounded" type="tns:ErrorType" />
    </sequence>
  </complexType>

  <complexType name="Message_Bg906">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg906" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" />
      <element name="FunctionalErrors" type="tns:FunctionalErrorsType" />
    </sequence>
  </complexType>

  <complexType name="ExciseNoteType">
    <sequence>
      <element name="ExciseNoteKind">
        <simpleType>
          <restriction base="tns:alpha">
            <maxLength value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="ToADDNo">
        <simpleType>
          <restriction base="tns:UCNType">
          </restriction>
        </simpleType>
      </element>
      <element name="ToADDDate">
        <simpleType>
          <restriction base="date" />
        </simpleType>
      </element>
      <element name="ReasonForChange">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="256" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>


  <complexType name="HeaderType">
    <sequence>
      <element name="DocumentNumber">
        <simpleType>
          <restriction base="tns:DocumentNumberType">
            <maxLength value="10" />
          </restriction>
        </simpleType>
      </element>

      <element name="DocumentDate">
        <simpleType>
          <restriction base="date" />
        </simpleType>
      </element>

      <element name="IsDelayedReporting">
        <simpleType>
          <restriction base="boolean">
          </restriction>
        </simpleType>
      </element>

      <element name="NoPaidExciseDocumentNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="30" />
          </restriction>
        </simpleType>
      </element>

      <element name="NoPaidExciseDocumentDate" minOccurs="0">
        <simpleType>
          <restriction base="date">
          </restriction>
        </simpleType>
      </element>

      <element name="OAKPCertificateNo" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <minLength value="13" />
            <maxLength value="13" />
          </restriction>
        </simpleType>
      </element>

      <element name="OAKPCertificateDate" minOccurs="0">
        <simpleType>
          <restriction base="date">
          </restriction>
        </simpleType>
      </element>

      <element name="GoodsCertificateNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <maxLength value="128"/>
          </restriction>
        </simpleType>
      </element>

      <element name="IsExciseNote">
        <simpleType>
          <restriction base="boolean">
          </restriction>
        </simpleType>
      </element>

      <element name="IntendedUseOfProduct">
        <simpleType>
          <restriction base="tns:numSequence">
            <minLength value="2"/>
            <maxLength value="3"/>
          </restriction>
        </simpleType>
      </element>

      <element name="TotalAmountOfExciseDuty">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="19" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="ExciseNote" type="tns:ExciseNoteType" minOccurs="0" maxOccurs="1" />
    </sequence>
  </complexType>

  <complexType name="PlaceOfIssueType">
    <sequence>
      <element name="Region">
        <simpleType>
          <restriction base="tns:alpha">
            <length value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="Municipality">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <length value="5" />
          </restriction>
        </simpleType>
      </element>
      <element name="PostCode">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="10" />
          </restriction>
        </simpleType>
      </element>
      <element name="City">
        <simpleType>
          <restriction base="tns:numSequence">
            <length value="5" />
          </restriction>
        </simpleType>
      </element>
      <element name="District" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <length value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="Street">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="254" />
          </restriction>
        </simpleType>
      </element>
      <element name="StreetNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="11" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="PersonalDetailsType">
    <sequence>
      <element name="Name">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="EGN" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <length value="10" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="DriverType">
    <sequence>
      <element name="Name" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="EGN" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <length value="10" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="AddressDetailsType">
    <sequence>
      <element name="Country">
        <simpleType>
          <restriction base="tns:alpha">
            <minLength value="2" />
            <maxLength value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="Region" minOccurs="0">
        <simpleType>
          <restriction base="tns:alpha">
            <length value="3"/>
          </restriction>
        </simpleType>
      </element>
      <element name="Municipality" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <length value="5"/>
          </restriction>
        </simpleType>
      </element>
      <element name="PostCode" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="10" />
          </restriction>
        </simpleType>
      </element>
      <element name="City" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <length value="5" />
          </restriction>
        </simpleType>
      </element>
      <element name="District" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <length value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="Street">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="254" />
          </restriction>
        </simpleType>
      </element>
      <element name="StreetNumber" minOccurs ="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="11" />
          </restriction>
        </simpleType>
      </element>
      <element name="Phone" minOccurs ="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="20" />
          </restriction>
        </simpleType>
      </element>
      <element name="Mobile" minOccurs ="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="20" />
          </restriction>
        </simpleType>
      </element>
      <element name="Fax" minOccurs ="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="20" />
          </restriction>
        </simpleType>
      </element>
      <element name="Email" minOccurs ="0">
        <simpleType>
          <restriction base="string">
            <maxLength value="70" />
          </restriction>
        </simpleType>
      </element>
      <element name="Web" minOccurs ="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="50" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="OTTGObjectType">
    <sequence>
      <element name="ObjectIdentifier" maxOccurs="1">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="500" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="DeliveryPlaceDetailsType">
    <sequence>
      <element name="IsOTTGObject" minOccurs ="1">
        <simpleType>
          <restriction base="boolean"/>
        </simpleType>
      </element>
      <element name="OTTGObject" type="tns:OTTGObjectType" minOccurs="0" maxOccurs="1" />
      <element name="DeliveryPlace"  type="tns:AddressDetailsType" minOccurs="0" maxOccurs="1"/>
    </sequence>
  </complexType>

  <complexType name="ConsignorTraderType">
    <sequence>
      <element name="Bulstat">
        <simpleType>
          <restriction base="tns:BulstatType" />
        </simpleType>
      </element>
      <element name="TraderName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="TraderExciseNumber">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <minLength value="13" />
            <maxLength value="13" />
          </restriction>
        </simpleType>
      </element>
      <element name="TaxWarehouseExciseNumber">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <minLength value="13" />
            <maxLength value="13" />
          </restriction>
        </simpleType>
      </element>      
      <element name="AddressDetails" type="tns:AddressDetailsType" minOccurs="1" maxOccurs="1" />
    </sequence>
  </complexType>

  <complexType name="TraderNamesType">
    <sequence>
      <element name="IdentifyNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:IdentifyNumberType" />
        </simpleType>
      </element>
      <element name="TraderName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="TransporterTraderType">
    <sequence>
      <element name="IdentifyNumber" minOccurs="0" >
        <simpleType>
          <restriction base="tns:IdentifyNumberType" />
        </simpleType>
      </element>
      <element name="TraderName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="TransporterCertificateNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaLatinNum">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="CertificateDateOfIssue" minOccurs="0">
        <simpleType>
          <restriction base="date"/>
        </simpleType>
      </element>
      <element name="CertificateExperationDate" minOccurs="0">
        <simpleType>
          <restriction base="date"/>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="TraderType">
    <sequence>      
      <element name="IdentifyNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:IdentifyNumberType" />
        </simpleType>
      </element>
      <element name="TraderName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="AddressDetails" type="tns:AddressDetailsType" minOccurs="1" maxOccurs="1" />
    </sequence>
  </complexType>

  <complexType name="TransportDetailsType">
    <sequence>
      <element name="TransportType">
        <simpleType>
          <restriction base="tns:numSequence">
            <maxLength value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="VehicleRegNo" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaLatinNum">
            <maxLength value="64" />
          </restriction>
        </simpleType>
      </element>
      <element name="VehicleCertificateNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="256" />
          </restriction>
        </simpleType>
      </element>
      <element name="JourneyBeginDate" minOccurs="0">
        <simpleType>
          <restriction base="date"/>
        </simpleType>
      </element>
      <element name="JourneyBeginTime" minOccurs="0">
        <simpleType>
          <restriction base="tns:TimeType"/>
        </simpleType>
      </element>
      <element name="JourneyTime" minOccurs="0">
        <simpleType>
          <restriction base="tns:JourneyTimeType"/>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="MeasureValuesType">
    <sequence>
      <element name="ControlPoint" minOccurs="0">
        <simpleType>
          <restriction base="tns:ControlPointType">
            <maxLength value="19" />
          </restriction>
        </simpleType>
      </element>
      <element name="TransactionNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumericOnlySlash">
            <maxLength value="100" />
          </restriction>
        </simpleType>
      </element>
      <element name="DocumentType" minOccurs="0">
        <simpleType>
          <restriction base="tns:numSequence">
            <maxLength value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="DocumentNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="30" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="eADDGoodType">
    <sequence>
      <element name="BrandName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <minLength value="6" />
            <maxLength value="6" />
          </restriction>
        </simpleType>
      </element>
      <element name="TradeMark" minOccurs="0">
        <simpleType>
          <restriction base="token">
            <maxLength value="280" />
          </restriction>
        </simpleType>
      </element>
      <element name="APCode">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <minLength value="4" />
            <maxLength value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="CNCode">
        <simpleType>
          <restriction base="tns:numSequence">
            <minLength value="8" />
            <maxLength value="8" />
          </restriction>
        </simpleType>
      </element>
      <element name="QuantityOfGoods" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="MissingLabelsCnt" minOccurs="0">
        <simpleType>
          <restriction base="int">
            <totalDigits value="10" />
          </restriction>
        </simpleType>
      </element>
      <element name="Measure" minOccurs="0">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="OtherMeasure">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="Degree" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="5" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="PricePerPack" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="6" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="Pieces" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="6" />
            <fractionDigits value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="CigarLength" minOccurs="0">
        <simpleType>
          <restriction base="string">
            <maxLength value="4" />
            <pattern value="\w{2}[\d]{1,2}" />
          </restriction>
        </simpleType>
      </element>
      <element name="TotalAmountPrice" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="SpecificDutySmallQuantities" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="10" />
            <fractionDigits value="6" />
          </restriction>
        </simpleType>
      </element>
      <element name="ValoremDutyRate" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="10" />
            <fractionDigits value="6" />
          </restriction>
        </simpleType>
      </element>
      <element name="SpecificDuty" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="ValoremDuty" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="CarbonDioxideQnt" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="CalorificAbility" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="CarbonDioxideDutyRate" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="4" />
            <fractionDigits value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="CalorificDutyRate" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="4" />
            <fractionDigits value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="TotalCarbonDioxideQnt" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="TotalCalorificAbility" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="TaxBase" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="RecalculateRatio" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="10" />
            <fractionDigits value="6" />
          </restriction>
        </simpleType>
      </element>
      <element name="ExciseDuty" minOccurs="0">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="10" />
            <fractionDigits value="6" />
          </restriction>
        </simpleType>
      </element>
      <element name="DutyAmount">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="19" />
            <fractionDigits value="2" />
          </restriction>
        </simpleType>
      </element>
      <element name="Payment">
        <simpleType>
          <restriction base="tns:numSequence">
            <minLength value="2"/>
            <maxLength value="2"/>
          </restriction>
        </simpleType>
      </element>
      <element name="Purpose">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <minLength value="3"/>
            <maxLength value="3"/>
          </restriction>
        </simpleType>
      </element>
      <element name="MeasureValues" type="tns:MeasureValuesType" minOccurs="0" maxOccurs="1" />
    </sequence>
  </complexType>

  <complexType name="eADDGoodsType">
    <sequence>
      <element name="eADDGood" type="tns:eADDGoodType" minOccurs="1" maxOccurs="9999" />
    </sequence>
  </complexType>

  <complexType name="FAHeaderType">
    <sequence>
      <element name="DocumentNumber">
        <simpleType>
          <restriction base="tns:alphaNumeric20" />
        </simpleType>
      </element>
      <element name="DocumentDate">
        <simpleType>
          <restriction base="date" />
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="FAConsigneeTraderType">
    <sequence>
      <element name="IdentifyNumber">
        <simpleType>
          <restriction base="tns:IdentifyNumberType" />
        </simpleType>
      </element>
      <element name="TraderName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="AddressDetails" type="tns:AddressDetailsType" />
    </sequence>
  </complexType>

  <complexType name="FATransporterTraderType">
    <sequence>
      <element name="IdentifyNumber" minOccurs="0">
        <simpleType>
          <restriction base="tns:IdentifyNumberType" />
        </simpleType>
      </element>
      <element name="TraderName">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="128" />
          </restriction>
        </simpleType>
      </element>
      <element name="VehicleRegNo">
        <simpleType>
          <restriction base="tns:alphaLatinNum">
            <maxLength value="64" />
          </restriction>
        </simpleType>
      </element>
      <element name="DateOfLoad">
        <simpleType>
          <restriction base="date" />
        </simpleType>
      </element>
      <element name="AddressDetails" type="tns:AddressDetailsType" />
    </sequence>
  </complexType>

  <complexType name="FAGoodType">
    <sequence>
      <element name="SequenceNumber">
        <simpleType>
          <restriction base="int">
            <minInclusive value="0" />
            <maxInclusive value="999" />
          </restriction>
        </simpleType>
      </element>
      <element name="TradeMark">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="280" />
          </restriction>
        </simpleType>
      </element>
      <element name="CNCode">
        <simpleType>
          <restriction base="tns:numSequence">
            <minLength value="8" />
            <maxLength value="8" />
          </restriction>
        </simpleType>
      </element>
      <element name="Quantity">
        <simpleType>
          <restriction base="decimal">
            <totalDigits value="15" />
            <fractionDigits value="4" />
          </restriction>
        </simpleType>
      </element>
      <element name="Measure">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="3" />
          </restriction>
        </simpleType>
      </element>
      <element name="PlaceOfDelivery">
        <simpleType>
          <restriction base="tns:alphaNumeric">
            <maxLength value="256" />
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>

  <complexType name="FAGoodsType">
    <sequence>
      <element name="FAGood" type="tns:FAGoodType" minOccurs="1"	maxOccurs="999" />
    </sequence>
  </complexType>


  <complexType name="Appendix14aType">
    <sequence>
      <element name="FAHeader" type="tns:FAHeaderType" />
      <element name="FAUserOfGoods" type="tns:FAConsigneeTraderType" />
      <element name="FATransporterTrader" type="tns:FATransporterTraderType" />
      <element name="FAOtherTransporterTrader" type="tns:FATransporterTraderType" minOccurs="0"/>
      <element name="FAGoods" type="tns:FAGoodsType" />
    </sequence>
  </complexType>

  <complexType name="Appendices14aType">
    <sequence>
      <element name="Appendix14a" type="tns:Appendix14aType" minOccurs="1" maxOccurs="999" />
    </sequence>
  </complexType>

  <complexType name="ReportsOfReceiptType">
    <sequence>
      <element name="ReportOfReceipt" type="tns:ReportOfReceiptType" minOccurs="1" maxOccurs="999" />
    </sequence>
  </complexType>

  

  <complexType name="Message_Bg1015">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg1015" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" />
      <element name="Header" type="tns:HeaderType" />      
      <element name="PlaceOfIssue" type="tns:PlaceOfIssueType" />
      <element name="PersonalDetails" type="tns:PersonalDetailsType" />
      <element name="ConsignorTrader" type="tns:ConsignorTraderType" />
      <element name="ConsigneeTrader" type="tns:TraderType" />
      <element name="Depositor" type="tns:TraderNamesType" minOccurs="0"/>
      <element name="TransportDetails" type="tns:TransportDetailsType" minOccurs="0"/>
      <element name="TransporterTrader" type="tns:TransporterTraderType" minOccurs="0"/>
      <element name="Driver" type="tns:DriverType" minOccurs="0"/>
      <element name="DeliveryPlaceDetails" type="tns:DeliveryPlaceDetailsType" minOccurs="0"/>
      <element name="eADDGoods" type="tns:eADDGoodsType" />
      <element name="Appendices14a" type="tns:Appendices14aType" minOccurs="0"/>
    </sequence>
  </complexType>

  <complexType name="Message_Bg1015u">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg1015u" />
      <element name="Header" type="tns:HeaderType" />      
      <element name="PlaceOfIssue" type="tns:PlaceOfIssueType" />
      <element name="PersonalDetails" type="tns:PersonalDetailsType" />
      <element name="ConsignorTrader" type="tns:ConsignorTraderType" />
      <element name="ConsigneeTrader" type="tns:TraderType" />
      <element name="Depositor" type="tns:TraderNamesType" minOccurs="0"/>
      <element name="TransportDetails" type="tns:TransportDetailsType" minOccurs="0" />
      <element name="TransporterTrader" type="tns:TransporterTraderType" minOccurs="0"/>
      <element name="Driver" type="tns:DriverType" minOccurs="0"/>
      <element name="DeliveryPlaceDetails" type="tns:DeliveryPlaceDetailsType" minOccurs="0"/>
      <element name="eADDGoods" type="tns:eADDGoodsType" />
      <element name="Appendices14a" type="tns:Appendices14aType" minOccurs="0"/>
    </sequence>
  </complexType>


  <complexType name="Message_Bg1010">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg1010" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" minOccurs="0"/>
      <element name="Cancellation" type="tns:CancellationType" />
    </sequence>
  </complexType>

  <complexType name="Message_Bg1011">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg1011" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" minOccurs="0"/>
      <element name="FinishedEADD" type="tns:FinishedEADDType" />
    </sequence>
  </complexType>

  <complexType name="Message_Bg1018">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg1018" />
      <element name="OriginalMessage" type="tns:OriginalMessageType"  minOccurs="0"/>
      <element name="ReportsOfReceipt" type="tns:ReportsOfReceiptType" />
    </sequence>
  </complexType>

  <complexType name="Message_Bg100">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg100" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" />
      <element name="Period" type="tns:PeriodType" />
    </sequence>
  </complexType>

  <complexType name="Message_Bg101">
    <sequence>
      <element name="messageType" type="string" default="Message_Bg101" />
      <element name="OriginalMessage" type="tns:OriginalMessageType" />
      <element name="Messages" type="tns:MessagesType" />
    </sequence>
  </complexType>

  <complexType name="DocumentKind">
    <sequence>
      <choice>
        <element name="message_Bg100" type="tns:Message_Bg100" />
        <element name="message_Bg101" type="tns:Message_Bg101" />
        <element name="message_Bg1015" type="tns:Message_Bg1015" />
        <element name="message_Bg1015u" type="tns:Message_Bg1015u" />
        <element name="message_Bg1010" type="tns:Message_Bg1010" />
        <element name="message_Bg1011" type="tns:Message_Bg1011" />
        <element name="message_Bg1018" type="tns:Message_Bg1018" />
        <element name="message_Bg905" type="tns:Message_Bg905" />
        <element name="message_Bg906" type="tns:Message_Bg906" />
      </choice>      
    </sequence>
  </complexType>

  <complexType name="DocumentKind101">
    <sequence>
      <choice>
        <element name="message_Bg905" type="tns:Message_Bg905" />
        <element name="message_Bg906" type="tns:Message_Bg906" />
      </choice>      
    </sequence>
  </complexType> 

  <element name="DataMessage" type="tns:DocumentKind" />
  

</schema>
