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,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::AppointmentService do
4
+ subject { MindBody::Services::AppointmentService }
5
+
6
+ it { should respond_to(:get_staff_appointments) }
7
+ it { should respond_to(:get_bookable_items) }
8
+ it { should respond_to(:get_schedule_items) }
9
+ it { should respond_to(:add_or_update_appointments) }
10
+ it { should respond_to(:add_or_update_availabilities) }
11
+ it { should respond_to(:get_active_session_times) }
12
+ it { should respond_to(:get_appointment_options) }
13
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::ClassService do
4
+ subject { MindBody::Services::ClassService }
5
+
6
+ it { should respond_to(:get_classes) }
7
+ it { should respond_to(:get_class_visits) }
8
+ it { should respond_to(:get_class_descriptions) }
9
+ it { should respond_to(:get_class_schedules) }
10
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::ClientService do
4
+ subject { MindBody::Services::ClientService }
5
+
6
+ it { should respond_to(:add_arrival) }
7
+ it { should respond_to(:add_or_update_clients) }
8
+ it { should respond_to(:get_clients) }
9
+ it { should respond_to(:get_custom_client_fields) }
10
+ it { should respond_to(:get_client_indexes) }
11
+ it { should respond_to(:get_client_contact_logs) }
12
+ it { should respond_to(:add_or_update_contact_logs) }
13
+ it { should respond_to(:get_contact_log_types) }
14
+ it { should respond_to(:upload_client_document) }
15
+ it { should respond_to(:get_client_referral_types) }
16
+ it { should respond_to(:get_active_client_memberships) }
17
+ it { should respond_to(:get_client_contracts) }
18
+ it { should respond_to(:get_client_account_balances) }
19
+ it { should respond_to(:get_client_services) }
20
+ it { should respond_to(:get_client_visits) }
21
+ it { should respond_to(:get_client_purchases) }
22
+ it { should respond_to(:get_client_schedule) }
23
+ it { should respond_to(:get_required_client_fields) }
24
+ it { should respond_to(:validate_login) }
25
+ it { should respond_to(:update_client_services) }
26
+ it { should respond_to(:send_user_new_password) }
27
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::FinderService do
4
+ subject { MindBody::Services::FinderService }
5
+
6
+ it { should respond_to(:get_classes_within_radius) }
7
+ it { should respond_to(:get_session_types_within_radius) }
8
+ it { should respond_to(:get_business_locations_within_radius) }
9
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::SaleService do
4
+ subject { MindBody::Services::SaleService }
5
+
6
+ it { should respond_to(:get_accepted_card_type) }
7
+ it { should respond_to(:get_sales) }
8
+ it { should respond_to(:get_services) }
9
+ it { should respond_to(:get_packages) }
10
+ it { should respond_to(:get_products) }
11
+ it { should respond_to(:get_custom_payment_methods) }
12
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::SiteService do
4
+ subject { MindBody::Services::SiteService }
5
+
6
+ it { should respond_to(:get_sites) }
7
+ it { should respond_to(:get_locations) }
8
+ it { should respond_to(:get_activation_code) }
9
+ it { should respond_to(:get_programs) }
10
+ it { should respond_to(:get_session_types) }
11
+ it { should respond_to(:get_resources) }
12
+ it { should respond_to(:get_relationships) }
13
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe MindBody::Services::StaffService do
4
+ subject { MindBody::Services::StaffService }
5
+
6
+ it { should respond_to(:get_staff) }
7
+ it { should respond_to(:get_staff_permissions) }
8
+ it { should respond_to(:add_or_update_staff) }
9
+ it { should respond_to(:get_staff_img_url) }
10
+ end
@@ -0,0 +1,18 @@
1
+ require 'bundler/setup'
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter '/spec/'
5
+ end
6
+
7
+ require 'mindbody-api'
8
+
9
+ RSpec.configure do |config|
10
+ config.color = true
11
+ config.treat_symbols_as_metadata_keys_with_true_values = true
12
+ config.expect_with :rspec do |c|
13
+ c.syntax = :expect
14
+ end
15
+ end
16
+
17
+ # Load custom matchers
18
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
@@ -0,0 +1,1084 @@
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 appointments.</wsdl:documentation>
4
+ <wsdl:types>
5
+ <s:schema elementFormDefault="qualified" targetNamespace="http://clients.mindbodyonline.com/api/0_5">
6
+ <s:element name="GetStaffAppointments">
7
+ <s:complexType>
8
+ <s:sequence>
9
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetStaffAppointmentsRequest" />
10
+ </s:sequence>
11
+ </s:complexType>
12
+ </s:element>
13
+ <s:complexType name="GetStaffAppointmentsRequest">
14
+ <s:complexContent mixed="false">
15
+ <s:extension base="tns:MBRequest">
16
+ <s:sequence>
17
+ <s:element minOccurs="0" maxOccurs="1" name="StaffCredentials" type="tns:StaffCredentials" />
18
+ <s:element minOccurs="0" maxOccurs="1" name="AppointmentIDs" type="tns:ArrayOfInt" />
19
+ <s:element minOccurs="0" maxOccurs="1" name="LocationIDs" type="tns:ArrayOfInt" />
20
+ <s:element minOccurs="1" maxOccurs="1" name="StartDate" nillable="true" type="s:dateTime" />
21
+ <s:element minOccurs="1" maxOccurs="1" name="EndDate" nillable="true" type="s:dateTime" />
22
+ <s:element minOccurs="0" maxOccurs="1" name="StaffIDs" type="tns:ArrayOfLong" />
23
+ <s:element minOccurs="0" maxOccurs="1" name="ClientIDs" type="tns:ArrayOfString" />
24
+ </s:sequence>
25
+ </s:extension>
26
+ </s:complexContent>
27
+ </s:complexType>
28
+ <s:complexType name="MBRequest">
29
+ <s:sequence>
30
+ <s:element minOccurs="0" maxOccurs="1" name="SourceCredentials" type="tns:SourceCredentials" />
31
+ <s:element minOccurs="0" maxOccurs="1" name="UserCredentials" type="tns:UserCredentials" />
32
+ <s:element minOccurs="1" maxOccurs="1" name="XMLDetail" nillable="true" type="tns:XMLDetailLevel" />
33
+ <s:element minOccurs="1" maxOccurs="1" name="PageSize" nillable="true" type="s:int" />
34
+ <s:element minOccurs="1" maxOccurs="1" name="CurrentPageIndex" nillable="true" type="s:int" />
35
+ <s:element minOccurs="0" maxOccurs="1" name="Fields" type="tns:ArrayOfString" />
36
+ </s:sequence>
37
+ </s:complexType>
38
+ <s:complexType name="SourceCredentials">
39
+ <s:sequence>
40
+ <s:element minOccurs="0" maxOccurs="1" name="SourceName" type="s:string" />
41
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
42
+ <s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
43
+ </s:sequence>
44
+ </s:complexType>
45
+ <s:complexType name="ArrayOfInt">
46
+ <s:sequence>
47
+ <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
48
+ </s:sequence>
49
+ </s:complexType>
50
+ <s:complexType name="UserCredentials">
51
+ <s:sequence>
52
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
53
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
54
+ <s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
55
+ <s:element minOccurs="1" maxOccurs="1" name="LocationID" nillable="true" type="s:int" />
56
+ </s:sequence>
57
+ </s:complexType>
58
+ <s:simpleType name="XMLDetailLevel">
59
+ <s:restriction base="s:string">
60
+ <s:enumeration value="Bare" />
61
+ <s:enumeration value="Basic" />
62
+ <s:enumeration value="Full" />
63
+ </s:restriction>
64
+ </s:simpleType>
65
+ <s:complexType name="ArrayOfString">
66
+ <s:sequence>
67
+ <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
68
+ </s:sequence>
69
+ </s:complexType>
70
+ <s:complexType name="StaffCredentials">
71
+ <s:sequence>
72
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
73
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
74
+ <s:element minOccurs="0" maxOccurs="1" name="SiteIDs" type="tns:ArrayOfInt" />
75
+ </s:sequence>
76
+ </s:complexType>
77
+ <s:complexType name="ArrayOfLong">
78
+ <s:sequence>
79
+ <s:element minOccurs="0" maxOccurs="unbounded" name="long" type="s:long" />
80
+ </s:sequence>
81
+ </s:complexType>
82
+ <s:element name="GetStaffAppointmentsResponse">
83
+ <s:complexType>
84
+ <s:sequence>
85
+ <s:element minOccurs="0" maxOccurs="1" name="GetStaffAppointmentsResult" type="tns:GetStaffAppointmentsResult" />
86
+ </s:sequence>
87
+ </s:complexType>
88
+ </s:element>
89
+ <s:complexType name="GetStaffAppointmentsResult">
90
+ <s:complexContent mixed="false">
91
+ <s:extension base="tns:MBResult">
92
+ <s:sequence>
93
+ <s:element minOccurs="0" maxOccurs="1" name="Appointments" type="tns:ArrayOfAppointment" />
94
+ </s:sequence>
95
+ </s:extension>
96
+ </s:complexContent>
97
+ </s:complexType>
98
+ <s:complexType name="MBResult">
99
+ <s:sequence>
100
+ <s:element minOccurs="1" maxOccurs="1" name="Status" type="tns:StatusCode" />
101
+ <s:element minOccurs="1" maxOccurs="1" name="ErrorCode" type="s:int" />
102
+ <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
103
+ <s:element minOccurs="1" maxOccurs="1" name="XMLDetail" type="tns:XMLDetailLevel" />
104
+ <s:element minOccurs="1" maxOccurs="1" name="ResultCount" type="s:int" />
105
+ <s:element minOccurs="1" maxOccurs="1" name="CurrentPageIndex" type="s:int" />
106
+ <s:element minOccurs="1" maxOccurs="1" name="TotalPageCount" type="s:int" />
107
+ </s:sequence>
108
+ </s:complexType>
109
+ <s:simpleType name="StatusCode">
110
+ <s:restriction base="s:string">
111
+ <s:enumeration value="Success" />
112
+ <s:enumeration value="InvalidCredentials" />
113
+ <s:enumeration value="InvalidParameters" />
114
+ <s:enumeration value="InternalException" />
115
+ <s:enumeration value="Unknown" />
116
+ <s:enumeration value="FailedAction" />
117
+ </s:restriction>
118
+ </s:simpleType>
119
+ <s:complexType name="ArrayOfAppointment">
120
+ <s:sequence>
121
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Appointment" nillable="true" type="tns:Appointment" />
122
+ </s:sequence>
123
+ </s:complexType>
124
+ <s:complexType name="Appointment">
125
+ <s:complexContent mixed="false">
126
+ <s:extension base="tns:ScheduleItem">
127
+ <s:sequence>
128
+ <s:element minOccurs="0" maxOccurs="1" name="GenderPreference" type="s:string" />
129
+ <s:element minOccurs="1" maxOccurs="1" name="Duration" nillable="true" type="s:int" />
130
+ <s:element minOccurs="0" maxOccurs="1" name="ProviderID" type="s:string" />
131
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
132
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
133
+ <s:element minOccurs="0" maxOccurs="1" name="Status" type="tns:AppointmentStatus" />
134
+ <s:element minOccurs="0" maxOccurs="1" name="StartDateTime" nillable="true" type="s:dateTime" />
135
+ <s:element minOccurs="0" maxOccurs="1" name="EndDateTime" nillable="true" type="s:dateTime" />
136
+ <s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string" />
137
+ <s:element minOccurs="0" maxOccurs="1" name="StaffRequested" nillable="true" type="s:boolean" />
138
+ <s:element minOccurs="0" maxOccurs="1" name="Program" type="tns:Program" />
139
+ <s:element minOccurs="0" maxOccurs="1" name="SessionType" type="tns:SessionType" />
140
+ <s:element minOccurs="0" maxOccurs="1" name="Location" type="tns:Location" />
141
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
142
+ <s:element minOccurs="0" maxOccurs="1" name="Client" type="tns:Client" />
143
+ <s:element minOccurs="0" maxOccurs="1" name="FirstAppointment" nillable="true" type="s:boolean" />
144
+ <s:element minOccurs="0" maxOccurs="1" name="ClientService" type="tns:ClientService" />
145
+ <s:element minOccurs="0" maxOccurs="1" name="Resources" type="tns:ArrayOfResource" />
146
+ </s:sequence>
147
+ </s:extension>
148
+ </s:complexContent>
149
+ </s:complexType>
150
+ <s:complexType name="ScheduleItem">
151
+ <s:complexContent mixed="false">
152
+ <s:extension base="tns:MBObject" />
153
+ </s:complexContent>
154
+ </s:complexType>
155
+ <s:complexType name="MBObject">
156
+ <s:sequence>
157
+ <s:element minOccurs="0" maxOccurs="1" name="Site" type="tns:Site" />
158
+ <s:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:ArrayOfString" />
159
+ <s:element minOccurs="0" maxOccurs="1" name="Execute" type="s:string" />
160
+ <s:element minOccurs="0" maxOccurs="1" name="ErrorCode" type="s:string" />
161
+ </s:sequence>
162
+ </s:complexType>
163
+ <s:complexType name="Site">
164
+ <s:sequence>
165
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
166
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
167
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
168
+ <s:element minOccurs="0" maxOccurs="1" name="LogoURL" type="s:string" />
169
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor1" type="s:string" />
170
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor2" type="s:string" />
171
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor3" type="s:string" />
172
+ <s:element minOccurs="0" maxOccurs="1" name="PageColor4" type="s:string" />
173
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsVisa" type="s:boolean" />
174
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsDiscover" type="s:boolean" />
175
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsMasterCard" type="s:boolean" />
176
+ <s:element minOccurs="0" maxOccurs="1" name="AcceptsAmericanExpress" type="s:boolean" />
177
+ <s:element minOccurs="0" maxOccurs="1" name="ContactEmail" type="s:string" />
178
+ <s:element minOccurs="0" maxOccurs="1" name="ESA" nillable="true" type="s:boolean" />
179
+ <s:element minOccurs="0" maxOccurs="1" name="TotalWOD" nillable="true" type="s:boolean" />
180
+ <s:element minOccurs="0" maxOccurs="1" name="TaxInclusivePrices" nillable="true" type="s:boolean" />
181
+ <s:element minOccurs="0" maxOccurs="1" name="SMSPackageEnabled" type="s:boolean" />
182
+ <s:element minOccurs="0" maxOccurs="1" name="AllowsDashboardAccess" type="s:boolean" />
183
+ <s:element minOccurs="0" maxOccurs="1" name="PricingLevel" type="s:string" />
184
+ </s:sequence>
185
+ </s:complexType>
186
+ <s:complexType name="Resource">
187
+ <s:complexContent mixed="false">
188
+ <s:extension base="tns:MBObject">
189
+ <s:sequence>
190
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
191
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
192
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
193
+ </s:sequence>
194
+ </s:extension>
195
+ </s:complexContent>
196
+ </s:complexType>
197
+ <s:simpleType name="ActionCode">
198
+ <s:restriction base="s:string">
199
+ <s:enumeration value="None" />
200
+ <s:enumeration value="Added" />
201
+ <s:enumeration value="Updated" />
202
+ <s:enumeration value="Failed" />
203
+ <s:enumeration value="Removed" />
204
+ </s:restriction>
205
+ </s:simpleType>
206
+ <s:complexType name="ClientService">
207
+ <s:complexContent mixed="false">
208
+ <s:extension base="tns:MBObject">
209
+ <s:sequence>
210
+ <s:element minOccurs="1" maxOccurs="1" name="Current" type="s:boolean" />
211
+ <s:element minOccurs="1" maxOccurs="1" name="Count" type="s:int" />
212
+ <s:element minOccurs="1" maxOccurs="1" name="Remaining" type="s:int" />
213
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
214
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
215
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
216
+ <s:element minOccurs="0" maxOccurs="1" name="PaymentDate" nillable="true" type="s:dateTime" />
217
+ <s:element minOccurs="0" maxOccurs="1" name="ActiveDate" nillable="true" type="s:dateTime" />
218
+ <s:element minOccurs="0" maxOccurs="1" name="ExpirationDate" nillable="true" type="s:dateTime" />
219
+ <s:element minOccurs="0" maxOccurs="1" name="Program" type="tns:Program" />
220
+ </s:sequence>
221
+ </s:extension>
222
+ </s:complexContent>
223
+ </s:complexType>
224
+ <s:complexType name="Program">
225
+ <s:complexContent mixed="false">
226
+ <s:extension base="tns:MBObject">
227
+ <s:sequence>
228
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
229
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
230
+ <s:element minOccurs="1" maxOccurs="1" name="ScheduleType" nillable="true" type="tns:ScheduleType" />
231
+ <s:element minOccurs="1" maxOccurs="1" name="CancelOffset" nillable="true" type="s:int" />
232
+ </s:sequence>
233
+ </s:extension>
234
+ </s:complexContent>
235
+ </s:complexType>
236
+ <s:simpleType name="ScheduleType">
237
+ <s:restriction base="s:string">
238
+ <s:enumeration value="All" />
239
+ <s:enumeration value="DropIn" />
240
+ <s:enumeration value="Enrollment" />
241
+ <s:enumeration value="Appointment" />
242
+ <s:enumeration value="Resource" />
243
+ <s:enumeration value="Media" />
244
+ <s:enumeration value="Arrival" />
245
+ </s:restriction>
246
+ </s:simpleType>
247
+ <s:complexType name="SalesRep">
248
+ <s:complexContent mixed="false">
249
+ <s:extension base="tns:MBObject">
250
+ <s:sequence>
251
+ <s:element minOccurs="0" maxOccurs="1" name="SalesRepNumber" nillable="true" type="s:int" />
252
+ <s:element minOccurs="1" maxOccurs="1" name="ID" nillable="true" type="s:long" />
253
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
254
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
255
+ <s:element minOccurs="0" maxOccurs="1" name="SalesRepNumbers" type="tns:ArrayOfInt" />
256
+ </s:sequence>
257
+ </s:extension>
258
+ </s:complexContent>
259
+ </s:complexType>
260
+ <s:complexType name="Rep">
261
+ <s:complexContent mixed="false">
262
+ <s:extension base="tns:MBObject">
263
+ <s:sequence>
264
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
265
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
266
+ </s:sequence>
267
+ </s:extension>
268
+ </s:complexContent>
269
+ </s:complexType>
270
+ <s:complexType name="Staff">
271
+ <s:complexContent mixed="false">
272
+ <s:extension base="tns:MBObject">
273
+ <s:sequence>
274
+ <s:element minOccurs="0" maxOccurs="1" name="Appointments" type="tns:ArrayOfAppointment" />
275
+ <s:element minOccurs="0" maxOccurs="1" name="Unavailabilities" type="tns:ArrayOfUnavailability" />
276
+ <s:element minOccurs="0" maxOccurs="1" name="Availabilities" type="tns:ArrayOfAvailability" />
277
+ <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
278
+ <s:element minOccurs="0" maxOccurs="1" name="MobilePhone" type="s:string" />
279
+ <s:element minOccurs="0" maxOccurs="1" name="HomePhone" type="s:string" />
280
+ <s:element minOccurs="0" maxOccurs="1" name="WorkPhone" type="s:string" />
281
+ <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
282
+ <s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
283
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
284
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
285
+ <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
286
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
287
+ <s:element minOccurs="0" maxOccurs="1" name="ForeignZip" type="s:string" />
288
+ <s:element minOccurs="0" maxOccurs="1" name="SortOrder" type="s:int" />
289
+ <s:element minOccurs="0" maxOccurs="1" name="LoginLocations" type="tns:ArrayOfLocation" />
290
+ <s:element minOccurs="0" maxOccurs="1" name="MultiLocation" nillable="true" type="s:boolean" />
291
+ <s:element minOccurs="0" maxOccurs="1" name="AppointmentTrn" nillable="true" type="s:boolean" />
292
+ <s:element minOccurs="0" maxOccurs="1" name="ReservationTrn" nillable="true" type="s:boolean" />
293
+ <s:element minOccurs="0" maxOccurs="1" name="IndependentContractor" nillable="true" type="s:boolean" />
294
+ <s:element minOccurs="0" maxOccurs="1" name="AlwaysAllowDoubleBooking" nillable="true" type="s:boolean" />
295
+ <s:element minOccurs="0" maxOccurs="1" name="UserAccessLevel" type="s:string" />
296
+ <s:element minOccurs="0" maxOccurs="1" name="ProviderIDs" type="tns:ArrayOfString" />
297
+ <s:element minOccurs="0" maxOccurs="1" name="ProviderIDUpdateList" type="tns:ArrayOfProviderIDUpdate" />
298
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
299
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:long" />
300
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
301
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
302
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
303
+ <s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
304
+ <s:element minOccurs="0" maxOccurs="1" name="Bio" type="s:string" />
305
+ <s:element minOccurs="1" maxOccurs="1" name="isMale" type="s:boolean" />
306
+ </s:sequence>
307
+ </s:extension>
308
+ </s:complexContent>
309
+ </s:complexType>
310
+ <s:complexType name="ArrayOfUnavailability">
311
+ <s:sequence>
312
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Unavailability" nillable="true" type="tns:Unavailability" />
313
+ </s:sequence>
314
+ </s:complexType>
315
+ <s:complexType name="Unavailability">
316
+ <s:complexContent mixed="false">
317
+ <s:extension base="tns:ScheduleItem">
318
+ <s:sequence>
319
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
320
+ <s:element minOccurs="1" maxOccurs="1" name="StartDateTime" type="s:dateTime" />
321
+ <s:element minOccurs="1" maxOccurs="1" name="EndDateTime" type="s:dateTime" />
322
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
323
+ </s:sequence>
324
+ </s:extension>
325
+ </s:complexContent>
326
+ </s:complexType>
327
+ <s:complexType name="ArrayOfAvailability">
328
+ <s:sequence>
329
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Availability" nillable="true" type="tns:Availability" />
330
+ </s:sequence>
331
+ </s:complexType>
332
+ <s:complexType name="Availability">
333
+ <s:complexContent mixed="false">
334
+ <s:extension base="tns:ScheduleItem">
335
+ <s:sequence>
336
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
337
+ <s:element minOccurs="0" maxOccurs="1" name="Staff" type="tns:Staff" />
338
+ <s:element minOccurs="0" maxOccurs="1" name="SessionType" type="tns:SessionType" />
339
+ <s:element minOccurs="0" maxOccurs="1" name="Programs" type="tns:ArrayOfProgram" />
340
+ <s:element minOccurs="1" maxOccurs="1" name="StartDateTime" type="s:dateTime" />
341
+ <s:element minOccurs="1" maxOccurs="1" name="EndDateTime" type="s:dateTime" />
342
+ <s:element minOccurs="1" maxOccurs="1" name="BookableEndDateTime" nillable="true" type="s:dateTime" />
343
+ <s:element minOccurs="0" maxOccurs="1" name="Location" type="tns:Location" />
344
+ </s:sequence>
345
+ </s:extension>
346
+ </s:complexContent>
347
+ </s:complexType>
348
+ <s:complexType name="SessionType">
349
+ <s:complexContent mixed="false">
350
+ <s:extension base="tns:MBObject">
351
+ <s:sequence>
352
+ <s:element minOccurs="1" maxOccurs="1" name="DefaultTimeLength" nillable="true" type="s:int" />
353
+ <s:element minOccurs="1" maxOccurs="1" name="ProgramID" nillable="true" type="s:int" />
354
+ <s:element minOccurs="1" maxOccurs="1" name="NumDeducted" nillable="true" type="s:int" />
355
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
356
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
357
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
358
+ </s:sequence>
359
+ </s:extension>
360
+ </s:complexContent>
361
+ </s:complexType>
362
+ <s:complexType name="ArrayOfProgram">
363
+ <s:sequence>
364
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Program" nillable="true" type="tns:Program" />
365
+ </s:sequence>
366
+ </s:complexType>
367
+ <s:complexType name="Location">
368
+ <s:complexContent mixed="false">
369
+ <s:extension base="tns:MBObject">
370
+ <s:sequence>
371
+ <s:element minOccurs="0" maxOccurs="1" name="BusinessID" nillable="true" type="s:int" />
372
+ <s:element minOccurs="0" maxOccurs="1" name="SiteID" type="s:int" />
373
+ <s:element minOccurs="0" maxOccurs="1" name="BusinessDescription" type="s:string" />
374
+ <s:element minOccurs="0" maxOccurs="1" name="AdditionalImageURLs" type="tns:ArrayOfString" />
375
+ <s:element minOccurs="0" maxOccurs="1" name="FacilitySquareFeet" nillable="true" type="s:int" />
376
+ <s:element minOccurs="0" maxOccurs="1" name="TreatmentRooms" nillable="true" type="s:int" />
377
+ <s:element minOccurs="0" maxOccurs="1" name="ProSpaFinderSite" type="s:boolean" />
378
+ <s:element minOccurs="0" maxOccurs="1" name="HasClasses" type="s:boolean" />
379
+ <s:element minOccurs="0" maxOccurs="1" name="PhoneExtension" type="s:string" />
380
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
381
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
382
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
383
+ <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
384
+ <s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
385
+ <s:element minOccurs="0" maxOccurs="1" name="Tax1" nillable="true" type="s:float" />
386
+ <s:element minOccurs="0" maxOccurs="1" name="Tax2" nillable="true" type="s:float" />
387
+ <s:element minOccurs="0" maxOccurs="1" name="Tax3" nillable="true" type="s:float" />
388
+ <s:element minOccurs="0" maxOccurs="1" name="Tax4" nillable="true" type="s:float" />
389
+ <s:element minOccurs="0" maxOccurs="1" name="Tax5" nillable="true" type="s:float" />
390
+ <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
391
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
392
+ <s:element minOccurs="0" maxOccurs="1" name="StateProvCode" type="s:string" />
393
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
394
+ <s:element minOccurs="0" maxOccurs="1" name="Latitude" nillable="true" type="s:double" />
395
+ <s:element minOccurs="0" maxOccurs="1" name="Longitude" nillable="true" type="s:double" />
396
+ <s:element minOccurs="0" maxOccurs="1" name="DistanceInMiles" nillable="true" type="s:double" />
397
+ <s:element minOccurs="0" maxOccurs="1" name="ImageURL" type="s:string" />
398
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
399
+ <s:element minOccurs="0" maxOccurs="1" name="HasSite" nillable="true" type="s:boolean" />
400
+ <s:element minOccurs="0" maxOccurs="1" name="CanBook" nillable="true" type="s:boolean" />
401
+ </s:sequence>
402
+ </s:extension>
403
+ </s:complexContent>
404
+ </s:complexType>
405
+ <s:complexType name="ArrayOfLocation">
406
+ <s:sequence>
407
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
408
+ </s:sequence>
409
+ </s:complexType>
410
+ <s:complexType name="ArrayOfProviderIDUpdate">
411
+ <s:sequence>
412
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ProviderIDUpdate" nillable="true" type="tns:ProviderIDUpdate" />
413
+ </s:sequence>
414
+ </s:complexType>
415
+ <s:complexType name="ProviderIDUpdate">
416
+ <s:sequence>
417
+ <s:element minOccurs="0" maxOccurs="1" name="OldProviderID" type="s:string" />
418
+ <s:element minOccurs="0" maxOccurs="1" name="NewProviderID" type="s:string" />
419
+ </s:sequence>
420
+ </s:complexType>
421
+ <s:complexType name="ClientRelationship">
422
+ <s:complexContent mixed="false">
423
+ <s:extension base="tns:MBObject">
424
+ <s:sequence>
425
+ <s:element minOccurs="0" maxOccurs="1" name="RelatedClient" type="tns:Client" />
426
+ <s:element minOccurs="0" maxOccurs="1" name="Relationship" type="tns:Relationship" />
427
+ <s:element minOccurs="0" maxOccurs="1" name="RelationshipName" type="s:string" />
428
+ </s:sequence>
429
+ </s:extension>
430
+ </s:complexContent>
431
+ </s:complexType>
432
+ <s:complexType name="Client">
433
+ <s:complexContent mixed="false">
434
+ <s:extension base="tns:MBObject">
435
+ <s:sequence>
436
+ <s:element minOccurs="0" maxOccurs="1" name="NewID" type="s:string" />
437
+ <s:element minOccurs="0" maxOccurs="1" name="AccountBalance" type="s:double" />
438
+ <s:element minOccurs="0" maxOccurs="1" name="ClientIndexes" type="tns:ArrayOfClientIndex" />
439
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
440
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
441
+ <s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string" />
442
+ <s:element minOccurs="0" maxOccurs="1" name="MobileProvider" nillable="true" type="s:int" />
443
+ <s:element minOccurs="0" maxOccurs="1" name="ClientCreditCard" type="tns:ClientCreditCard" />
444
+ <s:element minOccurs="0" maxOccurs="1" name="LastFormulaNotes" type="s:string" />
445
+ <s:element minOccurs="0" maxOccurs="1" name="AppointmentGenderPreference" type="s:string" />
446
+ <s:element minOccurs="0" maxOccurs="1" name="Gender" type="s:string" />
447
+ <s:element minOccurs="0" maxOccurs="1" name="IsCompany" nillable="true" type="s:boolean" />
448
+ <s:element minOccurs="0" maxOccurs="1" name="Inactive" nillable="true" type="s:boolean" />
449
+ <s:element minOccurs="0" maxOccurs="1" name="ClientRelationships" type="tns:ArrayOfClientRelationship" />
450
+ <s:element minOccurs="0" maxOccurs="1" name="Reps" type="tns:ArrayOfRep" />
451
+ <s:element minOccurs="0" maxOccurs="1" name="SaleReps" type="tns:ArrayOfSalesRep" />
452
+ <s:element minOccurs="0" maxOccurs="1" name="CustomClientFields" type="tns:ArrayOfCustomClientField" />
453
+ <s:element minOccurs="0" maxOccurs="1" name="LiabilityRelease" nillable="true" type="s:boolean" />
454
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoName" type="s:string" />
455
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoRelationship" type="s:string" />
456
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoPhone" type="s:string" />
457
+ <s:element minOccurs="0" maxOccurs="1" name="EmergencyContactInfoEmail" type="s:string" />
458
+ <s:element minOccurs="0" maxOccurs="1" name="PromotionalEmailOptIn" nillable="true" type="s:boolean" />
459
+ <s:element minOccurs="0" maxOccurs="1" name="CreationDate" nillable="true" type="s:dateTime" />
460
+ <s:element minOccurs="0" maxOccurs="1" name="Liability" type="tns:Liability" />
461
+ <s:element minOccurs="0" maxOccurs="1" name="ProspectStage" type="tns:ProspectStage" />
462
+ <s:element minOccurs="0" maxOccurs="1" name="UniqueID" type="s:long" />
463
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
464
+ <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
465
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
466
+ <s:element minOccurs="0" maxOccurs="1" name="MiddleName" type="s:string" />
467
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
468
+ <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
469
+ <s:element minOccurs="0" maxOccurs="1" name="EmailOptIn" nillable="true" type="s:boolean" />
470
+ <s:element minOccurs="0" maxOccurs="1" name="AddressLine1" type="s:string" />
471
+ <s:element minOccurs="0" maxOccurs="1" name="AddressLine2" type="s:string" />
472
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
473
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
474
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
475
+ <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
476
+ <s:element minOccurs="0" maxOccurs="1" name="MobilePhone" type="s:string" />
477
+ <s:element minOccurs="0" maxOccurs="1" name="HomePhone" type="s:string" />
478
+ <s:element minOccurs="0" maxOccurs="1" name="WorkPhone" type="s:string" />
479
+ <s:element minOccurs="0" maxOccurs="1" name="WorkExtension" type="s:string" />
480
+ <s:element minOccurs="0" maxOccurs="1" name="BirthDate" nillable="true" type="s:dateTime" />
481
+ <s:element minOccurs="0" maxOccurs="1" name="FirstAppointmentDate" nillable="true" type="s:dateTime" />
482
+ <s:element minOccurs="0" maxOccurs="1" name="ReferredBy" type="s:string" />
483
+ <s:element minOccurs="0" maxOccurs="1" name="HomeLocation" type="tns:Location" />
484
+ <s:element minOccurs="0" maxOccurs="1" name="YellowAlert" type="s:string" />
485
+ <s:element minOccurs="0" maxOccurs="1" name="RedAlert" type="s:string" />
486
+ <s:element minOccurs="0" maxOccurs="1" name="PhotoURL" type="s:string" />
487
+ <s:element minOccurs="0" maxOccurs="1" name="IsProspect" nillable="true" type="s:boolean" />
488
+ <s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
489
+ <s:element minOccurs="0" maxOccurs="1" name="ContactMethod" nillable="true" type="s:short" />
490
+ </s:sequence>
491
+ </s:extension>
492
+ </s:complexContent>
493
+ </s:complexType>
494
+ <s:complexType name="ArrayOfClientIndex">
495
+ <s:sequence>
496
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ClientIndex" nillable="true" type="tns:ClientIndex" />
497
+ </s:sequence>
498
+ </s:complexType>
499
+ <s:complexType name="ClientIndex">
500
+ <s:complexContent mixed="false">
501
+ <s:extension base="tns:MBObject">
502
+ <s:sequence>
503
+ <s:element minOccurs="0" maxOccurs="1" name="RequiredBusinessMode" type="s:boolean" />
504
+ <s:element minOccurs="0" maxOccurs="1" name="RequiredConsumerMode" type="s:boolean" />
505
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
506
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
507
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
508
+ <s:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfClientIndexValue" />
509
+ </s:sequence>
510
+ </s:extension>
511
+ </s:complexContent>
512
+ </s:complexType>
513
+ <s:complexType name="ArrayOfClientIndexValue">
514
+ <s:sequence>
515
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ClientIndexValue" nillable="true" type="tns:ClientIndexValue" />
516
+ </s:sequence>
517
+ </s:complexType>
518
+ <s:complexType name="ClientIndexValue">
519
+ <s:complexContent mixed="false">
520
+ <s:extension base="tns:MBObject">
521
+ <s:sequence>
522
+ <s:element minOccurs="0" maxOccurs="1" name="Action" type="tns:ActionCode" />
523
+ <s:element minOccurs="0" maxOccurs="1" name="ID" nillable="true" type="s:int" />
524
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
525
+ <s:element minOccurs="0" maxOccurs="1" name="Active" type="s:boolean" />
526
+ </s:sequence>
527
+ </s:extension>
528
+ </s:complexContent>
529
+ </s:complexType>
530
+ <s:complexType name="ClientCreditCard">
531
+ <s:sequence>
532
+ <s:element minOccurs="0" maxOccurs="1" name="CardType" type="s:string" />
533
+ <s:element minOccurs="0" maxOccurs="1" name="LastFour" type="s:string" />
534
+ <s:element minOccurs="0" maxOccurs="1" name="CardNumber" type="s:string" />
535
+ <s:element minOccurs="0" maxOccurs="1" name="CardHolder" type="s:string" />
536
+ <s:element minOccurs="0" maxOccurs="1" name="ExpMonth" type="s:string" />
537
+ <s:element minOccurs="0" maxOccurs="1" name="ExpYear" type="s:string" />
538
+ <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
539
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
540
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
541
+ <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
542
+ </s:sequence>
543
+ </s:complexType>
544
+ <s:complexType name="ArrayOfClientRelationship">
545
+ <s:sequence>
546
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ClientRelationship" nillable="true" type="tns:ClientRelationship" />
547
+ </s:sequence>
548
+ </s:complexType>
549
+ <s:complexType name="ArrayOfRep">
550
+ <s:sequence>
551
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Rep" nillable="true" type="tns:Rep" />
552
+ </s:sequence>
553
+ </s:complexType>
554
+ <s:complexType name="ArrayOfSalesRep">
555
+ <s:sequence>
556
+ <s:element minOccurs="0" maxOccurs="unbounded" name="SalesRep" nillable="true" type="tns:SalesRep" />
557
+ </s:sequence>
558
+ </s:complexType>
559
+ <s:complexType name="ArrayOfCustomClientField">
560
+ <s:sequence>
561
+ <s:element minOccurs="0" maxOccurs="unbounded" name="CustomClientField" nillable="true" type="tns:CustomClientField" />
562
+ </s:sequence>
563
+ </s:complexType>
564
+ <s:complexType name="CustomClientField">
565
+ <s:sequence>
566
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
567
+ <s:element minOccurs="0" maxOccurs="1" name="DataType" type="s:string" />
568
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
569
+ <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
570
+ </s:sequence>
571
+ </s:complexType>
572
+ <s:complexType name="Liability">
573
+ <s:sequence>
574
+ <s:element minOccurs="1" maxOccurs="1" name="IsReleased" type="s:boolean" />
575
+ <s:element minOccurs="1" maxOccurs="1" name="AgreementDate" nillable="true" type="s:dateTime" />
576
+ <s:element minOccurs="1" maxOccurs="1" name="ReleasedBy" nillable="true" type="s:long" />
577
+ </s:sequence>
578
+ </s:complexType>
579
+ <s:complexType name="ProspectStage">
580
+ <s:sequence>
581
+ <s:element minOccurs="1" maxOccurs="1" name="ID" nillable="true" type="s:int" />
582
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
583
+ <s:element minOccurs="1" maxOccurs="1" name="Active" type="s:boolean" />
584
+ </s:sequence>
585
+ </s:complexType>
586
+ <s:complexType name="Relationship">
587
+ <s:sequence>
588
+ <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
589
+ <s:element minOccurs="0" maxOccurs="1" name="RelationshipName1" type="s:string" />
590
+ <s:element minOccurs="0" maxOccurs="1" name="RelationshipName2" type="s:string" />
591
+ </s:sequence>
592
+ </s:complexType>
593
+ <s:simpleType name="AppointmentStatus">
594
+ <s:restriction base="s:string">
595
+ <s:enumeration value="Booked" />
596
+ <s:enumeration value="Completed" />
597
+ <s:enumeration value="Confirmed" />
598
+ <s:enumeration value="Arrived" />
599
+ <s:enumeration value="NoShow" />
600
+ <s:enumeration value="Cancelled" />
601
+ <s:enumeration value="LateCancelled" />
602
+ </s:restriction>
603
+ </s:simpleType>
604
+ <s:complexType name="ArrayOfResource">
605
+ <s:sequence>
606
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Resource" nillable="true" type="tns:Resource" />
607
+ </s:sequence>
608
+ </s:complexType>
609
+ <s:element name="AddOrUpdateAppointments">
610
+ <s:complexType>
611
+ <s:sequence>
612
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddOrUpdateAppointmentsRequest" />
613
+ </s:sequence>
614
+ </s:complexType>
615
+ </s:element>
616
+ <s:complexType name="AddOrUpdateAppointmentsRequest">
617
+ <s:complexContent mixed="false">
618
+ <s:extension base="tns:MBRequest">
619
+ <s:sequence>
620
+ <s:element minOccurs="0" maxOccurs="1" name="UpdateAction" type="s:string" />
621
+ <s:element minOccurs="1" maxOccurs="1" name="Test" nillable="true" type="s:boolean" />
622
+ <s:element minOccurs="1" maxOccurs="1" name="SendEmail" nillable="true" type="s:boolean" />
623
+ <s:element minOccurs="1" maxOccurs="1" name="ApplyPayment" nillable="true" type="s:boolean" />
624
+ <s:element minOccurs="0" maxOccurs="1" name="Appointments" type="tns:ArrayOfAppointment" />
625
+ <s:element minOccurs="1" maxOccurs="1" name="IgnoreDefaultSessionLength" nillable="true" type="s:boolean" />
626
+ </s:sequence>
627
+ </s:extension>
628
+ </s:complexContent>
629
+ </s:complexType>
630
+ <s:element name="AddOrUpdateAppointmentsResponse">
631
+ <s:complexType>
632
+ <s:sequence>
633
+ <s:element minOccurs="0" maxOccurs="1" name="AddOrUpdateAppointmentsResult" type="tns:AddOrUpdateAppointmentsResult" />
634
+ </s:sequence>
635
+ </s:complexType>
636
+ </s:element>
637
+ <s:complexType name="AddOrUpdateAppointmentsResult">
638
+ <s:complexContent mixed="false">
639
+ <s:extension base="tns:MBResult">
640
+ <s:sequence>
641
+ <s:element minOccurs="0" maxOccurs="1" name="Appointments" type="tns:ArrayOfAppointment" />
642
+ </s:sequence>
643
+ </s:extension>
644
+ </s:complexContent>
645
+ </s:complexType>
646
+ <s:element name="GetBookableItems">
647
+ <s:complexType>
648
+ <s:sequence>
649
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetBookableItemsRequest" />
650
+ </s:sequence>
651
+ </s:complexType>
652
+ </s:element>
653
+ <s:complexType name="GetBookableItemsRequest">
654
+ <s:complexContent mixed="false">
655
+ <s:extension base="tns:MBRequest">
656
+ <s:sequence>
657
+ <s:element minOccurs="0" maxOccurs="1" name="SessionTypeIDs" type="tns:ArrayOfInt" />
658
+ <s:element minOccurs="0" maxOccurs="1" name="LocationIDs" type="tns:ArrayOfInt" />
659
+ <s:element minOccurs="0" maxOccurs="1" name="StaffIDs" type="tns:ArrayOfLong" />
660
+ <s:element minOccurs="1" maxOccurs="1" name="StartDate" nillable="true" type="s:dateTime" />
661
+ <s:element minOccurs="1" maxOccurs="1" name="EndDate" nillable="true" type="s:dateTime" />
662
+ <s:element minOccurs="1" maxOccurs="1" name="AppointmentID" nillable="true" type="s:long" />
663
+ <s:element minOccurs="1" maxOccurs="1" name="IgnoreDefaultSessionLength" nillable="true" type="s:boolean" />
664
+ </s:sequence>
665
+ </s:extension>
666
+ </s:complexContent>
667
+ </s:complexType>
668
+ <s:element name="GetBookableItemsResponse">
669
+ <s:complexType>
670
+ <s:sequence>
671
+ <s:element minOccurs="0" maxOccurs="1" name="GetBookableItemsResult" type="tns:GetBookableItemsResult" />
672
+ </s:sequence>
673
+ </s:complexType>
674
+ </s:element>
675
+ <s:complexType name="GetBookableItemsResult">
676
+ <s:complexContent mixed="false">
677
+ <s:extension base="tns:MBResult">
678
+ <s:sequence>
679
+ <s:element minOccurs="0" maxOccurs="1" name="ScheduleItems" type="tns:ArrayOfScheduleItem" />
680
+ </s:sequence>
681
+ </s:extension>
682
+ </s:complexContent>
683
+ </s:complexType>
684
+ <s:complexType name="ArrayOfScheduleItem">
685
+ <s:sequence>
686
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ScheduleItem" nillable="true" type="tns:ScheduleItem" />
687
+ </s:sequence>
688
+ </s:complexType>
689
+ <s:element name="GetScheduleItems">
690
+ <s:complexType>
691
+ <s:sequence>
692
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetScheduleItemsRequest" />
693
+ </s:sequence>
694
+ </s:complexType>
695
+ </s:element>
696
+ <s:complexType name="GetScheduleItemsRequest">
697
+ <s:complexContent mixed="false">
698
+ <s:extension base="tns:MBRequest">
699
+ <s:sequence>
700
+ <s:element minOccurs="0" maxOccurs="1" name="LocationIDs" type="tns:ArrayOfInt" />
701
+ <s:element minOccurs="0" maxOccurs="1" name="StaffIDs" type="tns:ArrayOfLong" />
702
+ <s:element minOccurs="1" maxOccurs="1" name="StartDate" nillable="true" type="s:dateTime" />
703
+ <s:element minOccurs="1" maxOccurs="1" name="EndDate" nillable="true" type="s:dateTime" />
704
+ <s:element minOccurs="1" maxOccurs="1" name="IgnorePrepFinishTimes" type="s:boolean" />
705
+ </s:sequence>
706
+ </s:extension>
707
+ </s:complexContent>
708
+ </s:complexType>
709
+ <s:element name="GetScheduleItemsResponse">
710
+ <s:complexType>
711
+ <s:sequence>
712
+ <s:element minOccurs="0" maxOccurs="1" name="GetScheduleItemsResult" type="tns:GetScheduleItemsResult" />
713
+ </s:sequence>
714
+ </s:complexType>
715
+ </s:element>
716
+ <s:complexType name="GetScheduleItemsResult">
717
+ <s:complexContent mixed="false">
718
+ <s:extension base="tns:MBResult">
719
+ <s:sequence>
720
+ <s:element minOccurs="0" maxOccurs="1" name="StaffMembers" type="tns:ArrayOfStaff" />
721
+ </s:sequence>
722
+ </s:extension>
723
+ </s:complexContent>
724
+ </s:complexType>
725
+ <s:complexType name="ArrayOfStaff">
726
+ <s:sequence>
727
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Staff" nillable="true" type="tns:Staff" />
728
+ </s:sequence>
729
+ </s:complexType>
730
+ <s:element name="AddOrUpdateAvailabilities">
731
+ <s:complexType>
732
+ <s:sequence>
733
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddOrUpdateAvailabilitiesRequest" />
734
+ </s:sequence>
735
+ </s:complexType>
736
+ </s:element>
737
+ <s:complexType name="AddOrUpdateAvailabilitiesRequest">
738
+ <s:complexContent mixed="false">
739
+ <s:extension base="tns:MBRequest">
740
+ <s:sequence>
741
+ <s:element minOccurs="0" maxOccurs="1" name="UpdateAction" type="s:string" />
742
+ <s:element minOccurs="1" maxOccurs="1" name="Test" nillable="true" type="s:boolean" />
743
+ <s:element minOccurs="0" maxOccurs="1" name="AvailabilityIDs" type="tns:ArrayOfInt" />
744
+ <s:element minOccurs="1" maxOccurs="1" name="LocationID" nillable="true" type="s:int" />
745
+ <s:element minOccurs="0" maxOccurs="1" name="StaffIDs" type="tns:ArrayOfLong" />
746
+ <s:element minOccurs="0" maxOccurs="1" name="ProgramIDs" type="tns:ArrayOfInt" />
747
+ <s:element minOccurs="1" maxOccurs="1" name="StartDateTime" nillable="true" type="s:dateTime" />
748
+ <s:element minOccurs="1" maxOccurs="1" name="EndDateTime" nillable="true" type="s:dateTime" />
749
+ <s:element minOccurs="0" maxOccurs="1" name="DaysOfWeek" type="tns:ArrayOfDayOfWeek" />
750
+ <s:element minOccurs="0" maxOccurs="1" name="UnavailableDescription" type="s:string" />
751
+ <s:element minOccurs="1" maxOccurs="1" name="IsUnavailable" type="s:boolean" />
752
+ <s:element minOccurs="1" maxOccurs="1" name="PublicDisplay" nillable="true" type="tns:AvailabilityDisplay" />
753
+ <s:element minOccurs="0" maxOccurs="1" name="Execute" type="s:string" />
754
+ </s:sequence>
755
+ </s:extension>
756
+ </s:complexContent>
757
+ </s:complexType>
758
+ <s:complexType name="ArrayOfDayOfWeek">
759
+ <s:sequence>
760
+ <s:element minOccurs="0" maxOccurs="unbounded" name="DayOfWeek" type="tns:DayOfWeek" />
761
+ </s:sequence>
762
+ </s:complexType>
763
+ <s:simpleType name="DayOfWeek">
764
+ <s:restriction base="s:string">
765
+ <s:enumeration value="Sunday" />
766
+ <s:enumeration value="Monday" />
767
+ <s:enumeration value="Tuesday" />
768
+ <s:enumeration value="Wednesday" />
769
+ <s:enumeration value="Thursday" />
770
+ <s:enumeration value="Friday" />
771
+ <s:enumeration value="Saturday" />
772
+ </s:restriction>
773
+ </s:simpleType>
774
+ <s:simpleType name="AvailabilityDisplay">
775
+ <s:restriction base="s:string">
776
+ <s:enumeration value="Hide" />
777
+ <s:enumeration value="Show" />
778
+ <s:enumeration value="Mask" />
779
+ </s:restriction>
780
+ </s:simpleType>
781
+ <s:element name="AddOrUpdateAvailabilitiesResponse">
782
+ <s:complexType>
783
+ <s:sequence>
784
+ <s:element minOccurs="0" maxOccurs="1" name="AddOrUpdateAvailabilitiesResult" type="tns:AddOrUpdateAvailabilitiesResult" />
785
+ </s:sequence>
786
+ </s:complexType>
787
+ </s:element>
788
+ <s:complexType name="AddOrUpdateAvailabilitiesResult">
789
+ <s:complexContent mixed="false">
790
+ <s:extension base="tns:MBResult">
791
+ <s:sequence>
792
+ <s:element minOccurs="0" maxOccurs="1" name="StaffMembers" type="tns:ArrayOfStaff" />
793
+ </s:sequence>
794
+ </s:extension>
795
+ </s:complexContent>
796
+ </s:complexType>
797
+ <s:element name="GetActiveSessionTimes">
798
+ <s:complexType>
799
+ <s:sequence>
800
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetActiveSessionTimesRequest" />
801
+ </s:sequence>
802
+ </s:complexType>
803
+ </s:element>
804
+ <s:complexType name="GetActiveSessionTimesRequest">
805
+ <s:complexContent mixed="false">
806
+ <s:extension base="tns:MBRequest">
807
+ <s:sequence>
808
+ <s:element minOccurs="1" maxOccurs="1" name="ScheduleType" nillable="true" type="tns:ScheduleType" />
809
+ <s:element minOccurs="0" maxOccurs="1" name="SessionTypeIDs" type="tns:ArrayOfInt" />
810
+ <s:element minOccurs="1" maxOccurs="1" name="StartTime" nillable="true" type="s:dateTime" />
811
+ <s:element minOccurs="1" maxOccurs="1" name="EndTime" nillable="true" type="s:dateTime" />
812
+ </s:sequence>
813
+ </s:extension>
814
+ </s:complexContent>
815
+ </s:complexType>
816
+ <s:element name="GetActiveSessionTimesResponse">
817
+ <s:complexType>
818
+ <s:sequence>
819
+ <s:element minOccurs="0" maxOccurs="1" name="GetActiveSessionTimesResult" type="tns:GetActiveSessionTimesResult" />
820
+ </s:sequence>
821
+ </s:complexType>
822
+ </s:element>
823
+ <s:complexType name="GetActiveSessionTimesResult">
824
+ <s:complexContent mixed="false">
825
+ <s:extension base="tns:MBResult">
826
+ <s:sequence>
827
+ <s:element minOccurs="0" maxOccurs="1" name="Times" type="tns:ArrayOfDateTime" />
828
+ </s:sequence>
829
+ </s:extension>
830
+ </s:complexContent>
831
+ </s:complexType>
832
+ <s:complexType name="ArrayOfDateTime">
833
+ <s:sequence>
834
+ <s:element minOccurs="0" maxOccurs="unbounded" name="dateTime" type="s:dateTime" />
835
+ </s:sequence>
836
+ </s:complexType>
837
+ <s:element name="GetAppointmentOptions">
838
+ <s:complexType>
839
+ <s:sequence>
840
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetAppointmentOptionsRequest" />
841
+ </s:sequence>
842
+ </s:complexType>
843
+ </s:element>
844
+ <s:complexType name="GetAppointmentOptionsRequest">
845
+ <s:complexContent mixed="false">
846
+ <s:extension base="tns:MBRequest" />
847
+ </s:complexContent>
848
+ </s:complexType>
849
+ <s:element name="GetAppointmentOptionsResponse">
850
+ <s:complexType>
851
+ <s:sequence>
852
+ <s:element minOccurs="0" maxOccurs="1" name="GetAppointmentOptionsResult" type="tns:GetAppointmentOptionsResult" />
853
+ </s:sequence>
854
+ </s:complexType>
855
+ </s:element>
856
+ <s:complexType name="GetAppointmentOptionsResult">
857
+ <s:complexContent mixed="false">
858
+ <s:extension base="tns:MBResult">
859
+ <s:sequence>
860
+ <s:element minOccurs="0" maxOccurs="1" name="Options" type="tns:ArrayOfOption" />
861
+ </s:sequence>
862
+ </s:extension>
863
+ </s:complexContent>
864
+ </s:complexType>
865
+ <s:complexType name="ArrayOfOption">
866
+ <s:sequence>
867
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Option" nillable="true" type="tns:Option" />
868
+ </s:sequence>
869
+ </s:complexType>
870
+ <s:complexType name="Option">
871
+ <s:sequence>
872
+ <s:element minOccurs="0" maxOccurs="1" name="DisplayName" type="s:string" />
873
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
874
+ <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
875
+ <s:element minOccurs="0" maxOccurs="1" name="Type" type="s:string" />
876
+ </s:sequence>
877
+ </s:complexType>
878
+ <s:element name="ApplyPayment">
879
+ <s:complexType>
880
+ <s:sequence>
881
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AppointmentApplyPaymentRequest" />
882
+ </s:sequence>
883
+ </s:complexType>
884
+ </s:element>
885
+ <s:complexType name="AppointmentApplyPaymentRequest">
886
+ <s:complexContent mixed="false">
887
+ <s:extension base="tns:MBRequest">
888
+ <s:sequence>
889
+ <s:element minOccurs="1" maxOccurs="1" name="AppointmentID" type="s:long" />
890
+ <s:element minOccurs="1" maxOccurs="1" name="ClientServiceID" nillable="true" type="s:long" />
891
+ </s:sequence>
892
+ </s:extension>
893
+ </s:complexContent>
894
+ </s:complexType>
895
+ <s:element name="ApplyPaymentResponse">
896
+ <s:complexType>
897
+ <s:sequence>
898
+ <s:element minOccurs="0" maxOccurs="1" name="ApplyPaymentResult" type="tns:AppointmentApplyPaymentResult" />
899
+ </s:sequence>
900
+ </s:complexType>
901
+ </s:element>
902
+ <s:complexType name="AppointmentApplyPaymentResult">
903
+ <s:complexContent mixed="false">
904
+ <s:extension base="tns:MBResult">
905
+ <s:sequence>
906
+ <s:element minOccurs="1" maxOccurs="1" name="VisitID" type="s:long" />
907
+ </s:sequence>
908
+ </s:extension>
909
+ </s:complexContent>
910
+ </s:complexType>
911
+ </s:schema>
912
+ </wsdl:types>
913
+ <wsdl:message name="GetStaffAppointmentsSoapIn">
914
+ <wsdl:part name="parameters" element="tns:GetStaffAppointments" />
915
+ </wsdl:message>
916
+ <wsdl:message name="GetStaffAppointmentsSoapOut">
917
+ <wsdl:part name="parameters" element="tns:GetStaffAppointmentsResponse" />
918
+ </wsdl:message>
919
+ <wsdl:message name="AddOrUpdateAppointmentsSoapIn">
920
+ <wsdl:part name="parameters" element="tns:AddOrUpdateAppointments" />
921
+ </wsdl:message>
922
+ <wsdl:message name="AddOrUpdateAppointmentsSoapOut">
923
+ <wsdl:part name="parameters" element="tns:AddOrUpdateAppointmentsResponse" />
924
+ </wsdl:message>
925
+ <wsdl:message name="GetBookableItemsSoapIn">
926
+ <wsdl:part name="parameters" element="tns:GetBookableItems" />
927
+ </wsdl:message>
928
+ <wsdl:message name="GetBookableItemsSoapOut">
929
+ <wsdl:part name="parameters" element="tns:GetBookableItemsResponse" />
930
+ </wsdl:message>
931
+ <wsdl:message name="GetScheduleItemsSoapIn">
932
+ <wsdl:part name="parameters" element="tns:GetScheduleItems" />
933
+ </wsdl:message>
934
+ <wsdl:message name="GetScheduleItemsSoapOut">
935
+ <wsdl:part name="parameters" element="tns:GetScheduleItemsResponse" />
936
+ </wsdl:message>
937
+ <wsdl:message name="AddOrUpdateAvailabilitiesSoapIn">
938
+ <wsdl:part name="parameters" element="tns:AddOrUpdateAvailabilities" />
939
+ </wsdl:message>
940
+ <wsdl:message name="AddOrUpdateAvailabilitiesSoapOut">
941
+ <wsdl:part name="parameters" element="tns:AddOrUpdateAvailabilitiesResponse" />
942
+ </wsdl:message>
943
+ <wsdl:message name="GetActiveSessionTimesSoapIn">
944
+ <wsdl:part name="parameters" element="tns:GetActiveSessionTimes" />
945
+ </wsdl:message>
946
+ <wsdl:message name="GetActiveSessionTimesSoapOut">
947
+ <wsdl:part name="parameters" element="tns:GetActiveSessionTimesResponse" />
948
+ </wsdl:message>
949
+ <wsdl:message name="GetAppointmentOptionsSoapIn">
950
+ <wsdl:part name="parameters" element="tns:GetAppointmentOptions" />
951
+ </wsdl:message>
952
+ <wsdl:message name="GetAppointmentOptionsSoapOut">
953
+ <wsdl:part name="parameters" element="tns:GetAppointmentOptionsResponse" />
954
+ </wsdl:message>
955
+ <wsdl:message name="ApplyPaymentSoapIn">
956
+ <wsdl:part name="parameters" element="tns:ApplyPayment" />
957
+ </wsdl:message>
958
+ <wsdl:message name="ApplyPaymentSoapOut">
959
+ <wsdl:part name="parameters" element="tns:ApplyPaymentResponse" />
960
+ </wsdl:message>
961
+ <wsdl:portType name="Appointment_x0020_ServiceSoap">
962
+ <wsdl:operation name="GetStaffAppointments">
963
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of appointments that a given staff member is instructing.</wsdl:documentation>
964
+ <wsdl:input message="tns:GetStaffAppointmentsSoapIn" />
965
+ <wsdl:output message="tns:GetStaffAppointmentsSoapOut" />
966
+ </wsdl:operation>
967
+ <wsdl:operation name="AddOrUpdateAppointments">
968
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Adds or updates a list of appointments.</wsdl:documentation>
969
+ <wsdl:input message="tns:AddOrUpdateAppointmentsSoapIn" />
970
+ <wsdl:output message="tns:AddOrUpdateAppointmentsSoapOut" />
971
+ </wsdl:operation>
972
+ <wsdl:operation name="GetBookableItems">
973
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of bookable items.</wsdl:documentation>
974
+ <wsdl:input message="tns:GetBookableItemsSoapIn" />
975
+ <wsdl:output message="tns:GetBookableItemsSoapOut" />
976
+ </wsdl:operation>
977
+ <wsdl:operation name="GetScheduleItems">
978
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of scheduled items (appointments, availabilities, and unavailabilities).</wsdl:documentation>
979
+ <wsdl:input message="tns:GetScheduleItemsSoapIn" />
980
+ <wsdl:output message="tns:GetScheduleItemsSoapOut" />
981
+ </wsdl:operation>
982
+ <wsdl:operation name="AddOrUpdateAvailabilities">
983
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Adds or updates a list of availabilities.</wsdl:documentation>
984
+ <wsdl:input message="tns:AddOrUpdateAvailabilitiesSoapIn" />
985
+ <wsdl:output message="tns:AddOrUpdateAvailabilitiesSoapOut" />
986
+ </wsdl:operation>
987
+ <wsdl:operation name="GetActiveSessionTimes">
988
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list of times that are active for a given program ID.</wsdl:documentation>
989
+ <wsdl:input message="tns:GetActiveSessionTimesSoapIn" />
990
+ <wsdl:output message="tns:GetActiveSessionTimesSoapOut" />
991
+ </wsdl:operation>
992
+ <wsdl:operation name="GetAppointmentOptions">
993
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a list appointment options.</wsdl:documentation>
994
+ <wsdl:input message="tns:GetAppointmentOptionsSoapIn" />
995
+ <wsdl:output message="tns:GetAppointmentOptionsSoapOut" />
996
+ </wsdl:operation>
997
+ <wsdl:operation name="ApplyPayment">
998
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Apply payment to appointment.</wsdl:documentation>
999
+ <wsdl:input message="tns:ApplyPaymentSoapIn" />
1000
+ <wsdl:output message="tns:ApplyPaymentSoapOut" />
1001
+ </wsdl:operation>
1002
+ </wsdl:portType>
1003
+ <wsdl:binding name="Appointment_x0020_ServiceSoap" type="tns:Appointment_x0020_ServiceSoap">
1004
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
1005
+ <wsdl:operation name="GetStaffAppointments">
1006
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetStaffAppointments" style="document" />
1007
+ <wsdl:input>
1008
+ <soap:body use="literal" />
1009
+ </wsdl:input>
1010
+ <wsdl:output>
1011
+ <soap:body use="literal" />
1012
+ </wsdl:output>
1013
+ </wsdl:operation>
1014
+ <wsdl:operation name="AddOrUpdateAppointments">
1015
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/AddOrUpdateAppointments" style="document" />
1016
+ <wsdl:input>
1017
+ <soap:body use="literal" />
1018
+ </wsdl:input>
1019
+ <wsdl:output>
1020
+ <soap:body use="literal" />
1021
+ </wsdl:output>
1022
+ </wsdl:operation>
1023
+ <wsdl:operation name="GetBookableItems">
1024
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetBookableItems" style="document" />
1025
+ <wsdl:input>
1026
+ <soap:body use="literal" />
1027
+ </wsdl:input>
1028
+ <wsdl:output>
1029
+ <soap:body use="literal" />
1030
+ </wsdl:output>
1031
+ </wsdl:operation>
1032
+ <wsdl:operation name="GetScheduleItems">
1033
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetScheduleItems" style="document" />
1034
+ <wsdl:input>
1035
+ <soap:body use="literal" />
1036
+ </wsdl:input>
1037
+ <wsdl:output>
1038
+ <soap:body use="literal" />
1039
+ </wsdl:output>
1040
+ </wsdl:operation>
1041
+ <wsdl:operation name="AddOrUpdateAvailabilities">
1042
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/AddOrUpdateAvailabilities" style="document" />
1043
+ <wsdl:input>
1044
+ <soap:body use="literal" />
1045
+ </wsdl:input>
1046
+ <wsdl:output>
1047
+ <soap:body use="literal" />
1048
+ </wsdl:output>
1049
+ </wsdl:operation>
1050
+ <wsdl:operation name="GetActiveSessionTimes">
1051
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetActiveSessionTimes" style="document" />
1052
+ <wsdl:input>
1053
+ <soap:body use="literal" />
1054
+ </wsdl:input>
1055
+ <wsdl:output>
1056
+ <soap:body use="literal" />
1057
+ </wsdl:output>
1058
+ </wsdl:operation>
1059
+ <wsdl:operation name="GetAppointmentOptions">
1060
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/GetAppointmentOptions" style="document" />
1061
+ <wsdl:input>
1062
+ <soap:body use="literal" />
1063
+ </wsdl:input>
1064
+ <wsdl:output>
1065
+ <soap:body use="literal" />
1066
+ </wsdl:output>
1067
+ </wsdl:operation>
1068
+ <wsdl:operation name="ApplyPayment">
1069
+ <soap:operation soapAction="http://clients.mindbodyonline.com/api/0_5/ApplyPayment" style="document" />
1070
+ <wsdl:input>
1071
+ <soap:body use="literal" />
1072
+ </wsdl:input>
1073
+ <wsdl:output>
1074
+ <soap:body use="literal" />
1075
+ </wsdl:output>
1076
+ </wsdl:operation>
1077
+ </wsdl:binding>
1078
+ <wsdl:service name="Appointment_x0020_Service">
1079
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Provides methods and attributes relating to appointments.</wsdl:documentation>
1080
+ <wsdl:port name="Appointment_x0020_ServiceSoap" binding="tns:Appointment_x0020_ServiceSoap">
1081
+ <soap:address location="https://api.mindbodyonline.com/0_5/AppointmentService.asmx" />
1082
+ </wsdl:port>
1083
+ </wsdl:service>
1084
+ </wsdl:definitions>