<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://xmlns.cdcargo.cz/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://xmlns.cdcargo.cz/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s1="http://xmlns.cdcargo.cz/Data/BP/RequirementCompanyData/V1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://xmlns.cdcargo.cz/Core">
  <wsp:Policy wsu:Id="UTOverTransport" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsp:ExactlyOne>
      <wsp:All>
        <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
          <wsp:Policy>
            <sp:TransportToken>
              <wsp:Policy>
                <sp:HttpsToken RequireClientCertificate="false"/>
              </wsp:Policy>
            </sp:TransportToken>
            <sp:AlgorithmSuite>
              <wsp:Policy>
                <sp:Basic256/>
              </wsp:Policy>
            </sp:AlgorithmSuite>
            <sp:Layout>
              <wsp:Policy>
                <sp:Lax/>
              </wsp:Policy>
            </sp:Layout>
          </wsp:Policy>
        </sp:TransportBinding>
        <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
          <wsp:Policy>
            <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"/>
          </wsp:Policy>
        </sp:SignedSupportingTokens>
      </wsp:All>
    </wsp:ExactlyOne>
  </wsp:Policy>
  <wsdl:documentation>Požadavek na založení subjektu</wsdl:documentation>
  <wsdl:types>
    <s:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.cdcargo.cz/">
      <s:import namespace="http://xmlns.cdcargo.cz/Data/BP/RequirementCompanyData/V1"/>
      <s:element name="NewRequirement">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" name="request" type="s1:RequirementCompanyRequest"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="NewRequirementResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" name="NewRequirementResult" type="s1:RequirementCompanyResponse"/>
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
    <s:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.cdcargo.cz/Data/BP/RequirementCompanyData/V1">
      <s:import namespace="http://xmlns.cdcargo.cz/Core"/>
      <s:complexType name="RequirementCompanyRequest">
        <s:complexContent>
          <s:extension base="s2:DMType">
            <s:sequence>
              <s:element form="unqualified" minOccurs="0" name="Payload">
                <s:complexType>
                  <s:sequence>
                    <s:element form="unqualified" minOccurs="0" name="Header" type="s1:Header"/>
                  </s:sequence>
                </s:complexType>
              </s:element>
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="RequirementCompanyResponse">
        <s:complexContent>
          <s:extension base="s2:DMType">
            <s:sequence>
              <s:element form="unqualified" minOccurs="0" name="Payload">
                <s:complexType>
                  <s:sequence>
                    <s:element form="unqualified" minOccurs="0" name="ResponseMessage" type="s1:ResponseMessage"/>
                  </s:sequence>
                </s:complexType>
              </s:element>
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ResponseMessage">
        <s:sequence>
          <s:element minOccurs="0" name="HeaderId" type="s:string"/>
          <s:element name="DOODRequirementId" nillable="true" type="s:int"/>
          <s:element name="Result" type="s1:ResultType"/>
          <s:element minOccurs="0" name="Errors" type="s1:ArrayOfError"/>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ResultType">
        <s:restriction base="s:string">
          <s:enumeration value="Ok"/>
          <s:enumeration value="ErrorStructure"/>
          <s:enumeration value="ErrorData"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfError">
        <s:sequence>
          <s:element maxOccurs="unbounded" minOccurs="0" name="Error" nillable="true" type="s1:Error"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Error">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element minOccurs="0" name="Type" type="s:string"/>
          <s:element minOccurs="0" name="PropertyName" type="s:string"/>
          <s:element minOccurs="0" name="Message" type="s:string"/>
          <s:element minOccurs="0" name="Value"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Header">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element name="TypeRequirement" type="s1:RequirementTypes"/>
          <s:element name="TypeRanges" type="s1:AccountRangeTypes"/>
          <s:element minOccurs="0" name="ApplicantCode" type="s:string"/>
          <s:element minOccurs="0" name="ApplicantName" type="s:string"/>
          <s:element minOccurs="0" name="ApplicantPhone" type="s:string"/>
          <s:element name="SubjectCode" nillable="true" type="s:int"/>
          <s:element minOccurs="0" name="Connection" type="s1:Connection"/>
          <s:element minOccurs="0" name="ContactPerson" type="s1:ContactPerson"/>
          <s:element minOccurs="0" name="BankAccount" type="s1:BankAccount"/>
          <s:element minOccurs="0" name="Place" type="s1:Place"/>
          <s:element minOccurs="0" name="Subject" type="s1:Subject"/>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="RequirementTypes">
        <s:restriction base="s:string">
          <s:enumeration value="None"/>
          <s:enumeration value="BankAccount"/>
          <s:enumeration value="Connection"/>
          <s:enumeration value="ContactPerson"/>
          <s:enumeration value="Place"/>
          <s:enumeration value="Subject"/>
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="AccountRangeTypes">
        <s:list>
          <s:simpleType>
            <s:restriction base="s:string">
              <s:enumeration value="None"/>
              <s:enumeration value="CD"/>
              <s:enumeration value="CDC"/>
              <s:enumeration value="CDT"/>
              <s:enumeration value="CDT_IS"/>
              <s:enumeration value="DPOV"/>
            </s:restriction>
          </s:simpleType>
        </s:list>
      </s:simpleType>
      <s:complexType name="Connection">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element name="TypeConnection" type="s1:ConnectionTypes"/>
          <s:element name="Main" type="s:boolean"/>
          <s:element minOccurs="0" name="Specification" type="s:string"/>
          <s:element minOccurs="0" name="Value" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ConnectionTypes">
        <s:restriction base="s:string">
          <s:enumeration value="None"/>
          <s:enumeration value="Phone"/>
          <s:enumeration value="Email"/>
          <s:enumeration value="Fax"/>
          <s:enumeration value="Mobile"/>
          <s:enumeration value="Web"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ContactPerson">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element minOccurs="0" name="FirstName" type="s:string"/>
          <s:element minOccurs="0" name="Surname" type="s:string"/>
          <s:element minOccurs="0" name="Title" type="s:string"/>
          <s:element minOccurs="0" name="Vocative" type="s:string"/>
          <s:element minOccurs="0" name="Connections" type="s1:ArrayOfConnection"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfConnection">
        <s:sequence>
          <s:element maxOccurs="unbounded" minOccurs="0" name="Connection" nillable="true" type="s1:Connection"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="BankAccount">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element minOccurs="0" name="Prefix" type="s:string"/>
          <s:element minOccurs="0" name="Number" type="s:string"/>
          <s:element minOccurs="0" name="Bank" type="s1:Bank"/>
          <s:element minOccurs="0" name="Currency" type="s1:Currency"/>
          <s:element minOccurs="0" name="IBAN" type="s:string"/>
          <s:element minOccurs="0" name="CheckDigits" type="s:string"/>
          <s:element name="ForCollections" type="s:boolean"/>
          <s:element name="ForCreditNotes" type="s:boolean"/>
          <s:element name="ForSuppliers" type="s:boolean"/>
          <s:element minOccurs="0" name="BranchName" type="s:string"/>
          <s:element minOccurs="0" name="OwnerName" type="s:string"/>
          <s:element name="IBANValidityFrom" nillable="true" type="s:dateTime"/>
          <s:element name="ValidityFrom" nillable="true" type="s:dateTime"/>
          <s:element name="ValidityTo" nillable="true" type="s:dateTime"/>
          <s:element name="VPNFamily" type="s:boolean"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Bank">
        <s:sequence>
          <s:element minOccurs="0" name="Country" type="s1:Country"/>
          <s:element minOccurs="0" name="Code" type="s:string"/>
          <s:element minOccurs="0" name="Swift" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Country">
        <s:sequence>
          <s:element minOccurs="0" name="Abbreviation" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Currency">
        <s:sequence>
          <s:element minOccurs="0" name="Abbreviation" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Place">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element minOccurs="0" name="Address" type="s1:Address"/>
          <s:element minOccurs="0" name="ContactAddress" type="s1:Address"/>
          <s:element name="ForWagons" type="s:boolean"/>
          <s:element name="ForSharing" type="s:boolean"/>
          <s:element minOccurs="0" name="SAPCustomer" type="s:string"/>
          <s:element name="ValidityFrom" type="s:dateTime"/>
          <s:element name="ValidityTo" type="s:dateTime"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Address">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element minOccurs="0" name="NameA" type="s:string"/>
          <s:element minOccurs="0" name="NameB" type="s:string"/>
          <s:element minOccurs="0" name="NameC" type="s:string"/>
          <s:element minOccurs="0" name="NameD" type="s:string"/>
          <s:element minOccurs="0" name="PoBox" type="s:string"/>
          <s:element minOccurs="0" name="PostCode" type="s:string"/>
          <s:element minOccurs="0" name="Street" type="s:string"/>
          <s:element minOccurs="0" name="Town" type="s:string"/>
          <s:element minOccurs="0" name="Country" type="s1:Country"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="Subject">
        <s:sequence>
          <s:element minOccurs="0" name="ObjectId" type="s:string"/>
          <s:element minOccurs="0" name="Address" type="s1:Address"/>
          <s:element name="ValidityFrom" type="s:dateTime"/>
          <s:element name="TypeSubject" type="s1:SubjectTypes"/>
          <s:element name="Customer" type="s:boolean"/>
          <s:element name="Supplier" type="s:boolean"/>
          <s:element minOccurs="0" name="SAPCustomer" type="s:string"/>
          <s:element minOccurs="0" name="SAPSupplier" type="s:string"/>
          <s:element name="TypeLegalForm" type="s1:LegalSubjectTypes"/>
          <s:element minOccurs="0" name="RegNo" type="s:string"/>
          <s:element minOccurs="0" name="VatNo" type="s:string"/>
          <s:element name="NotificationDuty" type="s:boolean"/>
          <s:element minOccurs="0" name="SAPLanguage" type="s1:SAPLanguage"/>
          <s:element minOccurs="0" name="BirthNumber" type="s:string"/>
          <s:element name="UseBirthNumberAcceptance" type="s1:AccountRangeTypes"/>
          <s:element name="BirthDate" nillable="true" type="s:dateTime"/>
          <s:element minOccurs="0" name="BirthPlace" type="s:string"/>
          <s:element name="TypeDocument" type="s1:DocumentTypes"/>
          <s:element minOccurs="0" name="DocumentNumber" type="s:string"/>
          <s:element name="DocumentValidityTo" nillable="true" type="s:dateTime"/>
          <s:element minOccurs="0" name="Note" type="s:string"/>
          <s:element minOccurs="0" name="Connections" type="s1:ArrayOfConnection"/>
          <s:element minOccurs="0" name="ContactPersons" type="s1:ArrayOfContactPerson"/>
          <s:element minOccurs="0" name="BankAccount" type="s1:BankAccount"/>
          <s:element name="TaxPayer" type="s:boolean"/>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="SubjectTypes">
        <s:restriction base="s:string">
          <s:enumeration value="None"/>
          <s:enumeration value="BAN"/>
          <s:enumeration value="DSP"/>
          <s:enumeration value="SKU"/>
          <s:enumeration value="TUZ"/>
          <s:enumeration value="ZAH"/>
          <s:enumeration value="CLO"/>
          <s:enumeration value="ZAV"/>
          <s:enumeration value="BYT"/>
          <s:enumeration value="SOU"/>
          <s:enumeration value="SZA"/>
          <s:enumeration value="KJS"/>
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="LegalSubjectTypes">
        <s:restriction base="s:string">
          <s:enumeration value="None"/>
          <s:enumeration value="PersonalEntity"/>
          <s:enumeration value="LegalEntity"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name="SAPLanguage">
        <s:sequence>
          <s:element minOccurs="0" name="Abbreviation" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:simpleType name="DocumentTypes">
        <s:restriction base="s:string">
          <s:enumeration value="None"/>
          <s:enumeration value="IdCard"/>
          <s:enumeration value="Passport"/>
          <s:enumeration value="DriveLicence"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfContactPerson">
        <s:sequence>
          <s:element maxOccurs="unbounded" minOccurs="0" name="ContactPerson" nillable="true" type="s1:ContactPerson"/>
        </s:sequence>
      </s:complexType>
    </s:schema>
    <s:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.cdcargo.cz/Core">
      <s:complexType name="DMType">
        <s:sequence>
          <s:element minOccurs="0" name="DMHeader" type="s2:DMHeaderType"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="DMHeaderType">
        <s:sequence>
          <s:element minOccurs="0" name="IntegrationID" type="s:string"/>
          <s:element minOccurs="0" name="IntegrationVer" type="s:string"/>
          <s:element minOccurs="0" name="SrcSystem" type="s:string"/>
          <s:element minOccurs="0" name="DstSystem" type="s:string"/>
          <s:element name="Timestamp" type="s:dateTime"/>
          <s:element minOccurs="0" name="CorrelationID" type="s:string"/>
          <s:element minOccurs="0" name="SequenceID" type="s:string"/>
          <s:element minOccurs="0" name="EntityID" type="s:string"/>
          <s:element minOccurs="0" name="UserID" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="ESBFaultType">
        <s:complexContent>
          <s:extension base="s2:DMType">
            <s:sequence>
              <s:element minOccurs="0" name="Payload">
                <s:complexType>
                  <s:sequence>
                    <s:element minOccurs="0" name="Code" type="s:string"/>
                    <s:element minOccurs="0" name="Summary" type="s:string"/>
                    <s:element minOccurs="0" name="Detail" type="s:string"/>
                  </s:sequence>
                </s:complexType>
              </s:element>
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="NewRequirementSoapIn">
    <wsdl:part name="parameters" element="tns:NewRequirement"/>
  </wsdl:message>
  <wsdl:message name="NewRequirementSoapOut">
    <wsdl:part name="parameters" element="tns:NewRequirementResponse"/>
  </wsdl:message>
  <wsdl:portType name="E54_NewRequirement_ProxyPortType" wsp:PolicyURIs="#UTOverTransport" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
    <wsdl:operation name="NewRequirement">
      <wsdl:input message="tns:NewRequirementSoapIn" wsaw:Action="http://xmlns.cdcargo.cz/NewRequirement"/>
      <wsdl:output message="tns:NewRequirementSoapOut" wsaw:Action="http://xmlns.cdcargo.cz/RequirementSoap/NewRequirementResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="E54_NewRequirement_ProxySoap11Binding" type="tns:E54_NewRequirement_ProxyPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <wsdl:operation name="NewRequirement">
      <soap:operation soapAction="http://xmlns.cdcargo.cz/NewRequirement" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="E54_NewRequirement_Proxy">
    <wsdl:port name="E54_NewRequirement_ProxyHttpsSoap11Endpoint" binding="tns:E54_NewRequirement_ProxySoap11Binding">
      <soap:address location="https://esbtest.cdt.cz:8243/services/E54_NewRequirement_Proxy.E54_NewRequirement_ProxyHttpsSoap11Endpoint"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>