<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:doc="http://www.ros.ie/schemas/customs/docH7"
    xmlns:base="http://www.ros.ie/schemas/customs/baseH7"
    xmlns:simple="http://www.ros.ie/schemas/customs/simpleH7"
    xmlns:complex="http://www.ros.ie/schemas/customs/complexH7"
    xmlns="http://www.ros.ie/schemas/customs/IM409H7"
    targetNamespace="http://www.ros.ie/schemas/customs/IM409H7" elementFormDefault="qualified"
    version="1.00">
    
    
    
    <!--===== Includes =====-->
    <xs:import namespace="http://www.ros.ie/schemas/customs/baseH7" schemaLocation="AIS_baseH7.xsd"/>
    <xs:import namespace="http://www.ros.ie/schemas/customs/simpleH7"
        schemaLocation="AIS_simpleH7.xsd"/>
    <xs:import namespace="http://www.ros.ie/schemas/customs/complexH7"
        schemaLocation="AIS_complexH7.xsd"/>
    
    <!--===== Root Element =====-->
    <xs:element name="IM409">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Invalidation Request Decision"/>
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Declaration" type="DeclarationType">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Declaration"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="FunctionalError" type="complex:FunctionalErrorType" minOccurs="0"
                    maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Functional Error"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    
    <!-- DeclarationType -->
    <xs:complexType name="DeclarationType">
        <xs:sequence>
            <xs:element name="MRN" type="simple:MRN_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="MRN"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="InvalidationDecision" type="simple:YesNo_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Invalidation Accepted"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="InvalidationInitiatedByCustoms" type="simple:YesNo_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Invalidation Initiated By Customs"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="InvalidationJustification" type="base:Alphanumeric_Max350">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Invalidation Decision Justification"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DateOfInvalidationDecision" type="simple:Date_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Date Of Invalidation Decision"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DateOfInvalidationRequest" type="simple:Date_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Date Of Invalidation Request"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DateOfInvalidation" type="simple:Date_type" minOccurs="0"
                maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Date Of Invalidation"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CustomsOffices" type="complex:CustomsOffices_type" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Customs Offices"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Parties" type="complex:Parties_type" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Parties"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
