<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
    name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
            <complexType name="customerCustomerEntityToCreate">
                <all>
                    <element name="customer_id" type="xsd:int" minOccurs="0" />
                    <element name="email" type="xsd:string" minOccurs="0" />
                    <element name="firstname" type="xsd:string" minOccurs="0" />
                    <element name="lastname" type="xsd:string" minOccurs="0" />
                    <element name="password" type="xsd:string" minOccurs="0" />
                    <element name="website_id" type="xsd:int" minOccurs="0" />
                    <element name="store_id" type="xsd:int" minOccurs="0" />
                    <element name="group_id" type="xsd:int" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="customerCustomerEntity">
                <all>
                    <element name="customer_id" type="xsd:int" minOccurs="0" />
                    <element name="created_at" type="xsd:string" minOccurs="0" />
                    <element name="updated_at" type="xsd:string" minOccurs="0" />
                    <element name="increment_id" type="xsd:string" minOccurs="0" />
                    <element name="store_id" type="xsd:int" minOccurs="0" />
                    <element name="website_id" type="xsd:int" minOccurs="0" />
                    <element name="created_in" type="xsd:string" minOccurs="0" />
                    <element name="email" type="xsd:string" minOccurs="0" />
                    <element name="firstname" type="xsd:string" minOccurs="0" />
                    <element name="middlename" type="xsd:string" minOccurs="0" />
                    <element name="lastname" type="xsd:string" minOccurs="0" />
                    <element name="group_id" type="xsd:int" minOccurs="0" />
                    <element name="prefix" type="xsd:string" minOccurs="0" />
                    <element name="suffix" type="xsd:string" minOccurs="0" />
                    <element name="dob" type="xsd:string" minOccurs="0" />
                    <element name="taxvat" type="xsd:string" minOccurs="0" />
                    <element name="confirmation" type="xsd:boolean" minOccurs="0" />
                    <element name="password_hash" type="xsd:string" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="customerCustomerEntityArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:customerCustomerEntity[]" />
                    </restriction>
                </complexContent>
            </complexType>
            <complexType name="customerGroupEntity">
                <all>
                    <element name="customer_group_id" type="xsd:int" />
                    <element name="customer_group_code" type="xsd:string" />
                </all>
            </complexType>
            <complexType name="customerGroupEntityArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:customerGroupEntity[]" />
                    </restriction>
                </complexContent>
            </complexType>
            <complexType name="customerAddressEntityCreate">
                <all>
                    <element name="city" type="xsd:string" minOccurs="0" />
                    <element name="company" type="xsd:string" minOccurs="0" />
                    <element name="country_id" type="xsd:string" minOccurs="0" />
                    <element name="fax" type="xsd:string" minOccurs="0" />
                    <element name="firstname" type="xsd:string" minOccurs="0" />
                    <element name="lastname" type="xsd:string" minOccurs="0" />
                    <element name="middlename" type="xsd:string" minOccurs="0" />
                    <element name="postcode" type="xsd:string" minOccurs="0" />
                    <element name="prefix" type="xsd:string" minOccurs="0" />
                    <element name="region_id" type="xsd:int" minOccurs="0" />
                    <element name="region" type="xsd:string" minOccurs="0" />
                    <element name="street" type="typens:ArrayOfString" minOccurs="0" />
                    <element name="suffix" type="xsd:string" minOccurs="0" />
                    <element name="telephone" type="xsd:string" minOccurs="0" />
                    <element name="is_default_billing" type="xsd:boolean" minOccurs="0" />
                    <element name="is_default_shipping" type="xsd:boolean" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="customerAddressEntityItem">
                <all>
                    <element name="customer_address_id" type="xsd:int" minOccurs="0" />
                    <element name="created_at" type="xsd:string" minOccurs="0" />
                    <element name="updated_at" type="xsd:string" minOccurs="0" />
                    <element name="increment_id" type="xsd:string" minOccurs="0" />
                    <element name="city" type="xsd:string" minOccurs="0" />
                    <element name="company" type="xsd:string" minOccurs="0" />
                    <element name="country_id" type="xsd:string" minOccurs="0" />
                    <element name="fax" type="xsd:string" minOccurs="0" />
                    <element name="firstname" type="xsd:string" minOccurs="0" />
                    <element name="lastname" type="xsd:string" minOccurs="0" />
                    <element name="middlename" type="xsd:string" minOccurs="0" />
                    <element name="postcode" type="xsd:string" minOccurs="0" />
                    <element name="prefix" type="xsd:string" minOccurs="0" />
                    <element name="region" type="xsd:string" minOccurs="0" />
                    <element name="region_id" type="xsd:int" minOccurs="0" />
                    <element name="street" type="xsd:string" minOccurs="0" />
                    <element name="suffix" type="xsd:string" minOccurs="0" />
                    <element name="telephone" type="xsd:string" minOccurs="0" />
                    <element name="is_default_billing" type="xsd:boolean" minOccurs="0" />
                    <element name="is_default_shipping" type="xsd:boolean" minOccurs="0" />
                </all>
            </complexType>
            <complexType name="customerAddressEntityArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:customerAddressEntityItem[]" />
                    </restriction>
                </complexContent>
            </complexType>
        </schema>
    </types>
    <message name="customerCustomerListRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="filters" type="typens:filters" />
    </message>
    <message name="customerCustomerListResponse">
        <part name="storeView" type="typens:customerCustomerEntityArray" />
    </message>
    <message name="customerCustomerCreateRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="customerData" type="typens:customerCustomerEntityToCreate" />
    </message>
    <message name="customerCustomerCreateResponse">
        <part name="result" type="xsd:int" />
    </message>
    <message name="customerCustomerInfoRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="customerId" type="xsd:int" />
        <part name="attributes" type="typens:ArrayOfString" />
    </message>
    <message name="customerCustomerInfoResponse">
        <part name="customerInfo" type="typens:customerCustomerEntity" />
    </message>
    <message name="customerCustomerUpdateRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="customerId" type="xsd:int" />
        <part name="customerData" type="typens:customerCustomerEntityToCreate" />
    </message>
    <message name="customerCustomerUpdateResponse">
        <part name="result" type="xsd:boolean" />
    </message>
    <message name="customerCustomerDeleteRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="customerId" type="xsd:int" />
    </message>
    <message name="customerCustomerDeleteResponse">
        <part name="result" type="xsd:boolean" />
    </message>
    <message name="customerGroupListRequest">
        <part name="sessionId" type="xsd:string" />
    </message>
    <message name="customerGroupListResponse">
        <part name="result" type="typens:customerGroupEntityArray" />
    </message>
    <message name="customerAddressListRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="customerId" type="xsd:int" />
    </message>
    <message name="customerAddressListResponse">
        <part name="result" type="typens:customerAddressEntityArray" />
    </message>
    <message name="customerAddressCreateRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="customerId" type="xsd:int" />
        <part name="addressData" type="typens:customerAddressEntityCreate" />
    </message>
    <message name="customerAddressCreateResponse">
        <part name="result" type="xsd:int" />
    </message>
    <message name="customerAddressInfoRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="addressId" type="xsd:int" />
    </message>
    <message name="customerAddressInfoResponse">
        <part name="info" type="typens:customerAddressEntityItem" />
    </message>
    <message name="customerAddressUpdateRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="addressId" type="xsd:int" />
        <part name="addressData" type="typens:customerAddressEntityCreate" />
    </message>
    <message name="customerAddressUpdateResponse">
        <part name="info" type="xsd:boolean" />
    </message>
    <message name="customerAddressDeleteRequest">
        <part name="sessionId" type="xsd:string" />
        <part name="addressId" type="xsd:int" />
    </message>
    <message name="customerAddressDeleteResponse">
        <part name="info" type="xsd:boolean" />
    </message>
    <portType name="{{var wsdl.handler}}PortType">
        <operation name="customerCustomerList">
            <documentation>Retrieve customers</documentation>
            <input message="typens:customerCustomerListRequest" />
            <output message="typens:customerCustomerListResponse" />
        </operation>
        <operation name="customerCustomerCreate">
            <documentation>Create customer</documentation>
            <input message="typens:customerCustomerCreateRequest" />
            <output message="typens:customerCustomerCreateResponse" />
        </operation>
        <operation name="customerCustomerInfo">
            <documentation>Retrieve customer data</documentation>
            <input message="typens:customerCustomerInfoRequest" />
            <output message="typens:customerCustomerInfoResponse" />
        </operation>
        <operation name="customerCustomerUpdate">
            <documentation>Update customer data</documentation>
            <input message="typens:customerCustomerUpdateRequest" />
            <output message="typens:customerCustomerUpdateResponse" />
        </operation>
        <operation name="customerCustomerDelete">
            <documentation>Delete customer</documentation>
            <input message="typens:customerCustomerDeleteRequest" />
            <output message="typens:customerCustomerDeleteResponse" />
        </operation>
        <operation name="customerGroupList">
            <documentation>Retrieve customer groups</documentation>
            <input message="typens:customerGroupListRequest" />
            <output message="typens:customerGroupListResponse" />
        </operation>
        <operation name="customerAddressList">
            <documentation>Retrieve customer addresses</documentation>
            <input message="typens:customerAddressListRequest" />
            <output message="typens:customerAddressListResponse" />
        </operation>
        <operation name="customerAddressCreate">
            <documentation>Create customer address</documentation>
            <input message="typens:customerAddressCreateRequest" />
            <output message="typens:customerAddressCreateResponse" />
        </operation>
        <operation name="customerAddressInfo">
            <documentation>Retrieve customer address data</documentation>
            <input message="typens:customerAddressInfoRequest" />
            <output message="typens:customerAddressInfoResponse" />
        </operation>
        <operation name="customerAddressUpdate">
            <documentation>Update customer address data</documentation>
            <input message="typens:customerAddressUpdateRequest" />
            <output message="typens:customerAddressUpdateResponse" />
        </operation>
        <operation name="customerAddressDelete">
            <documentation>Delete customer address</documentation>
            <input message="typens:customerAddressDeleteRequest" />
            <output message="typens:customerAddressDeleteResponse" />
        </operation>
    </portType>
    <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
        <operation name="customerCustomerList">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerCustomerCreate">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerCustomerInfo">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerCustomerUpdate">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerCustomerDelete">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerGroupList">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerAddressList">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerAddressCreate">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerAddressInfo">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerAddressUpdate">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        <operation name="customerAddressDelete">
            <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
            <input>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
    </binding>
</definitions>
