<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="http://schemas.cssz.cz/PSZZ/2024" xmlns:bt="http://schemas.cssz.cz/baseTypes/v2" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://schemas.cssz.cz/PSZZ/2024" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="baseTypes2.xsd" namespace="http://schemas.cssz.cz/baseTypes/v2" />
  <xs:element name="pszz" type="PodaniPszzType" />
  <xs:complexType name="PodaniPszzType">
    <xs:sequence>
      <xs:element minOccurs="0" name="VENDOR">
        <xs:complexType>
          <xs:attribute name="productName" type="xs:string" />
          <xs:attribute name="productVersion" type="xs:string" />
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="SENDER">
        <xs:complexType>
          <xs:attribute name="EmailNotifikace" type="xs:string" />
          <xs:attribute name="ISDSreport" type="xs:string" />
          <xs:attribute name="VerzeProtokolu" type="xs:string" />
        </xs:complexType>
      </xs:element>
      <xs:element name="prehled" type="PrehledType" maxOccurs="1500"/>
    </xs:sequence>
    <xs:attribute name="partialAccept" type="xs:string" />
  </xs:complexType>
  <xs:element name="prehled" type="PrehledType" />
  <xs:complexType name="PrehledType">
    <xs:sequence>
      <xs:element name="kodOssz">
        <xs:annotation>
          <xs:documentation>Kód OSSZ z číselníku okresů</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleNType">
            <xs:minInclusive value="100" />
            <xs:maxInclusive value="999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="rok">
        <xs:annotation>
          <xs:documentation>Vykazované období &gt;= 1993</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="([1-2][0-9]{3})|([1-2][0-9]{3}-[1-2][0-9]{3})" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="zamestnavatel" type="ZamestnavatelType" />
      <xs:element name="zamestnanec" type="ZamestnanecType" />
      <xs:element maxOccurs="35" name="zamestnani" type="ZamestnaniType" />
      <xs:element name="datumVyplneni" type="xs:date" />
    </xs:sequence>
    <xs:attribute name="verze" use="required">
      <xs:simpleType>
        <xs:restriction base="bt:simpleNDType">
          <xs:minLength value="1" />
          <xs:maxLength value="10" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
	<xs:attribute name="poradoveCislo" use="required">
      <xs:annotation>
        <xs:documentation>Pořadové číslo formuláře v rámci podání, 1-1500</xs:documentation>
      </xs:annotation>
	  <xs:simpleType>
		<xs:restriction base="xs:int">
		  <xs:minInclusive value="1" />
		  <xs:maxInclusive value="1500" />
		</xs:restriction>
		</xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="ZamestnavatelType">
    <xs:sequence>
      <xs:element name="nazev">
        <xs:annotation>
          <xs:documentation>Název zaměstnavatele</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleL2Type">
            <xs:minLength value="1" />
            <xs:maxLength value="144" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="IC">
        <xs:annotation>
          <xs:documentation>Identifikační číslo zaměstnavatele</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleA_NN_ZZType">
            <xs:minLength value="1" />
            <xs:maxLength value="35" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vs">
        <xs:annotation>
          <xs:documentation>Variabilní symbol zaměstnavatele. Kontrola formátu VS.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleNNType">
            <xs:minLength value="8" />
            <xs:maxLength value="10" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="email">
        <xs:annotation>
          <xs:documentation>"Kontrola struktury e-mailu</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:minLength value="0" />
                <xs:maxLength value="250" />
            </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="telefon">
        <xs:annotation>
          <xs:documentation>"Telefon kontaktního pracovníka, 1 telefonní číslo (lze přidat linku: /xyz nebo l.xyz), NE e-mail adresa.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleA_NN_ZZ_SP_Type">
            <xs:minLength value="0" />
            <xs:maxLength value="33" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="idds">
        <xs:simpleType>
          <xs:restriction base="bt:simpleA_NNType">
            <xs:length value="7" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ZamestnanecType">
    <xs:sequence>
      <xs:element name="prijmeni">
        <xs:annotation>
          <xs:documentation>Příjmení</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleA_ZX_SP_Type">
            <xs:minLength value="1" />
            <xs:maxLength value="50" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="jmeno">
        <xs:annotation>
          <xs:documentation>Jméno</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleA_ZX_SP_Type">
            <xs:minLength value="1" />
            <xs:maxLength value="50" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="titul">
        <xs:simpleType>
          <xs:restriction base="bt:simpleA_ZX_SP_Type">
            <xs:minLength value="1" />
            <xs:maxLength value="30" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="datumNarozeni" type="xs:date">
        <xs:annotation>
          <xs:documentation>Kontrola proti RČ (EČP).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rodneCislo">
        <xs:annotation>
          <xs:documentation>Rodné číslo/EČP.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleNNType">
            <xs:minLength value="9" />
            <xs:maxLength value="10" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ZamestnaniType">
    <xs:sequence>
      <xs:element name="obdobiOd" type="xs:date" />
      <xs:element name="obdobiDo" type="xs:date" />
      <xs:element name="typSmeny">
        <xs:simpleType>
          <xs:restriction base="bt:simpleAType">
            <xs:length value="1" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="pocetSmen">
        <xs:simpleType>
          <xs:restriction base="bt:simpleNType">
            <xs:minInclusive value="1" />
            <xs:maxInclusive value="999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
