<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HWCommon.Message.Contact" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HWCommon.Message.Contact" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:61734/ContactServiceEndPoint.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HWCommon.Message" />
  <xs:import schemaLocation="http://localhost:61734/ContactServiceEndPoint.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ContactMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q1:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="CPNumber" type="xs:long" />
          <xs:element minOccurs="0" name="Consent" type="xs:boolean" />
          <xs:element minOccurs="0" name="ContactDetailsAuto" nillable="true" type="tns:ContactDetailsMessage" />
          <xs:element minOccurs="0" name="ContactDetailsManual" nillable="true" type="tns:ContactDetailsMessage" />
          <xs:element minOccurs="0" name="ContactID" type="xs:long" />
          <xs:element minOccurs="0" name="ContactIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ContactMethod" nillable="true" type="tns:ContactMethodMessage" />
          <xs:element minOccurs="0" name="ContactStatus" nillable="true" type="tns:ContactStatusMessage" />
          <xs:element minOccurs="0" name="ContactType" nillable="true" type="tns:ContactTypeMessage" />
          <xs:element minOccurs="0" name="DOB" nillable="true" type="xs:dateTime" />
          <xs:element minOccurs="0" name="DependantNumber" type="xs:int" />
          <xs:element minOccurs="0" name="FamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Gender" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Initials" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Language" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="MedicalAidDetails" nillable="true" type="tns:MedicalAidDetailsMessage" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Nationality" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PharmacyContactIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PharmacyID" type="xs:long" />
          <xs:element minOccurs="0" name="RSAID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Region" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Salutation" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Surname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UpdatePharmacy" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ContactMessage" nillable="true" type="tns:ContactMessage" />
  <xs:complexType name="ContactDetailsMessage">
    <xs:sequence>
      <xs:element minOccurs="0" name="CellNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ContactDetailsID" type="xs:long" />
      <xs:element minOccurs="0" name="EmailAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Fax" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HomeAddress" nillable="true" type="tns:AddressDetailsMessage" />
      <xs:element minOccurs="0" name="HomeNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PostalAddress" nillable="true" type="tns:AddressDetailsMessage" />
      <xs:element minOccurs="0" name="WorkNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ContactDetailsMessage" nillable="true" type="tns:ContactDetailsMessage" />
  <xs:complexType name="AddressDetailsMessage">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Address2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Address3" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AddressCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AddressID" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AddressDetailsMessage" nillable="true" type="tns:AddressDetailsMessage" />
  <xs:complexType name="ContactMethodMessage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LookupMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ContactMethodMessage" nillable="true" type="tns:ContactMethodMessage" />
  <xs:complexType name="LookupMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q2:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Active" type="xs:boolean" />
          <xs:element minOccurs="0" name="ID" type="xs:int" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Value2" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LookupMessage" nillable="true" type="tns:LookupMessage" />
  <xs:complexType name="ContactStatusMessage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LookupMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ContactStatusMessage" nillable="true" type="tns:ContactStatusMessage" />
  <xs:complexType name="ContactTypeMessage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LookupMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ContactTypeMessage" nillable="true" type="tns:ContactTypeMessage" />
  <xs:complexType name="MedicalAidDetailsMessage">
    <xs:sequence>
      <xs:element minOccurs="0" name="MedicalAidDetailsID" type="xs:long" />
      <xs:element minOccurs="0" name="MedicalAidName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MedicalAidNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MedicalAidOption" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MedicalAidDetailsMessage" nillable="true" type="tns:MedicalAidDetailsMessage" />
  <xs:complexType name="ArrayOfContactMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactMessage" nillable="true" type="tns:ContactMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfContactMessage" nillable="true" type="tns:ArrayOfContactMessage" />
  <xs:complexType name="ArrayOfContactIdentifiersMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ContactIdentifiersMessage" nillable="true" type="tns:ContactIdentifiersMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfContactIdentifiersMessage" nillable="true" type="tns:ArrayOfContactIdentifiersMessage" />
  <xs:complexType name="ContactIdentifiersMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q3:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="ContactID" type="xs:long" />
          <xs:element minOccurs="0" name="ContactIdentifier" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ContactIdentifiersMessage" nillable="true" type="tns:ContactIdentifiersMessage" />
  <xs:complexType name="ContactListMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q4:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Contacts" nillable="true" type="tns:ArrayOfContactMessage" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ContactListMessage" nillable="true" type="tns:ContactListMessage" />
  <xs:complexType name="ChangeStatusMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q5:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="FamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="NewContactMetodID" type="xs:int" />
          <xs:element minOccurs="0" name="NewContactStatusID" type="xs:int" />
          <xs:element minOccurs="0" name="NewContactTypeID" type="xs:int" />
          <xs:element minOccurs="0" name="PharmacyDeclineReasonID" type="xs:int" />
          <xs:element minOccurs="0" name="ServiceDeclineReasonID" type="xs:int" />
          <xs:element minOccurs="0" name="StatusChangeID" type="xs:long" />
          <xs:element minOccurs="0" name="StatusChangeReasonID" type="xs:int" />
          <xs:element minOccurs="0" name="UserID" type="ser:guid" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ChangeStatusMessage" nillable="true" type="tns:ChangeStatusMessage" />
  <xs:complexType name="ArrayOfLookupMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LookupMessage" nillable="true" type="tns:LookupMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLookupMessage" nillable="true" type="tns:ArrayOfLookupMessage" />
  <xs:complexType name="CityMessage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LookupMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="ProvinceID" type="xs:long" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CityMessage" nillable="true" type="tns:CityMessage" />
  <xs:complexType name="PfizerKamRegionMessage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LookupMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PfizerKamRegionMessage" nillable="true" type="tns:PfizerKamRegionMessage" />
  <xs:complexType name="ProvinceMessage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:LookupMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ProvinceMessage" nillable="true" type="tns:ProvinceMessage" />
  <xs:complexType name="ArrayOfLanguageMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LanguageMessage" nillable="true" type="tns:LanguageMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLanguageMessage" nillable="true" type="tns:ArrayOfLanguageMessage" />
  <xs:complexType name="LanguageMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q6:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Active" type="xs:boolean" />
          <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Value2" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LanguageMessage" nillable="true" type="tns:LanguageMessage" />
  <xs:complexType name="ArrayOfRelatedProfilesMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RelatedProfilesMessage" nillable="true" type="tns:RelatedProfilesMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRelatedProfilesMessage" nillable="true" type="tns:ArrayOfRelatedProfilesMessage" />
  <xs:complexType name="RelatedProfilesMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q7:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ID" type="xs:long" />
          <xs:element minOccurs="0" name="Link" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="MainFamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ProfileNo" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="RelatedFamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="RelationToLink" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RelatedProfilesMessage" nillable="true" type="tns:RelatedProfilesMessage" />
  <xs:complexType name="ArrayOfCityMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CityMessage" nillable="true" type="tns:CityMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCityMessage" nillable="true" type="tns:ArrayOfCityMessage" />
  <xs:complexType name="PreferredDetailsMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q8:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="FamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Gender" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PreferredDetailsID" type="xs:long" />
          <xs:element minOccurs="0" name="Surname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="PreferredDetailsMessage" nillable="true" type="tns:PreferredDetailsMessage" />
  <xs:complexType name="ArrayOfLinkedProfilesMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LinkedProfilesMessage" nillable="true" type="tns:LinkedProfilesMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLinkedProfilesMessage" nillable="true" type="tns:ArrayOfLinkedProfilesMessage" />
  <xs:complexType name="LinkedProfilesMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q9:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CellPhone" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ContactIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LinkedProfilesMessage" nillable="true" type="tns:LinkedProfilesMessage" />
  <xs:complexType name="MyAccountMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q10="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q10:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="AccountID" type="xs:long" />
          <xs:element minOccurs="0" name="Logo" nillable="true" type="xs:base64Binary" />
          <xs:element minOccurs="0" name="PharmacyID" type="xs:long" />
          <xs:element minOccurs="0" name="SMSLimitWarning" type="xs:int" />
          <xs:element minOccurs="0" name="WinSMSName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="WinSMSPassword" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="MyAccountMessage" nillable="true" type="tns:MyAccountMessage" />
  <xs:complexType name="UpdateProfileMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q11="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q11:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address1" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Address2" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Address3" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="AddressCode" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CellNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="EmailAddress" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="FamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="HomeNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="WorkNumber" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="UpdateProfileMessage" nillable="true" type="tns:UpdateProfileMessage" />
  <xs:complexType name="ArrayOfCallListInfoMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CallListInfoMessage" nillable="true" type="tns:CallListInfoMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCallListInfoMessage" nillable="true" type="tns:ArrayOfCallListInfoMessage" />
  <xs:complexType name="CallListInfoMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q12="http://schemas.datacontract.org/2004/07/HWCommon.Message" base="q12:ResponseMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="CellNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ContactType" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="FamilyIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PharmacyContactIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Surname" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CallListInfoMessage" nillable="true" type="tns:CallListInfoMessage" />
  <xs:complexType name="ArrayOfInteractionsMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InteractionsMessage" nillable="true" type="tns:InteractionsMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfInteractionsMessage" nillable="true" type="tns:ArrayOfInteractionsMessage" />
  <xs:complexType name="InteractionsMessage">
    <xs:sequence>
      <xs:element minOccurs="0" name="InteractionDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="InteractionType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InteractionType2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserID" type="ser:guid" />
      <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InteractionsMessage" nillable="true" type="tns:InteractionsMessage" />
</xs:schema>