﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bt="http://schemas.cssz.cz/baseTypes" xmlns="http://schemas.cssz.cz/POJ/PVPOJ2013" targetNamespace="http://schemas.cssz.cz/POJ/PVPOJ2013" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:import namespace="http://schemas.cssz.cz/baseTypes" schemaLocation="baseTypes.xsd"/>

  <xs:element name="pvpoj" type="pvpojType"/>
  <xs:complexType name="pvpojType">
    <xs:sequence>
      <xs:element  name="prehled" type="prehledType" minOccurs="1" maxOccurs ="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="prehled" type="prehledType"/>
  <xs:complexType name="prehledType">
    <xs:sequence>
      <xs:element name="okres" type="okresType"/>
      <xs:element name="obdobi" type="obdobiType" minOccurs="0"/>
      <xs:element name="zamestnavatel" type="zamestnavatelType"/>
      <xs:element name="pojistne" type="pojistneType" minOccurs="0"/>
      <xs:element name="nahradyMzdy" type="nahradyMzdyType" minOccurs="0"/>
      <xs:element name="rozdilPojistneNahrady" type="castkaType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Rozdíl mezi pojistným celkem a ½ zúčtovaných náhrad mzdy</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="platebniUdaje" type="platebniUdajeType" minOccurs="0"/>
      <xs:element name="pracovnik" type="pracovnikType" minOccurs="0"/>
      <xs:element name="poznamka" type="poznamkaType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Poznámka, která může být vyplněna v případě storna nebo opravy.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="verze" use="required">
      <xs:annotation>
        <xs:documentation>Verze přehledu "2013.0"</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="bt:simpleNDType">
          <xs:maxLength value="10"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="typPrehledu" use="required">
      <xs:annotation>
        <xs:documentation>
          Typ podání:
          •„N“ (řádný)
          •„S“ (storno)
          •„Z“  (oprava)
        </xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="bt:simpleAType">
          <xs:minLength value="1"/>
          <xs:maxLength value="1"/>
          <xs:enumeration value="N"/>
          <xs:enumeration value="S"/>
          <xs:enumeration value="Z"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="corrIDStorna">
      <xs:annotation>
        <xs:documentation>Odkaz na záznam, který je stornován - pouze pro storno</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:maxLength value="32"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="adresaType">
    <xs:sequence>
      <xs:element name="ulice" type="uliceType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Ulice</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cisloDomu" type="cisloDomuType">
        <xs:annotation>
          <xs:documentation>Číslo domu</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="obec" type="obecType">
        <xs:annotation>
          <xs:documentation>Obec</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PSC" type="PSCType">
        <xs:annotation>
          <xs:documentation>PSČ</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="stat" type="statType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="pracovnikType">
    <xs:sequence>
      <xs:element name="jmeno" type="jmenoType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Jméno kontaktního pracovníka</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="prijmeni" type="prijmeniType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Příjmení kontaktního pracovníka</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="telefon" type="telefonType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Telefon kontaktního pracovníka</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="datumVyplneni" type="datumType">
        <xs:annotation>
          <xs:documentation>Datum vyplnění</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="platebniUdajeType">
    <xs:sequence>
      <xs:element name="bankaCisloUctu" type="bankaCisloUctuType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Číslo účtu (nebo) IBAN</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="pojistneType">
    <xs:sequence>
      <xs:element name="uhrnVymerovacichZakladuPbezDS" type="castkaType">
        <xs:annotation>
          <xs:documentation>Úhrn vyměřovacích základů za zaměstnance s účastí na pojištění bez důchodového spoření</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="uhrnPojistnehoPbezDS" type="castkaType">
        <xs:annotation>
          <xs:documentation>Úhrn pojistného za zaměstnance s účastí na pojištění bez důchodového spoření</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="uhrnVymerovacichZakladuPsDS" type="castkaType">
        <xs:annotation>
          <xs:documentation>Úhrn vyměřovacích základů za zaměstnance s účastí na pojištění s důchodovým spořením</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="uhrnPojistnehoPsDS" type="castkaType">
        <xs:annotation>
          <xs:documentation>Úhrn pojistného za zaměstnance s účastí na pojištění s důchodovým spořením</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="uhrnVymerovacichZakladu" type="castkaType">
        <xs:annotation>
          <xs:documentation>Úhrn vyměřovacích základů za zaměstnavatele</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="uhrnPojistneho" type="castkaType">
        <xs:annotation>
          <xs:documentation>Úhrn pojistného za zaměstnavatele</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pojistneCelkem" type="castkaType">
        <xs:annotation>
          <xs:documentation>Pojistné celkem</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="nahradyMzdyType">
    <xs:sequence>
      <xs:element name="uhrnZuctovanychNahrad" type="castkaType">
        <xs:annotation>
          <xs:documentation>Náhrady mzdy za dobu dočasné pracovní neschopnosti – Úhrn zúčtovaných náhrad mzdy</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="polovinaZuctovanychNahrad" type="castkaType">
        <xs:annotation>
          <xs:documentation>Náhrady mzdy za dobu dočasné pracovní neschopnosti – Polovina zúčtovaných náhrad mzdy</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="zamestnavatelType">
    <xs:sequence>
      <xs:element name="vs" type="vs10Type">
        <xs:annotation>
          <xs:documentation>Variabilní symbol zaměstnavatele</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IC" type="ICType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifikační číslo plátce</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nazev" type="nazevType">
        <xs:annotation>
          <xs:documentation>Název zaměstnavatele</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="adresa" type="adresaType">
        <xs:annotation>
          <xs:documentation>Adresa zaměstnavatele</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sazba" type="sazbaType">
        <xs:annotation>
          <xs:documentation>Kód sazby</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="okresType">
    <xs:sequence>
      <xs:element name="kodOSSZ">
        <xs:annotation>
          <xs:documentation>Kód OSSZ</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="nazevOSSZ" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Místně příslušná OSSZ (ÚP PSSZ) </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="bt:simpleL2Type">
            <xs:minLength value="0"/>
            <xs:maxLength value="200"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="obdobiType">
    <xs:sequence>
      <xs:element name="mesic" type="mesicType">
        <xs:annotation>
          <xs:documentation>Vykazované období – měsíc</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rok" type="rokType">
        <xs:annotation>
          <xs:documentation>Vykazované období – rok</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="mesicType">
    <xs:restriction base="bt:simpleNNType">
      <xs:minLength value="1"/>
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="rokType">
    <xs:restriction base="bt:simpleNType">
      <xs:minInclusive value="2010"/>
      <xs:maxExclusive value="2100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="vs10Type">
    <xs:restriction base="bt:simpleNType">
      <xs:pattern value="[0-9]{10}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="jmenoType">
    <xs:restriction base="bt:simpleA_NN_ZX_SP_Type">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="prijmeniType">
    <xs:restriction base="bt:simpleA_NN_ZX_SP_Type">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="telefonType">
    <xs:restriction base="bt:simpleA_NN_ZZ_SP_Type">
      <xs:maxLength value="16"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="datumType">
    <xs:restriction base="xs:date"/>
  </xs:simpleType>
  <xs:simpleType name="poznamkaType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="200"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ICType">
    <xs:restriction base="bt:simpleA_NN_ZZ_SP_Type">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="nazevType">
    <xs:restriction base="bt:simpleL2Type">
      <xs:minLength value="1"/>
      <xs:maxLength value="144"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="uliceType">
    <xs:restriction base="bt:simpleA_NN_ZZ_SP_Type">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="cisloDomuType">
    <xs:union memberTypes="bt:simpleAType bt:simpleNNType bt:simpleZZType">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"/>
          <xs:maxLength value="12"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="obecType">
    <xs:restriction base="bt:simpleA_NN_ZZ_SP_Type">
      <xs:minLength value="1"/>
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PSCType">
    <xs:restriction base="bt:simpleA_NN_ZZType">
      <xs:minLength value="1"/>
      <xs:maxLength value="11"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="statType">
    <xs:restriction base="bt:simpleAType">
      <xs:minLength value="2"/>
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="castkaType">
    <xs:restriction base="bt:simpleNDType">
      <xs:minLength value="1"/>
      <xs:maxLength value="12"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="castkaNepovinnaType">
    <xs:restriction base="bt:simpleNDType">
      <xs:minLength value="0"/>
      <xs:maxLength value="12"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="pocetDniType">
    <xs:restriction base="bt:simpleNDType">
      <xs:minLength value="1"/>
      <xs:maxLength value="12"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="bankaCisloUctuType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="34"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="sazbaType">
    <xs:restriction base="xs:unsignedByte">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="9"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
