<?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/TS316"
    targetNamespace="http://www.ros.ie/schemas/customs/TS316" 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="TS316" type="TS316">
        <xs:annotation>
            <xs:documentation><doc:description value="TSD Rejection"/></xs:documentation>
        </xs:annotation>
    </xs:element>

    <xs:complexType name="TS316">
        <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="LRN_2_5" type="simple:LRN_type" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="2/5: LRN"/>
                        <doc:wco value="D026"/>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RejectionDate" type="simple:Date_type" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation><doc:description value="Declaration Rejection Date"/></xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RejectionMotivationText" type="simple:FreeText350_type" minOccurs="0"
                maxOccurs="1">
                <xs:annotation>
                    <xs:documentation><doc:description value="Declaration 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>
                        <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="0">
                <xs:annotation>
                    <xs:documentation>
                        <doc:description value="Parties"/>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence minOccurs="0">
                        <xs:element name="Declarant" type="Declarant_type" minOccurs="0"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

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

</xs:schema>
