mbo-api
Version:
Implements the MINDBODY Online API.
893 lines • 102 kB
text/xml
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://clients.mindbodyonline.com/api/0_5" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://clients.mindbodyonline.com/api/0_5" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Provides methods and attributes relating to clients.</wsdl:documentation>
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://clients.mindbodyonline.com/api/0_5">
<s:element name="AddArrival">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddArrivalRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AddArrivalRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ClientID" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="LocationID" type="s:int" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SourceCredentials" type="tns:SourceCredentials" />
<s:element minOccurs="0" maxOccurs="1" name="UserCredentials" type="tns:UserCredentials" />
<s:element minOccurs="1" maxOccurs="1" name="XMLDetail" nillable="true" type="tns:XMLDetailLevel" />
<s:element minOccurs="1" maxOccurs="1" name="PageSize" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="CurrentPageIndex" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Fields" type="tns:ArrayOfString" />
</s:sequence>
</s:complexType>
<s:complexType name="SourceCredentials">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SourceName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfInt">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="UserCredentials">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
</s:sequence>
</s:complexType>
<s:simpleType name="XMLDetailLevel">
<s:restriction base="s:string">
<s:enumeration value="Bare" />
<s:enumeration value="Basic" />
<s:enumeration value="Full" />
</s:restriction>
</s:simpleType>
<s:complexType name="ArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="AddArrivalResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="AddArrivalResult" type="tns:AddArrivalResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AddArrivalResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ArrivalAdded" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="ClientService" type="tns:ClientService" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="MBResult">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Status" type="tns:StatusCode" />
<s:element minOccurs="1" maxOccurs="1" name="ErrorCode" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="XMLDetail" type="tns:XMLDetailLevel" />
<s:element minOccurs="1" maxOccurs="1" name="ResultCount" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="CurrentPageIndex" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="TotalPageCount" type="s:int" />
</s:sequence>
</s:complexType>
<s:simpleType name="StatusCode">
<s:restriction base="s:string">
<s:enumeration value="Success" />
<s:enumeration value="InvalidCredentials" />
<s:enumeration value="InvalidParameters" />
<s:enumeration value="InternalException" />
<s:enumeration value="Unknown" />
<s:enumeration value="FailedAction" />
</s:restriction>
</s:simpleType>
<s:complexType name="ClientService">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Current" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="Count" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="Remaining" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PaymentDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="ActiveDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="ExpirationDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="Program" type="tns:Program" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Site" type="tns:Site" />
<s:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:ArrayOfString" />
<s:element minOccurs="0" maxOccurs="1" name="Execute" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ErrorCode" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="Site">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LogoURL" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PageColor1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PageColor2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PageColor3" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PageColor4" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AcceptsVisa" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="AcceptsDiscover" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="AcceptsMasterCard" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="AcceptsAmericanExpress" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="ContactEmail" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ESA" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="TotalWOD" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="TaxInclusivePrices" nillable="true" type="s:boolean" />
</s:sequence>
</s:complexType>
<s:complexType name="Program">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="ScheduleType" nillable="true" type="tns:ScheduleType" />
<s:element minOccurs="1" maxOccurs="1" name="CancelOffset" nillable="true" type="s:int" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:simpleType name="ScheduleType">
<s:restriction base="s:string">
<s:enumeration value="All" />
<s:enumeration value="DropIn" />
<s:enumeration value="Enrollment" />
<s:enumeration value="Appointment" />
<s:enumeration value="Resource" />
<s:enumeration value="Media" />
<s:enumeration value="Arrival" />
</s:restriction>
</s:simpleType>
<s:simpleType name="ActionCode">
<s:restriction base="s:string">
<s:enumeration value="None" />
<s:enumeration value="Added" />
<s:enumeration value="Updated" />
<s:enumeration value="Failed" />
<s:enumeration value="Removed" />
</s:restriction>
</s:simpleType>
<s:element name="AddOrUpdateClients">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddOrUpdateClientsRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AddOrUpdateClientsRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="UpdateAction" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Test" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="Clients" type="tns:ArrayOfClient" />
<s:element minOccurs="1" maxOccurs="1" name="SendEmail" nillable="true" type="s:boolean" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfClient">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Client" nillable="true" type="tns:Client" />
</s:sequence>
</s:complexType>
<s:complexType name="Client">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="NewID" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AccountBalance" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="ClientIndexes" type="tns:ArrayOfClientIndex" />
<s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ClientCreditCard" type="tns:ClientCreditCard" />
<s:element minOccurs="0" maxOccurs="1" name="LastFormulaNotes" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AppointmentGenderPreference" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Gender" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="IsCompany" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="Inactive" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="ClientRelationships" type="tns:ArrayOfClientRelationship" />
<s:element minOccurs="0" maxOccurs="1" name="Reps" type="tns:ArrayOfRep" />
<s:element minOccurs="0" maxOccurs="1" name="CustomClientFields" type="tns:ArrayOfCustomClientField" />
<s:element minOccurs="0" maxOccurs="1" name="LiabilityRelease" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoRelationship" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoPhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoEmail" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PromotionalEmailOptIn" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="MiddleName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EmailOptIn" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="AddressLine1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AddressLine2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="MobilePhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HomePhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="WorkPhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="WorkExtension" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="BirthDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="FirstAppointmentDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="ReferredBy" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HomeLocation" type="tns:Location" />
<s:element minOccurs="0" maxOccurs="1" name="YellowAlert" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RedAlert" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PhotoURL" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="IsProspect" nillable="true" type="s:boolean" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfClientIndex">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ClientIndex" nillable="true" type="tns:ClientIndex" />
</s:sequence>
</s:complexType>
<s:complexType name="ClientIndex">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfClientIndexValue" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfClientIndexValue">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ClientIndexValue" nillable="true" type="tns:ClientIndexValue" />
</s:sequence>
</s:complexType>
<s:complexType name="ClientIndexValue">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ClientCreditCard">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CardType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LastFour" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CardNumber" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CardHolder" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ExpMonth" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ExpYear" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfClientRelationship">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ClientRelationship" nillable="true" type="tns:ClientRelationship" />
</s:sequence>
</s:complexType>
<s:complexType name="ClientRelationship">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RelatedClient" type="tns:Client" />
<s:element minOccurs="0" maxOccurs="1" name="Relationship" type="tns:Relationship" />
<s:element minOccurs="0" maxOccurs="1" name="RelationshipName" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="Relationship">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="RelationshipName1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RelationshipName2" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfRep">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Rep" nillable="true" type="tns:Rep" />
</s:sequence>
</s:complexType>
<s:complexType name="Rep">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="Staff">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Appointments" type="tns:ArrayOfAppointment" />
<s:element minOccurs="0" maxOccurs="1" name="Unavailabilities" type="tns:ArrayOfUnavailability" />
<s:element minOccurs="0" maxOccurs="1" name="Availabilities" type="tns:ArrayOfAvailability" />
<s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="MobilePhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HomePhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="WorkPhone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ForeignZip" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="SortOrder" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="LoginLocations" type="tns:ArrayOfLocation" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Bio" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="isMale" type="s:boolean" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfAppointment">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Appointment" nillable="true" type="tns:Appointment" />
</s:sequence>
</s:complexType>
<s:complexType name="Appointment">
<s:complexContent mixed="false">
<s:extension base="tns:ScheduleItem">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GenderPreference" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Duration" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="Status" type="tns:AppointmentStatus" />
<s:element minOccurs="0" maxOccurs="1" name="StartDateTime" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="EndDateTime" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="StaffRequested" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="Program" type="tns:Program" />
<s:element minOccurs="0" maxOccurs="1" name="SessionType" type="tns:SessionType" />
<s:element minOccurs="0" maxOccurs="1" name="Location" type="tns:Location" />
<s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
<s:element minOccurs="0" maxOccurs="1" name="Client" type="tns:Client" />
<s:element minOccurs="0" maxOccurs="1" name="FirstAppointment" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="ClientService" type="tns:ClientService" />
<s:element minOccurs="0" maxOccurs="1" name="Resources" type="tns:ArrayOfResource" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ScheduleItem">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject" />
</s:complexContent>
</s:complexType>
<s:complexType name="Unavailability">
<s:complexContent mixed="false">
<s:extension base="tns:ScheduleItem">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="StartDateTime" type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="EndDateTime" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="Availability">
<s:complexContent mixed="false">
<s:extension base="tns:ScheduleItem">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
<s:element minOccurs="0" maxOccurs="1" name="SessionType" type="tns:SessionType" />
<s:element minOccurs="0" maxOccurs="1" name="Programs" type="tns:ArrayOfProgram" />
<s:element minOccurs="1" maxOccurs="1" name="StartDateTime" type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="EndDateTime" type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="BookableEndDateTime" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="Location" type="tns:Location" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="SessionType">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="DefaultTimeLength" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="ProgramID" nillable="true" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="NumDeducted" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfProgram">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Program" nillable="true" type="tns:Program" />
</s:sequence>
</s:complexType>
<s:complexType name="Location">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="BusinessID" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="SiteID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="BusinessDescription" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AdditionalImageURLs" type="tns:ArrayOfString" />
<s:element minOccurs="0" maxOccurs="1" name="FacilitySquareFeet" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="TreatmentRooms" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="ProSpaFinderSite" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="HasClasses" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="PhoneExtension" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Tax1" nillable="true" type="s:float" />
<s:element minOccurs="0" maxOccurs="1" name="Tax2" nillable="true" type="s:float" />
<s:element minOccurs="0" maxOccurs="1" name="Tax3" nillable="true" type="s:float" />
<s:element minOccurs="0" maxOccurs="1" name="Tax4" nillable="true" type="s:float" />
<s:element minOccurs="0" maxOccurs="1" name="Tax5" nillable="true" type="s:float" />
<s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="StateProvCode" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Latitude" nillable="true" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="Longitude" nillable="true" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="DistanceInMiles" nillable="true" type="s:double" />
<s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="HasSite" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="CanBook" nillable="true" type="s:boolean" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:simpleType name="AppointmentStatus">
<s:restriction base="s:string">
<s:enumeration value="Booked" />
<s:enumeration value="Completed" />
<s:enumeration value="Confirmed" />
<s:enumeration value="Arrived" />
<s:enumeration value="NoShow" />
<s:enumeration value="Cancelled" />
</s:restriction>
</s:simpleType>
<s:complexType name="ArrayOfResource">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Resource" nillable="true" type="tns:Resource" />
</s:sequence>
</s:complexType>
<s:complexType name="Resource">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfUnavailability">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Unavailability" nillable="true" type="tns:Unavailability" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfAvailability">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Availability" nillable="true" type="tns:Availability" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfLocation">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfCustomClientField">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="CustomClientField" nillable="true" type="tns:CustomClientField" />
</s:sequence>
</s:complexType>
<s:complexType name="CustomClientField">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="DataType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="AddOrUpdateClientsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="AddOrUpdateClientsResult" type="tns:AddOrUpdateClientsResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AddOrUpdateClientsResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Clients" type="tns:ArrayOfClient" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetClients">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetClientsRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientsRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ClientIDs" type="tns:ArrayOfString" />
<s:element minOccurs="0" maxOccurs="1" name="SearchText" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetClientsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetClientsResult" type="tns:GetClientsResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientsResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Clients" type="tns:ArrayOfClient" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetCustomClientFields">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetCustomClientFieldsRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetCustomClientFieldsRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest" />
</s:complexContent>
</s:complexType>
<s:element name="GetCustomClientFieldsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetCustomClientFieldsResult" type="tns:GetCustomClientFieldsResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetCustomClientFieldsResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CustomClientFields" type="tns:ArrayOfCustomClientField" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetClientIndexes">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetClientIndexesRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientIndexesRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest" />
</s:complexContent>
</s:complexType>
<s:element name="GetClientIndexesResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetClientIndexesResult" type="tns:GetClientIndexesResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientIndexesResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ClientIndexes" type="tns:ArrayOfClientIndex" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetClientContactLogs">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetClientContactLogsRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientContactLogsRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ClientID" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="StartDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="1" maxOccurs="1" name="EndDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="StaffIDs" type="tns:ArrayOfLong" />
<s:element minOccurs="1" maxOccurs="1" name="ShowSystemGenerated" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="TypeIDs" type="tns:ArrayOfInt" />
<s:element minOccurs="0" maxOccurs="1" name="SubtypeIDs" type="tns:ArrayOfInt" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfLong">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="long" type="s:long" />
</s:sequence>
</s:complexType>
<s:element name="GetClientContactLogsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetClientContactLogsResult" type="tns:GetClientContactLogsResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientContactLogsResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ContactLogs" type="tns:ArrayOfContactLog" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfContactLog">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContactLog" nillable="true" type="tns:ContactLog" />
</s:sequence>
</s:complexType>
<s:complexType name="ContactLog">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="CreatedBy" type="tns:Staff" />
<s:element minOccurs="0" maxOccurs="1" name="Client" type="tns:Client" />
<s:element minOccurs="0" maxOccurs="1" name="CreatedDateTime" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="FollowupByDate" nillable="true" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="ContactName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="AssignedTo" type="tns:Staff" />
<s:element minOccurs="0" maxOccurs="1" name="ContactMethod" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="IsSystemGenerated" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="Comments" type="tns:ArrayOfContactLogComment" />
<s:element minOccurs="0" maxOccurs="1" name="Types" type="tns:ArrayOfContactLogType" />
<s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfContactLogComment">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContactLogComment" nillable="true" type="tns:ContactLogComment" />
</s:sequence>
</s:complexType>
<s:complexType name="ContactLogComment">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CreatedBy" type="tns:Staff" />
<s:element minOccurs="0" maxOccurs="1" name="CreatedDateTime" type="s:dateTime" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfContactLogType">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContactLogType" nillable="true" type="tns:ContactLogType" />
</s:sequence>
</s:complexType>
<s:complexType name="ContactLogType">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Subtypes" type="tns:ArrayOfContactLogSubtype" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:complexType name="ArrayOfContactLogSubtype">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContactLogSubtype" nillable="true" type="tns:ContactLogSubtype" />
</s:sequence>
</s:complexType>
<s:complexType name="ContactLogSubtype">
<s:complexContent mixed="false">
<s:extension base="tns:MBObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="AddOrUpdateContactLogs">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddOrUpdateContactLogsRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AddOrUpdateContactLogsRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="UpdateAction" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Test" nillable="true" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="ContactLogs" type="tns:ArrayOfContactLog" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="AddOrUpdateContactLogsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="AddOrUpdateContactLogsResult" type="tns:AddOrUpdateContactLogsResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AddOrUpdateContactLogsResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ContactLogs" type="tns:ArrayOfContactLog" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetContactLogTypes">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetContactLogTypesRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetContactLogTypesRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest" />
</s:complexContent>
</s:complexType>
<s:element name="GetContactLogTypesResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetContactLogTypesResult" type="tns:GetContactLogTypesResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetContactLogTypesResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ContatctLogTypes" type="tns:ArrayOfContactLogType" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="UploadClientDocument">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:UploadClientDocumentRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="UploadClientDocumentRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ClientID" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="FileName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Bytes" type="s:base64Binary" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="UploadClientDocumentResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="UploadClientDocumentResult" type="tns:UploadClientDocumentResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="UploadClientDocumentResult">
<s:complexContent mixed="false">
<s:extension base="tns:MBResult">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="FileSize" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="FileName" type="s:string" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetClientFormulaNotes">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetClientFormulaNotesRequest" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientFormulaNotesRequest">
<s:complexContent mixed="false">
<s:extension base="tns:MBRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ClientID" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="AppointmentID" nillable="true" type="s:long" />
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
<s:element name="GetClientFormulaNotesResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetClientFormulaNotesResult" type="tns:GetClientFormulaNotesResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="GetClientFormulaNotesResult">
<s:complexConten