<?xml version='1.0' encoding='UTF-8'?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            targetNamespace="http://xmlns.vzp.cz/PovinneParametryB2B/1"
            xmlns="http://xmlns.vzp.cz/PovinneParametryB2B/1" 
            elementFormDefault="qualified" 
            version="1.0">
  <xsd:annotation>
    <xsd:documentation>
      Historie verzí:
      <ul>
        <li>1.0 - 6.9.2021 - prvotní verze</li>        
      </ul>     
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType name="parametryPozadavku">
    <xsd:annotation>
      <xsd:documentation>standardizované parametry požadavku</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="idZpravy" type="string32">
        <xsd:annotation>
          <xsd:documentation>unikátní identifikátor volání služby (doporučujeme vyplňovat GUID)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="duvodVolani" type="string256">
        <xsd:annotation>
          <xsd:documentation>
            Volný text s doporučenými texty podle GDPR. Správný důvod/životní situaci zná pouze konzument, který je vždy povinen jej vyplnit podle předepsaných důvodů:
              Nezpracovávají se osobní údaje
              Na základě souhlasu subjektu údajů
              Nezbytné pro splnění smlouvy
              Nezbytné pro splnění právní povinnosti
              Nezbytné pro ochranu životně důležitých zájmů subjektu údajů
              Nezbytné pro splnění úkolu prováděného ve veřejném zájmu nebo při výkonu veřejné moci
              Nezbytné pro účely oprávněných zájmů příslušného správce
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="idSubjektu" type="IdSubjektuTyp" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Identifikace konzumujícího subjektu</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="typSubjektu" type="TypSubjektuTyp" minOccurs="0">
        <xsd:annotation>                                   
          <xsd:documentation>Typ konzumujícího subjektu</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="parametryOdpovedi">
    <xsd:sequence>
      <xsd:element name="idZpravy" type="string32">
        <xsd:annotation>
          <xsd:documentation>unikátní identifikátor volání služby (stejná hodnota jako v požadavku)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="poradiOdpovedi" type="xsd:integer" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>pořadové číslo odpovědi na asynchronní volání služby</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="casOdpovedi" type="xsd:dateTime" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>čas odeslání odpovědi</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="stavVyrizeniPozadavku" type="StavVyrizeniPozadavkuTyp"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="IdSubjektuTyp">
    <xsd:annotation>
      <xsd:documentation>
        Identifikátor subjektu je závislý na typu subjektu:
          poj - číslo pojištěnce
          zp - IČZ
          zzp - číslo zdravotní pojišťovny
          ostatní - IČ a RČ  
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="12"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="TypSubjektuTyp">
    <xsd:annotation>
      <xsd:documentation>
        Datový typ pro typ subjektu:
          poj - pojištěnec
          osvc - OSVČ
          zam - zaměstnavatel
          zp - poskytovatel zdravotní péče
          si - státní instituce
          se - soudní exekutor
          fr - finanční ředitelství
          zzp - zaměstnanecká zdravotní pojišťovna
          partner - obecný B2B partner
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="poj"/>
      <xsd:enumeration value="osvc"/>
      <xsd:enumeration value="zam"/>      
      <xsd:enumeration value="zp"/>
      <xsd:enumeration value="si"/>
      <xsd:enumeration value="se"/>      
      <xsd:enumeration value="fr"/>      
      <xsd:enumeration value="zzp"/>
      <xsd:enumeration value="partner"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="StavVyrizeniPozadavkuTyp">
    <xsd:annotation>
      <xsd:documentation>
        <li>0: Data nenalezena</li>
        <li>1: Nalezen jeden záznam nebo obecná návratová hodnota OK</li>
        <li>2: Požadavek byl úspěšně přijat, zpracování bude pokračovat, očekávejte další odpověď</li>
        <li>9: Nalezeno více záznamů</li>
        <li>-1: Technická chyba</li>   
        <li>-2: Chyba vstupních dat</li>   
        <li>-3: Role nemá oprávnění odesílat data</li>
        <li>-4: Duplicitní identifikace požadavku</li>           
        <li>-9: Služba přijala požadavek, který bude zpracován později</li>   
        <li>-10: Zpráva je určena pro jiné prostředí</li>           
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:integer">
        <xsd:enumeration value="0"/>
        <xsd:enumeration value="1"/>
        <xsd:enumeration value="2"/>
        <xsd:enumeration value="9"/>
        <xsd:enumeration value="-1"/>
        <xsd:enumeration value="-2"/>
        <xsd:enumeration value="-3"/>
        <xsd:enumeration value="-4"/>        
        <xsd:enumeration value="-9"/>
        <xsd:enumeration value="-10"/>
    </xsd:restriction>
  </xsd:simpleType>  
  <xsd:simpleType name="string32">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0"/>
      <xsd:maxLength value="32"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="string256">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0"/>
      <xsd:maxLength value="256"/>
    </xsd:restriction>
  </xsd:simpleType>  
</xsd:schema>