mindbody-api 1.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.travis.yml +5 -0
  4. data/CONTRIBUTING.md +16 -0
  5. data/Gemfile +12 -0
  6. data/Guardfile +6 -0
  7. data/LICENSE.md +22 -0
  8. data/README.md +79 -0
  9. data/Rakefile +52 -0
  10. data/lib/mindbody-api.rb +35 -0
  11. data/lib/mindbody-api/api_status.rb +109 -0
  12. data/lib/mindbody-api/client.rb +39 -0
  13. data/lib/mindbody-api/ext/savon_ext.rb +53 -0
  14. data/lib/mindbody-api/models.rb +34 -0
  15. data/lib/mindbody-api/models/appointment.rb +22 -0
  16. data/lib/mindbody-api/models/appointment_status.rb +13 -0
  17. data/lib/mindbody-api/models/availability.rb +11 -0
  18. data/lib/mindbody-api/models/class.rb +31 -0
  19. data/lib/mindbody-api/models/class_description.rb +14 -0
  20. data/lib/mindbody-api/models/class_schedule.rb +26 -0
  21. data/lib/mindbody-api/models/client.rb +32 -0
  22. data/lib/mindbody-api/models/client_service.rb +16 -0
  23. data/lib/mindbody-api/models/course.rb +16 -0
  24. data/lib/mindbody-api/models/level.rb +8 -0
  25. data/lib/mindbody-api/models/location.rb +38 -0
  26. data/lib/mindbody-api/models/payment.rb +11 -0
  27. data/lib/mindbody-api/models/program.rb +9 -0
  28. data/lib/mindbody-api/models/resource.rb +8 -0
  29. data/lib/mindbody-api/models/sale.rb +10 -0
  30. data/lib/mindbody-api/models/sale_item.rb +14 -0
  31. data/lib/mindbody-api/models/schedule_type.rb +13 -0
  32. data/lib/mindbody-api/models/semester.rb +9 -0
  33. data/lib/mindbody-api/models/service.rb +13 -0
  34. data/lib/mindbody-api/models/session_type.rb +8 -0
  35. data/lib/mindbody-api/models/site.rb +23 -0
  36. data/lib/mindbody-api/models/staff.rb +32 -0
  37. data/lib/mindbody-api/models/unavailability.rb +7 -0
  38. data/lib/mindbody-api/models/visit.rb +19 -0
  39. data/lib/mindbody-api/response.rb +119 -0
  40. data/lib/mindbody-api/service.rb +39 -0
  41. data/lib/mindbody-api/services/appointment_service.rb +15 -0
  42. data/lib/mindbody-api/services/class_service.rb +12 -0
  43. data/lib/mindbody-api/services/client_service.rb +30 -0
  44. data/lib/mindbody-api/services/finder_service.rb +11 -0
  45. data/lib/mindbody-api/services/sale_service.rb +14 -0
  46. data/lib/mindbody-api/services/site_service.rb +15 -0
  47. data/lib/mindbody-api/services/staff_service.rb +12 -0
  48. data/lib/mindbody-api/version.rb +4 -0
  49. data/mindbody-api.gemspec +29 -0
  50. data/spec/api_status_spec.rb +110 -0
  51. data/spec/client_spec.rb +51 -0
  52. data/spec/fixtures/wsdl/geotrust.wsdl +156 -0
  53. data/spec/mindbody_spec.rb +79 -0
  54. data/spec/model_spec.rb +7 -0
  55. data/spec/models/appointment_spec.rb +18 -0
  56. data/spec/models/appointment_status_spec.rb +17 -0
  57. data/spec/models/availability.rb +8 -0
  58. data/spec/models/class_description_spec.rb +12 -0
  59. data/spec/models/class_schedule_spec.rb +24 -0
  60. data/spec/models/class_spec.rb +39 -0
  61. data/spec/models/client_service_spec.rb +13 -0
  62. data/spec/models/client_spec.rb +33 -0
  63. data/spec/models/course_spec.rb +14 -0
  64. data/spec/models/level_spec.rb +6 -0
  65. data/spec/models/location_spec.rb +34 -0
  66. data/spec/models/payment_spec.rb +9 -0
  67. data/spec/models/program_spec.rb +7 -0
  68. data/spec/models/resource_spec.rb +6 -0
  69. data/spec/models/sale_item_spec.rb +12 -0
  70. data/spec/models/sale_spec.rb +8 -0
  71. data/spec/models/schedule_type_spec.rb +17 -0
  72. data/spec/models/semester_spec.rb +7 -0
  73. data/spec/models/service_spec.rb +11 -0
  74. data/spec/models/session_type_spec.rb +6 -0
  75. data/spec/models/site_spec.rb +31 -0
  76. data/spec/models/staff_spec.rb +29 -0
  77. data/spec/models/unavailability.rb +5 -0
  78. data/spec/models/visit_spec.rb +16 -0
  79. data/spec/response_spec.rb +115 -0
  80. data/spec/service_spec.rb +106 -0
  81. data/spec/services/appointment_service_spec.rb +13 -0
  82. data/spec/services/class_service_spec.rb +10 -0
  83. data/spec/services/client_service_spec.rb +27 -0
  84. data/spec/services/finder_service_spec.rb +9 -0
  85. data/spec/services/sale_service_spec.rb +12 -0
  86. data/spec/services/site_service_spec.rb +13 -0
  87. data/spec/services/staff_service_spec.rb +10 -0
  88. data/spec/spec_helper.rb +18 -0
  89. data/wsdl/AppointmentService.wsdl +1084 -0
  90. data/wsdl/ClassService.wsdl +1656 -0
  91. data/wsdl/ClientService.wsdl +2295 -0
  92. data/wsdl/FinderService.wsdl +1427 -0
  93. data/wsdl/SaleService.wsdl +1678 -0
  94. data/wsdl/SiteService.wsdl +915 -0
  95. data/wsdl/StaffService.wsdl +939 -0
  96. metadata +277 -0
