<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:cz:isvs:aisv:schemas:AisvDotazyData:v1"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:reg="urn:cz:isvs:reg:schemas:RegTypy:v1"
           xmlns:dt="urn:cz:isvs:aisv:schemas:AisvTypy:v1"
           targetNamespace="urn:cz:isvs:aisv:schemas:AisvDotazyData:v1"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified"
           version="1.0.0">

    <xs:annotation>
        <xs:documentation xml:lang="cs">XML schéma s definicemi dat pro služby AISV.</xs:documentation>
    </xs:annotation>

    <!-- Vývojová verze 0.9.0, 14.6.2023, Vladimír Hudec, Úvodní verze -->
    <!-- Vývojová verze 0.9.2, 9.9.2023, Vladimír Hudec, přidán ZmenaUdaje na výstupu a atribut zu na vstupu -->
    <!-- Vývojová verze 0.9.3, 20.11.2024, Tomáš Hudec, přidán IdTyp do AisvCtiZmenyDataType -->
    <!-- Verze 1.0.0, 27.5.2025, Jakub Svoboda, IdTyp povinný pro AisvCtiZmenyDataType -->
    <xs:import namespace="urn:cz:isvs:reg:schemas:RegTypy:v1" schemaLocation="../../RegTypy.xsd"/>
    <xs:import namespace="urn:cz:isvs:aisv:schemas:AisvTypy:v1" schemaLocation="AisvTypy.xsd" />

    <xs:element name="AisvCtiZmenyData" type="AisvCtiZmenyDataType" />
    <xs:element name="AisvCtiZmenyDataResponse" type="AisvCtiZmenyDataResponseType" />
    <xs:element name="AisvCtiZmenyZalozAifoData" type="AisvCtiZmenyZalozAifoDataType" />
    <xs:element name="AisvCtiZmenyZalozAifoDataResponse" type="AisvCtiZmenyDataResponseType" />
    <xs:element name="AisvCtiZmenyZalozIcoData" type="AisvCtiZmenyZalozIcoDataType" />
    <xs:element name="AisvCtiZmenyZalozIcoDataResponse" type="AisvCtiZmenyDataResponseType" />
    <xs:element name="AisvCtiZmenyIdData" type="AisvCtiZmenyIdDataType" />
    <xs:element name="AisvCtiZmenyIdDataResponse" type="AisvCtiZmenyDataResponseType" />
    <xs:element name="AisvCtiCiselnikUdajuData" type="AisvCtiCiselnikUdajuDataType" />
    <xs:element name="AisvCtiCiselnikUdajuDataResponse" type="AisvCtiCiselnikUdajuDataResponseType" />

    <xs:complexType name="AisvDotazyDataResponseType" abstract="true">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Společný předek všech odpovědí na dotazy ASV.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="AisvAplikacniStatus" type="dt:AisvAplikacniStatusType" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AisvCtiZmenyDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Vydání seznamu přihlášených subjektů, u kterých došlo ke změně referenčních údajů.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
			<xs:element name="Pagenda" type="reg:KodAgendyType"/>
			<xs:element name="Pais" type="reg:KodAisType"/>
			<xs:element name="IdTyp" type="dt:IdTypType"/>						
            <xs:element name="CasOd" type="dt:ZmenaCasType" minOccurs="0" />
            <xs:element name="CasDo" type="dt:ZmenaCasType" minOccurs="0" />
        </xs:sequence>
		<xs:attribute name="idz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dcz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="idzPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dczPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zu" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uvedeny zmeněné údaje</xs:documentation>
			</xs:annotation>
		</xs:attribute>
    </xs:complexType>

    <xs:complexType name="AisvCtiZmenyDataResponseType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Vydání seznamu nových/vybraných/přihlášených subjektů, u kterých došlo ke změně referenčních údajů, odpověď.
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AisvDotazyDataResponseType">
                <xs:sequence minOccurs="0">
                    <xs:element name="Zmeny" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                            <xs:sequence>
					            <xs:element name="PaisId" type="dt:PaisIdType" />
					            <xs:element name="ZmenaCas" type="dt:ZmenaCasType" minOccurs="0" />
					            <xs:element name="ZmenaId" type="dt:ZmenaIdType" minOccurs="0" />
					            <xs:element name="ZmenaUdaje" type="reg:KodyUdajuRppSeznamType" minOccurs="0" />
					            <xs:element name="PaisZmenaCas" type="dt:ZmenaCasType" minOccurs="0" />
					            <xs:element name="PaisZmenaId" type="dt:PaisZmenaIdType" minOccurs="0" />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="PosledniZmenaCas" type="dt:ZmenaCasType" />
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>


    <xs:complexType name="AisvCtiZmenyZalozAifoDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Vydání seznamu subjektů s AIFO, která byla nově založena.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
			<xs:element name="Pagenda" type="reg:KodAgendyType"/>
			<xs:element name="Pais" type="reg:KodAisType"/>
            <xs:element name="CasOd" type="dt:ZmenaCasType" minOccurs="0" />
            <xs:element name="CasDo" type="dt:ZmenaCasType" minOccurs="0" />
        </xs:sequence>
		<xs:attribute name="idz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dcz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="idzPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dczPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zu" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uvedeny zmeněné údaje</xs:documentation>
			</xs:annotation>
		</xs:attribute>
    </xs:complexType>

    <xs:complexType name="AisvCtiZmenyZalozIcoDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Vydání seznamu subjektů s IČO, která byla nově založena.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
			<xs:element name="Pagenda" type="reg:KodAgendyType"/>
			<xs:element name="Pais" type="reg:KodAisType"/>
            <xs:element name="CasOd" type="dt:ZmenaCasType" minOccurs="0" />
            <xs:element name="CasDo" type="dt:ZmenaCasType" minOccurs="0" />
        </xs:sequence>
		<xs:attribute name="idz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dcz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="idzPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dczPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zu" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uvedeny zmeněné údaje</xs:documentation>
			</xs:annotation>
		</xs:attribute>
    </xs:complexType>

    <xs:complexType name="AisvCtiZmenyIdDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Vydání seznamu vybraných subjektů, u kterých došlo ke změně referenčních údajů.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
			<xs:element name="Pagenda" type="reg:KodAgendyType"/>
			<xs:element name="Pais" type="reg:KodAisType"/>
            <xs:element name="CasOd" type="dt:ZmenaCasType" minOccurs="0" />
            <xs:element name="CasDo" type="dt:ZmenaCasType" minOccurs="0" />
            <xs:element name="PaisId" type="dt:PaisIdType" maxOccurs="unbounded" />
        </xs:sequence>
		<xs:attribute name="idz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dcz" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny AISV</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="idzPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden identifikátor změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dczPais" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uveden datum a čas změny PAIS</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zu" type="xs:boolean">
			<xs:annotation>
				<xs:documentation xml:lang="cs">Na výstupu bude uvedeny zmeněné údaje</xs:documentation>
			</xs:annotation>
		</xs:attribute>
    </xs:complexType>

    <xs:complexType name="AisvCtiCiselnikUdajuDataType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Výpis číselníku změn údajů.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
			<xs:element name="Pagenda" type="reg:KodAgendyType"/>
			<xs:element name="Pais" type="reg:KodAisType"/>
			<xs:element name="IdTyp" type="dt:IdTypType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AisvCtiCiselnikUdajuDataResponseType">
        <xs:annotation>
            <xs:documentation xml:lang="cs">Výpis číselníku změn údajů, odpověď.
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AisvDotazyDataResponseType">
                <xs:sequence minOccurs="0">
                    <xs:element name="CiselnikUdaju" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                            <xs:sequence>
					            <xs:element name="KodRpp" type="reg:NonEmptyNormStringType" />
					            <xs:element name="Komentar" type="xs:string" minOccurs="0" />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>
