<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="PassarImportAssessment" type="PassarImportAssessmentType">
    <xs:annotation>
      <xs:documentation>Version 001 - Release 002</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:simpleType name="an..10">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..100">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..17">
    <xs:restriction base="xs:string">
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..18">
    <xs:restriction base="xs:string">
      <xs:maxLength value="18"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..2">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..256">
    <xs:restriction base="xs:string">
      <xs:maxLength value="256"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..35">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..36">
    <xs:restriction base="xs:string">
      <xs:maxLength value="36"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..500M">
    <xs:restriction base="xs:string">
      <xs:maxLength value="500000000"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..9">
    <xs:restriction base="xs:string">
      <xs:maxLength value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsDataType">
    <xs:sequence>
      <xs:element name="Key" type="an..35" minOccurs="0"/>
      <xs:element name="Value" type="an..100" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsType">
    <xs:sequence>
      <xs:element name="Data" type="ApplicationInternalDataAdditionalDetailsDataType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataType">
    <xs:sequence>
      <xs:element name="AdditionalDetails" type="ApplicationInternalDataAdditionalDetailsType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="indicator">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1"/>
      <xs:pattern value="[ 0N1JY]"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n10">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{10}"/>
      <xs:totalDigits value="10"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n2">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{2}"/>
      <xs:totalDigits value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n22.6">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{16}\.\d{6}"/>
      <xs:maxInclusive value="9999999999999999.999999"/>
      <xs:minInclusive value="0"/>
      <xs:totalDigits value="22"/>
      <xs:fractionDigits value="6"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n3">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{3}"/>
      <xs:totalDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n5">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{5}"/>
      <xs:totalDigits value="5"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PassarImportAssessmentAssessmentType">
    <xs:sequence>
      <xs:element name="Type" type="an..35" minOccurs="0"/>
      <xs:element name="TotalAmount" type="sign18.2" minOccurs="0"/>
      <xs:element name="CustomsDutiesAmount" type="sign18.2" minOccurs="0"/>
      <xs:element name="VATAmount" type="sign18.2" minOccurs="0"/>
      <xs:element name="ConsolidatedDecreeCharges" type="PassarImportAssessmentConsolidatedDecreeChargesType" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentAttachmentsType">
    <xs:sequence>
      <xs:element name="Attachment" type="PassarImportAssessmentAttachmentType" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentAttachmentType">
    <xs:sequence>
      <xs:element name="TechnicalContent" type="an..10" minOccurs="0"/>
      <xs:element name="OriginalFilename" type="an..256" minOccurs="0"/>
      <xs:element name="FileFormat" type="an..10" minOccurs="0"/>
      <xs:element name="DataEncoding" type="an..10" minOccurs="0"/>
      <xs:element name="Data" type="an..500M" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentConsolidatedDecreeChargesType">
    <xs:sequence>
      <xs:element name="Type" type="an..35" minOccurs="0"/>
      <xs:element name="Amount" type="sign18.2" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentFinanceDataType">
    <xs:sequence>
      <xs:element name="CustomsInvoiceRecipient" type="an..17" minOccurs="0"/>
      <xs:element name="CustomsInvoiceReferenceNumber" type="an..36" minOccurs="0"/>
      <xs:element name="ImmediatePayment" type="indicator" minOccurs="0"/>
      <xs:element name="VATInvoiceRecipient" type="an..17" minOccurs="0"/>
      <xs:element name="VATInvoiceReferenceNumber" type="an..36" minOccurs="0"/>
      <xs:element name="VATNumber" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentFlexibleContentType">
    <xs:sequence>
      <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##local" processContents="lax"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentGoodsItemAssessmentItemType">
    <xs:sequence>
      <xs:element name="Type" type="an..35" minOccurs="0"/>
      <xs:element name="FeeType" type="an..35" minOccurs="0"/>
      <xs:element name="Amount" type="sign18.2" minOccurs="0"/>
      <xs:element name="Factor" type="n10" minOccurs="0"/>
      <xs:element name="Quantity" type="n22.6" minOccurs="0"/>
      <xs:element name="Rate" type="n22.6" minOccurs="0"/>
      <xs:element name="Unit" type="an..35" minOccurs="0"/>
      <xs:element name="AdditionalTaxKey" type="an..3" minOccurs="0"/>
      <xs:element name="AdditionalTaxType" type="an..4" minOccurs="0"/>
      <xs:element name="CustomsFavourCode" type="an..2" minOccurs="0"/>
      <xs:element name="ENACode" type="an..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentGoodsItemFlexibleContentType">
    <xs:sequence>
      <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##local" processContents="lax"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentGoodsItemType">
    <xs:sequence>
      <xs:element name="GoodsItemNumber" type="n5" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..36" minOccurs="0"/>
      <xs:element name="NationalCustomsTariffNumber" type="an..9" minOccurs="0"/>
      <xs:element name="ControlCode" type="an..3" minOccurs="0"/>
      <xs:element name="AmountTotal" type="sign18.2" minOccurs="0"/>
      <xs:element name="CustomsDutiesAmount" type="sign18.2" minOccurs="0"/>
      <xs:element name="VATAmount" type="sign18.2" minOccurs="0"/>
      <xs:element name="AssessmentItem" type="PassarImportAssessmentGoodsItemAssessmentItemType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="FlexibleContent" type="PassarImportAssessmentGoodsItemFlexibleContentType" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentImportOperationType">
    <xs:sequence>
      <xs:element name="GoodsDeclarationReferenceNumber" type="an..18" minOccurs="0"/>
      <xs:element name="GoodsDeclarationReferenceNumberVersion" type="n2" minOccurs="0"/>
      <xs:element name="Assessment" type="PassarImportAssessmentAssessmentType" minOccurs="0"/>
      <xs:element name="FinanceData" type="PassarImportAssessmentFinanceDataType" minOccurs="0"/>
      <xs:element name="OppositeInformation" type="PassarImportAssessmentOppositeInformationType" minOccurs="0"/>
      <xs:element name="FlexibleContent" type="PassarImportAssessmentFlexibleContentType" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentObjektIdentifizierungType">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35"/>
      <xs:element name="NachrichtenNummer" type="an..36" minOccurs="0"/>
      <xs:element name="ZeitpunktEingang" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="ShipmentReferenz" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentOppositeInformationType">
    <xs:sequence>
      <xs:element name="Detail" type="an..256" minOccurs="0"/>
      <xs:element name="Text" type="an..35" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..36" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentResponseDataType">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="PassarImportAssessmentObjektIdentifizierungType" minOccurs="0"/>
      <xs:element name="ImportOperation" type="PassarImportAssessmentImportOperationType" minOccurs="0"/>
      <xs:element name="GoodsItem" type="PassarImportAssessmentGoodsItemType" minOccurs="0" maxOccurs="999"/>
      <xs:element name="Attachments" type="PassarImportAssessmentAttachmentsType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentTransaktionType">
    <xs:sequence>
      <xs:element name="IOPartner" type="an..100"/>
      <xs:element name="IODivision1" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision2" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision3" type="an..10" minOccurs="0"/>
      <xs:element name="IOReferenz" type="an..35"/>
      <xs:element name="IODatumZeit" type="xs:dateTime"/>
      <xs:element name="Version" type="n3" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PassarImportAssessmentType">
    <xs:sequence>
      <xs:element name="Transaktion" type="PassarImportAssessmentTransaktionType" minOccurs="0"/>
      <xs:element name="ResponseData" type="PassarImportAssessmentResponseDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="sign18.2">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="(\+|-)\d{16}\.\d{2}"/>
      <xs:maxInclusive value="+9999999999999999.99"/>
      <xs:minInclusive value="-9999999999999999.99"/>
      <xs:totalDigits value="18"/>
      <xs:fractionDigits value="2"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
