<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cmn="http://xmlns.gemsystem.cz/CommonB2B"
            xmlns:tns="http://www.gem.com/b2b/wss/2" targetNamespace="http://www.gem.com/b2b/wss/2"
            elementFormDefault="qualified"
            >
	<xsd:annotation>
		<xsd:documentation>$Revision: 77476 $</xsd:documentation>
		<xsd:documentation>$Date: 2015-01-16 10:52:16 +0100 $</xsd:documentation>
		<xsd:documentation>$Author: lvlk $</xsd:documentation>
	</xsd:annotation>

    <xsd:import schemaLocation="CommonB2B.xsd" namespace="http://xmlns.gemsystem.cz/CommonB2B"/>

    <xsd:element name="odeslaniZpravPozadavek" type="tns:OdeslaniZpravPozadavekTyp">
        <xsd:annotation>
            <xsd:documentation>
                Požadavek na zaslání 1..5 zpráv do B2B brány VZP ČR
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="odeslaniZpravOdpoved" type="tns:OdeslaniZpravOdpovedTyp">
        <xsd:annotation>
            <xsd:documentation>
                Odpověď na požadavek zaslání zpráv do B2B brány VZP ČR
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="avizoPozadavek" type="tns:AvizoPozadavekTyp">
        <xsd:annotation>
            <xsd:documentation>
                Požadavek na získání avíza - seznamu čekajících zpráv pro partnera
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="avizoOdpoved" type="tns:AvizoOdpovedTyp">
        <xsd:annotation>
            <xsd:documentation>
                Avízo - seznam čekajících zpráv pro partnera
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="prijemZpravPozadavek" type="tns:PrijemZpravPozadavekTyp">
        <xsd:annotation>
            <xsd:documentation>
                Požadavek na příjem vybraných čekajících zpráv partnera z B2B brány VZP ČR
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="prijemZpravOdpoved" type="tns:PrijemZpravOdpovedTyp">
        <xsd:annotation>
            <xsd:documentation>
                Příjem vybraných 1..5 čekajících zpráv partnera z B2B brány VZP ČR
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="potvrzeniZpravPozadavek" type="tns:PotvrzeniZpravPozadavekTyp">
        <xsd:annotation>
            <xsd:documentation>
                Požadavek na potvrzení příjmu čekajících zpráv partnera z B2B brány VZP ČR
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:element name="potvrzeniZpravOpoved" type="tns:PotvrzeniZpravOdpovedTyp">
        <xsd:annotation>
            <xsd:documentation>
                Odpověď na potvrzení příjmu čekajících zpráv partnera z B2B brány VZP ČR
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:complexType name="PrijemZpravPozadavekTyp">
        <xsd:sequence>
            <xsd:element name="idOdpovedi" type="tns:IdOdpovediTyp" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PrijemZpravOdpovedTyp">
        <xsd:sequence>
            <xsd:element name="seznamZprav" type="tns:SeznamZpravTyp" minOccurs="0"/>
            <xsd:element name="stavVyrizeniPozadavku" type="cmn:StavVyrizeniPozadavkuTyp"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:simpleType name="TypZpravyTyp">
        <xsd:annotation>
            <xsd:documentation>Typ zpravy</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="255"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="SubjektTyp">
        <xsd:sequence>
            <xsd:element name="idSubjektu" type="cmn:IdSubjektuTyp"/>
            <xsd:element name="typSubjektu" type="cmn:TypSubjektuTyp"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:simpleType name="IdPozadavkuTyp">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="50"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="IdOdpovediTyp">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="50"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="OdeslaniZpravPozadavekTyp">
        <xsd:sequence>
            <xsd:element name="typZpravy" type="tns:TypZpravyTyp"/>
            <xsd:element name="pozadavek" type="tns:PozadavekTyp" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="ZpravaTyp">
        <xsd:sequence>
            <xsd:element name="typZpravy" type="tns:TypZpravyTyp" minOccurs="0"/>
            <xsd:element name="idPozadavku" type="tns:IdPozadavkuTyp" minOccurs="0" nillable="true"/>
            <xsd:element name="idOdpovedi" type="tns:IdOdpovediTyp"/>
            <xsd:element name="casVytvoreni" type="tns:CasovaZnackaTyp" minOccurs="0"/>
            <xsd:element name="obsahZpravy" type="tns:ObsahZpravyTyp" minOccurs="0"/>
            <xsd:element name="stavVyrizeniZpravy" type="cmn:StavVyrizeniPozadavkuTyp">
                <xsd:annotation>
                    <xsd:documentation>
                        Obsahuje stav vyřízení požadavku na příjem zprávy. Možné hodnoty jsou 1 (OK)
                        a 0 (zpráva nenalezena nebo partner nemá oprávnění k jejímu čtení).
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PozadavekTyp">
        <xsd:sequence>
            <xsd:element name="obsahZpravy" type="tns:ObsahZpravyPozadavekTyp"/>
        </xsd:sequence>
        <xsd:attribute name="poradiPozadavku" type="tns:PoradiPozadavkuTyp" use="required"/>
    </xsd:complexType>

    <xsd:simpleType name="PoradiPozadavkuTyp">
        <xsd:restriction base="xsd:integer">
            <xsd:minInclusive value="1"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="CasovaZnackaTyp">
        <xsd:restriction base="xsd:dateTime"/>
    </xsd:simpleType>

    <xsd:simpleType name="ObsahZpravyTyp">
        <xsd:restriction base="xsd:base64Binary"/>
    </xsd:simpleType>

    <xsd:simpleType name="ObsahZpravyPozadavekTyp">
        <xsd:restriction base="xsd:base64Binary">
            <xsd:maxLength value="10000000"/>
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="SeznamZpravTyp">
        <xsd:sequence maxOccurs="unbounded">
            <xsd:element name="zprava" type="tns:ZpravaTyp"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="OdeslaniZpravOdpovedTyp">
        <xsd:sequence>
            <xsd:element name="typZpravy" type="tns:TypZpravyTyp"/>
            <xsd:element name="pozadavek" type="tns:PozadavekOdpovedTyp" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="stavVyrizeniPozadavku" type="cmn:StavVyrizeniPozadavkuTyp"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PozadavekOdpovedTyp">
        <xsd:sequence>
            <xsd:element name="idPozadavku" type="tns:IdPozadavkuTyp"/>
        </xsd:sequence>
        <xsd:attribute name="poradiPozadavku" type="tns:PoradiPozadavkuTyp" use="required"/>
    </xsd:complexType>

    <xsd:complexType name="AvizoPozadavekTyp"/>

    <xsd:complexType name="AvizoOdpovedTyp">
        <xsd:sequence>
            <xsd:element name="avizoSeznamZprav" nillable="false" type="tns:AvizoSeznamZpravTyp" minOccurs="0"/>
            <xsd:element name="stavVyrizeniPozadavku" type="cmn:StavVyrizeniPozadavkuTyp"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="AvizoSeznamZpravTyp">
        <xsd:sequence>
            <xsd:element name="avizoZprava" type="tns:AvizoZpravaTyp" maxOccurs="unbounded" minOccurs="1"/>
        </xsd:sequence>
        <xsd:attribute name="zkraceno" type="xsd:boolean"/>
    </xsd:complexType>

    <xsd:complexType name="AvizoZpravaTyp">
        <xsd:sequence>
            <xsd:element name="typZpravy" type="tns:TypZpravyTyp"/>
            <xsd:element name="idPozadavku" type="tns:IdPozadavkuTyp" minOccurs="0"/>
            <xsd:element name="idOdpovedi" type="tns:IdOdpovediTyp"/>
            <xsd:element name="subjekt" type="tns:SubjektTyp" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PotvrzeniZpravPozadavekTyp">
        <xsd:sequence>
            <xsd:element name="idOdpovedi" type="tns:IdOdpovediTyp" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="PotvrzeniZpravOdpovedTyp">
        <xsd:sequence>
            <xsd:element name="idOdpovedi" type="tns:IdOdpovediTyp" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>
                        V případě chyby odkazuje na první nevalidní požadavek
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="stavVyrizeniPozadavku" type="cmn:StavVyrizeniPozadavkuTyp"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>


