<?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/RF409H7"
    targetNamespace="http://www.ros.ie/schemas/customs/RF409H7" 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="RF409">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Decision on refund application"/>
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Header" type="HeaderType">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Declaration"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="AttachedDocuments" type="complex:AttachedDocument_type"
                    minOccurs="0" maxOccurs="99">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Attached Documents"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Parties" type="PartiesType" minOccurs="1" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Parties"/>
                        </xs:documentation>
                    </xs:annotation>

                </xs:element>
                <xs:element name="DatesPlaces" type="DatePlacesType" minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Dates and Places"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="MRN" type="simple:MRN_type" minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="MRN"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="LegalBasisCodes" type="complex:LegalBasisCode_type" minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Legal Basis Codes"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="CustomsProcedure" type="complex:CustomsProcedure_type"
                    minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Customs procedure (request for completion of formalities)"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="GoodsInformation" type="GoodsInformationType" minOccurs="0"
                    maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Goods information"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>

                <xs:element name="DutiesToBeRemitted" type="complex:AmountOfDutiesRF409_type"
                    minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Amount of Duties to be Repaid or be Remitted"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="TypeOfDuty" type="TypeOfDuty_type" minOccurs="0" maxOccurs="99">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Type of import or export duty"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="DestinationOfGoods" type="simple:FreeText512_type" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Use or destination of goods"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="TimeLimit" type="simple:TimeLimit_type" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Time limit for completion of formalities"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="StatementOfTheDecision" type="simple:FreeText512_type"
                    minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Statement of the decision taking customs authority"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="DescriptionOfGrounds" type="simple:FreeText512_type" minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Description of Grounds"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="GeneralRemarks" type="RemarksType" minOccurs="1" maxOccurs="9">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="General Remarks"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="TypeOfDuty_RF409_type">
        <xs:sequence>
            <xs:element name="UnionCode" type="simple:TaxType_type" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Union Codes"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="NationalCode" type="simple:TaxType_type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="National Code"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="TypeOfDuty_type">
        <xs:sequence minOccurs="0">
            <xs:element name="TypeOfDuty" type="TypeOfDuty_RF409_type" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Type of Duty"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <!-- HeaderType -->
    <xs:complexType name="HeaderType">
        <xs:sequence>
            <xs:element name="ApplicationReferenceId" type="simple:ApplicationReferenceIdRF_type"
                minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Application Reference Id"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ApplicationDecisionCodeType"
                type="simple:ApplicationDecisionCodeType_type" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Application/Decision code type"/>
                        <!--="BR8068"/>-->
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RefundApplicationAccepted" type="simple:RefundApplicationType_type"
                minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Refund Application Accepted"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Signature" type="simple:Signature_type" maxOccurs="1" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Signature/authentication"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element maxOccurs="1" minOccurs="1" name="DecisionTakingCustomsAuthority"
                type="simple:CustomsOffice_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Decision taking customs authority"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TotalNumberOfDocuments" type="simple:TotalNumberOfDocuments_type"
                maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Total Number of Documents"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DatePlacesType">
        <xs:sequence>
            <xs:element name="Date" type="simple:Date_type" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="4/2 Date"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="OfficeOfDept" type="simple:CustomsOffice_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Customs office where the debt was notified"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="OfficeOfResponsibility" type="simple:CustomsOffice_type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Customs office responsible for the place where the goods are located"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>


    <xs:complexType name="PartiesType">
        <xs:sequence>
            <xs:element name="Applicant" type="simple:TraderIdentification_type" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Applicant/Holder of the authorisation or decision identification"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RepresentativeIdentification" type="simple:TraderIdentification_type"
                minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Representative Identification"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <!-- Goods Information Type-->
    <xs:complexType name="GoodsInformationType">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Goods information"/>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0">
            <xs:element name="CustomsValue" type="CustomsValueType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Customs Value"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="RemarksType">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Goods information"/>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GeneralRemarks" type="simple:Remarks_type"> </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CustomsValueType">
        <xs:sequence minOccurs="0">
            <xs:element name="Currency" type="simple:Currency_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Currency"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Amount" type="simple:Amount_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Amount"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CustomsOffice_type">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Customs Office"/>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence> </xs:sequence>
    </xs:complexType>

</xs:schema>
