<?xml version="1.0" encoding="ISO-8859-1"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:DeviceEnforcementService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:DeviceEnforcementService">
<types>
<xsd:schema targetNamespace="urn:DeviceEnforcementService">
 <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
 <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
</xsd:schema>
</types>
<message name="authenticateRequest">
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="authenticateResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="verifyVehicleFromScanRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="code" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="verifyVehicleFromScanResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="recordPrintingRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="receipt_type" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="recordPrintingResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="verifyVehicleFromRegistrationNumberRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="vehicle_registration" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="verifyVehicleFromRegistrationNumberResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="towingVehicleByRegistrationRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="vehicle_registration" type="xsd:anyType"/>
  <part name="tow_truck" type="xsd:anyType"/>
  <part name="contact_person" type="xsd:anyType"/>
  <part name="contact_number" type="xsd:anyType"/>
  <part name="driver_name" type="xsd:anyType"/>
  <part name="driver_number" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="towingVehicleByRegistrationResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="clampVehicleByRegistrationRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="vehicle_registration" type="xsd:anyType"/>
  <part name="where" type="xsd:anyType"/>
  <part name="contact_person" type="xsd:anyType"/>
  <part name="contact_number" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="clampVehicleByRegistrationResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="getTowTrucksRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" /> 
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="getTowTrucksResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="deviceLoginRequest">
  <part name="username" type="xsd:string"/>
  <part name="password" type="xsd:string"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="deviceLoginResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="verifyReceiptRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="receipt_barcode" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="verifyReceiptResponse">
  <part name="return" type="xsd:string" />
</message>
<message name="verifyTradingLicenseApplicationRequest">
    <part name="uid" type="xsd:anyType"/>
    <part name="aknowlegde_number" type="xsd:anyType"/>
    <part name="imei_no" type="xsd:anyType"/>
    <part name="api_key" type="xsd:string" />
    <part name="api_username" type="xsd:string" />
    <part name="api_password" type="xsd:string" />
    <part name="session_key" type="xsd:string" />
    <part name="hash" type="xsd:string" />
    <part name="backref" type="xsd:anyType" />
  </message>
<message name="verifyTradingLicenseApplicationResponse">
    <part name="return" type="xsd:string" />
  </message>
<message name="deviceLogoutRequest">
  <part name="uid" type="xsd:anyType"/>
  <part name="imei_no" type="xsd:anyType"/>
  <part name="api_key" type="xsd:string" />
  <part name="api_username" type="xsd:string" />
  <part name="api_password" type="xsd:string" />
  <part name="session_key" type="xsd:string" />
  <part name="hash" type="xsd:string" />
  <part name="backref" type="xsd:anyType" />
</message>
<message name="deviceLogoutResponse">
  <part name="return" type="xsd:string" />
</message>
<portType name="DeviceEnforcementServicePortType">
   <operation name="authenticate">
    <documentation>Validate a user by supplied password, returns session key</documentation>
    <input message="tns:authenticateRequest"/>
  <output message="tns:authenticateResponse"/>
  </operation>
  <operation name="verifyVehicleFromScan">
    <documentation>Validates the vehicle by pushing vehicle's registration to be verified by the system</documentation>
    <input message="tns:verifyVehicleFromScanRequest"/>
    <output message="tns:verifyVehicleFromScanResponse"/>
  </operation>
  <operation name="recordPrinting">
    <documentation>keeps track of device printing</documentation>
    <input message="tns:recordPrintingRequest"/>
    <output message="tns:recordPrintingResponse"/>
  </operation>
  <operation name="verifyVehicleFromRegistrationNumber">
    <documentation>The operation is meant to be used for verifying a registration of a vehicle and check if all subscription are up to date</documentation>
    <input message="tns:verifyVehicleFromRegistrationNumberRequest"/>
    <output message="tns:verifyVehicleFromRegistrationNumberResponse"/>
  </operation>
  <operation name="towingVehicleByRegistration">
    <documentation>The operation is meant to be used for sending the towing details to the system, for vehicle that owes payments</documentation>
    <input message="tns:towingVehicleByRegistrationRequest"/>
    <output message="tns:towingVehicleByRegistrationResponse"/>
  </operation>
  <operation name="clampVehicleByRegistration">
    <documentation>The operation is meant to be used for sending vehicle clamp details to the system.</documentation>
    <input message="tns:clampVehicleByRegistrationRequest"/>
    <output message="tns:clampVehicleByRegistrationResponse"/>
  </operation>
  <operation name="getTowTrucks">
    <documentation>The operation is used to update the tow trucks on the device</documentation>
    <input message="tns:getTowTrucksRequest"/>
    <output message="tns:getTowTrucksResponse"/>
  </operation>
  <operation name="deviceLogin">
    <documentation>The operation is used to authenticate the user loging in on the device</documentation>
    <input message="tns:deviceLoginRequest"/>
    <output message="tns:deviceLoginResponse"/>
  </operation>
  <operation name="verifyReceipt">
    <documentation>The operation is used to verify the receipts present by either driver,enforcement team or tow truck drivers</documentation>
    <input message="tns:verifyReceiptRequest"/>
    <output message="tns:verifyReceiptResponse"/>
  </operation>

  <operation name="verifyTradingLicenseApplication">
    <documentation>The operation is meant to be used for searching the trading license Application for the customer</documentation>
    <input message="tns:verifyTradingLicenseApplicationRequest"/>
    <output message="tns:verifyTradingLicenseApplicationResponse"/>
  </operation>

  <operation name="deviceLogout">
    <documentation>The operation is used to registr a device user logout</documentation>
    <input message="tns:deviceLogoutRequest"/>
    <output message="tns:deviceLogoutResponse"/>
  </operation>
</portType>
<binding name="DeviceEnforcementServiceBinding" type="tns:DeviceEnforcementServicePortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="authenticate">
    <soap:operation soapAction="urn:DeviceEnforcementService#authenticate" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="verifyVehicleFromScan">
    <soap:operation soapAction="urn:DeviceEnforcementService#verifyVehicleFromScan" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="recordPrinting">
    <soap:operation soapAction="urn:DeviceEnforcementService#recordPrinting" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="verifyVehicleFromRegistrationNumber">
    <soap:operation soapAction="urn:DeviceEnforcementService#verifyVehicleFromRegistrationNumber" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="towingVehicleByRegistration">
    <soap:operation soapAction="urn:DeviceEnforcementService#towingVehicleByRegistration" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="clampVehicleByRegistration">
    <soap:operation soapAction="urn:DeviceEnforcementService#clampVehicleByRegistration" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="getTowTrucks">
    <soap:operation soapAction="urn:DeviceEnforcementService#getTowTrucks" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="deviceLogin">
    <soap:operation soapAction="urn:DeviceEnforcementService#deviceLogin" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="verifyReceipt">
    <soap:operation soapAction="urn:DeviceEnforcementService#verifyReceipt" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="verifyTradingLicenseApplication">
    <soap:operation soapAction="urn:DeviceEnforcementService#verifyTradingLicenseApplication" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="deviceLogout">
    <soap:operation soapAction="urn:DeviceEnforcementService#deviceLogout" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:DeviceEnforcementService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
</binding>
<service name="DeviceEnforcementService">
  <port name="DeviceEnforcementServicePort" binding="tns:DeviceEnforcementServiceBinding">
    <soap:address location="https://172.16.0.164/ecitie/api/device-enforcementv1.php"/>
  </port>
</service>
</definitions>