<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
           targetNamespace="http://seznam.gov.cz/ovm/datafile/seznam_ds/v1"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:v1="http://seznam.gov.cz/ovm/datafile/seznam_ds/v1">

    <xs:element name="list">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="box" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element type="xs:string" name="id" minOccurs="0"/>
                            <xs:element type="xs:string" name="type" minOccurs="0"/>
                            <xs:element type="xs:int" name="subtype" minOccurs="0"/>
                            <xs:element type="v1:NameType" name="name"/>
                            <xs:element type="xs:string" name="ico" minOccurs="0"/>
                            <xs:element type="v1:AddressType" name="address"/>
                            <xs:element type="xs:boolean" name="pdz" minOccurs="0"/>
                            <xs:element type="xs:boolean" name="ovm" minOccurs="0"/>
                            <xs:element type="v1:HierarchyType" name="hierarchy"/>
                            <xs:element type="xs:string" name="idOVM" minOccurs="0"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="source-system" type="xs:string"/>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="AddressType">
        <xs:sequence>
            <xs:element type="xs:string" name="city" minOccurs="0"/>
            <xs:element type="xs:string" name="district" minOccurs="0"/>
            <xs:element type="xs:string" name="street" minOccurs="0"/>
            <xs:element type="xs:string" name="cp" minOccurs="0"/>
            <xs:element type="xs:string" name="co" minOccurs="0"/>
            <xs:element type="xs:string" name="ce" minOccurs="0"/>
            <xs:element type="xs:string" name="zip" minOccurs="0"/>
            <xs:element type="xs:string" name="region" minOccurs="0"/>
            <xs:element type="xs:long" name="addressPoint" minOccurs="0"/>
            <xs:element type="xs:string" name="state" minOccurs="0"/>
            <xs:element type="xs:string" name="fullAddress" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NameType">
        <xs:sequence>
            <xs:element type="v1:PersonType" name="person" minOccurs="0"/>
            <xs:element type="xs:string" name="tradeName" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PersonType">
        <xs:sequence>
            <xs:element type="xs:string" name="firstName" />
            <xs:element type="xs:string" name="lastName" />
            <xs:element type="xs:string" name="middleName" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="HierarchyType">
        <xs:sequence>
            <xs:element type="xs:boolean" name="isMaster" />
            <xs:element type="xs:string" name="masterId" />
        </xs:sequence>
    </xs:complexType>

</xs:schema>
