<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:imp="https://imp.dakosy.de"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="https://imp.dakosy.de">
  <xs:element name="Status" type="imp:Status"/>
  <xs:complexType name="AdditionalStatusDateType">
    <xs:sequence>
      <xs:element name="StatusDateType" type="imp:StatusTypeEnum"/>
      <xs:element name="StatusDate" type="imp:DateTimeType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AdditionalStatusInformation">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AdditionalValue">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Value" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element name="AddressLine" type="imp:AddressLine" minOccurs="0" maxOccurs="5"/>
      <xs:element name="Street" type="imp:Street" minOccurs="0"/>
      <xs:element name="PostBoxID" type="imp:PostBoxID" minOccurs="0"/>
      <xs:element name="City" type="imp:City" minOccurs="0"/>
      <xs:element name="PostalIdentificationCode" type="imp:PostalIdentificationCode" minOccurs="0"/>
      <xs:element name="CountryCode" type="imp:CountryCode" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AddressLine">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..14Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="14"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..15Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="15"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..17Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..1Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..35Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..7Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="7"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an18Type">
    <xs:restriction base="xs:string">
      <xs:length value="18"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an4Type">
    <xs:restriction base="xs:string">
      <xs:length value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ATBDetails">
    <xs:sequence>
      <xs:element name="ATBNumber" type="imp:ATBNumber"/>
      <xs:element name="ConsolidationFlag" type="imp:ConsolidationFlag" minOccurs="0"/>
      <xs:element name="SequentialNumber" type="xs:integer"/>
      <xs:element name="PreviousCustomsReferenceData" type="imp:PreviousCustomsReferenceData" minOccurs="0"/>
      <xs:element name="PackageCount" type="imp:PackageCount"/>
      <xs:element name="PackageTypeCode" type="imp:PackageTypeCodeRec21" minOccurs="0"/>
      <xs:element name="GrossWeightMeasure" type="imp:GrossWeightMeasure" minOccurs="0"/>
      <xs:element name="GoodsDescription" type="imp:GoodsDescription" minOccurs="0"/>
      <xs:element name="Spo" type="imp:SpO" minOccurs="0"/>
      <xs:element name="BillOfLadingID" type="imp:BillOfLadingID" minOccurs="0"/>
      <xs:element name="GoodsID" type="imp:GoodsID" minOccurs="0"/>
      <xs:element name="ZaaType" type="imp:ZaaType" minOccurs="0"/>
      <xs:element name="CustodianParty" type="imp:CustodianParty" minOccurs="0"/>
      <xs:element name="ExpiryDate" type="imp:ExpiryDate" minOccurs="0"/>
      <xs:element name="SubsequentCustomsDeclarationStatusData" type="imp:SubsequentCustomsDeclarationStatusData" minOccurs="0" maxOccurs="5"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ATBNumber">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="21"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BillOfLadingID">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CallSign">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="7"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CarrierParty">
    <xs:complexContent>
      <xs:extension base="imp:PartyType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="City">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ClipOnUnitID">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="15"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ClipOnUnitIndicator">
    <xs:restriction base="imp:IndicatorType"/>
  </xs:simpleType>
  <xs:complexType name="CodeType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="listID" type="xs:string"/>
        <xs:attribute name="agencyID" type="xs:string"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="CommonVeterinaryEntryDocumentNumberType">
    <xs:restriction base="imp:an..35Type"/>
  </xs:simpleType>
  <xs:simpleType name="ConsolidationFlag">
    <xs:restriction base="imp:an..1Type"/>
  </xs:simpleType>
  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element name="Name" type="imp:Name"/>
      <xs:element name="Telephone" type="imp:Phone" minOccurs="0"/>
      <xs:element name="Fax" type="imp:Fax" minOccurs="0"/>
      <xs:element name="Email" type="imp:Email" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="ContactTypeCode" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="ContainerDetails">
    <xs:sequence>
      <xs:element name="ContainerID" type="imp:ContainerID"/>
      <xs:element name="ShippersOwnIndicator" type="imp:ShippersOwnIndicator" minOccurs="0"/>
      <xs:element name="ContainerTypeISOCode" type="imp:ContainerTypeISOCode" minOccurs="0"/>
      <xs:element name="LengthCode" type="imp:ContainerLengthCode" minOccurs="0"/>
      <xs:element name="HeightCode" type="imp:ContainerHeightCode" minOccurs="0"/>
      <xs:element name="ExcessHeight" type="imp:ExcessHeight" minOccurs="0"/>
      <xs:element name="ExcessLenghtFront" type="imp:ExcessLenghtFront" minOccurs="0"/>
      <xs:element name="ExcessLenghtRear" type="imp:ExcessLenghtRear" minOccurs="0"/>
      <xs:element name="ExcessWidthLeft" type="imp:ExcessWidthLeft" minOccurs="0"/>
      <xs:element name="ExcessWidthRight" type="imp:ExcessWidthRight" minOccurs="0"/>
      <xs:element name="TotalHight" type="imp:TotalHeight" minOccurs="0"/>
      <xs:element name="TotalLength" type="imp:TotalLength" minOccurs="0"/>
      <xs:element name="ClipOnUnitIndicator" type="imp:ClipOnUnitIndicator" minOccurs="0"/>
      <xs:element name="ClipOnUnitID" type="imp:ClipOnUnitID" minOccurs="0"/>
      <xs:element name="Temperature" type="imp:TemperatureMeasureType" minOccurs="0"/>
      <xs:element name="MinimumTemperature" type="imp:TemperatureMeasureType" minOccurs="0"/>
      <xs:element name="MaximumTemperature" type="imp:TemperatureMeasureType" minOccurs="0"/>
      <xs:element name="GrossWeight" type="imp:GrossWeightMeasure" minOccurs="0"/>
      <xs:element name="NetWeight" type="imp:NetWeightMeasure" minOccurs="0"/>
      <xs:element name="TareWeight" type="imp:TareWeightMeasure" minOccurs="0"/>
      <xs:element name="ClearanceID" type="imp:ReleaseNumber" minOccurs="0"/>
      <xs:element name="GatePassportRequiredIndicator" type="imp:GatePassportRequiredIndicator" minOccurs="0"/>
      <xs:element name="Remark" type="xs:string" minOccurs="0"/>
      <xs:element name="SealType" type="imp:SealType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ContainerHeightCode">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ContainerID">
    <xs:complexContent>
      <xs:extension base="imp:ContainerIDType">
        <xs:attribute name="agencyID" type="xs:string"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ContainerIDType">
    <xs:simpleContent>
      <xs:extension base="xs:string"/>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ContainerLengthCode">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ContainerTypeISOCode">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CountryCode">
    <xs:restriction base="xs:string">
      <xs:length value="2"/>
      <xs:pattern value="[A-Z]{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CustodianParty">
    <xs:complexContent>
      <xs:extension base="imp:PartyType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="CustodyDetailsType">
    <xs:sequence>
      <xs:element name="ATBNumber" type="imp:ATBNumber"/>
      <xs:element name="MRN" type="imp:MRN" minOccurs="0"/>
      <xs:element name="ConsolidationFlag" type="imp:ConsolidationFlag" minOccurs="0"/>
      <xs:element name="SequentialNumber" type="xs:integer"/>
      <xs:element name="PreviousCustomsReferenceData" type="imp:PreviousCustomsReferenceData" minOccurs="0"/>
      <xs:element name="PackageCount" type="imp:PackageCount"/>
      <xs:element name="PackageTypeCode" type="imp:PackageTypeCodeRec21" minOccurs="0"/>
      <xs:element name="GrossWeightMeasure" type="imp:GrossWeightMeasure" minOccurs="0"/>
      <xs:element name="GoodsDescription" type="imp:GoodsDescription" minOccurs="0"/>
      <xs:element name="Spo" type="imp:SpO" minOccurs="0"/>
      <xs:element name="BillOfLadingID" type="imp:BillOfLadingID" minOccurs="0"/>
      <xs:element name="GoodsID" type="imp:GoodsID" minOccurs="0"/>
      <xs:element name="ZaaType" type="imp:ZaaType" minOccurs="0"/>
      <xs:element name="CustodianParty" type="imp:CustodianParty" minOccurs="0"/>
      <xs:element name="ExpiryDate" type="imp:ExpiryDate" minOccurs="0"/>
      <xs:element name="SubsequentCustomsDeclarationStatusData" type="imp:SubsequentCustomsDeclarationStatusData" minOccurs="0" maxOccurs="5"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CustomsData">
    <xs:sequence>
      <xs:element name="SeqNumber" type="xs:integer" minOccurs="0"/>
      <xs:element name="CustomsProceduresTypeCode" type="imp:CustomsProceduresTypeCode" minOccurs="0"/>
      <xs:element name="CustomsReference" type="imp:an..35Type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CustomsDataList">
    <xs:sequence>
      <xs:element name="CustomsData" type="imp:CustomsData" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CustomsProceduresTypeCode">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:complexType name="DateTimeType">
    <xs:sequence>
      <xs:element name="date" type="xs:date"/>
      <xs:element name="time" type="xs:time" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Decimal..15">
    <xs:restriction base="xs:decimal">
      <xs:totalDigits value="15"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentCreationTime">
    <xs:restriction base="xs:dateTime"/>
  </xs:simpleType>
  <xs:simpleType name="DocumentExchangeNumber">
    <xs:restriction base="imp:an..14Type">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Email">
    <xs:restriction base="xs:string">
      <xs:minLength value="3"/>
      <xs:maxLength value="70"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EmptyContainerDepot">
    <xs:complexContent>
      <xs:extension base="imp:LocationType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EORIReference">
    <xs:restriction base="imp:an..17Type">
      <xs:pattern value="[A-Z]{2}[0-9A-Z]{2,15}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EoriType">
    <xs:sequence>
      <xs:element name="EORIReference" type="imp:EORIReference"/>
      <xs:element name="SubsidiaryNumber" type="imp:SubsidiaryNumber" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EquipmentTypeCode">
    <xs:simpleContent>
      <xs:extension base="imp:EquipmentTypeCodeContent"/>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="EquipmentTypeCodeContent">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:complexType name="EstimatedDepartureDateType">
    <xs:sequence>
      <xs:element name="EstimatedDepartureDate" type="xs:date" minOccurs="0"/>
      <xs:element name="EstimatedDepartureTime" type="xs:time" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EventDateTime">
    <xs:sequence>
      <xs:element name="EventDate" type="xs:date"/>
      <xs:element name="EventTime" type="xs:time" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EventLocation">
    <xs:complexContent>
      <xs:extension base="imp:TransportLocation"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ExcessHeight">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,3}"/>
      <xs:totalDigits value="3"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExcessLenghtFront">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,3}"/>
      <xs:totalDigits value="3"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExcessLenghtRear">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,3}"/>
      <xs:totalDigits value="3"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExcessWidthLeft">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,3}"/>
      <xs:totalDigits value="3"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExcessWidthRight">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,3}"/>
      <xs:totalDigits value="3"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExpiryDate">
    <xs:restriction base="xs:date"/>
  </xs:simpleType>
  <xs:simpleType name="Fax">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GatePassportRequiredIndicator">
    <xs:restriction base="imp:IndicatorType"/>
  </xs:simpleType>
  <xs:complexType name="GeneralTransportMeans">
    <xs:sequence>
      <xs:element name="TransportMeansTypeCode" type="imp:TransportMeansTypeCode" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GoodsDescription">
    <xs:restriction base="xs:string">
      <xs:maxLength value="280"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GoodsID">
    <xs:restriction base="xs:positiveInteger">
      <xs:totalDigits value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GrossWeightMeasure">
    <xs:complexContent>
      <xs:extension base="imp:MeasureType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ImportReferenceType">
    <xs:sequence>
      <xs:element name="IMPReferenceID" type="imp:IMPReferenceID"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="IMPReferenceID">
    <xs:restriction base="xs:string">
      <xs:minLength value="18"/>
      <xs:maxLength value="18"/>
      <xs:pattern value="[IS]{1}[A-Z]{2}\d{6}[012]\d{8}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="IndicatorType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="5"/>
      <xs:pattern value="[01]|true|false"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Interchange">
    <xs:sequence>
      <xs:element name="CreationTime" type="imp:DocumentCreationTime"/>
      <xs:element name="ExchangeNumber" type="imp:DocumentExchangeNumber"/>
      <xs:element name="TestIndicator" type="xs:boolean" minOccurs="0"/>
      <xs:element name="MessageCount" type="imp:MessageCount" minOccurs="0"/>
      <xs:element name="Sender" type="imp:Participant"/>
      <xs:element name="Recipient" type="imp:Participant"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LineID">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,6}"/>
      <xs:totalDigits value="5"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LocationID">
    <xs:simpleContent>
      <xs:extension base="imp:LocationIDType">
        <xs:attribute name="schemeID" type="xs:string"/>
        <xs:attribute name="agencyID" type="xs:string"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="LocationIDType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="25"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LocationName">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LocationType">
    <xs:sequence>
      <xs:element name="LocationID" type="imp:LocationID" minOccurs="0"/>
      <xs:element name="LocationName" type="imp:LocationName" minOccurs="0"/>
      <xs:element name="SubLocationOne" type="imp:SubLocation" minOccurs="0"/>
      <xs:element name="SubLocationTwo" type="imp:SubLocation" minOccurs="0"/>
      <xs:element name="Address" type="imp:Address" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MeasureType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="unitCode" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="Message">
    <xs:sequence>
      <xs:element name="MessageHeader" type="imp:MessageHeader"/>
    </xs:sequence>
    <xs:attribute name="MessageType" type="xs:string"/>
    <xs:attribute name="MessageVersionID" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:simpleType name="MessageCount">
    <xs:restriction base="xs:positiveInteger"/>
  </xs:simpleType>
  <xs:simpleType name="MessageFunction">
    <xs:restriction base="imp:an..7Type"/>
  </xs:simpleType>
  <xs:complexType name="MessageHeader">
    <xs:sequence>
      <xs:element name="MessageFunction" type="imp:MessageFunction" minOccurs="0"/>
      <xs:element name="MessageReferenceNumber" type="imp:MessageReferenceNumber"/>
      <xs:element name="PreviousMessageReferenceNumber" type="imp:MessageReferenceNumber" minOccurs="0"/>
      <xs:element name="MessageSender" type="imp:Participant"/>
      <xs:element name="MessageRecipient" type="imp:Participant" maxOccurs="9"/>
      <xs:element name="AdditionalValue" type="imp:AdditionalValue" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MessageReferenceNumber">
    <xs:restriction base="imp:an..35Type"/>
  </xs:simpleType>
  <xs:simpleType name="MRN">
    <xs:restriction base="imp:an18Type">
      <xs:pattern value="[0-9]{2}[A-Z]{2}[A-Z0-9]{14}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n4Type">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="[0-9]{4}"/>
      <xs:totalDigits value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Name">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NCTSPackingLines">
    <xs:sequence>
      <xs:element name="NCTSPackingLine" type="imp:NCTSPackingType" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NCTSPackingType">
    <xs:sequence>
      <xs:element name="Quantity" type="imp:PackageCount"/>
      <xs:element name="PackageTypeCode" type="imp:PackageTypeCodeRec21" minOccurs="0"/>
      <xs:element name="ShippingMarks" type="imp:ShippingMarkLongType" minOccurs="0"/>
      <xs:element name="GrossWeight" type="imp:GrossWeightMeasure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NCTSPositions">
    <xs:sequence>
      <xs:element name="NCTSPosition" type="imp:NCTSPositionType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NCTSPositionType">
    <xs:sequence>
      <xs:element name="LineID" type="imp:LineID" minOccurs="0"/>
      <xs:element name="GoodsDescription" type="imp:GoodsDescription" minOccurs="0"/>
      <xs:element name="GrossWeight" type="imp:GrossWeightMeasure" minOccurs="0"/>
      <xs:element name="NCTSPackingLines" type="imp:NCTSPackingLines" minOccurs="0"/>
      <xs:element name="ContainerID" type="imp:ContainerID" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NetWeightMeasure">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="unitCode" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="PackageCount">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{1,6}"/>
      <xs:totalDigits value="6"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PackageTypeCodeRec21">
    <xs:simpleContent>
      <xs:extension base="imp:PackageTypeCodeRec21Content">
        <xs:attribute name="agencyID" type="xs:string" default="6"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="PackageTypeCodeRec21Content">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:complexType name="Participant">
    <xs:sequence>
      <xs:element name="ParticipantCode" type="imp:ParticipantCode"/>
      <xs:element name="Contact" type="imp:Contact" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParticipantCode">
    <xs:simpleContent>
      <xs:extension base="imp:ParticipantCodeType">
        <xs:attribute name="AgencyID" type="xs:string"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ParticipantCodeType">
    <xs:restriction base="imp:an..17Type">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PartyID">
    <xs:simpleContent>
      <xs:extension base="imp:PartyIDType">
        <xs:attribute name="schemeID" type="xs:string"/>
        <xs:attribute name="agencyID" type="xs:string"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="PartyIDType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PartyType">
    <xs:sequence>
      <xs:element name="PartyID" type="imp:PartyID" minOccurs="0"/>
      <xs:element name="Name" type="imp:Name" minOccurs="0" maxOccurs="3"/>
      <xs:element name="Role" type="xs:string" minOccurs="0"/>
      <xs:element name="VATNumber" type="imp:VATNumber" minOccurs="0"/>
      <xs:element name="EORI" type="imp:EoriType" minOccurs="0"/>
      <xs:element name="TaxNumber" type="imp:TaxNumber" minOccurs="0"/>
      <xs:element name="Address" type="imp:Address" minOccurs="0"/>
      <xs:element name="InformationContact" type="imp:Contact" minOccurs="0" maxOccurs="9"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Phone">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PlaceAndTimeOfInspection">
    <xs:sequence>
      <xs:element name="PlaceOfInspection" type="imp:LocationType" minOccurs="0"/>
      <xs:element name="TimeOfInspection" type="imp:DateTimeType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PostalIdentificationCode">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PostBoxID">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="20"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PreviousCustomsReferenceData">
    <xs:sequence>
      <xs:element name="PreviousAdministrativeReferenceType" type="imp:CustomsProceduresTypeCode"/>
      <xs:element name="CustomsReferenceNumber" type="imp:MRN" minOccurs="0"/>
      <xs:element name="CustomsSequenceNumber" type="xs:integer" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferenceIDType">
    <xs:simpleContent>
      <xs:extension base="xs:string"/>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ReferenceType">
    <xs:sequence>
      <xs:element name="TypeCode" type="imp:ReferenceTypeCode"/>
      <xs:element name="ReferenceID" type="imp:ReferenceIDType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferenceTypeCode">
    <xs:simpleContent>
      <xs:extension base="imp:ReferenceTypeCodeContent">
        <xs:attribute name="listID" type="xs:string" default="3055"/>
        <xs:attribute name="agencyID" type="xs:string" default="6"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ReferenceTypeCodeContent">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:simpleType name="ReleaseNumber">
    <xs:restriction base="imp:an..15Type"/>
  </xs:simpleType>
  <xs:complexType name="ReleaseOrderData">
    <xs:sequence>
      <xs:element name="ReleaseNumber" type="imp:ReleaseNumber" minOccurs="0"/>
      <xs:element name="ExpiryDate" type="imp:ExpiryDate" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReturnLocationData">
    <xs:sequence>
      <xs:element name="EmptyContainerDepot" type="imp:EmptyContainerDepot" minOccurs="0"/>
      <xs:element name="TurnInReference" type="imp:TurnInReference" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SealConditionCode">
    <xs:simpleContent>
      <xs:extension base="imp:SealConditionCodeContent">
        <xs:attribute name="agencyID" type="xs:string"/>
        <xs:attribute name="codeListID" type="xs:string"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="SealConditionCodeContent">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:simpleType name="SealID">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SealIssuerName">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SealIssuerQualifierCode">
    <xs:simpleContent>
      <xs:extension base="imp:SealIssuerQualifierCodeContent">
        <xs:attribute name="listID" type="xs:string" default="9303"/>
        <xs:attribute name="agencyID" type="xs:string" default="6"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="SealIssuerQualifierCodeContent">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:complexType name="Seals">
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="Seal" type="imp:SealType" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SealType">
    <xs:sequence>
      <xs:element name="SealID" type="imp:SealID"/>
      <xs:element name="SealIssuerQualifierCode" type="imp:SealIssuerQualifierCode" minOccurs="0"/>
      <xs:element name="SealIssuerName" type="imp:SealIssuerName" minOccurs="0"/>
      <xs:element name="SealConditionCode" type="imp:SealConditionCode" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ShippersOwnIndicator">
    <xs:restriction base="imp:IndicatorType"/>
  </xs:simpleType>
  <xs:simpleType name="ShippingMarkLongType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="42"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SpO">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="44"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Status">
    <xs:sequence>
      <xs:element name="Interchange" type="imp:Interchange"/>
      <xs:element name="StatusMessage" type="imp:StatusMessage" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="StatusConfirmedByVeterinaryOffice">
    <xs:restriction base="imp:IndicatorType"/>
  </xs:simpleType>
  <xs:complexType name="StatusMessage">
    <xs:complexContent>
      <xs:extension base="imp:Message">
        <xs:sequence>
          <xs:element name="StatusMessageHeaderType" type="imp:StatusMessageHeaderType" minOccurs="0"/>
          <xs:element name="StatusMessageDetailType" type="imp:StatusMessageDetailType" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="StatusMessageDetailType">
    <xs:sequence>
      <xs:element name="ImportReference" type="imp:ImportReferenceType" minOccurs="0"/>
      <xs:element name="EquipmentType" type="imp:EquipmentTypeCode" minOccurs="0"/>
      <xs:element name="ReferenceType" type="imp:ReferenceType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ContainerDetails" type="imp:ContainerDetails" minOccurs="0"/>
      <xs:element name="InlandCarriageTransportmeans" type="imp:GeneralTransportMeans" minOccurs="0"/>
      <xs:element name="ATBDetails" type="imp:ATBDetails" minOccurs="0" maxOccurs="9999"/>
      <xs:element name="CustodyDetails" type="imp:CustodyDetailsType" minOccurs="0" maxOccurs="9999"/>
      <xs:element name="CustomsDataList" type="imp:CustomsDataList" minOccurs="0"/>
      <xs:element name="PlaceAndTimeOfInspection" type="imp:PlaceAndTimeOfInspection" minOccurs="0"/>
      <xs:element name="StatusConfirmedByVeterinaryOffice" type="imp:StatusConfirmedByVeterinaryOffice" minOccurs="0"/>
      <xs:element name="VeterinarianDataList" type="imp:VeterinarianDataList" minOccurs="0"/>
      <xs:element name="ReleaseOrderData" type="imp:ReleaseOrderData" minOccurs="0"/>
      <xs:element name="ReturnLocationData" type="imp:ReturnLocationData" minOccurs="0"/>
      <xs:element name="UnloadingPermission" type="imp:UnloadingDetailsType" minOccurs="0"/>
      <xs:element name="UnloadingRemarks" type="imp:UnloadingDetailsType" minOccurs="0"/>
      <xs:element name="AdditionalInformation" type="imp:TextType" minOccurs="0"/>
      <xs:element name="AdditionalStatusDate" type="imp:AdditionalStatusDateType" minOccurs="0" maxOccurs="10"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="StatusMessageHeaderType">
    <xs:sequence>
      <xs:element name="AdditionalReferences" type="imp:ReferenceType" minOccurs="0" maxOccurs="9"/>
      <xs:element name="Status" type="imp:StatusType"/>
      <xs:element name="CustodyStatusContainer" type="imp:StatusType" minOccurs="0"/>
      <xs:element name="EventLocation" type="imp:EventLocation" minOccurs="0"/>
      <xs:element name="EventDateTime" type="imp:EventDateTime"/>
      <xs:element name="InitialSender" type="imp:PartyType" minOccurs="0"/>
      <xs:element name="InvolvedParty" type="imp:PartyType" minOccurs="0" maxOccurs="9"/>
      <xs:element name="TransportMeans" type="imp:TransportMeans" minOccurs="0"/>
      <xs:element name="VoyageNumer" type="imp:VoyageNumber" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="StatusType">
    <xs:sequence>
      <xs:element name="StatusCode" type="imp:CodeType"/>
      <xs:element name="StatusDescription" type="imp:TextType" minOccurs="0"/>
      <xs:element name="AdditionalStatusInformation" type="imp:AdditionalStatusInformation" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="StatusTypeEnum">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:simpleType name="Street">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SubLocation">
    <xs:sequence>
      <xs:element name="LocationID" type="imp:LocationID" minOccurs="0"/>
      <xs:element name="LocationName" type="imp:LocationName" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SubsequentCustomsDeclarationStatusData">
    <xs:sequence>
      <xs:element name="CustomsProceduresTypeCode" type="imp:CustomsProceduresTypeCode"/>
      <xs:element name="CustomsReference" type="xs:string" minOccurs="0"/>
      <xs:element name="OtherRegistrationNumber" type="imp:an..35Type" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SubsidiaryNumber">
    <xs:restriction base="imp:an4Type">
      <xs:pattern value="[0-9]{4}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TareWeightMeasure">
    <xs:complexContent>
      <xs:extension base="imp:MeasureType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TaxNumber">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="12"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TemperatureMeasureType">
    <xs:simpleContent>
      <xs:extension base="imp:Decimal..15">
        <xs:attribute name="unitCode" type="xs:string" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TextType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="languageID" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="TotalHeight">
    <xs:restriction base="xs:decimal">
      <xs:totalDigits value="15"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TotalLength">
    <xs:restriction base="xs:decimal">
      <xs:totalDigits value="15"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TotalNumberOfPackages">
    <xs:restriction base="imp:Decimal..15">
      <xs:pattern value="\d{1,15}"/>
      <xs:totalDigits value="7"/>
      <xs:fractionDigits value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TransportLocation">
    <xs:complexContent>
      <xs:extension base="imp:LocationType"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TransportMeans">
    <xs:sequence>
      <xs:element name="TransportMeansTypeCode" type="imp:TransportMeansTypeCode" minOccurs="0"/>
      <xs:element name="TransportMeansID" type="imp:TransportMeansID" minOccurs="0"/>
      <xs:element name="TransportMeansName" type="imp:TransportMeansName" minOccurs="0"/>
      <xs:element name="CallSign" type="imp:CallSign" minOccurs="0"/>
      <xs:element name="NationalityCode" type="imp:CountryCode" minOccurs="0"/>
      <xs:element name="CarrierParty" type="imp:CarrierParty" minOccurs="0"/>
      <xs:element name="EstimatedDepartureDateType" type="imp:EstimatedDepartureDateType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransportMeansID">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="schemeID" type="xs:string" default="103"/>
        <xs:attribute name="agencyID" type="xs:string" default="11"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="TransportMeansName">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TransportMeansTypeCode">
    <xs:simpleContent>
      <xs:extension base="imp:TransportMeansTypeCodeContent"/>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="TransportMeansTypeCodeContent">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TurnInReference">
    <xs:restriction base="imp:an..35Type"/>
  </xs:simpleType>
  <xs:complexType name="UnloadingDetailsType">
    <xs:sequence>
      <xs:element name="MRN" type="imp:MRN" minOccurs="0"/>
      <xs:element name="TotalGrossWeight" type="imp:GrossWeightMeasure" minOccurs="0"/>
      <xs:element name="TotalNumberOfPackages" type="imp:TotalNumberOfPackages" minOccurs="0"/>
      <xs:element name="NumberOfSeals" type="imp:n4Type" minOccurs="0"/>
      <xs:element name="Seals" type="imp:Seals" minOccurs="0"/>
      <xs:element name="NCTSPositions" type="imp:NCTSPositions" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VATNumber">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="14"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VeterinarianData">
    <xs:sequence>
      <xs:element name="SeqNumber" type="xs:integer"/>
      <xs:element name="CommonVeterinaryEntryDocumentNumber" type="imp:CommonVeterinaryEntryDocumentNumberType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VeterinarianDataList">
    <xs:sequence>
      <xs:element name="VeterinarianData" type="imp:VeterinarianData" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VoyageNumber">
    <xs:restriction base="imp:an..17Type">
      <xs:minLength value="1"/>
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ZaaType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="3"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
