<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="http://edavki.durs.si/Documents/Schemas/DIS_3.xsd"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:edp="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd"
  targetNamespace="http://edavki.durs.si/Documents/Schemas/DIS_3.xsd"
  elementFormDefault="qualified">
  <xs:import namespace="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd" schemaLocation="EDP-Common-1.xsd"/>
  
  <!--document structure-->
  <xs:element name="Envelope">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="edp:Header"/>
        <xs:element ref="edp:AttachmentList" minOccurs="0"/>
        <xs:element ref="edp:Signatures"/>
        <xs:element name="body">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="DIS" minOccurs="0" />
              <xs:element ref="Casino" minOccurs="0" maxOccurs="unbounded"/>

              <xs:element ref="GameSums" minOccurs="0" maxOccurs="unbounded"/>
              <xs:element ref="GameSumsTotal" minOccurs="0" maxOccurs="1"/>

            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <!--type definitions-->
  <xs:element name="DIS">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CustodianNotes" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Opombe</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustodianSubmitDate" type="xs:date" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Datum prijave</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Period" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Obdobje</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PeriodType" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Vrsta obdobja</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Email" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>E-mail naslov</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TelephoneNumber" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Telefonska številka</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OrganizerTypes" type="xs:string" minOccurs="0" />
        <xs:element name="NOrganizerTypes" type="xs:string" minOccurs="0" />
        <xs:element name="BankAccountNo" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>vplačilni podračun</xs:documentation>
          </xs:annotation>
        </xs:element>

      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="Casino">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="OrganizerType" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Vrsta prireditelja</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CasinoCode" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Vrsta prireditelja</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CasinoName" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Vrsta prireditelja</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="MunicipalityName" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Občina</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TotalPayment" type="Amount14_2_Type" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Skupaj - Vplačila</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TotalPayout" type="Amount14_2_Type" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Skupaj - Izplačani dobitki</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TotalBase" type="Amount14_2_Type_Neg" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Skupaj - Osnova za davek</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TotalTax" type="Amount14_2_Type_Neg" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Skupaj - Davek</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TotalCalculatedTax" type="Amount14_2_Type" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Skupaj - Davek, obračunan med letom</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TotalDifference" type="Amount14_2_Type_Neg" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Skupaj - Razlika</xs:documentation>
          </xs:annotation>
        </xs:element>
        
        <xs:element ref="Obracun" minOccurs="0" maxOccurs="unbounded"/>

      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="Obracun">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation>Obracun</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="SequenceNumber" type="xs:int" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Zaporedna stevilka</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OrganizerType" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Vrsta prireditelja</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="GameCode" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Sifra igre</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="GameName" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Naziv igre</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Payment" type="Amount14_2_Type" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Vplačilo</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Payout" type="Amount14_2_Type" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Izplačani dobitek</xs:documentation>
        </xs:annotation>
        </xs:element>
        <xs:element name="Base" type="Amount14_2_Type_Neg" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Osnova za davek</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Rate" type="Percent3_2_Type" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Stopnja</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Tax" type="Amount14_2_Type_Neg" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Davek</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CalculatedTax" type="Amount14_2_Type" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Davek, obračunan med letom</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Difference" type="Amount14_2_Type_Neg" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Razlika</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="GameSums">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="GameCode" type="xs:string" minOccurs="0" />
        <xs:element name="GameName" type="xs:string" minOccurs="0" />
        <xs:element name="Base" type="Amount14_2_Type_Neg" minOccurs="0" />
        <xs:element name="Rate" type="Percent3_2_Type" minOccurs="0"/>
        <xs:element name="Tax" type="Amount14_2_Type_Neg" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="GameSumsTotal">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Base" type="Amount14_2_Type_Neg" minOccurs="0" />
        <xs:element name="Tax" type="Amount14_2_Type_Neg" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:simpleType name="Amount14_2_Type">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{1,14}(\.\d{1,2})?" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="Amount14_2_Type_Neg">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="[\-+]?\d{1,14}(\.\d{1,2})?" />
    </xs:restriction>
  </xs:simpleType>
    
  <xs:simpleType name="Percent3_2_Type">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{1,3}(\.\d{1,2})?" />
    </xs:restriction>
  </xs:simpleType>

</xs:schema>