<?xml version="1.0"?>
<xs:schema xmlns:tns="http://schemas.servicestack.net/types" elementFormDefault="qualified" targetNamespace="http://schemas.servicestack.net/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="CreateAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" name="ADVoltageInputIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ADVoltageLimits" nillable="true" type="tns:ADVoltageAlarmLimits" />
      <xs:element minOccurs="0" name="AllUnits" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="BatteryLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="EmailRecipients" nillable="true" xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="Enabled" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ExpectedArrivalTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Groups" nillable="true" xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q2:ArrayOfstring" />
      <xs:element minOccurs="0" name="InputIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Interval" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PointId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PowerLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Radius" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="SmsRecipients" nillable="true" xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q3:ArrayOfstring" />
      <xs:element minOccurs="0" name="SystemRecipients" nillable="true" xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q4:ArrayOfstring" />
      <xs:element minOccurs="0" name="TemperatureLimits" nillable="true" type="tns:TemperatureAlarmLimits" />
      <xs:element minOccurs="0" name="Threshold" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="TimeEnd" nillable="true" type="tns:TimeOfDay" />
      <xs:element minOccurs="0" name="TimeStart" nillable="true" type="tns:TimeOfDay" />
      <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Units" nillable="true" xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q5:ArrayOfstring" />
      <xs:element minOccurs="0" name="Weekdays" nillable="true" xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q6:ArrayOfstring" />
      <xs:element minOccurs="0" name="ZoneId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateAlarm" nillable="true" type="tns:CreateAlarm" />
  <xs:complexType name="ADVoltageAlarmLimits">
    <xs:sequence>
      <xs:element minOccurs="0" name="ADVoltageLowerLimit" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="ADVoltageUpperLimit" nillable="true" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ADVoltageAlarmLimits" nillable="true" type="tns:ADVoltageAlarmLimits" />
  <xs:complexType name="Location">
    <xs:sequence>
      <xs:element minOccurs="0" name="Latitude" type="xs:double" />
      <xs:element minOccurs="0" name="Longitude" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Location" nillable="true" type="tns:Location" />
  <xs:complexType name="TemperatureAlarmLimits">
    <xs:sequence>
      <xs:element minOccurs="0" name="Temperature1LowerLimit" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature1UpperLimit" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature2LowerLimit" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature2UpperLimit" nillable="true" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TemperatureAlarmLimits" nillable="true" type="tns:TemperatureAlarmLimits" />
  <xs:complexType name="TimeOfDay">
    <xs:sequence>
      <xs:element minOccurs="0" name="Hour" type="xs:int" />
      <xs:element minOccurs="0" name="Minute" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TimeOfDay" nillable="true" type="tns:TimeOfDay" />
  <xs:complexType name="CreateClient">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateClient" nillable="true" type="tns:CreateClient" />
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StreetAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ZipCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Address" nillable="true" type="tns:Address" />
  <xs:complexType name="CreateContact">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateContact" nillable="true" type="tns:CreateContact" />
  <xs:complexType name="DeleteAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteAlarm" nillable="true" type="tns:DeleteAlarm" />
  <xs:complexType name="DeleteClient">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteClient" nillable="true" type="tns:DeleteClient" />
  <xs:complexType name="DeleteContact">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteContact" nillable="true" type="tns:DeleteContact" />
  <xs:complexType name="GetActiveAlarm">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="GetActiveAlarm" nillable="true" type="tns:GetActiveAlarm" />
  <xs:complexType name="GetAlarmLog">
    <xs:sequence>
      <xs:element minOccurs="0" name="DateFrom" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DateTo" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetAlarmLog" nillable="true" type="tns:GetAlarmLog" />
  <xs:complexType name="GetAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetAlarm" nillable="true" type="tns:GetAlarm" />
  <xs:complexType name="GetContact">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetContact" nillable="true" type="tns:GetContact" />
  <xs:complexType name="GetReportKeyHistory">
    <xs:sequence>
      <xs:element minOccurs="0" name="From" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="KeyId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="To" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportKeyHistory" nillable="true" type="tns:GetReportKeyHistory" />
  <xs:complexType name="GetReportUnitActiveFaults">
    <xs:sequence>
      <xs:element minOccurs="0" name="From" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="To" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitActiveFaults" nillable="true" type="tns:GetReportUnitActiveFaults" />
  <xs:complexType name="GetReportUnitHistory">
    <xs:sequence>
      <xs:element minOccurs="0" name="From" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="To" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitHistory" nillable="true" type="tns:GetReportUnitHistory" />
  <xs:complexType name="GetSessionInfo">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="GetSessionInfo" nillable="true" type="tns:GetSessionInfo" />
  <xs:complexType name="GetReportUnitExtendedInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="From" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="To" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitExtendedInfo" nillable="true" type="tns:GetReportUnitExtendedInfo" />
  <xs:complexType name="GetUnitExtendedInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetUnitExtendedInfo" nillable="true" type="tns:GetUnitExtendedInfo" />
  <xs:complexType name="UpdateAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" name="ADVoltageInputIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ADVoltageLimits" nillable="true" type="tns:ADVoltageAlarmLimits" />
      <xs:element minOccurs="0" name="AddEmailRecipients" nillable="true" xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q7:ArrayOfstring" />
      <xs:element minOccurs="0" name="AddGroups" nillable="true" xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q8:ArrayOfstring" />
      <xs:element minOccurs="0" name="AddSmsRecipients" nillable="true" xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q9:ArrayOfstring" />
      <xs:element minOccurs="0" name="AddSystemRecipients" nillable="true" xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q10:ArrayOfstring" />
      <xs:element minOccurs="0" name="AddUnits" nillable="true" xmlns:q11="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q11:ArrayOfstring" />
      <xs:element minOccurs="0" name="AllUnits" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="BatteryLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="ClearEmailRecipients" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ClearGroups" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ClearSmsRecipients" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ClearSystemRecipients" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ClearUnits" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Enabled" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ExpectedArrivalTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InputIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Interval" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PointId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PowerLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Radius" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="RemoveEmailRecipients" nillable="true" xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q12:ArrayOfstring" />
      <xs:element minOccurs="0" name="RemoveGroups" nillable="true" xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q13:ArrayOfstring" />
      <xs:element minOccurs="0" name="RemoveSmsRecipients" nillable="true" xmlns:q14="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q14:ArrayOfstring" />
      <xs:element minOccurs="0" name="RemoveSystemRecipients" nillable="true" xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q15:ArrayOfstring" />
      <xs:element minOccurs="0" name="RemoveUnits" nillable="true" xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q16:ArrayOfstring" />
      <xs:element minOccurs="0" name="TemperatureLimits" nillable="true" type="tns:TemperatureAlarmLimits" />
      <xs:element minOccurs="0" name="Threshold" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="TimeEnd" nillable="true" type="tns:TimeOfDay" />
      <xs:element minOccurs="0" name="TimeStart" nillable="true" type="tns:TimeOfDay" />
      <xs:element minOccurs="0" name="Weekdays" nillable="true" xmlns:q17="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q17:ArrayOfstring" />
      <xs:element minOccurs="0" name="ZoneId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateAlarm" nillable="true" type="tns:UpdateAlarm" />
  <xs:complexType name="UpdateClient">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateClient" nillable="true" type="tns:UpdateClient" />
  <xs:complexType name="UpdateContact">
    <xs:sequence>
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateContact" nillable="true" type="tns:UpdateContact" />
  <xs:complexType name="CreateCategory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateCategory" nillable="true" type="tns:CreateCategory" />
  <xs:complexType name="CreateGroup">
    <xs:sequence>
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Units" nillable="true" xmlns:q18="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q18:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateGroup" nillable="true" type="tns:CreateGroup" />
  <xs:complexType name="CreateKey">
    <xs:sequence>
      <xs:element minOccurs="0" name="CompanyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EmployeeNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Groups" nillable="true" xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q19:ArrayOfstring" />
      <xs:element minOccurs="0" name="IsAdmin" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="KeyExpire" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="KeyValid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SerialNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Units" nillable="true" xmlns:q20="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q20:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateKey" nillable="true" type="tns:CreateKey" />
  <xs:complexType name="CreatePoint">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreatePoint" nillable="true" type="tns:CreatePoint" />
  <xs:complexType name="CreateZone">
    <xs:sequence>
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Polygon" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateZone" nillable="true" type="tns:CreateZone" />
  <xs:complexType name="DeleteCategory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteCategory" nillable="true" type="tns:DeleteCategory" />
  <xs:complexType name="DeleteGroup">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteGroup" nillable="true" type="tns:DeleteGroup" />
  <xs:complexType name="DeleteKey">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteKey" nillable="true" type="tns:DeleteKey" />
  <xs:complexType name="DeletePoint">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeletePoint" nillable="true" type="tns:DeletePoint" />
  <xs:complexType name="DeleteZone">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteZone" nillable="true" type="tns:DeleteZone" />
  <xs:complexType name="GetCategory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetCategory" nillable="true" type="tns:GetCategory" />
  <xs:complexType name="GetClient">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetClient" nillable="true" type="tns:GetClient" />
  <xs:complexType name="GetGroup">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetGroup" nillable="true" type="tns:GetGroup" />
  <xs:complexType name="GetKey">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetKey" nillable="true" type="tns:GetKey" />
  <xs:complexType name="GetPoint">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetPoint" nillable="true" type="tns:GetPoint" />
  <xs:complexType name="GetReportTrip">
    <xs:sequence>
      <xs:element minOccurs="0" name="DateFrom" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="DateTo" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="KeyId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportTrip" nillable="true" type="tns:GetReportTrip" />
  <xs:complexType name="GetReportUnitSummary">
    <xs:sequence>
      <xs:element minOccurs="0" name="Date" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitSummary" nillable="true" type="tns:GetReportUnitSummary" />
  <xs:complexType name="GetUnit">
    <xs:sequence>
      <xs:element minOccurs="0" name="CategoryId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="GroupId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Point" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="PointId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Radius" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SerialNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ZoneId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetUnit" nillable="true" type="tns:GetUnit" />
  <xs:complexType name="GetZone">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetZone" nillable="true" type="tns:GetZone" />
  <xs:complexType name="UpdateCategory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateCategory" nillable="true" type="tns:UpdateCategory" />
  <xs:complexType name="UpdateGroup">
    <xs:sequence>
      <xs:element minOccurs="0" name="AddUnits" nillable="true" xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q21:ArrayOfstring" />
      <xs:element minOccurs="0" name="Clear" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RemoveUnits" nillable="true" xmlns:q22="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q22:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateGroup" nillable="true" type="tns:UpdateGroup" />
  <xs:complexType name="UpdateKey">
    <xs:sequence>
      <xs:element minOccurs="0" name="AddGroups" nillable="true" xmlns:q23="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q23:ArrayOfstring" />
      <xs:element minOccurs="0" name="AddUnits" nillable="true" xmlns:q24="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q24:ArrayOfstring" />
      <xs:element minOccurs="0" name="Clear" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="CompanyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EmployeeNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsAdmin" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="KeyExpire" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="KeyValid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RemoveGroups" nillable="true" xmlns:q25="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q25:ArrayOfstring" />
      <xs:element minOccurs="0" name="RemoveUnits" nillable="true" xmlns:q26="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q26:ArrayOfstring" />
      <xs:element minOccurs="0" name="SerialNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateKey" nillable="true" type="tns:UpdateKey" />
  <xs:complexType name="UpdatePoint">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdatePoint" nillable="true" type="tns:UpdatePoint" />
  <xs:complexType name="UpdateUnit">
    <xs:sequence>
      <xs:element minOccurs="0" name="CategoryId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input1Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input2Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input3Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input4Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsActive" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Lock" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PreKm" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="PreRun1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="PreRun2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VehicleType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateUnit" nillable="true" type="tns:UpdateUnit" />
  <xs:complexType name="UpdateZone">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Polygon" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateZone" nillable="true" type="tns:UpdateZone" />
  <xs:complexType name="CreateAlarmResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateAlarmResponse" nillable="true" type="tns:CreateAlarmResponse" />
  <xs:complexType name="ResponseStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="ErrorCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StackTrace" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Errors" nillable="true" type="tns:ArrayOfResponseError" />
      <xs:element minOccurs="0" name="Meta" nillable="true" xmlns:q27="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q27:ArrayOfKeyValueOfstringstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
  <xs:complexType name="ArrayOfResponseError">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResponseError" nillable="true" type="tns:ResponseError" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfResponseError" nillable="true" type="tns:ArrayOfResponseError" />
  <xs:complexType name="ResponseError">
    <xs:sequence>
      <xs:element minOccurs="0" name="ErrorCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FieldName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Meta" nillable="true" xmlns:q28="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q28:ArrayOfKeyValueOfstringstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ResponseError" nillable="true" type="tns:ResponseError" />
  <xs:complexType name="CreateClientResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateClientResponse" nillable="true" type="tns:CreateClientResponse" />
  <xs:complexType name="CreateContactResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateContactResponse" nillable="true" type="tns:CreateContactResponse" />
  <xs:complexType name="DeleteAlarmResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteAlarmResponse" nillable="true" type="tns:DeleteAlarmResponse" />
  <xs:complexType name="DeleteClientResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteClientResponse" nillable="true" type="tns:DeleteClientResponse" />
  <xs:complexType name="DeleteContactResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteContactResponse" nillable="true" type="tns:DeleteContactResponse" />
  <xs:complexType name="GetActiveAlarmResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfActiveAlarm" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetActiveAlarmResponse" nillable="true" type="tns:GetActiveAlarmResponse" />
  <xs:complexType name="ArrayOfActiveAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ActiveAlarm" nillable="true" type="tns:ActiveAlarm" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfActiveAlarm" nillable="true" type="tns:ArrayOfActiveAlarm" />
  <xs:complexType name="ActiveAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="AlarmId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="TriggeredAt" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ActiveAlarm" nillable="true" type="tns:ActiveAlarm" />
  <xs:complexType name="GetAlarmLogResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfAlarmLog" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetAlarmLogResponse" nillable="true" type="tns:GetAlarmLogResponse" />
  <xs:complexType name="ArrayOfAlarmLog">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AlarmLog" nillable="true" type="tns:AlarmLog" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAlarmLog" nillable="true" type="tns:ArrayOfAlarmLog" />
  <xs:complexType name="AlarmLog">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="AlarmId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Recipients" nillable="true" type="tns:ArrayOfAlarmRecipient" />
      <xs:element minOccurs="0" name="TriggeredAt" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AlarmLog" nillable="true" type="tns:AlarmLog" />
  <xs:complexType name="ArrayOfAlarmRecipient">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AlarmRecipient" nillable="true" type="tns:AlarmRecipient" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAlarmRecipient" nillable="true" type="tns:ArrayOfAlarmRecipient" />
  <xs:complexType name="AlarmRecipient">
    <xs:sequence>
      <xs:element minOccurs="0" name="ContactId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Delivered" type="xs:boolean" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PhoneNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SentVia" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AlarmRecipient" nillable="true" type="tns:AlarmRecipient" />
  <xs:complexType name="GetAlarmResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfAlarm" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetAlarmResponse" nillable="true" type="tns:GetAlarmResponse" />
  <xs:complexType name="ArrayOfAlarm">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Alarm" nillable="true" type="tns:Alarm" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAlarm" nillable="true" type="tns:ArrayOfAlarm" />
  <xs:complexType name="Alarm">
    <xs:sequence>
      <xs:element minOccurs="0" name="ADVoltageInputIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ADVoltageLimits" nillable="true" type="tns:ADVoltageAlarmLimits" />
      <xs:element minOccurs="0" name="AllUnits" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="BatteryLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Created" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="EmailRecipients" nillable="true" xmlns:q29="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q29:ArrayOfstring" />
      <xs:element minOccurs="0" name="Enabled" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ExpectedArrivalTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Groups" nillable="true" xmlns:q30="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q30:ArrayOfstring" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InputIndex" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Interval" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PointId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PowerLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Radius" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="SmsRecipients" nillable="true" xmlns:q31="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q31:ArrayOfstring" />
      <xs:element minOccurs="0" name="SystemRecipients" nillable="true" xmlns:q32="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q32:ArrayOfstring" />
      <xs:element minOccurs="0" name="TemperatureLimits" nillable="true" type="tns:TemperatureAlarmLimits" />
      <xs:element minOccurs="0" name="Threshold" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="TimeEnd" nillable="true" type="tns:TimeOfDay" />
      <xs:element minOccurs="0" name="TimeStart" nillable="true" type="tns:TimeOfDay" />
      <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Units" nillable="true" xmlns:q33="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q33:ArrayOfstring" />
      <xs:element minOccurs="0" name="Weekdays" nillable="true" xmlns:q34="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q34:ArrayOfstring" />
      <xs:element minOccurs="0" name="ZoneId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Alarm" nillable="true" type="tns:Alarm" />
  <xs:complexType name="GetContactResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfContact" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetContactResponse" nillable="true" type="tns:GetContactResponse" />
  <xs:complexType name="ArrayOfContact">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Contact" nillable="true" type="tns:Contact" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfContact" nillable="true" type="tns:ArrayOfContact" />
  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Contact" nillable="true" type="tns:Contact" />
  <xs:complexType name="GetReportKeyHistoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfKeyHistory" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportKeyHistoryResponse" nillable="true" type="tns:GetReportKeyHistoryResponse" />
  <xs:complexType name="ArrayOfKeyHistory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyHistory" nillable="true" type="tns:KeyHistory" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfKeyHistory" nillable="true" type="tns:ArrayOfKeyHistory" />
  <xs:complexType name="KeyHistory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="BatteryLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="ExternalPower" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Heading" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input1" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input2" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Km" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Output3" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Run1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="RunOdo" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Speed" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Time" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="KeyHistory" nillable="true" type="tns:KeyHistory" />
  <xs:complexType name="GetReportUnitActiveFaultsResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfReportUnitActiveFaults" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitActiveFaultsResponse" nillable="true" type="tns:GetReportUnitActiveFaultsResponse" />
  <xs:complexType name="ArrayOfReportUnitActiveFaults">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ReportUnitActiveFaults" nillable="true" type="tns:ReportUnitActiveFaults" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfReportUnitActiveFaults" nillable="true" type="tns:ArrayOfReportUnitActiveFaults" />
  <xs:complexType name="ReportUnitActiveFaults">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FMI" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OccurrenceCount" type="xs:int" />
      <xs:element minOccurs="0" name="SPN" type="xs:int" />
      <xs:element minOccurs="0" name="Time" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ReportUnitActiveFaults" nillable="true" type="tns:ReportUnitActiveFaults" />
  <xs:complexType name="GetReportUnitHistoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfUnitHistory" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitHistoryResponse" nillable="true" type="tns:GetReportUnitHistoryResponse" />
  <xs:complexType name="ArrayOfUnitHistory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitHistory" nillable="true" type="tns:UnitHistory" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUnitHistory" nillable="true" type="tns:ArrayOfUnitHistory" />
  <xs:complexType name="UnitHistory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="AnalogInput1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="AnalogInput2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="AnalogInput4" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="BatteryLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Event" type="xs:int" />
      <xs:element minOccurs="0" name="ExternalPower" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Heading" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input1" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input10" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input1ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input2" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input2ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input3" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input3ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input4" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input4ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input5" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input6" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input7" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input8" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input9" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="KeyId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Km" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Output1" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output2" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output3" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output4" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output5" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Run1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run3" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run4" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="RunOdo" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Speed" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Time" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UnitHistory" nillable="true" type="tns:UnitHistory" />
  <xs:complexType name="GetSessionInfoResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Data" nillable="true" type="tns:SessionInfo" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetSessionInfoResponse" nillable="true" type="tns:GetSessionInfoResponse" />
  <xs:complexType name="SessionInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="DistanceUoM" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SpeedUoM" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TemperatureUoM" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SessionInfo" nillable="true" type="tns:SessionInfo" />
  <xs:complexType name="GetReportUnitExtendedInfoResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfReportUnitExtendedInfo" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitExtendedInfoResponse" nillable="true" type="tns:GetReportUnitExtendedInfoResponse" />
  <xs:complexType name="ArrayOfReportUnitExtendedInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ReportUnitExtendedInfo" nillable="true" type="tns:ReportUnitExtendedInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfReportUnitExtendedInfo" nillable="true" type="tns:ArrayOfReportUnitExtendedInfo" />
  <xs:complexType name="ReportUnitExtendedInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Time" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UoM" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VariableId" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ReportUnitExtendedInfo" nillable="true" type="tns:ReportUnitExtendedInfo" />
  <xs:complexType name="GetUnitExtendedInfoResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
      <xs:element minOccurs="0" name="Result" nillable="true" type="tns:ArrayOfGetUnitExtendedInfoResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetUnitExtendedInfoResponse" nillable="true" type="tns:GetUnitExtendedInfoResponse" />
  <xs:complexType name="ArrayOfGetUnitExtendedInfoResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="GetUnitExtendedInfoResult" nillable="true" type="tns:GetUnitExtendedInfoResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGetUnitExtendedInfoResult" nillable="true" type="tns:ArrayOfGetUnitExtendedInfoResult" />
  <xs:complexType name="GetUnitExtendedInfoResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Time" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UoM" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VariableId" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetUnitExtendedInfoResult" nillable="true" type="tns:GetUnitExtendedInfoResult" />
  <xs:complexType name="UpdateAlarmResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateAlarmResponse" nillable="true" type="tns:UpdateAlarmResponse" />
  <xs:complexType name="UpdateClientResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateClientResponse" nillable="true" type="tns:UpdateClientResponse" />
  <xs:complexType name="UpdateContactResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateContactResponse" nillable="true" type="tns:UpdateContactResponse" />
  <xs:complexType name="CreateCategoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateCategoryResponse" nillable="true" type="tns:CreateCategoryResponse" />
  <xs:complexType name="CreateGroupResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateGroupResponse" nillable="true" type="tns:CreateGroupResponse" />
  <xs:complexType name="CreateKeyResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateKeyResponse" nillable="true" type="tns:CreateKeyResponse" />
  <xs:complexType name="CreatePointResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreatePointResponse" nillable="true" type="tns:CreatePointResponse" />
  <xs:complexType name="CreateZoneResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateZoneResponse" nillable="true" type="tns:CreateZoneResponse" />
  <xs:complexType name="DeleteCategoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteCategoryResponse" nillable="true" type="tns:DeleteCategoryResponse" />
  <xs:complexType name="DeleteGroupResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteGroupResponse" nillable="true" type="tns:DeleteGroupResponse" />
  <xs:complexType name="DeleteKeyResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteKeyResponse" nillable="true" type="tns:DeleteKeyResponse" />
  <xs:complexType name="DeletePointResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeletePointResponse" nillable="true" type="tns:DeletePointResponse" />
  <xs:complexType name="DeleteZoneResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteZoneResponse" nillable="true" type="tns:DeleteZoneResponse" />
  <xs:complexType name="GetCategoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfCategory" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetCategoryResponse" nillable="true" type="tns:GetCategoryResponse" />
  <xs:complexType name="ArrayOfCategory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Category" nillable="true" type="tns:Category" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategory" nillable="true" type="tns:ArrayOfCategory" />
  <xs:complexType name="Category">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Category" nillable="true" type="tns:Category" />
  <xs:complexType name="GetClientResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfClient" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetClientResponse" nillable="true" type="tns:GetClientResponse" />
  <xs:complexType name="ArrayOfClient">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Client" nillable="true" type="tns:Client" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfClient" nillable="true" type="tns:ArrayOfClient" />
  <xs:complexType name="Client">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Client" nillable="true" type="tns:Client" />
  <xs:complexType name="GetGroupResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfGroup" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetGroupResponse" nillable="true" type="tns:GetGroupResponse" />
  <xs:complexType name="ArrayOfGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Group" nillable="true" type="tns:Group" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGroup" nillable="true" type="tns:ArrayOfGroup" />
  <xs:complexType name="Group">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Units" nillable="true" xmlns:q35="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q35:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Group" nillable="true" type="tns:Group" />
  <xs:complexType name="GetKeyResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfKey" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetKeyResponse" nillable="true" type="tns:GetKeyResponse" />
  <xs:complexType name="ArrayOfKey">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Key" nillable="true" type="tns:Key" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfKey" nillable="true" type="tns:ArrayOfKey" />
  <xs:complexType name="Key">
    <xs:sequence>
      <xs:element minOccurs="0" name="CompanyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EmployeeNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExpirationDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Groups" nillable="true" xmlns:q36="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q36:ArrayOfstring" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsAdmin" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="KeyExpire" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="KeyValid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mobile" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SerialNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Units" nillable="true" xmlns:q37="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q37:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Key" nillable="true" type="tns:Key" />
  <xs:complexType name="GetPointResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfPoint" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetPointResponse" nillable="true" type="tns:GetPointResponse" />
  <xs:complexType name="ArrayOfPoint">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Point" nillable="true" type="tns:Point" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPoint" nillable="true" type="tns:ArrayOfPoint" />
  <xs:complexType name="Point">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Point" nillable="true" type="tns:Point" />
  <xs:complexType name="GetReportTripResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfTrip" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportTripResponse" nillable="true" type="tns:GetReportTripResponse" />
  <xs:complexType name="ArrayOfTrip">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Trip" nillable="true" type="tns:Trip" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTrip" nillable="true" type="tns:ArrayOfTrip" />
  <xs:complexType name="Trip">
    <xs:sequence>
      <xs:element minOccurs="0" name="Finished" type="xs:boolean" />
      <xs:element minOccurs="0" name="KeyId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaxSpeed" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="StartAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="StartKm" type="xs:double" />
      <xs:element minOccurs="0" name="StartLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="StartRun1" type="xs:double" />
      <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="StopAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="StopKm" type="xs:double" />
      <xs:element minOccurs="0" name="StopLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="StopRun1" type="xs:double" />
      <xs:element minOccurs="0" name="StopTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Trip" nillable="true" type="tns:Trip" />
  <xs:complexType name="GetReportUnitSummaryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfUnitDaySummary" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetReportUnitSummaryResponse" nillable="true" type="tns:GetReportUnitSummaryResponse" />
  <xs:complexType name="ArrayOfUnitDaySummary">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UnitDaySummary" nillable="true" type="tns:UnitDaySummary" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUnitDaySummary" nillable="true" type="tns:ArrayOfUnitDaySummary" />
  <xs:complexType name="UnitDaySummary">
    <xs:sequence>
      <xs:element minOccurs="0" name="Input1ChangeCounter" type="xs:int" />
      <xs:element minOccurs="0" name="Input2ChangeCounter" type="xs:int" />
      <xs:element minOccurs="0" name="Km" type="xs:double" />
      <xs:element minOccurs="0" name="Run1" type="xs:double" />
      <xs:element minOccurs="0" name="Run2" type="xs:double" />
      <xs:element minOccurs="0" name="Run3" type="xs:double" />
      <xs:element minOccurs="0" name="Run4" type="xs:double" />
      <xs:element minOccurs="0" name="RunOdo" type="xs:double" />
      <xs:element minOccurs="0" name="StartAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="StartLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="StartTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="StopAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="StopLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="StopTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UnitId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UnitDaySummary" nillable="true" type="tns:UnitDaySummary" />
  <xs:complexType name="GetUnitResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfUnit" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetUnitResponse" nillable="true" type="tns:GetUnitResponse" />
  <xs:complexType name="ArrayOfUnit">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Unit" nillable="true" type="tns:Unit" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUnit" nillable="true" type="tns:ArrayOfUnit" />
  <xs:complexType name="Unit">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Altitude" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="AnalogInput1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="AnalogInput2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="AnalogInput4" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="BatteryLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="CategoryId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreatedAt" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CurrentStop" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="DeviceModel" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DisplayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExternalPower" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="GpsFixTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="GpsSignalQuality" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="GsmLevel" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="GsmSignalQuality" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Heading" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input1" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input10" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input1ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input1Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input2" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input2ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input2Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input3" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input3ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input3Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input4" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input4ChangeCounter" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Input4Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Input5" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input6" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input7" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input8" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Input9" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsOwn" type="xs:boolean" />
      <xs:element minOccurs="0" name="KeyId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Km" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="MessageTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Output1" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output2" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output3" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output4" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Output5" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="PhoneNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PreKm" type="xs:double" />
      <xs:element minOccurs="0" name="PreRun1" type="xs:double" />
      <xs:element minOccurs="0" name="PreRun2" type="xs:double" />
      <xs:element minOccurs="0" name="ReferenceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Run1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run3" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Run4" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="RunOdo" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="SerialNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Speed" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature1" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Temperature2" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="VehicleType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Unit" nillable="true" type="tns:Unit" />
  <xs:complexType name="GetZoneResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="List" nillable="true" type="tns:ArrayOfZone" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetZoneResponse" nillable="true" type="tns:GetZoneResponse" />
  <xs:complexType name="ArrayOfZone">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Zone" nillable="true" type="tns:Zone" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfZone" nillable="true" type="tns:ArrayOfZone" />
  <xs:complexType name="Zone">
    <xs:sequence>
      <xs:element minOccurs="0" name="Icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Polygon" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Zone" nillable="true" type="tns:Zone" />
  <xs:complexType name="UpdateCategoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateCategoryResponse" nillable="true" type="tns:UpdateCategoryResponse" />
  <xs:complexType name="UpdateGroupResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateGroupResponse" nillable="true" type="tns:UpdateGroupResponse" />
  <xs:complexType name="UpdateKeyResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateKeyResponse" nillable="true" type="tns:UpdateKeyResponse" />
  <xs:complexType name="UpdatePointResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdatePointResponse" nillable="true" type="tns:UpdatePointResponse" />
  <xs:complexType name="UpdateUnitResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateUnitResponse" nillable="true" type="tns:UpdateUnitResponse" />
  <xs:complexType name="UpdateZoneResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateZoneResponse" nillable="true" type="tns:UpdateZoneResponse" />
  <xs:complexType name="AdminDashboardResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
      <xs:element minOccurs="0" name="ServerStats" nillable="true" type="tns:ServerStats" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AdminDashboardResponse" nillable="true" type="tns:AdminDashboardResponse" />
  <xs:complexType name="ServerStats">
    <xs:sequence>
      <xs:element minOccurs="0" name="MqDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MqWorkers" nillable="true" xmlns:q38="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q38:ArrayOfKeyValueOfstringlong" />
      <xs:element minOccurs="0" name="Redis" nillable="true" xmlns:q39="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q39:ArrayOfKeyValueOfstringlong" />
      <xs:element minOccurs="0" name="ServerEvents" nillable="true" xmlns:q40="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q40:ArrayOfKeyValueOfstringstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ServerStats" nillable="true" type="tns:ServerStats" />
  <xs:complexType name="GetNavItemsResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="BaseUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Results" nillable="true" type="tns:ArrayOfNavItem" />
      <xs:element minOccurs="0" name="NavItemsMap" nillable="true" xmlns:q41="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q41:ArrayOfKeyValueOfstringArrayOfNavItemEdXdwojR" />
      <xs:element minOccurs="0" name="Meta" nillable="true" xmlns:q42="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q42:ArrayOfKeyValueOfstringstring" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetNavItemsResponse" nillable="true" type="tns:GetNavItemsResponse" />
  <xs:complexType name="ArrayOfNavItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="NavItem" nillable="true" type="tns:NavItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfNavItem" nillable="true" type="tns:ArrayOfNavItem" />
  <xs:complexType name="NavItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="Children" nillable="true" type="tns:ArrayOfNavItem" />
      <xs:element minOccurs="0" name="ClassName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Exact" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Hide" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Href" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IconClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IconSrc" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Label" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Meta" nillable="true" xmlns:q43="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q43:ArrayOfKeyValueOfstringstring" />
      <xs:element minOccurs="0" name="Show" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NavItem" nillable="true" type="tns:NavItem" />
</xs:schema>