<?xml version="1.0"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Ips.ChiroTouch.DataService.Model.Agent" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Ips.ChiroTouch.DataService.Model.Agent" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="AgentUpdateVersionGet">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="AgentUpdateVersionGet" nillable="true" type="tns:AgentUpdateVersionGet" />
  <xs:complexType name="AgentUpdateVersionPost">
    <xs:sequence>
      <xs:element minOccurs="0" name="Info" nillable="true" type="tns:UpdateVersionInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentUpdateVersionPost" nillable="true" type="tns:AgentUpdateVersionPost" />
  <xs:complexType name="UpdateVersionInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="Path" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Urgency" type="tns:UpdateUrgency" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UpdateVersionInfo" nillable="true" type="tns:UpdateVersionInfo" />
  <xs:simpleType name="UpdateUrgency">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Low" />
      <xs:enumeration value="Normal" />
      <xs:enumeration value="High" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="UpdateUrgency" nillable="true" type="tns:UpdateUrgency" />
  <xs:complexType name="AgentConnectionsGet">
    <xs:sequence>
      <xs:element minOccurs="0" name="State" type="tns:AgentConnectionsGet.ConnectionStateFilter" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentConnectionsGet" nillable="true" type="tns:AgentConnectionsGet" />
  <xs:simpleType name="AgentConnectionsGet.ConnectionStateFilter">
    <xs:restriction base="xs:string">
      <xs:enumeration value="All" />
      <xs:enumeration value="Connected" />
      <xs:enumeration value="Disconnected" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="AgentConnectionsGet.ConnectionStateFilter" nillable="true" type="tns:AgentConnectionsGet.ConnectionStateFilter" />
  <xs:complexType name="AgentConnectionGet">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentConnectionGet" nillable="true" type="tns:AgentConnectionGet" />
  <xs:complexType name="AgentInfoPost">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Info" nillable="true" type="tns:AgentInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentInfoPost" nillable="true" type="tns:AgentInfoPost" />
  <xs:complexType name="AgentInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="HardwareKey" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MachineName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NetworkAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentInfo" nillable="true" type="tns:AgentInfo" />
  <xs:complexType name="AgentInfoRefreshPost">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="AgentInfoRefreshPost" nillable="true" type="tns:AgentInfoRefreshPost" />
  <xs:complexType name="AgentInfoSingleRefreshPost">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentInfoSingleRefreshPost" nillable="true" type="tns:AgentInfoSingleRefreshPost" />
  <xs:complexType name="AgentOffLinePost">
    <xs:sequence>
      <xs:element minOccurs="0" name="Interval" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentOffLinePost" nillable="true" type="tns:AgentOffLinePost" />
  <xs:complexType name="AgentRegisterPost">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentRegisterPost" nillable="true" type="tns:AgentRegisterPost" />
  <xs:complexType name="AgentRegistrationStatusGet">
    <xs:sequence>
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentRegistrationStatusGet" nillable="true" type="tns:AgentRegistrationStatusGet" />
  <xs:complexType name="ArrayOfAgentConnectionInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AgentConnectionInfo" nillable="true" type="tns:AgentConnectionInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAgentConnectionInfo" nillable="true" type="tns:ArrayOfAgentConnectionInfo" />
  <xs:complexType name="AgentConnectionInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="AgentMachineName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AgentNetAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AgentVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientContactEMail" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientContactName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientContactPhone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HardwareKey" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SessionCreatedDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="SessionExpirationDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="SessionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SubscriptionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserAuthId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentConnectionInfo" nillable="true" type="tns:AgentConnectionInfo" />
  <xs:complexType name="ApiKeyActivationStatusInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="RequestCompletedDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RequestCreatedDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RequestReceivedDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RequestSentDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RequestStatusCode" type="xs:int" />
      <xs:element minOccurs="0" name="RequestStatusName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseErrorMessage" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ApiKeyActivationStatusInfo" nillable="true" type="tns:ApiKeyActivationStatusInfo" />
</xs:schema>