﻿<?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/PVPOJ2012" targetNamespace="http://schemas.cssz.cz/POJ/PVPOJ2012" 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 "2010.1"</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="uhrnVymerovacichZakladu" type="castkaType">
				<xs:annotation>
					<xs:documentation>Úhrn vyměřovacích základů na nemocenské a důchodové pojištění a příspěvek na státní politiku zaměstnanosti</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>
