<?xml version="1.0" encoding="UTF-8"?>

<definitions name="ABSProcess"
             targetNamespace="https://approvalbook.sk/soap/absprocess"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:tns="https://approvalbook.sk/soap/absprocess"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:documentation/>

    <types>
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                    targetNamespace="https://approvalbook.sk/soap/absprocess">
            <xsd:complexType name="ABS_Request">
                <xsd:sequence>
                    <xsd:element name="Token" type="xsd:string"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Result">
                <xsd:sequence>
                    <xsd:element name="Status" type="xsd:string"/>
                    <xsd:element name="Code" type="xsd:string"/>
                    <xsd:element name="Message" type="xsd:string"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Response">
                <xsd:sequence>
                    <xsd:element name="Result" type="tns:ABS_Result"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Approver">
                <xsd:sequence>
                    <xsd:element name="Task" type="xsd:string"/>
                    <xsd:element name="Email" type="xsd:string"/>
                </xsd:sequence>
            </xsd:complexType>
			<xsd:complexType name="ABS_Approvers">
                <xsd:sequence>
                     <xsd:element name="Approver" minOccurs="1" maxOccurs="unbounded" type="tns:ABS_Approver"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Attachment">
                <xsd:sequence>
                    <xsd:element name="Name" type="xsd:string"/>
                    <xsd:element name="Type" type="xsd:string"/>
                    <xsd:element name="Base64Data" type="xsd:string"/>
                </xsd:sequence>
            </xsd:complexType>
			<xsd:complexType name="ABS_Attachments">
                <xsd:sequence>
                     <xsd:element name="Attachment" minOccurs="0" maxOccurs="unbounded" type="tns:ABS_Attachment"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Document">
                <xsd:sequence>
                    <xsd:element name="InternalNumber" type="xsd:string"/>
                    <xsd:element name="ExternalNumber" type="xsd:string"/>
                    <xsd:element name="Description" type="xsd:string"/>
                    <xsd:element name="ProcessEmail" type="xsd:string"/>
                    <xsd:element name="Approvers" type="tns:ABS_Approvers"/>
                    <xsd:element name="Attachments" type="tns:ABS_Attachments"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Process">
                <xsd:sequence>
                    <xsd:element name="ProcessID" type="xsd:integer"/>
                    <xsd:element name="Status" type="xsd:string"/>
                    <xsd:element name="Result" type="xsd:string"/>
                    <!--
                    <xsd:element name="Processed" type="xsd:string"/>
                    <xsd:element name="Created" type="xsd:string"/>
                    <xsd:element name="ProcessEmail" type="xsd:string"/>
                    <xsd:element name="Token" type="xsd:string"/>
                    <xsd:element name="TokenExpiration" type="xsd:string"/>
                    <xsd:element name="Document" type="tns:ABS_Document"/>
                    -->
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_Processes">
                <xsd:sequence>
                    <xsd:element name="Process" minOccurs="0" maxOccurs="unbounded" type="tns:ABS_Process"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="ABS_ProcessGetList_Request">
                <xsd:complexContent>
                    <xsd:extension base="tns:ABS_Request">

                    </xsd:extension>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="ABS_ProcessGetList_Response">
                <xsd:complexContent>
                    <xsd:extension base="tns:ABS_Response">
                        <xsd:sequence>
                            <xsd:element name="Processes" type="tns:ABS_Processes"/>
                        </xsd:sequence>
                    </xsd:extension>
                </xsd:complexContent>
            </xsd:complexType>
        </xsd:schema>
    </types>

    <message name="ABS_ProcessGetList_Request">
        <part name="ABS_ProcessGetList_Request" type="tns:ABS_ProcessGetList_Request"/>
    </message>
    <message name="ABS_ProcessGetList_Response">
        <part name="ABS_ProcessGetList_Response" type="tns:ABS_ProcessGetList_Response"/>
    </message>

    <portType name="ABSProcess">
        <operation name="ABS_GetList">
            <input message="tns:ABS_ProcessGetList_Request"/>
            <output message="tns:ABS_ProcessGetList_Response"/>
        </operation>
    </portType>

    <binding name="ABSProcess" type="tns:ABSProcess">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ABS_GetList">
            <soap:operation soapAction="https://approvalbook.sk/soap/v0/ABSProcess.php"/>
            <input>
                <soap:body use="literal" namespace="ABSProcess"/>
            </input>
            <output>
                <soap:body use="literal" namespace="ABSProcess"/>
            </output>
        </operation>
    </binding>

    <service name="ABSProcess">
        <port binding="tns:ABSProcess" name="ABSProcess">
            <soap:address location="https://approvalbook.sk/soap/v0/ABSProcess.php"/>
        </port>
    </service>
</definitions>