<?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/doc"
    xmlns:base="http://www.ros.ie/schemas/customs/base" xmlns:simple="http://www.ros.ie/schemas/customs/simple"
    xmlns:complex="http://www.ros.ie/schemas/customs/complex" xmlns="http://www.ros.ie/schemas/customs/TS305"
    targetNamespace="http://www.ros.ie/schemas/customs/TS305" elementFormDefault="qualified" version="1.00">



    <!--===== Includes =====-->
    <xs:import namespace="http://www.ros.ie/schemas/customs/base" schemaLocation="AIS_base.xsd"/>
    <xs:import namespace="http://www.ros.ie/schemas/customs/simple" schemaLocation="AIS_simple.xsd"/>
    <xs:import namespace="http://www.ros.ie/schemas/customs/complex" schemaLocation="AIS_complex.xsd"/>

    <!--===== Root Element =====-->
    <xs:element name="TS305" type="TS305">
        <xs:annotation>
            <xs:documentation><doc:description value="Amendment Request Rejection"/></xs:documentation>
        </xs:annotation>
    </xs:element>

    <xs:complexType name="TS305">
        <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>


    <!-- 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="AmendmentRejectionDate" type="simple:Date_type">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Amendment Rejection Date"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AmendmentRejectionReason" type="base:Alphanumeric_Max350"
                minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Amendment Rejection Reason"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CustomsOffices" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Customs Offices"/>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence minOccurs="1">
                        <xs:element name="CustomsOfficeLodgement" type="simple:CustomsOffice_type"
                            minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>
                                   <doc:description value="Customs office of lodgement"/>
                                    <doc:codeList name="NationalCustomsOffice" type="business"/>
                                </xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Parties" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Parties"/>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence minOccurs="1">
                        <xs:element name="Declarant" type="Declarant_type" minOccurs="1"
                            maxOccurs="1"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <!-- GoodsShipmentType -->

    <!-- GoodsShipmenItemtType-->

    <!--Representative-->

    <xs:complexType name="Declarant_type">
        <xs:sequence minOccurs="1">
            <xs:element name="Declarant_3_18" type="simple:TraderIdentification_type" minOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="3/18 Identification number"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

</xs:schema>
