<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ie="http://www.icisnet.gr/emcs/v1.03/vm01/ie" xmlns:emcs="http://www.icisnet.gr/emcs/v1.03/types" xmlns:tms="http://www.icisnet.gr/emcs/v1.03/tms" xmlns:tcl="http://www.icisnet.gr/emcs/v1.03/tcl" xmlns:doc="http://www.icisnet.gr/emcs/v1.03/doc" targetNamespace="http://www.icisnet.gr/emcs/v1.03/vm01/ie" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.03">
  <!--=========================================-->
  <!--===== VM01:N_ADO_VAL -->
  <!--===== ΑΔΟ -->
  <!--=========================================-->
  <!--===== Imports =====-->
  <xs:import namespace="http://www.icisnet.gr/emcs/v1.03/types" schemaLocation="types.xsd" />
  <xs:import namespace="http://www.icisnet.gr/emcs/v1.03/tms" schemaLocation="tms.xsd" />
  <xs:import namespace="http://www.icisnet.gr/emcs/v1.03/tcl" schemaLocation="tcl.xsd" />
  <xs:import namespace="http://www.icisnet.gr/emcs/v1.03/doc" schemaLocation="doc.xsd" />
  <!--===== Root Element =====-->
  <xs:element name="VM01A" type="ie:VM01AType" />
  <!--===== EMCS Data Groups Declarations =====-->
  <xs:complexType name="VM01AType">
    <xs:sequence>
      <xs:element name="Header" type="tms:HeaderType" />
      <xs:element name="Body" type="ie:BodyType" />
    </xs:sequence>
  </xs:complexType>
  <!--===== IE Specific Data Groups Declarations =====-->
  <xs:complexType name="BodyType">
    <xs:sequence>
      <xs:element name="VehicleMovementPermission" type="ie:VehicleMovementPermissionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleMovementPermissionType">
    <xs:sequence>
      <xs:element name="SubmittingOperator" type="ie:SubmittingOperatorType" minOccurs="0" />
      <xs:element name="VehicleMovement" type="ie:VehicleMovementType" />
      <xs:element name="Guarantor" type="ie:GuarantorType" />
      <xs:element name="VehicleMovementConsignor" type="ie:VehicleMovementConsignorType" />
      <xs:element name="VehicleMovementConsignee" type="ie:VehicleMovementConsigneeType" />
      <xs:element name="VehicleDetails" type="ie:VehicleDetailsType" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SubmittingOperatorType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="SUBMITTING OPERATOR" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubmittingOperatorIdentification" type="emcs:SubmittingOperatorIdentificationType" />
      <xs:element name="SubmittingTraderIdentification" type="emcs:SubmittingTraderIdentificationType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleMovementType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="VEHICLE MOVEMENT" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DeclarationReferenceNumber" type="emcs:DeclarationReferenceNumberType" />
      <xs:element name="DeclarationReferenceNumberOfOrigin" type="emcs:DeclarationReferenceNumberType" minOccurs="0" />
      <xs:element name="LocalReferenceNumber" type="emcs:LocalReferenceNumberType" />
      <xs:element name="Fallbackflag" type="tcl:Flag" />
      <xs:element name="FallbackDocumentReference" type="emcs:FallbackDocumentReferenceType" minOccurs="0" />
      <xs:element name="FallbackOffice" type="emcs:ExciseOfficeCodeType" minOccurs="0" />
      <xs:element name="RegistrationDate" type="emcs:DateType" />
      <xs:element name="VehicleMovementMeans" type="tcl:VehicleMovementMeansCodes" />
      <xs:element name="TransporterTaxNumber" type="emcs:TransporterTaxNumberType" minOccurs="0" />
      <xs:element name="InvoiceReference" type="emcs:InvoiceReferenceType" minOccurs="0" />
      <xs:element name="TransportVehicleRegistrationPlate" type="emcs:TransportVehicleRegistrationPlateType" minOccurs="0" />
      <xs:element name="TransportVehicleCountry" type="emcs:CountryCodeType" minOccurs="0" />
      <xs:element name="DurationInDays" type="emcs:DurationInDaysType" minOccurs="0" />
      <xs:element name="VehiclesPrice" type="emcs:VehiclesPriceType" minOccurs="0" />
      <xs:element name="ManifestReference" type="emcs:ManifestReferenceType" minOccurs="0" />
      <xs:element name="DateOfDispatch" type="emcs:DateType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GuarantorType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="GUARANTOR" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="GuaranteeResponsibility" type="tcl:GuaranteeResponsibilityCodes" />
      <xs:element name="GuaranteeReference" type="ie:GuaranteeReferenceType" maxOccurs="2" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GuaranteeReferenceType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="GUARANTEE REFERENCE" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="GuaranteeReferenceNumber" type="emcs:GuaranteeReferenceNumberType" />
      <xs:element name="Amount" type="emcs:AmountType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleMovementConsignorType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="VEHICLE MOVEMENT CONSIGNOR" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="VehicleMovementConsignorType" type="tcl:VehicleMovementConsignorTypeCodes" />
      <xs:element name="VehicleTaxWarehouseReference" type="emcs:VehicleTaxWarehouseReferenceType" minOccurs="0" />
      <xs:element name="VehicleWarehouseKeeperReference" type="emcs:VehicleWarehouseKeeperReferenceType" minOccurs="0" />
      <xs:element name="VehicleMovementDeclarationReferenceNumber" type="emcs:DeclarationReferenceNumberType" minOccurs="0" />
      <xs:element name="VehicleArrivalDeclarationReferenceNumber" type="emcs:DeclarationReferenceNumberType" minOccurs="0" />
      <xs:element name="ConsignorContactDetails" type="ie:ConsignorContactDetailsType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ConsignorContactDetailsType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="CONSIGNOR CONTACT DETAILS" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TaxIdNumber" type="emcs:TaxIdNumberType" />
      <xs:element name="Forenames" type="emcs:ForenamesType" minOccurs="0" />
      <xs:element name="LastNames" type="emcs:LastNamesType" minOccurs="0" />
      <xs:element name="NameOfFather" type="emcs:NameOfFatherType" minOccurs="0" />
      <xs:element name="Address" type="emcs:AddressType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleMovementConsigneeType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="VEHICLE MOVEMENT CONSIGNEE" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="VehicleMovementActionType" type="tcl:VehicleMovementActionTypeCodes" />
      <xs:element name="VehicleTaxWarehouseReference" type="emcs:VehicleTaxWarehouseReferenceType" minOccurs="0" />
      <xs:element name="VehicleWarehouseKeeperReference" type="emcs:VehicleWarehouseKeeperReferenceType" minOccurs="0" />
      <xs:element name="VehicleMovementForTransfer" type="ie:VehicleMovementForTransferType" minOccurs="0" />
      <xs:element name="VehicleMovementForSendBack" type="ie:VehicleMovementForSendBackType" minOccurs="0" />
      <xs:element name="ConsigneeContactDetails" type="ie:ConsigneeContactDetailsType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleMovementForTransferType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="VEHICLE MOVEMENT FOR TRANSFER" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OfficeOfResponsibility" type="emcs:ExciseOfficeCodeType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleMovementForSendBackType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="VEHICLE MOVEMENT FOR SEND BACK" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OfficeOfOrigin" type="emcs:ExciseOfficeCodeType" />
      <xs:element name="CountryOfDestination" type="emcs:CountryCodeType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ConsigneeContactDetailsType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="CONSIGNEE CONTACT DETAILS" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TaxIdNumber" type="emcs:TaxIdNumberType" />
      <xs:element name="Forenames" type="emcs:ForenamesType" minOccurs="0" />
      <xs:element name="LastNames" type="emcs:LastNamesType" minOccurs="0" />
      <xs:element name="NameOfFather" type="emcs:NameOfFatherType" minOccurs="0" />
      <xs:element name="Address" type="emcs:AddressType" minOccurs="0" />
      <xs:element name="PostCode" type="emcs:PostCodeType" minOccurs="0" />
      <xs:element name="City" type="emcs:CityType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleDetailsType">
    <xs:annotation>
      <xs:documentation>
        <doc:description value="VEHICLE DETAILS" />
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="FrameNumber" type="emcs:FrameNumberType" />
      <xs:element name="CarKind" type="emcs:CarKindType" />
      <xs:element name="ImporterCodeOrBrandName" type="emcs:ImporterCodeOrBrandNameType" />
      <xs:element name="FirstAllowanceDate" type="emcs:DateType" minOccurs="0" />
      <xs:element name="VehicleFactoryType" type="emcs:VehicleFactoryTypeType" minOccurs="0" />
      <xs:element name="VehicleUsedFlag" type="tcl:Flag" />
      <xs:element name="VehicleModelName" type="emcs:VehicleModelNameType" minOccurs="0" />
      <xs:element name="TemporaryRegistrationPlate" type="emcs:TemporaryRegistrationPlateType" minOccurs="0" />
      <xs:element name="OfficeTemporaryRegistrationPlateIssuer" type="emcs:ExciseOfficeCodeType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>

