<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://katastr.cuzk.cz/ctios/types/v2.8"
	xmlns:bt="http://katastr.cuzk.cz/baseTypes/v2.8" xmlns="http://katastr.cuzk.cz/ctios/types/v2.8"
	xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ct="http://katastr.cuzk.cz/commonTypes/v2.8"
	elementFormDefault="qualified" version="2.8.0">

	<xs:import namespace="http://katastr.cuzk.cz/commonTypes/v2.8" schemaLocation="../../xsd/commonTypes_v28.xsd" />

	<xs:import namespace="http://katastr.cuzk.cz/baseTypes/v2.8" schemaLocation="../../xsd/baseTypes_v28.xsd" />

	<xs:element name="CtiOsRequest" type="CtiOsRequestType" />
	<xs:element name="CtiOsResponse" type="CtiOsResponseType" />

	<xs:complexType name="CtiOsRequestType">
		<xs:annotation>
			<xs:documentation>Komplexní typ dotazu na seznam oprávněných subjektů.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="pOSIdent" type="xs:string" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Seznam identifikátoru získaných ve výměnném formátu. Maximální počet identifikátoru je konfigurační a je možné jej najít v uživatelské dokumentaci.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="CtiOsResponseType">
		<xs:annotation>
			<xs:documentation>Komplexní typ odpovědi na seznam OS..</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="vysledek" type="ct:ResponseInfoType" />
			<xs:element name="osList" type="OSListType" minOccurs="0" maxOccurs="1" />		
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="OSListType">
		<xs:sequence>
			<xs:element name="os" type="OSType" minOccurs="1" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="OSType">
		<xs:annotation>
			<xs:documentation>Struktura vráceného oprávněného subjektu.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="pOSIdent" type="xs:string" minOccurs="1" maxOccurs="1" /> 
			<xs:choice>
				<xs:element name="chybaPOSIdent" type="ChybaPOSIdentType">
					<xs:annotation>
						<xs:documentation>Chyba identifikátoru oprávněného subjektu.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:sequence>
					<xs:element name="osId" type="bt:IdType" minOccurs="1" maxOccurs="1"/>
					<xs:element name="osDetail" type="OSDetailType" minOccurs="1" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>V případě dotazu na aktuální data, nebo k datu, je vrácen pouze jeden záznam. Pro dotazy s intervalem je vrácen seznam hodnotu seřazených dle planosti záznamu.</xs:documentation>
						</xs:annotation> 
					</xs:element>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="OSDetailType">
		<xs:sequence>
			<xs:element name="stavDat" type="bt:StavDatOSType" />
			<xs:element name="datumVzniku" type="xs:dateTime" />
			<xs:element name="datumZaniku" type="xs:dateTime" minOccurs="0" />
			<xs:element name="priznakKontext" type="bt:PriznakKontextuType" />
			<xs:element name="rizeniIdVzniku" type="bt:IdType" />
			<xs:element name="rizeniIdZaniku" type="bt:IdType" minOccurs="0" />
			<xs:element name="partnerBsm1" type="bt:IdType" minOccurs="0" />
			<xs:element name="partnerBsm2" type="bt:IdType" minOccurs="0" />
			<xs:element name="idZdroj" type="bt:IdType" minOccurs="0" />
			<xs:element name="opsubType" type="bt:TypVlastnikaType" />
			<xs:element name="charOsType" type="bt:CharakteristikaOSKodType" />
			<xs:element name="ico" type="bt:IcoType" minOccurs="0" />
			<xs:element name="doplnekIco" type="bt:DoplnekIcoType" minOccurs="0" />
			<xs:element name="nazev" type="bt:NazevFirmyType" minOccurs="0" />
			<xs:element name="nazevU" type="bt:NazevFirmyType" minOccurs="0" />
			<xs:element name="rodneCislo" type="bt:RcType" minOccurs="0" />
			<xs:element name="titulPredJmenem" type="bt:TitulPredJmenemType" minOccurs="0" />
			<xs:element name="jmeno" type="bt:JmenoType" minOccurs="0" />
			<xs:element name="jmenoU" type="bt:JmenoType" minOccurs="0" />
			<xs:element name="prijmeni" type="bt:PrijmeniType" minOccurs="0" />
			<xs:element name="prijmeniU" type="bt:PrijmeniType" minOccurs="0" />
			<xs:element name="titulZaJmenem" type="bt:TitulZaJmenemType" minOccurs="0" />
			<xs:element name="cisloDomovni" type="bt:CisloDomovniType" minOccurs="0" />
			<xs:element name="cisloOrientacni" type="bt:CisloOrientacniType" minOccurs="0" />
			<xs:element name="nazevUlice" type="bt:UliceNazevType" minOccurs="0" />
			<xs:element name="castObce" type="bt:CastObceNazevType" minOccurs="0" />
			<xs:element name="obec" type="bt:ObecNazevType" minOccurs="0" />
			<xs:element name="okres" type="bt:OkresNazevType" minOccurs="0" />
			<xs:element name="stat" type="bt:StatNazevType" minOccurs="0" />
			<xs:element name="psc" type="bt:PSCType" minOccurs="0" />
			<xs:element name="mestskaCast" type="bt:MestskaCastNazevType" minOccurs="0" />
			<xs:element name="cpCe" type="bt:CpCeType" minOccurs="0" />
			<xs:element name="datumVzniku2" type="xs:dateTime" minOccurs="0" />
			<xs:element name="rizeniIdVzniku2" type="bt:IdType" minOccurs="0" />
			<xs:element name="kodAdresnihoMista" type="bt:KodAdresnihoMistaType" minOccurs="0" />
			<xs:element name="idNadrizenePravnickeOsoby" type="bt:IdType" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="ChybaPOSIdentType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NEPLATNY_IDENTIFIKATOR">
				<xs:annotation>
					<xs:documentation>Chyba nastane, pokud se nepovede získat data ze zaslaného identifikátoru.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="EXPIROVANY_IDENTIFIKATOR">
				<xs:annotation>
					<xs:documentation>Chyba nastane v případě, kdy je identifikátor platný, ale již skončila jeho platnost.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OPRAVNENY_SUBJEKT_NEEXISTUJE">
				<xs:annotation>
					<xs:documentation>Chyba nastane v případě, kdy je identifikátor platný, ale oprávněný subjekt není nalezen.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