@@ -0,0 +1,939 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <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/">
3
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Provides methods and attributes relating to staff.</wsdl:documentation>
4
+ <wsdl:types>
5
+ <s:schema elementFormDefault="qualified" targetNamespace="http://clients.mindbodyonline.com/api/0_5">
6
+ <s:element name="GetStaff">
7
+ <s:complexType>
8
+ <s:sequence>
9
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetStaffRequest" />
10
+ </s:sequence>
11
+ </s:complexType>
12
+ </s:element>
13
+ <s:complexType name="GetStaffRequest">
14
+ <s:complexContent mixed="false">
15
+ <s:extension base="tns:MBRequest">
16
+ <s:sequence>
17
+ <s:element minOccurs="0" maxOccurs="1" name="StaffIDs" type="tns:ArrayOfLong" />
18
+ <s:element minOccurs="0" maxOccurs="1" name="StaffCredentials" type="tns:StaffCredentials" />
19
+ <s:element minOccurs="0" maxOccurs="1" name="Filters" type="tns:ArrayOfStaffFilter" />
20
+ <s:element minOccurs="1" maxOccurs="1" name="SessionTypeID" nillable="true" type="s:int" />
21
+ <s:element minOccurs="1" maxOccurs="1" name="StartDateTime" nillable="true" type="s:dateTime" />
22
+ <s:element minOccurs="1" maxOccurs="1" name="LocationID" nillable="true" type="s:int" />
23
+ </s:sequence>
24
+ </s:extension>
25
+ </s:complexContent>
26
+ </s:complexType>
27
+ <s:complexType name="MBRequest">
28
+ <s:sequence>
29
+ <s:element minOccurs="0" maxOccurs="1" name="SourceCredentials" type="tns:SourceCredentials" />
30
+ <s:element minOccurs="0" maxOccurs="1" name="UserCredentials" type="tns:UserCredentials" />
31
+ <s:element minOccurs="1" maxOccurs="1" name="XMLDetail" nillable="true" type="tns:XMLDetailLevel" />
32
+ <s:element minOccurs="1" maxOccurs="1" name="PageSize" nillable="true" type="s:int" />
33
+ <s:element minOccurs="1" maxOccurs="1" name="CurrentPageIndex" nillable="true" type="s:int" />
34
+ <s:element minOccurs="0" maxOccurs="1" name="Fields" type="tns:ArrayOfString" />
35
+ </s:sequence>
36
+ </s:complexType>
37
+ <s:complexType name="SourceCredentials">
38
+ <s:sequence>
39
+ <s:element minOccurs="0" maxOccurs="1" name="SourceName" type="s:string" />
40
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
41
+ <s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
42
+ </s:sequence>
43
+ </s:complexType>
44
+ <s:complexType name="ArrayOfInt">
45
+ <s:sequence>
46
+ <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
47
+ </s:sequence>
48
+ </s:complexType>
49
+ <s:complexType name="UserCredentials">
50
+ <s:sequence>
51
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
52
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
53
+ <s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
54
+ <s:element minOccurs="1" maxOccurs="1" name="LocationID" nillable="true" type="s:int" />
55
+ </s:sequence>
56
+ </s:complexType>
57
+ <s:simpleType name="XMLDetailLevel">
58
+ <s:restriction base="s:string">
59
+ <s:enumeration value="Bare" />
60
+ <s:enumeration value="Basic" />
61
+ <s:enumeration value="Full" />
62
+ </s:restriction>
63
+ </s:simpleType>
64
+ <s:complexType name="ArrayOfString">
65
+ <s:sequence>
66
+ <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
67
+ </s:sequence>
68
+ </s:complexType>
69
+ <s:complexType name="ArrayOfLong">
70
+ <s:sequence>
71
+ <s:element minOccurs="0" maxOccurs="unbounded" name="long" type="s:long" />
72
+ </s:sequence>
73
+ </s:complexType>
74
+ <s:complexType name="StaffCredentials">
75
+ <s:sequence>
76
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
77
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
78
+ <s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
79
+ </s:sequence>
80
+ </s:complexType>
81
+ <s:complexType name="ArrayOfStaffFilter">
82
+ <s:sequence>
83
+ <s:element minOccurs="0" maxOccurs="unbounded" name="StaffFilter" type="tns:StaffFilter" />
84
+ </s:sequence>
85
+ </s:complexType>
86
+ <s:simpleType name="StaffFilter">
87
+ <s:restriction base="s:string">
88
+ <s:enumeration value="StaffViewable" />
89
+ <s:enumeration value="AppointmentInstructor" />
90
+ <s:enumeration value="ClassInstructor" />
91
+ <s:enumeration value="Male" />
92
+ <s:enumeration value="Female" />
93
+ </s:restriction>
94
+ </s:simpleType>
95
+ <s:element name="GetStaffResponse">
96
+ <s:complexType>
97
+ <s:sequence>
98
+ <s:element minOccurs="0" maxOccurs="1" name="GetStaffResult" type="tns:GetStaffResult" />
99
+ </s:sequence>
100
+ </s:complexType>
101
+ </s:element>
102
+ <s:complexType name="GetStaffResult">
103
+ <s:complexContent mixed="false">
104
+ <s:extension base="tns:MBResult">
105
+ <s:sequence>
106
+ <s:element minOccurs="0" maxOccurs="1" name="StaffMembers" type="tns:ArrayOfStaff" />
107
+ </s:sequence>
108
+ </s:extension>
109
+ </s:complexContent>
110
+ </s:complexType>
111
+ <s:complexType name="MBResult">
112
+ <s:sequence>
113
+ <s:element minOccurs="1" maxOccurs="1" name="Status" type="tns:StatusCode" />
114
+ <s:element minOccurs="1" maxOccurs="1" name="ErrorCode" type="s:int" />
115
+ <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
116
+ <s:element minOccurs="1" maxOccurs="1" name="XMLDetail" type="tns:XMLDetailLevel" />
117
+ <s:element minOccurs="1" maxOccurs="1" name="ResultCount" type="s:int" />
118
+ <s:element minOccurs="1" maxOccurs="1" name="CurrentPageIndex" type="s:int" />
119
+ <s:element minOccurs="1" maxOccurs="1" name="TotalPageCount" type="s:int" />
120
+ </s:sequence>
121
+ </s:complexType>
122
+ <s:simpleType name="StatusCode">
123
+ <s:restriction base="s:string">
124
+ <s:enumeration value="Success" />
125
+ <s:enumeration value="InvalidCredentials" />
126
+ <s:enumeration value="InvalidParameters" />
127
+ <s:enumeration value="InternalException" />
128
+ <s:enumeration value="Unknown" />
129
+ <s:enumeration value="FailedAction" />
130
+ </s:restriction>
131
+ </s:simpleType>
132
+ <s:complexType name="ArrayOfStaff">
133
+ <s:sequence>
134
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Staff" nillable="true" type="tns:Staff" />
135
+ </s:sequence>
136
+ </s:complexType>
137
+ <s:complexType name="Staff">
138
+ <s:complexContent mixed="false">
139
+ <s:extension base="tns:MBObject">
140
+ <s:sequence>
141
+ <s:element minOccurs="0" maxOccurs="1" name="Appointments" type="tns:ArrayOfAppointment" />
142
+ <s:element minOccurs="0" maxOccurs="1" name="Unavailabilities" type="tns:ArrayOfUnavailability" />
143
+ <s:element minOccurs="0" maxOccurs="1" name="Availabilities" type="tns:ArrayOfAvailability" />
144
+ <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
145
+ <s:element minOccurs="0" maxOccurs="1" name="MobilePhone" type="s:string" />
146
+ <s:element minOccurs="0" maxOccurs="1" name="HomePhone" type="s:string" />
147
+ <s:element minOccurs="0" maxOccurs="1" name="WorkPhone" type="s:string" />
148
+ <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
149
+ <s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
150
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
151
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
152
+ <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
153
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
154
+ <s:element minOccurs="0" maxOccurs="1" name="ForeignZip" type="s:string" />
155
+ <s:element minOccurs="0" maxOccurs="1" name="SortOrder" type="s:int" />
156
+ <s:element minOccurs="0" maxOccurs="1" name="LoginLocations" type="tns:ArrayOfLocation" />
157
+ <s:element minOccurs="0" maxOccurs="1" name="MultiLocation" nillable="true" type="s:boolean" />
158
+ <s:element minOccurs="0" maxOccurs="1" name="AppointmentTrn" nillable="true" type="s:boolean" />
159
+ <s:element minOccurs="0" maxOccurs="1" name="ReservationTrn" nillable="true" type="s:boolean" />
160
+ <s:element minOccurs="0" maxOccurs="1" name="IndependentContractor" nillable="true" type="s:boolean" />
161
+ <s:element minOccurs="0" maxOccurs="1" name="AlwaysAllowDoubleBooking" nillable="true" type="s:boolean" />
162
+ <s:element minOccurs="0" maxOccurs="1" name="UserAccessLevel" type="s:string" />
163
+ <s:element minOccurs="0" maxOccurs="1" name="ProviderIDs" type="tns:ArrayOfString" />
164
+ <s:element minOccurs="0" maxOccurs="1" name="ProviderIDUpdateList" type="tns:ArrayOfProviderIDUpdate" />
165
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
166
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
167
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
168
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
169
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
170
+ <s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
171
+ <s:element minOccurs="0" maxOccurs="1" name="Bio" type="s:string" />
172
+ <s:element minOccurs="1" maxOccurs="1" name="isMale" type="s:boolean" />
173
+ </s:sequence>
174
+ </s:extension>
175
+ </s:complexContent>
176
+ </s:complexType>
177
+ <s:complexType name="MBObject">
178
+ <s:sequence>
179
+ <s:element minOccurs="0" maxOccurs="1" name="Site" type="tns:Site" />
180
+ <s:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:ArrayOfString" />
181
+ <s:element minOccurs="0" maxOccurs="1" name="Execute" type="s:string" />
182
+ <s:element minOccurs="0" maxOccurs="1" name="ErrorCode" type="s:string" />
183
+ </s:sequence>
184
+ </s:complexType>
185
+ <s:complexType name="Site">
186
+ <s:sequence>
187
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
188
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
189
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
190
+ <s:element minOccurs="0" maxOccurs="1" name="LogoURL" type="s:string" />
191
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor1" type="s:string" />
192
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor2" type="s:string" />
193
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor3" type="s:string" />
194
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor4" type="s:string" />
195
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsVisa" type="s:boolean" />
196
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsDiscover" type="s:boolean" />
197
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsMasterCard" type="s:boolean" />
198
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsAmericanExpress" type="s:boolean" />
199
+ <s:element minOccurs="0" maxOccurs="1" name="ContactEmail" type="s:string" />
200
+ <s:element minOccurs="0" maxOccurs="1" name="ESA" nillable="true" type="s:boolean" />
201
+ <s:element minOccurs="0" maxOccurs="1" name="TotalWOD" nillable="true" type="s:boolean" />
202
+ <s:element minOccurs="0" maxOccurs="1" name="TaxInclusivePrices" nillable="true" type="s:boolean" />
203
+ <s:element minOccurs="0" maxOccurs="1" name="SMSPackageEnabled" type="s:boolean" />
204
+ <s:element minOccurs="0" maxOccurs="1" name="AllowsDashboardAccess" type="s:boolean" />
205
+ <s:element minOccurs="0" maxOccurs="1" name="PricingLevel" type="s:string" />
206
+ </s:sequence>
207
+ </s:complexType>
208
+ <s:complexType name="Resource">
209
+ <s:complexContent mixed="false">
210
+ <s:extension base="tns:MBObject">
211
+ <s:sequence>
212
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
213
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
214
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
215
+ </s:sequence>
216
+ </s:extension>
217
+ </s:complexContent>
218
+ </s:complexType>
219
+ <s:simpleType name="ActionCode">
220
+ <s:restriction base="s:string">
221
+ <s:enumeration value="None" />
222
+ <s:enumeration value="Added" />
223
+ <s:enumeration value="Updated" />
224
+ <s:enumeration value="Failed" />
225
+ <s:enumeration value="Removed" />
226
+ </s:restriction>
227
+ </s:simpleType>
228
+ <s:complexType name="ClientService">
229
+ <s:complexContent mixed="false">
230
+ <s:extension base="tns:MBObject">
231
+ <s:sequence>
232
+ <s:element minOccurs="1" maxOccurs="1" name="Current" type="s:boolean" />
233
+ <s:element minOccurs="1" maxOccurs="1" name="Count" type="s:int" />
234
+ <s:element minOccurs="1" maxOccurs="1" name="Remaining" type="s:int" />
235
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
236
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
237
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
238
+ <s:element minOccurs="0" maxOccurs="1" name="PaymentDate" nillable="true" type="s:dateTime" />
239
+ <s:element minOccurs="0" maxOccurs="1" name="ActiveDate" nillable="true" type="s:dateTime" />
240
+ <s:element minOccurs="0" maxOccurs="1" name="ExpirationDate" nillable="true" type="s:dateTime" />
241
+ <s:element minOccurs="0" maxOccurs="1" name="Program" type="tns:Program" />
242
+ </s:sequence>
243
+ </s:extension>
244
+ </s:complexContent>
245
+ </s:complexType>
246
+ <s:complexType name="Program">
247
+ <s:complexContent mixed="false">
248
+ <s:extension base="tns:MBObject">
249
+ <s:sequence>
250
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
251
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
252
+ <s:element minOccurs="1" maxOccurs="1" name="ScheduleType" nillable="true" type="tns:ScheduleType" />
253
+ <s:element minOccurs="1" maxOccurs="1" name="CancelOffset" nillable="true" type="s:int" />
254
+ </s:sequence>
255
+ </s:extension>
256
+ </s:complexContent>
257
+ </s:complexType>
258
+ <s:simpleType name="ScheduleType">
259
+ <s:restriction base="s:string">
260
+ <s:enumeration value="All" />
261
+ <s:enumeration value="DropIn" />
262
+ <s:enumeration value="Enrollment" />
263
+ <s:enumeration value="Appointment" />
264
+ <s:enumeration value="Resource" />
265
+ <s:enumeration value="Media" />
266
+ <s:enumeration value="Arrival" />
267
+ </s:restriction>
268
+ </s:simpleType>
269
+ <s:complexType name="SalesRep">
270
+ <s:complexContent mixed="false">
271
+ <s:extension base="tns:MBObject">
272
+ <s:sequence>
273
+ <s:element minOccurs="0" maxOccurs="1" name="SalesRepNumber" nillable="true" type="s:int" />
274
+ <s:element minOccurs="1" maxOccurs="1" name="ID" nillable="true" type="s:long" />
275
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
276
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
277
+ <s:element minOccurs="0" maxOccurs="1" name="SalesRepNumbers" type="tns:ArrayOfInt" />
278
+ </s:sequence>
279
+ </s:extension>
280
+ </s:complexContent>
281
+ </s:complexType>
282
+ <s:complexType name="Rep">
283
+ <s:complexContent mixed="false">
284
+ <s:extension base="tns:MBObject">
285
+ <s:sequence>
286
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
287
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
288
+ </s:sequence>
289
+ </s:extension>
290
+ </s:complexContent>
291
+ </s:complexType>
292
+ <s:complexType name="ClientRelationship">
293
+ <s:complexContent mixed="false">
294
+ <s:extension base="tns:MBObject">
295
+ <s:sequence>
296
+ <s:element minOccurs="0" maxOccurs="1" name="RelatedClient" type="tns:Client" />
297
+ <s:element minOccurs="0" maxOccurs="1" name="Relationship" type="tns:Relationship" />
298
+ <s:element minOccurs="0" maxOccurs="1" name="RelationshipName" type="s:string" />
299
+ </s:sequence>
300
+ </s:extension>
301
+ </s:complexContent>
302
+ </s:complexType>
303
+ <s:complexType name="Client">
304
+ <s:complexContent mixed="false">
305
+ <s:extension base="tns:MBObject">
306
+ <s:sequence>
307
+ <s:element minOccurs="0" maxOccurs="1" name="NewID" type="s:string" />
308
+ <s:element minOccurs="0" maxOccurs="1" name="AccountBalance" type="s:double" />
309
+ <s:element minOccurs="0" maxOccurs="1" name="ClientIndexes" type="tns:ArrayOfClientIndex" />
310
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
311
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
312
+ <s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string" />
313
+ <s:element minOccurs="0" maxOccurs="1" name="MobileProvider" nillable="true" type="s:int" />
314
+ <s:element minOccurs="0" maxOccurs="1" name="ClientCreditCard" type="tns:ClientCreditCard" />
315
+ <s:element minOccurs="0" maxOccurs="1" name="LastFormulaNotes" type="s:string" />
316
+ <s:element minOccurs="0" maxOccurs="1" name="AppointmentGenderPreference" type="s:string" />
317
+ <s:element minOccurs="0" maxOccurs="1" name="Gender" type="s:string" />
318
+ <s:element minOccurs="0" maxOccurs="1" name="IsCompany" nillable="true" type="s:boolean" />
319
+ <s:element minOccurs="0" maxOccurs="1" name="Inactive" nillable="true" type="s:boolean" />
320
+ <s:element minOccurs="0" maxOccurs="1" name="ClientRelationships" type="tns:ArrayOfClientRelationship" />
321
+ <s:element minOccurs="0" maxOccurs="1" name="Reps" type="tns:ArrayOfRep" />
322
+ <s:element minOccurs="0" maxOccurs="1" name="SaleReps" type="tns:ArrayOfSalesRep" />
323
+ <s:element minOccurs="0" maxOccurs="1" name="CustomClientFields" type="tns:ArrayOfCustomClientField" />
324
+ <s:element minOccurs="0" maxOccurs="1" name="LiabilityRelease" nillable="true" type="s:boolean" />
325
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoName" type="s:string" />
326
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoRelationship" type="s:string" />
327
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoPhone" type="s:string" />
328
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoEmail" type="s:string" />
329
+ <s:element minOccurs="0" maxOccurs="1" name="PromotionalEmailOptIn" nillable="true" type="s:boolean" />
330
+ <s:element minOccurs="0" maxOccurs="1" name="CreationDate" nillable="true" type="s:dateTime" />
331
+ <s:element minOccurs="0" maxOccurs="1" name="Liability" type="tns:Liability" />
332
+ <s:element minOccurs="0" maxOccurs="1" name="ProspectStage" type="tns:ProspectStage" />
333
+ <s:element minOccurs="0" maxOccurs="1" name="UniqueID" type="s:long" />
334
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
335
+ <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
336
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
337
+ <s:element minOccurs="0" maxOccurs="1" name="MiddleName" type="s:string" />
338
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
339
+ <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
340
+ <s:element minOccurs="0" maxOccurs="1" name="EmailOptIn" nillable="true" type="s:boolean" />
341
+ <s:element minOccurs="0" maxOccurs="1" name="AddressLine1" type="s:string" />
342
+ <s:element minOccurs="0" maxOccurs="1" name="AddressLine2" type="s:string" />
343
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
344
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
345
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
346
+ <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
347
+ <s:element minOccurs="0" maxOccurs="1" name="MobilePhone" type="s:string" />
348
+ <s:element minOccurs="0" maxOccurs="1" name="HomePhone" type="s:string" />
349
+ <s:element minOccurs="0" maxOccurs="1" name="WorkPhone" type="s:string" />
350
+ <s:element minOccurs="0" maxOccurs="1" name="WorkExtension" type="s:string" />
351
+ <s:element minOccurs="0" maxOccurs="1" name="BirthDate" nillable="true" type="s:dateTime" />
352
+ <s:element minOccurs="0" maxOccurs="1" name="FirstAppointmentDate" nillable="true" type="s:dateTime" />
353
+ <s:element minOccurs="0" maxOccurs="1" name="ReferredBy" type="s:string" />
354
+ <s:element minOccurs="0" maxOccurs="1" name="HomeLocation" type="tns:Location" />
355
+ <s:element minOccurs="0" maxOccurs="1" name="YellowAlert" type="s:string" />
356
+ <s:element minOccurs="0" maxOccurs="1" name="RedAlert" type="s:string" />
357
+ <s:element minOccurs="0" maxOccurs="1" name="PhotoURL" type="s:string" />
358
+ <s:element minOccurs="0" maxOccurs="1" name="IsProspect" nillable="true" type="s:boolean" />
359
+ <s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
360
+ <s:element minOccurs="0" maxOccurs="1" name="ContactMethod" nillable="true" type="s:short" />
361
+ </s:sequence>
362
+ </s:extension>
363
+ </s:complexContent>
364
+ </s:complexType>
365
+ <s:complexType name="ArrayOfClientIndex">
366
+ <s:sequence>
367
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ClientIndex" nillable="true" type="tns:ClientIndex" />
368
+ </s:sequence>
369
+ </s:complexType>
370
+ <s:complexType name="ClientIndex">
371
+ <s:complexContent mixed="false">
372
+ <s:extension base="tns:MBObject">
373
+ <s:sequence>
374
+ <s:element minOccurs="0" maxOccurs="1" name="RequiredBusinessMode" type="s:boolean" />
375
+ <s:element minOccurs="0" maxOccurs="1" name="RequiredConsumerMode" type="s:boolean" />
376
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
377
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
378
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
379
+ <s:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfClientIndexValue" />
380
+ </s:sequence>
381
+ </s:extension>
382
+ </s:complexContent>
383
+ </s:complexType>
384
+ <s:complexType name="ArrayOfClientIndexValue">
385
+ <s:sequence>
386
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ClientIndexValue" nillable="true" type="tns:ClientIndexValue" />
387
+ </s:sequence>
388
+ </s:complexType>
389
+ <s:complexType name="ClientIndexValue">
390
+ <s:complexContent mixed="false">
391
+ <s:extension base="tns:MBObject">
392
+ <s:sequence>
393
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
394
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
395
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
396
+ <s:element minOccurs="0" maxOccurs="1" name="Active" type="s:boolean" />
397
+ </s:sequence>
398
+ </s:extension>
399
+ </s:complexContent>
400
+ </s:complexType>
401
+ <s:complexType name="ClientCreditCard">
402
+ <s:sequence>
403
+ <s:element minOccurs="0" maxOccurs="1" name="CardType" type="s:string" />
404
+ <s:element minOccurs="0" maxOccurs="1" name="LastFour" type="s:string" />
405
+ <s:element minOccurs="0" maxOccurs="1" name="CardNumber" type="s:string" />
406
+ <s:element minOccurs="0" maxOccurs="1" name="CardHolder" type="s:string" />
407
+ <s:element minOccurs="0" maxOccurs="1" name="ExpMonth" type="s:string" />
408
+ <s:element minOccurs="0" maxOccurs="1" name="ExpYear" type="s:string" />
409
+ <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
410
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
411
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
412
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
413
+ </s:sequence>
414
+ </s:complexType>
415
+ <s:complexType name="ArrayOfClientRelationship">
416
+ <s:sequence>
417
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ClientRelationship" nillable="true" type="tns:ClientRelationship" />
418
+ </s:sequence>
419
+ </s:complexType>
420
+ <s:complexType name="ArrayOfRep">
421
+ <s:sequence>
422
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Rep" nillable="true" type="tns:Rep" />
423
+ </s:sequence>
424
+ </s:complexType>
425
+ <s:complexType name="ArrayOfSalesRep">
426
+ <s:sequence>
427
+ <s:element minOccurs="0" maxOccurs="unbounded" name="SalesRep" nillable="true" type="tns:SalesRep" />
428
+ </s:sequence>
429
+ </s:complexType>
430
+ <s:complexType name="ArrayOfCustomClientField">
431
+ <s:sequence>
432
+ <s:element minOccurs="0" maxOccurs="unbounded" name="CustomClientField" nillable="true" type="tns:CustomClientField" />
433
+ </s:sequence>
434
+ </s:complexType>
435
+ <s:complexType name="CustomClientField">
436
+ <s:sequence>
437
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
438
+ <s:element minOccurs="0" maxOccurs="1" name="DataType" type="s:string" />
439
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
440
+ <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
441
+ </s:sequence>
442
+ </s:complexType>
443
+ <s:complexType name="Liability">
444
+ <s:sequence>
445
+ <s:element minOccurs="1" maxOccurs="1" name="IsReleased" type="s:boolean" />
446
+ <s:element minOccurs="1" maxOccurs="1" name="AgreementDate" nillable="true" type="s:dateTime" />
447
+ <s:element minOccurs="1" maxOccurs="1" name="ReleasedBy" nillable="true" type="s:long" />
448
+ </s:sequence>
449
+ </s:complexType>
450
+ <s:complexType name="ProspectStage">
451
+ <s:sequence>
452
+ <s:element minOccurs="1" maxOccurs="1" name="ID" nillable="true" type="s:int" />
453
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
454
+ <s:element minOccurs="1" maxOccurs="1" name="Active" type="s:boolean" />
455
+ </s:sequence>
456
+ </s:complexType>
457
+ <s:complexType name="Location">
458
+ <s:complexContent mixed="false">
459
+ <s:extension base="tns:MBObject">
460
+ <s:sequence>
461
+ <s:element minOccurs="0" maxOccurs="1" name="BusinessID" nillable="true" type="s:int" />
462
+ <s:element minOccurs="0" maxOccurs="1" name="SiteID" type="s:int" />
463
+ <s:element minOccurs="0" maxOccurs="1" name="BusinessDescription" type="s:string" />
464
+ <s:element minOccurs="0" maxOccurs="1" name="AdditionalImageURLs" type="tns:ArrayOfString" />
465
+ <s:element minOccurs="0" maxOccurs="1" name="FacilitySquareFeet" nillable="true" type="s:int" />
466
+ <s:element minOccurs="0" maxOccurs="1" name="TreatmentRooms" nillable="true" type="s:int" />
467
+ <s:element minOccurs="0" maxOccurs="1" name="ProSpaFinderSite" type="s:boolean" />
468
+ <s:element minOccurs="0" maxOccurs="1" name="HasClasses" type="s:boolean" />
469
+ <s:element minOccurs="0" maxOccurs="1" name="PhoneExtension" type="s:string" />
470
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
471
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
472
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
473
+ <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
474
+ <s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
475
+ <s:element minOccurs="0" maxOccurs="1" name="Tax1" nillable="true" type="s:float" />
476
+ <s:element minOccurs="0" maxOccurs="1" name="Tax2" nillable="true" type="s:float" />
477
+ <s:element minOccurs="0" maxOccurs="1" name="Tax3" nillable="true" type="s:float" />
478
+ <s:element minOccurs="0" maxOccurs="1" name="Tax4" nillable="true" type="s:float" />
479
+ <s:element minOccurs="0" maxOccurs="1" name="Tax5" nillable="true" type="s:float" />
480
+ <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
481
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
482
+ <s:element minOccurs="0" maxOccurs="1" name="StateProvCode" type="s:string" />
483
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
484
+ <s:element minOccurs="0" maxOccurs="1" name="Latitude" nillable="true" type="s:double" />
485
+ <s:element minOccurs="0" maxOccurs="1" name="Longitude" nillable="true" type="s:double" />
486
+ <s:element minOccurs="0" maxOccurs="1" name="DistanceInMiles" nillable="true" type="s:double" />
487
+ <s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
488
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
489
+ <s:element minOccurs="0" maxOccurs="1" name="HasSite" nillable="true" type="s:boolean" />
490
+ <s:element minOccurs="0" maxOccurs="1" name="CanBook" nillable="true" type="s:boolean" />
491
+ </s:sequence>
492
+ </s:extension>
493
+ </s:complexContent>
494
+ </s:complexType>
495
+ <s:complexType name="Relationship">
496
+ <s:sequence>
497
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
498
+ <s:element minOccurs="0" maxOccurs="1" name="RelationshipName1" type="s:string" />
499
+ <s:element minOccurs="0" maxOccurs="1" name="RelationshipName2" type="s:string" />
500
+ </s:sequence>
501
+ </s:complexType>
502
+ <s:complexType name="SessionType">
503
+ <s:complexContent mixed="false">
504
+ <s:extension base="tns:MBObject">
505
+ <s:sequence>
506
+ <s:element minOccurs="1" maxOccurs="1" name="DefaultTimeLength" nillable="true" type="s:int" />
507
+ <s:element minOccurs="1" maxOccurs="1" name="ProgramID" nillable="true" type="s:int" />
508
+ <s:element minOccurs="1" maxOccurs="1" name="NumDeducted" nillable="true" type="s:int" />
509
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
510
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
511
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
512
+ </s:sequence>
513
+ </s:extension>
514
+ </s:complexContent>
515
+ </s:complexType>
516
+ <s:complexType name="ScheduleItem">
517
+ <s:complexContent mixed="false">
518
+ <s:extension base="tns:MBObject" />
519
+ </s:complexContent>
520
+ </s:complexType>
521
+ <s:complexType name="Appointment">
522
+ <s:complexContent mixed="false">
523
+ <s:extension base="tns:ScheduleItem">
524
+ <s:sequence>
525
+ <s:element minOccurs="0" maxOccurs="1" name="GenderPreference" type="s:string" />
526
+ <s:element minOccurs="1" maxOccurs="1" name="Duration" nillable="true" type="s:int" />
527
+ <s:element minOccurs="0" maxOccurs="1" name="ProviderID" type="s:string" />
528
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
529
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
530
+ <s:element minOccurs="0" maxOccurs="1" name="Status" type="tns:AppointmentStatus" />
531
+ <s:element minOccurs="0" maxOccurs="1" name="StartDateTime" nillable="true" type="s:dateTime" />
532
+ <s:element minOccurs="0" maxOccurs="1" name="EndDateTime" nillable="true" type="s:dateTime" />
533
+ <s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string" />
534
+ <s:element minOccurs="0" maxOccurs="1" name="StaffRequested" nillable="true" type="s:boolean" />
535
+ <s:element minOccurs="0" maxOccurs="1" name="Program" type="tns:Program" />
536
+ <s:element minOccurs="0" maxOccurs="1" name="SessionType" type="tns:SessionType" />
537
+ <s:element minOccurs="0" maxOccurs="1" name="Location" type="tns:Location" />
538
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
539
+ <s:element minOccurs="0" maxOccurs="1" name="Client" type="tns:Client" />
540
+ <s:element minOccurs="0" maxOccurs="1" name="FirstAppointment" nillable="true" type="s:boolean" />
541
+ <s:element minOccurs="0" maxOccurs="1" name="ClientService" type="tns:ClientService" />
542
+ <s:element minOccurs="0" maxOccurs="1" name="Resources" type="tns:ArrayOfResource" />
543
+ </s:sequence>
544
+ </s:extension>
545
+ </s:complexContent>
546
+ </s:complexType>
547
+ <s:simpleType name="AppointmentStatus">
548
+ <s:restriction base="s:string">
549
+ <s:enumeration value="Booked" />
550
+ <s:enumeration value="Completed" />
551
+ <s:enumeration value="Confirmed" />
552
+ <s:enumeration value="Arrived" />
553
+ <s:enumeration value="NoShow" />
554
+ <s:enumeration value="Cancelled" />
555
+ <s:enumeration value="LateCancelled" />
556
+ </s:restriction>
557
+ </s:simpleType>
558
+ <s:complexType name="ArrayOfResource">
559
+ <s:sequence>
560
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Resource" nillable="true" type="tns:Resource" />
561
+ </s:sequence>
562
+ </s:complexType>
563
+ <s:complexType name="Unavailability">
564
+ <s:complexContent mixed="false">
565
+ <s:extension base="tns:ScheduleItem">
566
+ <s:sequence>
567
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
568
+ <s:element minOccurs="1" maxOccurs="1" name="StartDateTime" type="s:dateTime" />
569
+ <s:element minOccurs="1" maxOccurs="1" name="EndDateTime" type="s:dateTime" />
570
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
571
+ </s:sequence>
572
+ </s:extension>
573
+ </s:complexContent>
574
+ </s:complexType>
575
+ <s:complexType name="Availability">
576
+ <s:complexContent mixed="false">
577
+ <s:extension base="tns:ScheduleItem">
578
+ <s:sequence>
579
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
580
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
581
+ <s:element minOccurs="0" maxOccurs="1" name="SessionType" type="tns:SessionType" />
582
+ <s:element minOccurs="0" maxOccurs="1" name="Programs" type="tns:ArrayOfProgram" />
583
+ <s:element minOccurs="1" maxOccurs="1" name="StartDateTime" type="s:dateTime" />
584
+ <s:element minOccurs="1" maxOccurs="1" name="EndDateTime" type="s:dateTime" />
585
+ <s:element minOccurs="1" maxOccurs="1" name="BookableEndDateTime" nillable="true" type="s:dateTime" />
586
+ <s:element minOccurs="0" maxOccurs="1" name="Location" type="tns:Location" />
587
+ </s:sequence>
588
+ </s:extension>
589
+ </s:complexContent>
590
+ </s:complexType>
591
+ <s:complexType name="ArrayOfProgram">
592
+ <s:sequence>
593
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Program" nillable="true" type="tns:Program" />
594
+ </s:sequence>
595
+ </s:complexType>
596
+ <s:complexType name="ArrayOfAppointment">
597
+ <s:sequence>
598
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Appointment" nillable="true" type="tns:Appointment" />
599
+ </s:sequence>
600
+ </s:complexType>
601
+ <s:complexType name="ArrayOfUnavailability">
602
+ <s:sequence>
603
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Unavailability" nillable="true" type="tns:Unavailability" />
604
+ </s:sequence>
605
+ </s:complexType>
606
+ <s:complexType name="ArrayOfAvailability">
607
+ <s:sequence>
608
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Availability" nillable="true" type="tns:Availability" />
609
+ </s:sequence>
610
+ </s:complexType>
611
+ <s:complexType name="ArrayOfLocation">
612
+ <s:sequence>
613
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
614
+ </s:sequence>
615
+ </s:complexType>
616
+ <s:complexType name="ArrayOfProviderIDUpdate">
617
+ <s:sequence>
618
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ProviderIDUpdate" nillable="true" type="tns:ProviderIDUpdate" />
619
+ </s:sequence>
620
+ </s:complexType>
621
+ <s:complexType name="ProviderIDUpdate">
622
+ <s:sequence>
623
+ <s:element minOccurs="0" maxOccurs="1" name="OldProviderID" type="s:string" />
624
+ <s:element minOccurs="0" maxOccurs="1" name="NewProviderID" type="s:string" />
625
+ </s:sequence>
626
+ </s:complexType>
627
+ <s:element name="GetStaffPermissions">
628
+ <s:complexType>
629
+ <s:sequence>
630
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetStaffPermissionsRequest" />
631
+ </s:sequence>
632
+ </s:complexType>
633
+ </s:element>
634
+ <s:complexType name="GetStaffPermissionsRequest">
635
+ <s:complexContent mixed="false">
636
+ <s:extension base="tns:MBRequest">
637
+ <s:sequence>
638
+ <s:element minOccurs="1" maxOccurs="1" name="StaffID" type="s:long" />
639
+ </s:sequence>
640
+ </s:extension>
641
+ </s:complexContent>
642
+ </s:complexType>
643
+ <s:element name="GetStaffPermissionsResponse">
644
+ <s:complexType>
645
+ <s:sequence>
646
+ <s:element minOccurs="0" maxOccurs="1" name="GetStaffPermissionsResult" type="tns:GetStaffPermissionsResult" />
647
+ </s:sequence>
648
+ </s:complexType>
649
+ </s:element>
650
+ <s:complexType name="GetStaffPermissionsResult">
651
+ <s:complexContent mixed="false">
652
+ <s:extension base="tns:MBResult">
653
+ <s:sequence>
654
+ <s:element minOccurs="0" maxOccurs="1" name="Permissions" type="tns:ArrayOfPermission" />
655
+ </s:sequence>
656
+ </s:extension>
657
+ </s:complexContent>
658
+ </s:complexType>
659
+ <s:complexType name="ArrayOfPermission">
660
+ <s:sequence>
661
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Permission" nillable="true" type="tns:Permission" />
662
+ </s:sequence>
663
+ </s:complexType>
664
+ <s:complexType name="Permission">
665
+ <s:sequence>
666
+ <s:element minOccurs="0" maxOccurs="1" name="DisplayName" type="s:string" />
667
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
668
+ <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
669
+ </s:sequence>
670
+ </s:complexType>
671
+ <s:element name="AddOrUpdateStaff">
672
+ <s:complexType>
673
+ <s:sequence>
674
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddOrUpdateStaffRequest" />
675
+ </s:sequence>
676
+ </s:complexType>
677
+ </s:element>
678
+ <s:complexType name="AddOrUpdateStaffRequest">
679
+ <s:complexContent mixed="false">
680
+ <s:extension base="tns:MBRequest">
681
+ <s:sequence>
682
+ <s:element minOccurs="0" maxOccurs="1" name="UpdateAction" type="s:string" />
683
+ <s:element minOccurs="1" maxOccurs="1" name="Test" nillable="true" type="s:boolean" />
684
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:ArrayOfStaff" />
685
+ </s:sequence>
686
+ </s:extension>
687
+ </s:complexContent>
688
+ </s:complexType>
689
+ <s:element name="AddOrUpdateStaffResponse">
690
+ <s:complexType>
691
+ <s:sequence>
692
+ <s:element minOccurs="0" maxOccurs="1" name="AddOrUpdateStaffResult" type="tns:AddOrUpdateStaffResult" />
693
+ </s:sequence>
694
+ </s:complexType>
695
+ </s:element>
696
+ <s:complexType name="AddOrUpdateStaffResult">
697
+ <s:complexContent mixed="false">
698
+ <s:extension base="tns:MBResult">
699
+ <s:sequence>
700
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:ArrayOfStaff" />
701
+ </s:sequence>
702
+ </s:extension>
703
+ </s:complexContent>
704
+ </s:complexType>
705
+ <s:element name="GetStaffImgURL">
706
+ <s:complexType>
707
+ <s:sequence>
708
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetStaffImgURLRequest" />
709
+ </s:sequence>
710
+ </s:complexType>
711
+ </s:element>
712
+ <s:complexType name="GetStaffImgURLRequest">
713
+ <s:complexContent mixed="false">
714
+ <s:extension base="tns:MBRequest">
715
+ <s:sequence>
716
+ <s:element minOccurs="1" maxOccurs="1" name="StaffID" type="s:long" />
717
+ </s:sequence>
718
+ </s:extension>
719
+ </s:complexContent>
720
+ </s:complexType>
721
+ <s:element name="GetStaffImgURLResponse">
722
+ <s:complexType>
723
+ <s:sequence>
724
+ <s:element minOccurs="0" maxOccurs="1" name="GetStaffImgURLResult" type="tns:GetStaffImgURLResult" />
725
+ </s:sequence>
726
+ </s:complexType>
727
+ </s:element>
728
+ <s:complexType name="GetStaffImgURLResult">
729
+ <s:complexContent mixed="false">
730
+ <s:extension base="tns:MBResult">
731
+ <s:sequence>
732
+ <s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
733
+ <s:element minOccurs="0" maxOccurs="1" name="MobileImageURL" type="s:string" />
734
+ </s:sequence>
735
+ </s:extension>
736
+ </s:complexContent>
737
+ </s:complexType>
738
+ <s:element name="ValidateStaffLogin">
739
+ <s:complexType>
740
+ <s:sequence>
741
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:ValidateLoginRequest" />
742
+ </s:sequence>
743
+ </s:complexType>
744
+ </s:element>
745
+ <s:complexType name="ValidateLoginRequest">
746
+ <s:complexContent mixed="false">
747
+ <s:extension base="tns:MBRequest">
748
+ <s:sequence>
749
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
750
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
751
+ </s:sequence>
752
+ </s:extension>
753
+ </s:complexContent>
754
+ </s:complexType>
755
+ <s:element name="ValidateStaffLoginResponse">
756
+ <s:complexType>
757
+ <s:sequence>
758
+ <s:element minOccurs="0" maxOccurs="1" name="ValidateStaffLoginResult" type="tns:ValidateLoginResult" />
759
+ </s:sequence>
760
+ </s:complexType>
761
+ </s:element>
762
+ <s:complexType name="ValidateLoginResult">
763
+ <s:complexContent mixed="false">
764
+ <s:extension base="tns:MBResult">
765
+ <s:sequence>
766
+ <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
767
+ <s:element minOccurs="0" maxOccurs="1" name="Client" type="tns:Client" />
768
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
769
+ </s:sequence>
770
+ </s:extension>
771
+ </s:complexContent>
772
+ </s:complexType>
773
+ <s:element name="GetSalesReps">
774
+ <s:complexType>
775
+ <s:sequence>
776
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetSalesRepsRequest" />
777
+ </s:sequence>
778
+ </s:complexType>
779
+ </s:element>
780
+ <s:complexType name="GetSalesRepsRequest">
781
+ <s:complexContent mixed="false">
782
+ <s:extension base="tns:MBRequest">
783
+ <s:sequence>
784
+ <s:element minOccurs="0" maxOccurs="1" name="SalesRepNumbers" type="tns:ArrayOfInt" />
785
+ <s:element minOccurs="1" maxOccurs="1" name="ShowActiveOnly" nillable="true" type="s:boolean" />
786
+ </s:sequence>
787
+ </s:extension>
788
+ </s:complexContent>
789
+ </s:complexType>
790
+ <s:element name="GetSalesRepsResponse">
791
+ <s:complexType>
792
+ <s:sequence>
793
+ <s:element minOccurs="0" maxOccurs="1" name="GetSalesRepsResult" type="tns:GetSalesRepsResult" />
794
+ </s:sequence>
795
+ </s:complexType>
796
+ </s:element>
797
+ <s:complexType name="GetSalesRepsResult">
798
+ <s:complexContent mixed="false">
799
+ <s:extension base="tns:MBResult">
800
+ <s:sequence>
801
+ <s:element minOccurs="0" maxOccurs="1" name="SalesReps" type="tns:ArrayOfSalesRep" />
802
+ </s:sequence>
803
+ </s:extension>
804
+ </s:complexContent>
805
+ </s:complexType>
806
+ </s:schema>
807
+ </wsdl:types>
808
+ <wsdl:message name="GetStaffSoapIn">
809
+ <wsdl:part name="parameters" element="tns:GetStaff" />
810
+ </wsdl:message>
811
+ <wsdl:message name="GetStaffSoapOut">
812
+ <wsdl:part name="parameters" element="tns:GetStaffResponse" />
813
+ </wsdl:message>
814
+ <wsdl:message name="GetStaffPermissionsSoapIn">
815
+ <wsdl:part name="parameters" element="tns:GetStaffPermissions" />
816
+ </wsdl:message>
817
+ <wsdl:message name="GetStaffPermissionsSoapOut">
818
+ <wsdl:part name="parameters" element="tns:GetStaffPermissionsResponse" />
819
+ </wsdl:message>
820
+ <wsdl:message name="AddOrUpdateStaffSoapIn">
821
+ <wsdl:part name="parameters" element="tns:AddOrUpdateStaff" />
822
+ </wsdl:message>
823
+ <wsdl:message name="AddOrUpdateStaffSoapOut">
824
+ <wsdl:part name="parameters" element="tns:AddOrUpdateStaffResponse" />
825
+ </wsdl:message>
826
+ <wsdl:message name="GetStaffImgURLSoapIn">
827
+ <wsdl:part name="parameters" element="tns:GetStaffImgURL" />
828
+ </wsdl:message>
829
+ <wsdl:message name="GetStaffImgURLSoapOut">
830
+ <wsdl:part name="parameters" element="tns:GetStaffImgURLResponse" />
831
+ </wsdl:message>
832
+ <wsdl:message name="ValidateStaffLoginSoapIn">
833
+ <wsdl:part name="parameters" element="tns:ValidateStaffLogin" />
834
+ </wsdl:message>
835
+ <wsdl:message name="ValidateStaffLoginSoapOut">
836
+ <wsdl:part name="parameters" element="tns:ValidateStaffLoginResponse" />
837
+ </wsdl:message>
838
+ <wsdl:message name="GetSalesRepsSoapIn">
839
+ <wsdl:part name="parameters" element="tns:GetSalesReps" />
840
+ </wsdl:message>
841
+ <wsdl:message name="GetSalesRepsSoapOut">
842
+ <wsdl:part name="parameters" element="tns:GetSalesRepsResponse" />
843
+ </wsdl:message>
844
+ <wsdl:portType name="Staff_x0020_ServiceSoap">
845
+ <wsdl:operation name="GetStaff">
846
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of staff members.</wsdl:documentation>
847
+ <wsdl:input message="tns:GetStaffSoapIn" />
848
+ <wsdl:output message="tns:GetStaffSoapOut" />
849
+ </wsdl:operation>
850
+ <wsdl:operation name="GetStaffPermissions">
851
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of staff permissions based on the given staff member.</wsdl:documentation>
852
+ <wsdl:input message="tns:GetStaffPermissionsSoapIn" />
853
+ <wsdl:output message="tns:GetStaffPermissionsSoapOut" />
854
+ </wsdl:operation>
855
+ <wsdl:operation name="AddOrUpdateStaff">
856
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Add or update staff.</wsdl:documentation>
857
+ <wsdl:input message="tns:AddOrUpdateStaffSoapIn" />
858
+ <wsdl:output message="tns:AddOrUpdateStaffSoapOut" />
859
+ </wsdl:operation>
860
+ <wsdl:operation name="GetStaffImgURL">
861
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a staff member's image URL if it exists.</wsdl:documentation>
862
+ <wsdl:input message="tns:GetStaffImgURLSoapIn" />
863
+ <wsdl:output message="tns:GetStaffImgURLSoapOut" />
864
+ </wsdl:operation>
865
+ <wsdl:operation name="ValidateStaffLogin">
866
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Validates a username and password. This method returns the staff on success.</wsdl:documentation>
867
+ <wsdl:input message="tns:ValidateStaffLoginSoapIn" />
868
+ <wsdl:output message="tns:ValidateStaffLoginSoapOut" />
869
+ </wsdl:operation>
870
+ <wsdl:operation name="GetSalesReps">
871
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of sales reps based on the requested rep IDs</wsdl:documentation>
872
+ <wsdl:input message="tns:GetSalesRepsSoapIn" />
873
+ <wsdl:output message="tns:GetSalesRepsSoapOut" />
874
+ </wsdl:operation>
875
+ </wsdl:portType>
876
+ <wsdl:binding name="Staff_x0020_ServiceSoap" type="tns:Staff_x0020_ServiceSoap">
877
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
878
+ <wsdl:operation name="GetStaff">
879
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetStaff" style="document" />
880
+ <wsdl:input>
881
+ <soap:body use="literal" />
882
+ </wsdl:input>
883
+ <wsdl:output>
884
+ <soap:body use="literal" />
885
+ </wsdl:output>
886
+ </wsdl:operation>
887
+ <wsdl:operation name="GetStaffPermissions">
888
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetStaffPermissions" style="document" />
889
+ <wsdl:input>
890
+ <soap:body use="literal" />
891
+ </wsdl:input>
892
+ <wsdl:output>
893
+ <soap:body use="literal" />
894
+ </wsdl:output>
895
+ </wsdl:operation>
896
+ <wsdl:operation name="AddOrUpdateStaff">
897
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/AddOrUpdateStaff" style="document" />
898
+ <wsdl:input>
899
+ <soap:body use="literal" />
900
+ </wsdl:input>
901
+ <wsdl:output>
902
+ <soap:body use="literal" />
903
+ </wsdl:output>
904
+ </wsdl:operation>
905
+ <wsdl:operation name="GetStaffImgURL">
906
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetStaffImgURL" style="document" />
907
+ <wsdl:input>
908
+ <soap:body use="literal" />
909
+ </wsdl:input>
910
+ <wsdl:output>
911
+ <soap:body use="literal" />
912
+ </wsdl:output>
913
+ </wsdl:operation>
914
+ <wsdl:operation name="ValidateStaffLogin">
915
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/ValidateStaffLogin" style="document" />
916
+ <wsdl:input>
917
+ <soap:body use="literal" />
918
+ </wsdl:input>
919
+ <wsdl:output>
920
+ <soap:body use="literal" />
921
+ </wsdl:output>
922
+ </wsdl:operation>
923
+ <wsdl:operation name="GetSalesReps">
924
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetSalesReps" style="document" />
925
+ <wsdl:input>
926
+ <soap:body use="literal" />
927
+ </wsdl:input>
928
+ <wsdl:output>
929
+ <soap:body use="literal" />
930
+ </wsdl:output>
931
+ </wsdl:operation>
932
+ </wsdl:binding>
933
+ <wsdl:service name="Staff_x0020_Service">
934
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Provides methods and attributes relating to staff.</wsdl:documentation>
935
+ <wsdl:port name="Staff_x0020_ServiceSoap" binding="tns:Staff_x0020_ServiceSoap">
936
+ <soap:address location="https://api.mindbodyonline.com/0_5/StaffService.asmx" />
937
+ </wsdl:port>
938
+ </wsdl:service>
939
+ </wsdl:definitions>