<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://xmlns.gemsystem.cz/B2B/ZurnalPartnera/1.0"
    xmlns:tns="http://xmlns.gemsystem.cz/B2B/ZurnalPartnera/1.0"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xsd:annotation>
        <xsd:documentation>Služba žurnál zpracování asynchronních zpráv umožňuje partnerovi odeslat asynchronní zprávu, která partnera v odpovědi informuje o průběhu zpracování asynchronních zpráv v B2B bráně.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleType name="idZpravyTyp">
        <xsd:annotation>
            <xsd:documentation> Povoleno pouze 12 znaku a cislic bez specialnich znaku. </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="12"/>
            <xsd:pattern value="[0-9a-zA-Z]{1,12}"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="typZurnalu">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="podrobny"/>
            <xsd:enumeration value="souhrny"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="typZpravy">
        <xsd:restriction base="xsd:string"/>
    </xsd:simpleType>

    <xsd:simpleType name="stavZpracovani">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="vyrizeno"/>
            <xsd:enumeration value="zpracovani"/>
            <xsd:enumeration value="kontrola"/>
            <xsd:enumeration value="chyba"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="stavVyrizeniPozadavku">
        <xsd:restriction base="xsd:int">
            <xsd:enumeration value="-1">
                <xsd:annotation>
                    <xsd:documentation>Chybné vstupní parametry služby</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="1">
                <xsd:annotation>
                    <xsd:documentation>Úspěšné zpracování požadavku</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="ZurnalPartneraB2BPozadavek">
        <xsd:sequence>
            <xsd:element name="idZpravy" type="tns:idZpravyTyp">
                <xsd:annotation>
                    <xsd:documentation>Definice identifikátoru přenášené zprávy.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="typZurnalu" type="tns:typZurnalu">
                <xsd:annotation>
                    <xsd:documentation>Definice typu žurnálu: podrobny/souhrny. Pro partnery je připraven žurnál podrobný obsahující každou jednu zprávu a žurnál souhrný obsahující agregované informace o přenosu a zpracování zpráv.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="filtr" minOccurs="0" maxOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>volitelný filtr výstupu na základě parametrů definovaných v následující struktůře</xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="idZpravy" type="tns:idZpravyTyp" minOccurs="0"
                            maxOccurs="1"/>
                        <xsd:element name="typZpravy" type="tns:typZpravy" minOccurs="0"
                            maxOccurs="1"/>
                        <xsd:element name="datumOd" type="xsd:date" minOccurs="0" maxOccurs="1"/>
                        <xsd:element name="datumDo" type="xsd:date" minOccurs="0" maxOccurs="1"/>
                        <xsd:element name="stavZpracovani" type="tns:stavZpracovani"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ZurnalPartneraB2BOdpoved">
        <xsd:sequence>
            <xsd:element name="korelaceZpravy" type="tns:idZpravyTyp">
                <xsd:annotation>
                    <xsd:documentation>Korelace zprávy vychází z požadavku partnera a elementu idZpravy.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="podrobnyZurnal" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>Struktura vybraného typu žurnálu.</xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="idZpravy" type="tns:idZpravyTyp">
                            <xsd:annotation>
                                <xsd:documentation>Definice identifikátoru přenášené zprávy.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="typZpravy" type="tns:typZpravy">
                            <xsd:annotation>
                                <xsd:documentation>Označení přijaté zprávy.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="datumPrijetiZpravy" type="xsd:date">
                            <xsd:annotation>
                                <xsd:documentation>Datum přijetí zprávy.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="datumPosledniZmeny" type="xsd:date" minOccurs="0"
                            maxOccurs="1">
                            <xsd:annotation>
                                <xsd:documentation>Datum poslední změny stavu zpracování zprávy.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="stavZpracovani" type="tns:stavZpracovani">
                            <xsd:annotation>
                                <xsd:documentation>označení aktuálních stavů ve kterých se může zpráva nacházet, nabízí se rozlišení na stav:  
 vyrizeno  – bylo doručeno potvrzení o převzetí partnerem, komunikace je dokončena,
 zpracovani – probíhá proces zpracování požadavku, zpráva se zpracovává v interních systémech,
 kontrola – je vyžadována kontrola pracovníkem dohledového centra pro zajištění průchodnosti zprávy,
 chyba – zpráva skončila v chybovém stavu (například z důvodu nevalidního podpisu dat).
</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="souhrnyZurnal" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>Struktura vybraného typu žurnálu.</xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="typZpravy" type="tns:typZpravy">
                            <xsd:annotation>
                                <xsd:documentation>Označení přijaté zprávy.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="stavZpracovani" type="tns:stavZpracovani">
                            <xsd:annotation>
                                <xsd:documentation>označení aktuálních stavů ve kterých se může zpráva nacházet, nabízí se rozlišení na stav:  
 vyrizeno  – bylo doručeno potvrzení o převzetí partnerem, komunikace je dokončena,
 zpracovani – probíhá proces zpracování požadavku, zpráva se zpracovává v interních systémech,
 kontrola – je vyžadována kontrola pracovníkem dohledového centra pro zajištění průchodnosti zprávy,
 chyba – zpráva skončila v chybovém stavu (například z důvodu nevalidního podpisu dat).
</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="pocetZprav" type="xsd:int">
                            <xsd:annotation>
                                <xsd:documentation>Souhrnný počet přenášených zpráv.</xsd:documentation>
                            </xsd:annotation>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="stavVyrizeniPozadavku" type="tns:stavVyrizeniPozadavku">
                <xsd:annotation>
                    <xsd:documentation>Návratové kódy odpovědi.
</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:element name="ZurnalPartneraB2BPozadavek" type="tns:ZurnalPartneraB2BPozadavek">
        <xsd:annotation>
            <xsd:documentation>Požadavek na žurnál komunikace B2B.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="ZurnalPartneraB2BOdpoved" type="tns:ZurnalPartneraB2BOdpoved">
        <xsd:annotation>
            <xsd:documentation>Odpověď služby žurnálu B2B.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
</xsd:schema>
