<?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/RF415H7"
    targetNamespace="http://www.ros.ie/schemas/customs/RF415H7" 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"/>
    <xs:import namespace="http://www.ros.ie/schemas/customs/docH7" schemaLocation="AIS_docH7.xsd"/>

    <!--===== Root Element =====-->
    <xs:element name="RF415">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Application for remission of Customs debt"/> 
            </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="Parties_type" minOccurs="1" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Parties"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>

                <xs:element name="DatesPlaces" type="DatesPlaces_type" minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Dates/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"/>
                            <doc:rule name="BR4180"/>
                            <doc:rule name="BR8065"/>
                            <doc:rule name="BR8066"/>
                            <doc:rule name="BR8069"/>
                            <doc:rule name="R0678"/>
                        </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="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="BankDetails" type="simple:FreeText512_type" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Bank and account details"/>
                        </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="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="AmountOfDutiesToBeRepaid"
                    type="complex:AmountOfDutiesToBeRepaid_type" minOccurs="1">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Amount of Duties to be Repaid or be Remitted"/>
                            <doc:rule name="BR5156"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="AdditionalInformation" type="simple:FreeText512_type"
                    minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <doc:description value="Additional information"/>
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- 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" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Application/Decision code type"/>
                        <doc:rule name="BR8068"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Signature" type="simple:Signature_type" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Signature/authentication"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TotalNumberOfDocuments" type="simple:TotalNumberOfDocuments_type"
                minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Total Number of Documents"/>
                    </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="CommodityCode" type="complex:CommodityCode_type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Commodity code"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="GoodsDescription" type="simple:FreeText512_type" minOccurs="0"
                maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Description of Goods"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="GoodsQuantity" type="complex:GoodsQuantity_RF415_type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Goods Quantity"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CustomsValue" type="complex:CustomsValue_RF415_type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Customs Value"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TypeOfDuty" type="TypeOfDuty_RF415_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:sequence>
    </xs:complexType>

    <xs:complexType name="TypeOfDuty_RF415_type">
        <xs:sequence minOccurs="0">
            <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="Parties_type">
        <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"/>
                        <doc:rule name="BR8067"/>
                        <doc:rule name="BR3181"/>
                        <doc:rule name="BR3182"/>
                    </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"/>
                        <doc:rule name="BR3181"/>
                        <doc:rule name="BR3182"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ContactPerson" type="complex:ContactPerson_type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Contact person responsible for application"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DatesPlaces_type">
        <xs:sequence>
            <xs:element name="Date" type="simple:Date_type" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="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"/>
                        <doc:rule name="BR0020"/>
                    </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"/>
                        <doc:rule name="BR0020"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LocationOfGoods" type="complex:GoodsLocation_type" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
