mindbody-api-v6 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (624) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +357 -0
  4. data/Rakefile +8 -0
  5. data/docs/AddAppointmentRequest.md +23 -0
  6. data/docs/AddAppointmentResponse.md +8 -0
  7. data/docs/AddArrivalRequest.md +9 -0
  8. data/docs/AddArrivalResponse.md +9 -0
  9. data/docs/AddClientRequest.md +61 -0
  10. data/docs/AddClientResponse.md +8 -0
  11. data/docs/AddClientToClassRequest.md +17 -0
  12. data/docs/AddClientToClassResponse.md +8 -0
  13. data/docs/AddClientToClassVisit.md +28 -0
  14. data/docs/AddClientToEnrollmentRequest.md +15 -0
  15. data/docs/AddContactLogRequest.md +16 -0
  16. data/docs/AddContactLogType.md +9 -0
  17. data/docs/Amenity.md +9 -0
  18. data/docs/Appointment.md +24 -0
  19. data/docs/AppointmentApi.md +460 -0
  20. data/docs/AppointmentOption.md +11 -0
  21. data/docs/AssignedClientIndex.md +9 -0
  22. data/docs/AutopaySchedule.md +10 -0
  23. data/docs/Availability.md +15 -0
  24. data/docs/BookingWindow.md +11 -0
  25. data/docs/CheckoutAppointmentBookingRequest.md +14 -0
  26. data/docs/CheckoutItem.md +9 -0
  27. data/docs/CheckoutItemWrapper.md +17 -0
  28. data/docs/CheckoutPaymentInfo.md +9 -0
  29. data/docs/CheckoutShoppingCartRequest.md +18 -0
  30. data/docs/ClassApi.md +589 -0
  31. data/docs/ClassDescription.md +22 -0
  32. data/docs/ClassPayrollEvent.md +10 -0
  33. data/docs/ClassSchedule.md +29 -0
  34. data/docs/Client.md +61 -0
  35. data/docs/ClientApi.md +1473 -0
  36. data/docs/ClientContract.md +16 -0
  37. data/docs/ClientCreditCard.md +17 -0
  38. data/docs/ClientDocument.md +10 -0
  39. data/docs/ClientIndex.md +13 -0
  40. data/docs/ClientIndexValue.md +10 -0
  41. data/docs/ClientMembership.md +20 -0
  42. data/docs/ClientPurchaseRecord.md +16 -0
  43. data/docs/ClientRelationship.md +10 -0
  44. data/docs/ClientService.md +18 -0
  45. data/docs/Color.md +9 -0
  46. data/docs/ContactLog.md +18 -0
  47. data/docs/ContactLogComment.md +11 -0
  48. data/docs/ContactLogSubType.md +8 -0
  49. data/docs/ContactLogType.md +9 -0
  50. data/docs/Contract.md +41 -0
  51. data/docs/ContractItem.md +14 -0
  52. data/docs/Course.md +17 -0
  53. data/docs/CreditCardInfo.md +16 -0
  54. data/docs/CrossRegionalClientAssociation.md +10 -0
  55. data/docs/CustomClientField.md +10 -0
  56. data/docs/CustomClientFieldValue.md +11 -0
  57. data/docs/CustomPaymentMethod.md +9 -0
  58. data/docs/EnrollmentApi.md +137 -0
  59. data/docs/FormulaNote.md +12 -0
  60. data/docs/GetActivationCodeResponse.md +9 -0
  61. data/docs/GetActiveClientMembershipsRequest.md +11 -0
  62. data/docs/GetActiveClientMembershipsResponse.md +9 -0
  63. data/docs/GetActiveSessionTimesRequest.md +13 -0
  64. data/docs/GetActiveSessionTimesResponse.md +9 -0
  65. data/docs/GetAppointmentOptionsResponse.md +8 -0
  66. data/docs/GetBookableItemsRequest.md +16 -0
  67. data/docs/GetBookableItemsResponse.md +9 -0
  68. data/docs/GetClassDescriptionsRequest.md +15 -0
  69. data/docs/GetClassDescriptionsResponse.md +9 -0
  70. data/docs/GetClassPayrollRequest.md +13 -0
  71. data/docs/GetClassPayrollResponse.md +9 -0
  72. data/docs/GetClassSchedulesRequest.md +16 -0
  73. data/docs/GetClassSchedulesResponse.md +9 -0
  74. data/docs/GetClassVisitsRequest.md +9 -0
  75. data/docs/GetClassVisitsResponse.md +8 -0
  76. data/docs/GetClassesRequest.md +22 -0
  77. data/docs/GetClassesResponse.md +9 -0
  78. data/docs/GetClientAccountBalancesRequest.md +12 -0
  79. data/docs/GetClientAccountBalancesResponse.md +9 -0
  80. data/docs/GetClientContractsRequest.md +12 -0
  81. data/docs/GetClientContractsResponse.md +9 -0
  82. data/docs/GetClientFormulaNotesRequest.md +11 -0
  83. data/docs/GetClientFormulaNotesResponse.md +9 -0
  84. data/docs/GetClientIndexesRequest.md +8 -0
  85. data/docs/GetClientIndexesResponse.md +8 -0
  86. data/docs/GetClientPurchasesRequest.md +13 -0
  87. data/docs/GetClientPurchasesResponse.md +9 -0
  88. data/docs/GetClientReferralTypesRequest.md +8 -0
  89. data/docs/GetClientReferralTypesResponse.md +8 -0
  90. data/docs/GetClientServicesRequest.md +20 -0
  91. data/docs/GetClientServicesResponse.md +9 -0
  92. data/docs/GetClientVisitsRequest.md +15 -0
  93. data/docs/GetClientVisitsResponse.md +9 -0
  94. data/docs/GetClientsRequest.md +13 -0
  95. data/docs/GetClientsResponse.md +9 -0
  96. data/docs/GetContactLogsRequest.md +16 -0
  97. data/docs/GetContactLogsResponse.md +9 -0
  98. data/docs/GetContractsRequest.md +13 -0
  99. data/docs/GetContractsResponse.md +9 -0
  100. data/docs/GetCrossRegionalClientAssociationsRequest.md +11 -0
  101. data/docs/GetCrossRegionalClientAssociationsResponse.md +9 -0
  102. data/docs/GetCustomClientFieldsRequest.md +9 -0
  103. data/docs/GetCustomClientFieldsResponse.md +9 -0
  104. data/docs/GetCustomPaymentMethodsRequest.md +9 -0
  105. data/docs/GetCustomPaymentMethodsResponse.md +9 -0
  106. data/docs/GetEnrollmentsRequest.md +16 -0
  107. data/docs/GetEnrollmentsResponse.md +9 -0
  108. data/docs/GetGiftCardResponse.md +9 -0
  109. data/docs/GetGiftCardsRequest.md +12 -0
  110. data/docs/GetLocationsRequest.md +9 -0
  111. data/docs/GetLocationsResponse.md +9 -0
  112. data/docs/GetPackagesRequest.md +11 -0
  113. data/docs/GetPackagesResponse.md +9 -0
  114. data/docs/GetProductsRequest.md +15 -0
  115. data/docs/GetProductsResponse.md +9 -0
  116. data/docs/GetProgramsRequest.md +11 -0
  117. data/docs/GetProgramsResponse.md +9 -0
  118. data/docs/GetRequiredClientFieldsResponse.md +8 -0
  119. data/docs/GetResourcesRequest.md +13 -0
  120. data/docs/GetResourcesResponse.md +9 -0
  121. data/docs/GetSalesRequest.md +7 -0
  122. data/docs/GetSalesResponse.md +9 -0
  123. data/docs/GetScheduleItemsRequest.md +14 -0
  124. data/docs/GetScheduleItemsResponse.md +9 -0
  125. data/docs/GetServicesRequest.md +18 -0
  126. data/docs/GetServicesResponse.md +9 -0
  127. data/docs/GetSessionTypesRequest.md +11 -0
  128. data/docs/GetSessionTypesResponse.md +9 -0
  129. data/docs/GetSitesRequest.md +10 -0
  130. data/docs/GetSitesResponse.md +9 -0
  131. data/docs/GetStaffAppointmentsRequest.md +15 -0
  132. data/docs/GetStaffAppointmentsResponse.md +9 -0
  133. data/docs/GetStaffPermissionsRequest.md +8 -0
  134. data/docs/GetStaffPermissionsResponse.md +8 -0
  135. data/docs/GetStaffRequest.md +14 -0
  136. data/docs/GetStaffResponse.md +9 -0
  137. data/docs/GetTimeClockRequest.md +13 -0
  138. data/docs/GetTimeClockResponse.md +9 -0
  139. data/docs/GetWaitlistEntriesRequest.md +14 -0
  140. data/docs/GetWaitlistEntriesResponse.md +9 -0
  141. data/docs/GiftCard.md +19 -0
  142. data/docs/GiftCardLayout.md +9 -0
  143. data/docs/IssueRequest.md +9 -0
  144. data/docs/IssueResponse.md +10 -0
  145. data/docs/Level.md +10 -0
  146. data/docs/Liability.md +10 -0
  147. data/docs/Location.md +32 -0
  148. data/docs/MembershipTypeRestriction.md +9 -0
  149. data/docs/ModelClass.md +33 -0
  150. data/docs/Package.md +13 -0
  151. data/docs/PaginationResponse.md +11 -0
  152. data/docs/PayrollApi.md +140 -0
  153. data/docs/Product.md +18 -0
  154. data/docs/Program.md +11 -0
  155. data/docs/ProspectStage.md +10 -0
  156. data/docs/PurchaseContractRequest.md +18 -0
  157. data/docs/PurchaseContractResponse.md +11 -0
  158. data/docs/PurchaseGiftCardRequest.md +19 -0
  159. data/docs/PurchaseGiftCardResponse.md +17 -0
  160. data/docs/PurchasedItem.md +9 -0
  161. data/docs/Relationship.md +10 -0
  162. data/docs/RemoveClientFromClassRequest.md +12 -0
  163. data/docs/RemoveClientFromClassResponse.md +8 -0
  164. data/docs/RemoveFromWaitlistRequest.md +8 -0
  165. data/docs/RemoveFromWaitlistResponse.md +7 -0
  166. data/docs/Resource.md +9 -0
  167. data/docs/Sale.md +15 -0
  168. data/docs/SaleApi.md +683 -0
  169. data/docs/SalePayment.md +12 -0
  170. data/docs/SalesRep.md +12 -0
  171. data/docs/SendPasswordResetEmailRequest.md +10 -0
  172. data/docs/Service.md +16 -0
  173. data/docs/SessionType.md +17 -0
  174. data/docs/Site.md +27 -0
  175. data/docs/SiteApi.md +362 -0
  176. data/docs/Size.md +9 -0
  177. data/docs/Staff.md +31 -0
  178. data/docs/StaffApi.md +131 -0
  179. data/docs/StaffPermissionGroup.md +11 -0
  180. data/docs/StoredCardInfo.md +8 -0
  181. data/docs/SubstituteClassTeacherRequest.md +13 -0
  182. data/docs/SubstituteClassTeacherResponse.md +8 -0
  183. data/docs/SubstituteTeacherClass.md +27 -0
  184. data/docs/TimeCardEvent.md +10 -0
  185. data/docs/TimeClockReport.md +13 -0
  186. data/docs/Unavailability.md +11 -0
  187. data/docs/UpcomingAutopayEvent.md +11 -0
  188. data/docs/UpdateAppointmentRequest.md +19 -0
  189. data/docs/UpdateAppointmentResponse.md +8 -0
  190. data/docs/UpdateClientRequest.md +11 -0
  191. data/docs/UpdateClientResponse.md +8 -0
  192. data/docs/UpdateClientServiceRequest.md +11 -0
  193. data/docs/UpdateClientServiceResponse.md +8 -0
  194. data/docs/UpdateClientVisitRequest.md +13 -0
  195. data/docs/UpdateClientVisitResponse.md +8 -0
  196. data/docs/UpdateContactLogComment.md +9 -0
  197. data/docs/UpdateContactLogRequest.md +16 -0
  198. data/docs/UpdateContactLogType.md +9 -0
  199. data/docs/UploadClientDocumentRequest.md +9 -0
  200. data/docs/UploadClientDocumentResponse.md +9 -0
  201. data/docs/UploadClientPhotoRequest.md +9 -0
  202. data/docs/UploadClientPhotoResponse.md +9 -0
  203. data/docs/User.md +11 -0
  204. data/docs/UserTokenApi.md +115 -0
  205. data/docs/Visit.md +25 -0
  206. data/docs/WaitlistEntry.md +16 -0
  207. data/git_push.sh +55 -0
  208. data/lib/swagger_client.rb +241 -0
  209. data/lib/swagger_client/api/appointment_api.rb +570 -0
  210. data/lib/swagger_client/api/class_api.rb +727 -0
  211. data/lib/swagger_client/api/client_api.rb +1795 -0
  212. data/lib/swagger_client/api/enrollment_api.rb +180 -0
  213. data/lib/swagger_client/api/payroll_api.rb +181 -0
  214. data/lib/swagger_client/api/sale_api.rb +829 -0
  215. data/lib/swagger_client/api/site_api.rb +433 -0
  216. data/lib/swagger_client/api/staff_api.rb +171 -0
  217. data/lib/swagger_client/api/user_token_api.rb +150 -0
  218. data/lib/swagger_client/api_client.rb +389 -0
  219. data/lib/swagger_client/api_error.rb +38 -0
  220. data/lib/swagger_client/configuration.rb +209 -0
  221. data/lib/swagger_client/models/add_appointment_request.rb +395 -0
  222. data/lib/swagger_client/models/add_appointment_response.rb +184 -0
  223. data/lib/swagger_client/models/add_arrival_request.rb +204 -0
  224. data/lib/swagger_client/models/add_arrival_response.rb +194 -0
  225. data/lib/swagger_client/models/add_client_request.rb +766 -0
  226. data/lib/swagger_client/models/add_client_response.rb +184 -0
  227. data/lib/swagger_client/models/add_client_to_class_request.rb +284 -0
  228. data/lib/swagger_client/models/add_client_to_class_response.rb +184 -0
  229. data/lib/swagger_client/models/add_client_to_class_visit.rb +442 -0
  230. data/lib/swagger_client/models/add_client_to_enrollment_request.rb +266 -0
  231. data/lib/swagger_client/models/add_contact_log_request.rb +278 -0
  232. data/lib/swagger_client/models/add_contact_log_type.rb +197 -0
  233. data/lib/swagger_client/models/amenity.rb +195 -0
  234. data/lib/swagger_client/models/appointment.rb +393 -0
  235. data/lib/swagger_client/models/appointment_option.rb +215 -0
  236. data/lib/swagger_client/models/assigned_client_index.rb +195 -0
  237. data/lib/swagger_client/models/autopay_schedule.rb +204 -0
  238. data/lib/swagger_client/models/availability.rb +257 -0
  239. data/lib/swagger_client/models/booking_window.rb +215 -0
  240. data/lib/swagger_client/models/checkout_appointment_booking_request.rb +246 -0
  241. data/lib/swagger_client/models/checkout_item.rb +196 -0
  242. data/lib/swagger_client/models/checkout_item_wrapper.rb +286 -0
  243. data/lib/swagger_client/models/checkout_payment_info.rb +196 -0
  244. data/lib/swagger_client/models/checkout_shopping_cart_request.rb +318 -0
  245. data/lib/swagger_client/models/class_description.rb +325 -0
  246. data/lib/swagger_client/models/class_payroll_event.rb +204 -0
  247. data/lib/swagger_client/models/class_schedule.rb +399 -0
  248. data/lib/swagger_client/models/client.rb +769 -0
  249. data/lib/swagger_client/models/client_contract.rb +301 -0
  250. data/lib/swagger_client/models/client_credit_card.rb +275 -0
  251. data/lib/swagger_client/models/client_document.rb +238 -0
  252. data/lib/swagger_client/models/client_index.rb +271 -0
  253. data/lib/swagger_client/models/client_index_value.rb +205 -0
  254. data/lib/swagger_client/models/client_membership.rb +340 -0
  255. data/lib/swagger_client/models/client_purchase_record.rb +265 -0
  256. data/lib/swagger_client/models/client_relationship.rb +205 -0
  257. data/lib/swagger_client/models/client_service.rb +319 -0
  258. data/lib/swagger_client/models/color.rb +195 -0
  259. data/lib/swagger_client/models/contact_log.rb +289 -0
  260. data/lib/swagger_client/models/contact_log_comment.rb +215 -0
  261. data/lib/swagger_client/models/contact_log_sub_type.rb +185 -0
  262. data/lib/swagger_client/models/contact_log_type.rb +197 -0
  263. data/lib/swagger_client/models/contract.rb +522 -0
  264. data/lib/swagger_client/models/contract_item.rb +244 -0
  265. data/lib/swagger_client/models/course.rb +275 -0
  266. data/lib/swagger_client/models/credit_card_info.rb +256 -0
  267. data/lib/swagger_client/models/cross_regional_client_association.rb +205 -0
  268. data/lib/swagger_client/models/custom_client_field.rb +205 -0
  269. data/lib/swagger_client/models/custom_client_field_value.rb +215 -0
  270. data/lib/swagger_client/models/custom_payment_method.rb +194 -0
  271. data/lib/swagger_client/models/formula_note.rb +225 -0
  272. data/lib/swagger_client/models/get_activation_code_response.rb +194 -0
  273. data/lib/swagger_client/models/get_active_client_memberships_request.rb +219 -0
  274. data/lib/swagger_client/models/get_active_client_memberships_response.rb +196 -0
  275. data/lib/swagger_client/models/get_active_session_times_request.rb +270 -0
  276. data/lib/swagger_client/models/get_active_session_times_response.rb +196 -0
  277. data/lib/swagger_client/models/get_appointment_options_response.rb +186 -0
  278. data/lib/swagger_client/models/get_bookable_items_request.rb +275 -0
  279. data/lib/swagger_client/models/get_bookable_items_response.rb +196 -0
  280. data/lib/swagger_client/models/get_class_descriptions_request.rb +256 -0
  281. data/lib/swagger_client/models/get_class_descriptions_response.rb +196 -0
  282. data/lib/swagger_client/models/get_class_payroll_request.rb +234 -0
  283. data/lib/swagger_client/models/get_class_payroll_response.rb +196 -0
  284. data/lib/swagger_client/models/get_class_schedules_request.rb +274 -0
  285. data/lib/swagger_client/models/get_class_schedules_response.rb +196 -0
  286. data/lib/swagger_client/models/get_class_visits_request.rb +194 -0
  287. data/lib/swagger_client/models/get_class_visits_response.rb +184 -0
  288. data/lib/swagger_client/models/get_classes_request.rb +338 -0
  289. data/lib/swagger_client/models/get_classes_response.rb +196 -0
  290. data/lib/swagger_client/models/get_client_account_balances_request.rb +231 -0
  291. data/lib/swagger_client/models/get_client_account_balances_response.rb +196 -0
  292. data/lib/swagger_client/models/get_client_contracts_request.rb +229 -0
  293. data/lib/swagger_client/models/get_client_contracts_response.rb +196 -0
  294. data/lib/swagger_client/models/get_client_formula_notes_request.rb +214 -0
  295. data/lib/swagger_client/models/get_client_formula_notes_response.rb +196 -0
  296. data/lib/swagger_client/models/get_client_indexes_request.rb +184 -0
  297. data/lib/swagger_client/models/get_client_indexes_response.rb +186 -0
  298. data/lib/swagger_client/models/get_client_purchases_request.rb +239 -0
  299. data/lib/swagger_client/models/get_client_purchases_response.rb +196 -0
  300. data/lib/swagger_client/models/get_client_referral_types_request.rb +184 -0
  301. data/lib/swagger_client/models/get_client_referral_types_response.rb +186 -0
  302. data/lib/swagger_client/models/get_client_services_request.rb +313 -0
  303. data/lib/swagger_client/models/get_client_services_response.rb +196 -0
  304. data/lib/swagger_client/models/get_client_visits_request.rb +259 -0
  305. data/lib/swagger_client/models/get_client_visits_response.rb +196 -0
  306. data/lib/swagger_client/models/get_clients_request.rb +236 -0
  307. data/lib/swagger_client/models/get_clients_response.rb +196 -0
  308. data/lib/swagger_client/models/get_contact_logs_request.rb +275 -0
  309. data/lib/swagger_client/models/get_contact_logs_response.rb +196 -0
  310. data/lib/swagger_client/models/get_contracts_request.rb +241 -0
  311. data/lib/swagger_client/models/get_contracts_response.rb +196 -0
  312. data/lib/swagger_client/models/get_cross_regional_client_associations_request.rb +214 -0
  313. data/lib/swagger_client/models/get_cross_regional_client_associations_response.rb +196 -0
  314. data/lib/swagger_client/models/get_custom_client_fields_request.rb +194 -0
  315. data/lib/swagger_client/models/get_custom_client_fields_response.rb +196 -0
  316. data/lib/swagger_client/models/get_custom_payment_methods_request.rb +194 -0
  317. data/lib/swagger_client/models/get_custom_payment_methods_response.rb +196 -0
  318. data/lib/swagger_client/models/get_enrollments_request.rb +274 -0
  319. data/lib/swagger_client/models/get_enrollments_response.rb +196 -0
  320. data/lib/swagger_client/models/get_gift_card_response.rb +196 -0
  321. data/lib/swagger_client/models/get_gift_cards_request.rb +226 -0
  322. data/lib/swagger_client/models/get_locations_request.rb +194 -0
  323. data/lib/swagger_client/models/get_locations_response.rb +196 -0
  324. data/lib/swagger_client/models/get_packages_request.rb +216 -0
  325. data/lib/swagger_client/models/get_packages_response.rb +196 -0
  326. data/lib/swagger_client/models/get_products_request.rb +260 -0
  327. data/lib/swagger_client/models/get_products_response.rb +196 -0
  328. data/lib/swagger_client/models/get_programs_request.rb +248 -0
  329. data/lib/swagger_client/models/get_programs_response.rb +196 -0
  330. data/lib/swagger_client/models/get_required_client_fields_response.rb +186 -0
  331. data/lib/swagger_client/models/get_resources_request.rb +236 -0
  332. data/lib/swagger_client/models/get_resources_response.rb +196 -0
  333. data/lib/swagger_client/models/get_sales_request.rb +174 -0
  334. data/lib/swagger_client/models/get_sales_response.rb +196 -0
  335. data/lib/swagger_client/models/get_schedule_items_request.rb +248 -0
  336. data/lib/swagger_client/models/get_schedule_items_response.rb +196 -0
  337. data/lib/swagger_client/models/get_services_request.rb +290 -0
  338. data/lib/swagger_client/models/get_services_response.rb +196 -0
  339. data/lib/swagger_client/models/get_session_types_request.rb +216 -0
  340. data/lib/swagger_client/models/get_session_types_response.rb +196 -0
  341. data/lib/swagger_client/models/get_sites_request.rb +206 -0
  342. data/lib/swagger_client/models/get_sites_response.rb +196 -0
  343. data/lib/swagger_client/models/get_staff_appointments_request.rb +262 -0
  344. data/lib/swagger_client/models/get_staff_appointments_response.rb +196 -0
  345. data/lib/swagger_client/models/get_staff_permissions_request.rb +189 -0
  346. data/lib/swagger_client/models/get_staff_permissions_response.rb +184 -0
  347. data/lib/swagger_client/models/get_staff_request.rb +248 -0
  348. data/lib/swagger_client/models/get_staff_response.rb +195 -0
  349. data/lib/swagger_client/models/get_time_clock_request.rb +234 -0
  350. data/lib/swagger_client/models/get_time_clock_response.rb +196 -0
  351. data/lib/swagger_client/models/get_waitlist_entries_request.rb +252 -0
  352. data/lib/swagger_client/models/get_waitlist_entries_response.rb +196 -0
  353. data/lib/swagger_client/models/gift_card.rb +300 -0
  354. data/lib/swagger_client/models/gift_card_layout.rb +195 -0
  355. data/lib/swagger_client/models/issue_request.rb +195 -0
  356. data/lib/swagger_client/models/issue_response.rb +204 -0
  357. data/lib/swagger_client/models/level.rb +205 -0
  358. data/lib/swagger_client/models/liability.rb +204 -0
  359. data/lib/swagger_client/models/location.rb +428 -0
  360. data/lib/swagger_client/models/membership_type_restriction.rb +194 -0
  361. data/lib/swagger_client/models/model_class.rb +473 -0
  362. data/lib/swagger_client/models/package.rb +238 -0
  363. data/lib/swagger_client/models/pagination_response.rb +214 -0
  364. data/lib/swagger_client/models/product.rb +284 -0
  365. data/lib/swagger_client/models/program.rb +248 -0
  366. data/lib/swagger_client/models/prospect_stage.rb +204 -0
  367. data/lib/swagger_client/models/purchase_contract_request.rb +309 -0
  368. data/lib/swagger_client/models/purchase_contract_response.rb +214 -0
  369. data/lib/swagger_client/models/purchase_gift_card_request.rb +309 -0
  370. data/lib/swagger_client/models/purchase_gift_card_response.rb +274 -0
  371. data/lib/swagger_client/models/purchased_item.rb +194 -0
  372. data/lib/swagger_client/models/relationship.rb +205 -0
  373. data/lib/swagger_client/models/remove_client_from_class_request.rb +234 -0
  374. data/lib/swagger_client/models/remove_client_from_class_response.rb +184 -0
  375. data/lib/swagger_client/models/remove_from_waitlist_request.rb +191 -0
  376. data/lib/swagger_client/models/remove_from_waitlist_response.rb +174 -0
  377. data/lib/swagger_client/models/resource.rb +195 -0
  378. data/lib/swagger_client/models/sale.rb +258 -0
  379. data/lib/swagger_client/models/sale_payment.rb +224 -0
  380. data/lib/swagger_client/models/sales_rep.rb +226 -0
  381. data/lib/swagger_client/models/send_password_reset_email_request.rb +220 -0
  382. data/lib/swagger_client/models/service.rb +264 -0
  383. data/lib/swagger_client/models/session_type.rb +308 -0
  384. data/lib/swagger_client/models/site.rb +374 -0
  385. data/lib/swagger_client/models/size.rb +194 -0
  386. data/lib/swagger_client/models/staff.rb +420 -0
  387. data/lib/swagger_client/models/staff_permission_group.rb +240 -0
  388. data/lib/swagger_client/models/stored_card_info.rb +183 -0
  389. data/lib/swagger_client/models/substitute_class_teacher_request.rb +244 -0
  390. data/lib/swagger_client/models/substitute_class_teacher_response.rb +184 -0
  391. data/lib/swagger_client/models/substitute_teacher_class.rb +375 -0
  392. data/lib/swagger_client/models/time_card_event.rb +204 -0
  393. data/lib/swagger_client/models/time_clock_report.rb +236 -0
  394. data/lib/swagger_client/models/unavailability.rb +214 -0
  395. data/lib/swagger_client/models/upcoming_autopay_event.rb +248 -0
  396. data/lib/swagger_client/models/update_appointment_request.rb +301 -0
  397. data/lib/swagger_client/models/update_appointment_response.rb +184 -0
  398. data/lib/swagger_client/models/update_client_request.rb +219 -0
  399. data/lib/swagger_client/models/update_client_response.rb +184 -0
  400. data/lib/swagger_client/models/update_client_service_request.rb +219 -0
  401. data/lib/swagger_client/models/update_client_service_response.rb +184 -0
  402. data/lib/swagger_client/models/update_client_visit_request.rb +239 -0
  403. data/lib/swagger_client/models/update_client_visit_response.rb +184 -0
  404. data/lib/swagger_client/models/update_contact_log_comment.rb +194 -0
  405. data/lib/swagger_client/models/update_contact_log_request.rb +268 -0
  406. data/lib/swagger_client/models/update_contact_log_type.rb +196 -0
  407. data/lib/swagger_client/models/upload_client_document_request.rb +204 -0
  408. data/lib/swagger_client/models/upload_client_document_response.rb +194 -0
  409. data/lib/swagger_client/models/upload_client_photo_request.rb +223 -0
  410. data/lib/swagger_client/models/upload_client_photo_response.rb +194 -0
  411. data/lib/swagger_client/models/user.rb +214 -0
  412. data/lib/swagger_client/models/visit.rb +413 -0
  413. data/lib/swagger_client/models/waitlist_entry.rb +264 -0
  414. data/lib/swagger_client/version.rb +15 -0
  415. data/mindbody-api-6.0.0.gem +0 -0
  416. data/mindbody-swagger.gem +0 -0
  417. data/spec/api/appointment_api_spec.rb +165 -0
  418. data/spec/api/class_api_spec.rb +202 -0
  419. data/spec/api/client_api_spec.rb +435 -0
  420. data/spec/api/enrollment_api_spec.rb +72 -0
  421. data/spec/api/payroll_api_spec.rb +74 -0
  422. data/spec/api/sale_api_spec.rb +222 -0
  423. data/spec/api/site_api_spec.rb +132 -0
  424. data/spec/api/staff_api_spec.rb +69 -0
  425. data/spec/api/user_token_api_spec.rb +62 -0
  426. data/spec/api_client_spec.rb +226 -0
  427. data/spec/configuration_spec.rb +42 -0
  428. data/spec/models/add_appointment_request_spec.rb +135 -0
  429. data/spec/models/add_appointment_response_spec.rb +41 -0
  430. data/spec/models/add_arrival_request_spec.rb +47 -0
  431. data/spec/models/add_arrival_response_spec.rb +47 -0
  432. data/spec/models/add_client_request_spec.rb +363 -0
  433. data/spec/models/add_client_response_spec.rb +41 -0
  434. data/spec/models/add_client_to_class_request_spec.rb +95 -0
  435. data/spec/models/add_client_to_class_response_spec.rb +41 -0
  436. data/spec/models/add_client_to_class_visit_spec.rb +173 -0
  437. data/spec/models/add_client_to_enrollment_request_spec.rb +83 -0
  438. data/spec/models/add_contact_log_request_spec.rb +89 -0
  439. data/spec/models/add_contact_log_type_spec.rb +47 -0
  440. data/spec/models/amenity_spec.rb +47 -0
  441. data/spec/models/appointment_option_spec.rb +59 -0
  442. data/spec/models/appointment_spec.rb +145 -0
  443. data/spec/models/assigned_client_index_spec.rb +47 -0
  444. data/spec/models/autopay_schedule_spec.rb +53 -0
  445. data/spec/models/availability_spec.rb +83 -0
  446. data/spec/models/booking_window_spec.rb +59 -0
  447. data/spec/models/checkout_appointment_booking_request_spec.rb +77 -0
  448. data/spec/models/checkout_item_spec.rb +47 -0
  449. data/spec/models/checkout_item_wrapper_spec.rb +95 -0
  450. data/spec/models/checkout_payment_info_spec.rb +47 -0
  451. data/spec/models/checkout_shopping_cart_request_spec.rb +101 -0
  452. data/spec/models/class_description_spec.rb +125 -0
  453. data/spec/models/class_payroll_event_spec.rb +53 -0
  454. data/spec/models/class_schedule_spec.rb +167 -0
  455. data/spec/models/client_contract_spec.rb +93 -0
  456. data/spec/models/client_credit_card_spec.rb +95 -0
  457. data/spec/models/client_document_spec.rb +53 -0
  458. data/spec/models/client_index_spec.rb +75 -0
  459. data/spec/models/client_index_value_spec.rb +53 -0
  460. data/spec/models/client_membership_spec.rb +117 -0
  461. data/spec/models/client_purchase_record_spec.rb +89 -0
  462. data/spec/models/client_relationship_spec.rb +53 -0
  463. data/spec/models/client_service_spec.rb +105 -0
  464. data/spec/models/client_spec.rb +367 -0
  465. data/spec/models/color_spec.rb +47 -0
  466. data/spec/models/contact_log_comment_spec.rb +59 -0
  467. data/spec/models/contact_log_spec.rb +101 -0
  468. data/spec/models/contact_log_sub_type_spec.rb +41 -0
  469. data/spec/models/contact_log_type_spec.rb +47 -0
  470. data/spec/models/contract_item_spec.rb +77 -0
  471. data/spec/models/contract_spec.rb +239 -0
  472. data/spec/models/course_spec.rb +95 -0
  473. data/spec/models/credit_card_info_spec.rb +89 -0
  474. data/spec/models/cross_regional_client_association_spec.rb +53 -0
  475. data/spec/models/custom_client_field_spec.rb +53 -0
  476. data/spec/models/custom_client_field_value_spec.rb +59 -0
  477. data/spec/models/custom_payment_method_spec.rb +47 -0
  478. data/spec/models/formula_note_spec.rb +65 -0
  479. data/spec/models/get_activation_code_response_spec.rb +47 -0
  480. data/spec/models/get_active_client_memberships_request_spec.rb +59 -0
  481. data/spec/models/get_active_client_memberships_response_spec.rb +47 -0
  482. data/spec/models/get_active_session_times_request_spec.rb +75 -0
  483. data/spec/models/get_active_session_times_response_spec.rb +47 -0
  484. data/spec/models/get_appointment_options_response_spec.rb +41 -0
  485. data/spec/models/get_bookable_items_request_spec.rb +89 -0
  486. data/spec/models/get_bookable_items_response_spec.rb +47 -0
  487. data/spec/models/get_class_descriptions_request_spec.rb +83 -0
  488. data/spec/models/get_class_descriptions_response_spec.rb +47 -0
  489. data/spec/models/get_class_payroll_request_spec.rb +71 -0
  490. data/spec/models/get_class_payroll_response_spec.rb +47 -0
  491. data/spec/models/get_class_schedules_request_spec.rb +89 -0
  492. data/spec/models/get_class_schedules_response_spec.rb +47 -0
  493. data/spec/models/get_class_visits_request_spec.rb +47 -0
  494. data/spec/models/get_class_visits_response_spec.rb +41 -0
  495. data/spec/models/get_classes_request_spec.rb +125 -0
  496. data/spec/models/get_classes_response_spec.rb +47 -0
  497. data/spec/models/get_client_account_balances_request_spec.rb +65 -0
  498. data/spec/models/get_client_account_balances_response_spec.rb +47 -0
  499. data/spec/models/get_client_contracts_request_spec.rb +65 -0
  500. data/spec/models/get_client_contracts_response_spec.rb +47 -0
  501. data/spec/models/get_client_formula_notes_request_spec.rb +59 -0
  502. data/spec/models/get_client_formula_notes_response_spec.rb +47 -0
  503. data/spec/models/get_client_indexes_request_spec.rb +41 -0
  504. data/spec/models/get_client_indexes_response_spec.rb +41 -0
  505. data/spec/models/get_client_purchases_request_spec.rb +71 -0
  506. data/spec/models/get_client_purchases_response_spec.rb +47 -0
  507. data/spec/models/get_client_referral_types_request_spec.rb +41 -0
  508. data/spec/models/get_client_referral_types_response_spec.rb +41 -0
  509. data/spec/models/get_client_services_request_spec.rb +113 -0
  510. data/spec/models/get_client_services_response_spec.rb +47 -0
  511. data/spec/models/get_client_visits_request_spec.rb +83 -0
  512. data/spec/models/get_client_visits_response_spec.rb +47 -0
  513. data/spec/models/get_clients_request_spec.rb +71 -0
  514. data/spec/models/get_clients_response_spec.rb +47 -0
  515. data/spec/models/get_contact_logs_request_spec.rb +89 -0
  516. data/spec/models/get_contact_logs_response_spec.rb +47 -0
  517. data/spec/models/get_contracts_request_spec.rb +71 -0
  518. data/spec/models/get_contracts_response_spec.rb +47 -0
  519. data/spec/models/get_cross_regional_client_associations_request_spec.rb +59 -0
  520. data/spec/models/get_cross_regional_client_associations_response_spec.rb +47 -0
  521. data/spec/models/get_custom_client_fields_request_spec.rb +47 -0
  522. data/spec/models/get_custom_client_fields_response_spec.rb +47 -0
  523. data/spec/models/get_custom_payment_methods_request_spec.rb +47 -0
  524. data/spec/models/get_custom_payment_methods_response_spec.rb +47 -0
  525. data/spec/models/get_enrollments_request_spec.rb +89 -0
  526. data/spec/models/get_enrollments_response_spec.rb +47 -0
  527. data/spec/models/get_gift_card_response_spec.rb +47 -0
  528. data/spec/models/get_gift_cards_request_spec.rb +65 -0
  529. data/spec/models/get_locations_request_spec.rb +47 -0
  530. data/spec/models/get_locations_response_spec.rb +47 -0
  531. data/spec/models/get_packages_request_spec.rb +59 -0
  532. data/spec/models/get_packages_response_spec.rb +47 -0
  533. data/spec/models/get_products_request_spec.rb +83 -0
  534. data/spec/models/get_products_response_spec.rb +47 -0
  535. data/spec/models/get_programs_request_spec.rb +63 -0
  536. data/spec/models/get_programs_response_spec.rb +47 -0
  537. data/spec/models/get_required_client_fields_response_spec.rb +41 -0
  538. data/spec/models/get_resources_request_spec.rb +71 -0
  539. data/spec/models/get_resources_response_spec.rb +47 -0
  540. data/spec/models/get_sales_request_spec.rb +35 -0
  541. data/spec/models/get_sales_response_spec.rb +47 -0
  542. data/spec/models/get_schedule_items_request_spec.rb +77 -0
  543. data/spec/models/get_schedule_items_response_spec.rb +47 -0
  544. data/spec/models/get_services_request_spec.rb +101 -0
  545. data/spec/models/get_services_response_spec.rb +47 -0
  546. data/spec/models/get_session_types_request_spec.rb +59 -0
  547. data/spec/models/get_session_types_response_spec.rb +47 -0
  548. data/spec/models/get_sites_request_spec.rb +53 -0
  549. data/spec/models/get_sites_response_spec.rb +47 -0
  550. data/spec/models/get_staff_appointments_request_spec.rb +83 -0
  551. data/spec/models/get_staff_appointments_response_spec.rb +47 -0
  552. data/spec/models/get_staff_permissions_request_spec.rb +41 -0
  553. data/spec/models/get_staff_permissions_response_spec.rb +41 -0
  554. data/spec/models/get_staff_request_spec.rb +77 -0
  555. data/spec/models/get_staff_response_spec.rb +47 -0
  556. data/spec/models/get_time_clock_request_spec.rb +71 -0
  557. data/spec/models/get_time_clock_response_spec.rb +47 -0
  558. data/spec/models/get_waitlist_entries_request_spec.rb +77 -0
  559. data/spec/models/get_waitlist_entries_response_spec.rb +47 -0
  560. data/spec/models/gift_card_layout_spec.rb +47 -0
  561. data/spec/models/gift_card_spec.rb +107 -0
  562. data/spec/models/issue_request_spec.rb +47 -0
  563. data/spec/models/issue_response_spec.rb +53 -0
  564. data/spec/models/level_spec.rb +53 -0
  565. data/spec/models/liability_spec.rb +53 -0
  566. data/spec/models/location_spec.rb +185 -0
  567. data/spec/models/membership_type_restriction_spec.rb +47 -0
  568. data/spec/models/model_class_spec.rb +195 -0
  569. data/spec/models/package_spec.rb +71 -0
  570. data/spec/models/pagination_response_spec.rb +59 -0
  571. data/spec/models/product_spec.rb +101 -0
  572. data/spec/models/program_spec.rb +63 -0
  573. data/spec/models/prospect_stage_spec.rb +53 -0
  574. data/spec/models/purchase_contract_request_spec.rb +101 -0
  575. data/spec/models/purchase_contract_response_spec.rb +59 -0
  576. data/spec/models/purchase_gift_card_request_spec.rb +107 -0
  577. data/spec/models/purchase_gift_card_response_spec.rb +95 -0
  578. data/spec/models/purchased_item_spec.rb +47 -0
  579. data/spec/models/relationship_spec.rb +53 -0
  580. data/spec/models/remove_client_from_class_request_spec.rb +65 -0
  581. data/spec/models/remove_client_from_class_response_spec.rb +41 -0
  582. data/spec/models/remove_from_waitlist_request_spec.rb +41 -0
  583. data/spec/models/remove_from_waitlist_response_spec.rb +35 -0
  584. data/spec/models/resource_spec.rb +47 -0
  585. data/spec/models/sale_payment_spec.rb +65 -0
  586. data/spec/models/sale_spec.rb +83 -0
  587. data/spec/models/sales_rep_spec.rb +65 -0
  588. data/spec/models/send_password_reset_email_request_spec.rb +53 -0
  589. data/spec/models/service_spec.rb +89 -0
  590. data/spec/models/session_type_spec.rb +99 -0
  591. data/spec/models/site_spec.rb +155 -0
  592. data/spec/models/size_spec.rb +47 -0
  593. data/spec/models/staff_permission_group_spec.rb +67 -0
  594. data/spec/models/staff_spec.rb +179 -0
  595. data/spec/models/stored_card_info_spec.rb +41 -0
  596. data/spec/models/substitute_class_teacher_request_spec.rb +71 -0
  597. data/spec/models/substitute_class_teacher_response_spec.rb +41 -0
  598. data/spec/models/substitute_teacher_class_spec.rb +155 -0
  599. data/spec/models/time_card_event_spec.rb +53 -0
  600. data/spec/models/time_clock_report_spec.rb +71 -0
  601. data/spec/models/unavailability_spec.rb +59 -0
  602. data/spec/models/upcoming_autopay_event_spec.rb +63 -0
  603. data/spec/models/update_appointment_request_spec.rb +107 -0
  604. data/spec/models/update_appointment_response_spec.rb +41 -0
  605. data/spec/models/update_client_request_spec.rb +59 -0
  606. data/spec/models/update_client_response_spec.rb +41 -0
  607. data/spec/models/update_client_service_request_spec.rb +59 -0
  608. data/spec/models/update_client_service_response_spec.rb +41 -0
  609. data/spec/models/update_client_visit_request_spec.rb +71 -0
  610. data/spec/models/update_client_visit_response_spec.rb +41 -0
  611. data/spec/models/update_contact_log_comment_spec.rb +47 -0
  612. data/spec/models/update_contact_log_request_spec.rb +89 -0
  613. data/spec/models/update_contact_log_type_spec.rb +47 -0
  614. data/spec/models/upload_client_document_request_spec.rb +47 -0
  615. data/spec/models/upload_client_document_response_spec.rb +47 -0
  616. data/spec/models/upload_client_photo_request_spec.rb +47 -0
  617. data/spec/models/upload_client_photo_response_spec.rb +47 -0
  618. data/spec/models/user_spec.rb +59 -0
  619. data/spec/models/visit_spec.rb +155 -0
  620. data/spec/models/waitlist_entry_spec.rb +89 -0
  621. data/spec/spec_helper.rb +111 -0
  622. data/swagger_client-1.0.0.gem +0 -0
  623. data/swagger_client.gemspec +45 -0
  624. metadata +1050 -0
@@ -0,0 +1,399 @@
1
+ =begin
2
+ #MINDBODY Public API
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: v6
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.6
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module SwaggerClient
16
+ # Represents a single class instance. The class meets at the start time, goes until the end time.
17
+ class ClassSchedule
18
+ # Contains information about classes.
19
+ attr_accessor :classes
20
+
21
+ # Contains information about clients.
22
+ attr_accessor :clients
23
+
24
+ # Contains information about the course that the enrollment is a part of.
25
+ attr_accessor :course
26
+
27
+ # The semester ID for the enrollment (if any).
28
+ attr_accessor :semester_id
29
+
30
+ # When `true`, indicates that the enrollment shows in consumer mode, has not started yet, and there is room in each class of the enrollment.<br /> When `false`, indicates that either the enrollment does not show in consumer mode, has already started, or there is no room in some classes of the enrollment.
31
+ attr_accessor :is_available
32
+
33
+ # The unique ID of the class schedule.
34
+ attr_accessor :id
35
+
36
+ # Contains information about the class.
37
+ attr_accessor :class_description
38
+
39
+ # When `true`, indicates that this schedule occurs on Sundays.
40
+ attr_accessor :day_sunday
41
+
42
+ # When `true`, indicates that this schedule occurs on Mondays.
43
+ attr_accessor :day_monday
44
+
45
+ # When `true`, indicates that this schedule occurs on Tuesdays.
46
+ attr_accessor :day_tuesday
47
+
48
+ # When `true`, indicates that this schedule occurs on Wednesdays.
49
+ attr_accessor :day_wednesday
50
+
51
+ # When `true`, indicates that this schedule occurs on Thursdays.
52
+ attr_accessor :day_thursday
53
+
54
+ # When `true`, indicates that this schedule occurs on Fridays.
55
+ attr_accessor :day_friday
56
+
57
+ # When `true`, indicates that this schedule occurs on Saturdays.
58
+ attr_accessor :day_saturday
59
+
60
+ # When `true`, indicates that the enrollment allows booking after the enrollment has started.
61
+ attr_accessor :allow_open_enrollment
62
+
63
+ # When `true`, indicates that this the enrollment shows in consumer mode, the enrollment has not started yet, and there is room in each class of the enrollment.
64
+ attr_accessor :allow_date_forward_enrollment
65
+
66
+ # The time this class schedule starts.
67
+ attr_accessor :start_time
68
+
69
+ # The time this class schedule ends.
70
+ attr_accessor :end_time
71
+
72
+ # The date this class schedule starts.
73
+ attr_accessor :start_date
74
+
75
+ # The date this class schedule ends.
76
+ attr_accessor :end_date
77
+
78
+ # Contains information about the staff member who is regularly scheduled to teach the class.
79
+ attr_accessor :staff
80
+
81
+ # Contains information about the regularly scheduled location of this class.
82
+ attr_accessor :location
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'classes' => :'Classes',
88
+ :'clients' => :'Clients',
89
+ :'course' => :'Course',
90
+ :'semester_id' => :'SemesterId',
91
+ :'is_available' => :'IsAvailable',
92
+ :'id' => :'Id',
93
+ :'class_description' => :'ClassDescription',
94
+ :'day_sunday' => :'DaySunday',
95
+ :'day_monday' => :'DayMonday',
96
+ :'day_tuesday' => :'DayTuesday',
97
+ :'day_wednesday' => :'DayWednesday',
98
+ :'day_thursday' => :'DayThursday',
99
+ :'day_friday' => :'DayFriday',
100
+ :'day_saturday' => :'DaySaturday',
101
+ :'allow_open_enrollment' => :'AllowOpenEnrollment',
102
+ :'allow_date_forward_enrollment' => :'AllowDateForwardEnrollment',
103
+ :'start_time' => :'StartTime',
104
+ :'end_time' => :'EndTime',
105
+ :'start_date' => :'StartDate',
106
+ :'end_date' => :'EndDate',
107
+ :'staff' => :'Staff',
108
+ :'location' => :'Location'
109
+ }
110
+ end
111
+
112
+ # Attribute type mapping.
113
+ def self.swagger_types
114
+ {
115
+ :'classes' => :'Array<ModelClass>',
116
+ :'clients' => :'Array<Client>',
117
+ :'course' => :'Course',
118
+ :'semester_id' => :'Integer',
119
+ :'is_available' => :'BOOLEAN',
120
+ :'id' => :'Integer',
121
+ :'class_description' => :'ClassDescription',
122
+ :'day_sunday' => :'BOOLEAN',
123
+ :'day_monday' => :'BOOLEAN',
124
+ :'day_tuesday' => :'BOOLEAN',
125
+ :'day_wednesday' => :'BOOLEAN',
126
+ :'day_thursday' => :'BOOLEAN',
127
+ :'day_friday' => :'BOOLEAN',
128
+ :'day_saturday' => :'BOOLEAN',
129
+ :'allow_open_enrollment' => :'BOOLEAN',
130
+ :'allow_date_forward_enrollment' => :'BOOLEAN',
131
+ :'start_time' => :'DateTime',
132
+ :'end_time' => :'DateTime',
133
+ :'start_date' => :'DateTime',
134
+ :'end_date' => :'DateTime',
135
+ :'staff' => :'Staff',
136
+ :'location' => :'Location'
137
+ }
138
+ end
139
+
140
+ # Initializes the object
141
+ # @param [Hash] attributes Model attributes in the form of hash
142
+ def initialize(attributes = {})
143
+ return unless attributes.is_a?(Hash)
144
+
145
+ # convert string to symbol for hash key
146
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
147
+
148
+ if attributes.has_key?(:'Classes')
149
+ if (value = attributes[:'Classes']).is_a?(Array)
150
+ self.classes = value
151
+ end
152
+ end
153
+
154
+ if attributes.has_key?(:'Clients')
155
+ if (value = attributes[:'Clients']).is_a?(Array)
156
+ self.clients = value
157
+ end
158
+ end
159
+
160
+ if attributes.has_key?(:'Course')
161
+ self.course = attributes[:'Course']
162
+ end
163
+
164
+ if attributes.has_key?(:'SemesterId')
165
+ self.semester_id = attributes[:'SemesterId']
166
+ end
167
+
168
+ if attributes.has_key?(:'IsAvailable')
169
+ self.is_available = attributes[:'IsAvailable']
170
+ end
171
+
172
+ if attributes.has_key?(:'Id')
173
+ self.id = attributes[:'Id']
174
+ end
175
+
176
+ if attributes.has_key?(:'ClassDescription')
177
+ self.class_description = attributes[:'ClassDescription']
178
+ end
179
+
180
+ if attributes.has_key?(:'DaySunday')
181
+ self.day_sunday = attributes[:'DaySunday']
182
+ end
183
+
184
+ if attributes.has_key?(:'DayMonday')
185
+ self.day_monday = attributes[:'DayMonday']
186
+ end
187
+
188
+ if attributes.has_key?(:'DayTuesday')
189
+ self.day_tuesday = attributes[:'DayTuesday']
190
+ end
191
+
192
+ if attributes.has_key?(:'DayWednesday')
193
+ self.day_wednesday = attributes[:'DayWednesday']
194
+ end
195
+
196
+ if attributes.has_key?(:'DayThursday')
197
+ self.day_thursday = attributes[:'DayThursday']
198
+ end
199
+
200
+ if attributes.has_key?(:'DayFriday')
201
+ self.day_friday = attributes[:'DayFriday']
202
+ end
203
+
204
+ if attributes.has_key?(:'DaySaturday')
205
+ self.day_saturday = attributes[:'DaySaturday']
206
+ end
207
+
208
+ if attributes.has_key?(:'AllowOpenEnrollment')
209
+ self.allow_open_enrollment = attributes[:'AllowOpenEnrollment']
210
+ end
211
+
212
+ if attributes.has_key?(:'AllowDateForwardEnrollment')
213
+ self.allow_date_forward_enrollment = attributes[:'AllowDateForwardEnrollment']
214
+ end
215
+
216
+ if attributes.has_key?(:'StartTime')
217
+ self.start_time = attributes[:'StartTime']
218
+ end
219
+
220
+ if attributes.has_key?(:'EndTime')
221
+ self.end_time = attributes[:'EndTime']
222
+ end
223
+
224
+ if attributes.has_key?(:'StartDate')
225
+ self.start_date = attributes[:'StartDate']
226
+ end
227
+
228
+ if attributes.has_key?(:'EndDate')
229
+ self.end_date = attributes[:'EndDate']
230
+ end
231
+
232
+ if attributes.has_key?(:'Staff')
233
+ self.staff = attributes[:'Staff']
234
+ end
235
+
236
+ if attributes.has_key?(:'Location')
237
+ self.location = attributes[:'Location']
238
+ end
239
+ end
240
+
241
+ # Show invalid properties with the reasons. Usually used together with valid?
242
+ # @return Array for valid properties with the reasons
243
+ def list_invalid_properties
244
+ invalid_properties = Array.new
245
+ invalid_properties
246
+ end
247
+
248
+ # Check to see if the all the properties in the model are valid
249
+ # @return true if the model is valid
250
+ def valid?
251
+ true
252
+ end
253
+
254
+ # Checks equality by comparing each attribute.
255
+ # @param [Object] Object to be compared
256
+ def ==(o)
257
+ return true if self.equal?(o)
258
+ self.class == o.class &&
259
+ classes == o.classes &&
260
+ clients == o.clients &&
261
+ course == o.course &&
262
+ semester_id == o.semester_id &&
263
+ is_available == o.is_available &&
264
+ id == o.id &&
265
+ class_description == o.class_description &&
266
+ day_sunday == o.day_sunday &&
267
+ day_monday == o.day_monday &&
268
+ day_tuesday == o.day_tuesday &&
269
+ day_wednesday == o.day_wednesday &&
270
+ day_thursday == o.day_thursday &&
271
+ day_friday == o.day_friday &&
272
+ day_saturday == o.day_saturday &&
273
+ allow_open_enrollment == o.allow_open_enrollment &&
274
+ allow_date_forward_enrollment == o.allow_date_forward_enrollment &&
275
+ start_time == o.start_time &&
276
+ end_time == o.end_time &&
277
+ start_date == o.start_date &&
278
+ end_date == o.end_date &&
279
+ staff == o.staff &&
280
+ location == o.location
281
+ end
282
+
283
+ # @see the `==` method
284
+ # @param [Object] Object to be compared
285
+ def eql?(o)
286
+ self == o
287
+ end
288
+
289
+ # Calculates hash code according to all attributes.
290
+ # @return [Fixnum] Hash code
291
+ def hash
292
+ [classes, clients, course, semester_id, is_available, id, class_description, day_sunday, day_monday, day_tuesday, day_wednesday, day_thursday, day_friday, day_saturday, allow_open_enrollment, allow_date_forward_enrollment, start_time, end_time, start_date, end_date, staff, location].hash
293
+ end
294
+
295
+ # Builds the object from hash
296
+ # @param [Hash] attributes Model attributes in the form of hash
297
+ # @return [Object] Returns the model itself
298
+ def build_from_hash(attributes)
299
+ return nil unless attributes.is_a?(Hash)
300
+ self.class.swagger_types.each_pair do |key, type|
301
+ if type =~ /\AArray<(.*)>/i
302
+ # check to ensure the input is an array given that the the attribute
303
+ # is documented as an array but the input is not
304
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
305
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
306
+ end
307
+ elsif !attributes[self.class.attribute_map[key]].nil?
308
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
309
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
310
+ end
311
+
312
+ self
313
+ end
314
+
315
+ # Deserializes the data based on type
316
+ # @param string type Data type
317
+ # @param string value Value to be deserialized
318
+ # @return [Object] Deserialized data
319
+ def _deserialize(type, value)
320
+ case type.to_sym
321
+ when :DateTime
322
+ DateTime.parse(value)
323
+ when :Date
324
+ Date.parse(value)
325
+ when :String
326
+ value.to_s
327
+ when :Integer
328
+ value.to_i
329
+ when :Float
330
+ value.to_f
331
+ when :BOOLEAN
332
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
333
+ true
334
+ else
335
+ false
336
+ end
337
+ when :Object
338
+ # generic object (usually a Hash), return directly
339
+ value
340
+ when /\AArray<(?<inner_type>.+)>\z/
341
+ inner_type = Regexp.last_match[:inner_type]
342
+ value.map { |v| _deserialize(inner_type, v) }
343
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
344
+ k_type = Regexp.last_match[:k_type]
345
+ v_type = Regexp.last_match[:v_type]
346
+ {}.tap do |hash|
347
+ value.each do |k, v|
348
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
349
+ end
350
+ end
351
+ else # model
352
+ temp_model = SwaggerClient.const_get(type).new
353
+ temp_model.build_from_hash(value)
354
+ end
355
+ end
356
+
357
+ # Returns the string representation of the object
358
+ # @return [String] String presentation of the object
359
+ def to_s
360
+ to_hash.to_s
361
+ end
362
+
363
+ # to_body is an alias to to_hash (backward compatibility)
364
+ # @return [Hash] Returns the object in the form of hash
365
+ def to_body
366
+ to_hash
367
+ end
368
+
369
+ # Returns the object in the form of hash
370
+ # @return [Hash] Returns the object in the form of hash
371
+ def to_hash
372
+ hash = {}
373
+ self.class.attribute_map.each_pair do |attr, param|
374
+ value = self.send(attr)
375
+ next if value.nil?
376
+ hash[param] = _to_hash(value)
377
+ end
378
+ hash
379
+ end
380
+
381
+ # Outputs non-array value in the form of hash
382
+ # For object, use to_hash. Otherwise, just return the value
383
+ # @param [Object] value Any valid value
384
+ # @return [Hash] Returns the value in the form of hash
385
+ def _to_hash(value)
386
+ if value.is_a?(Array)
387
+ value.compact.map { |v| _to_hash(v) }
388
+ elsif value.is_a?(Hash)
389
+ {}.tap do |hash|
390
+ value.each { |k, v| hash[k] = _to_hash(v) }
391
+ end
392
+ elsif value.respond_to? :to_hash
393
+ value.to_hash
394
+ else
395
+ value
396
+ end
397
+ end
398
+ end
399
+ end
@@ -0,0 +1,769 @@
1
+ =begin
2
+ #MINDBODY Public API
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: v6
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.6
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module SwaggerClient
16
+ # A Client
17
+ class Client
18
+ # The gender of staff member with whom the client prefers to book appointments.
19
+ attr_accessor :appointment_gender_preference
20
+
21
+ # The client’s date of birth.
22
+ attr_accessor :birth_date
23
+
24
+ # The client’s country.
25
+ attr_accessor :country
26
+
27
+ # The date the client’s profile was created and added to the business, either by the client from the online store, or by a staff member. This value always returns in the format `yyyy-mm-ddThh:mm:ss:ms`.
28
+ attr_accessor :creation_date
29
+
30
+ # Contains information about the custom client fields assigned to the client.
31
+ attr_accessor :custom_client_fields
32
+
33
+ # Contains information about the client’s credit card.
34
+ attr_accessor :client_credit_card
35
+
36
+ # Contains the IDs of the client’s assigned ClientIndexes and ClientIndexValues.
37
+ attr_accessor :client_indexes
38
+
39
+ # Contains information about the relationship between two clients.
40
+ attr_accessor :client_relationships
41
+
42
+ # The date of the client’s first booked appointment at the business.
43
+ attr_accessor :first_appointment_date
44
+
45
+ # The client’s first name.
46
+ attr_accessor :first_name
47
+
48
+ # The client’s ID, as configured by the business owner. This is the client’s barcode ID if the business owner assigns barcodes to clients. This ID is used throughout the Public API for client-related Public API calls. When used in a POST `UpdateClient` request, the `Id` is used to identify the client for the update.
49
+ attr_accessor :id
50
+
51
+ # When `true`, indicates that the client should be marked as a company at the business.<br /> When `false`, indicates the client is an individual and does not represent a company.
52
+ attr_accessor :is_company
53
+
54
+ # This value is set only if the business owner allows individuals to be prospects.<br /> When `true`, indicates that the client should be marked as a prospect for the business.<br /> When `false`, indicates that the client should not be marked as a prospect for the business.
55
+ attr_accessor :is_prospect
56
+
57
+ # The client’s last name.
58
+ attr_accessor :last_name
59
+
60
+ # Contains the client’s liability agreement information for the business.
61
+ attr_accessor :liability
62
+
63
+ # Passing `true` sets the client’s liability information as follows: * `IsReleased` is set to `true`. * `AgreementDate` is set to the time zone of the business when the call was processed. * `ReleasedBy` is set to `null` if the call is made by the client, `0` if the call was made by the business owner, or to a specific staff member’s ID if a staff member made the call. Passing `false` sets the client’s liability information as follows: * `IsReleased` is set to `false`. * `AgreementDate` is set to `null`. * `ReleasedBy` is set to `null`.
64
+ attr_accessor :liability_release
65
+
66
+ # The ID of the [membership icon](https://support.mindbodyonline.com/s/article/203259703-Membership-Setup-screen?language=en_US) displayed next to the client’s name, if the client has a membership on their account.
67
+ attr_accessor :membership_icon
68
+
69
+ # The client’s mobile provider.
70
+ attr_accessor :mobile_provider
71
+
72
+ # Any notes entered on the client’s account by staff members. This value should never be shown to clients unless the business owner has a specific reason for showing them.
73
+ attr_accessor :notes
74
+
75
+ # The client’s state.
76
+ attr_accessor :state
77
+
78
+ # The client’s system-generated ID at the business. This value cannot be changed by business owners and is always unique across all clients at the business. This ID is not widely used in the Public API, but can be used by your application to uniquely identify clients.
79
+ attr_accessor :unique_id
80
+
81
+ # The UTC date and time when the client’s information was last modified.
82
+ attr_accessor :last_modified_date_time
83
+
84
+ # Contains any red alert information entered by the business owner for the client.
85
+ attr_accessor :red_alert
86
+
87
+ # Contains any yellow alert information entered by the business owner for the client.
88
+ attr_accessor :yellow_alert
89
+
90
+ # The client’s middle name.
91
+ attr_accessor :middle_name
92
+
93
+ # Contains information about the client [prospect stage](https://support.mindbodyonline.com/s/article/206176457-Prospect-Stages?language=en_US).
94
+ attr_accessor :prospect_stage
95
+
96
+ # The client’s email address.
97
+ attr_accessor :email
98
+
99
+ # The client’s mobile phone number.
100
+ attr_accessor :mobile_phone
101
+
102
+ # The client’s home phone number.
103
+ attr_accessor :home_phone
104
+
105
+ # The client’s work phone number.
106
+ attr_accessor :work_phone
107
+
108
+ # The client’s current [account balance](https://mindbody-online-support.force.com/support/s/article/203262013-Adding-account-payments-video-tutorial?language=en_US).
109
+ attr_accessor :account_balance
110
+
111
+ # The first line of the client’s street address.
112
+ attr_accessor :address_line1
113
+
114
+ # The second line of the client’s street address, if needed.
115
+ attr_accessor :address_line2
116
+
117
+ # The client’s city.
118
+ attr_accessor :city
119
+
120
+ # The client’s postal code.
121
+ attr_accessor :postal_code
122
+
123
+ # The client’s work phone extension number.
124
+ attr_accessor :work_extension
125
+
126
+ # Specifies how the client was referred to the business. You can get a list of possible strings using the `GetClientReferralTypes` endpoint.
127
+ attr_accessor :referred_by
128
+
129
+ # The URL of the client’s photo for the client profile.
130
+ attr_accessor :photo_url
131
+
132
+ # The name of the client’s emergency contact.
133
+ attr_accessor :emergency_contact_info_name
134
+
135
+ # The email address of the client’s emergency contact.
136
+ attr_accessor :emergency_contact_info_email
137
+
138
+ # The phone number of the client’s emergency contact.
139
+ attr_accessor :emergency_contact_info_phone
140
+
141
+ # The client’s relationship with the emergency contact.
142
+ attr_accessor :emergency_contact_info_relationship
143
+
144
+ # The gender of the client.
145
+ attr_accessor :gender
146
+
147
+ # The last [formula note](https://support.mindbodyonline.com/s/article/203259903-Appointments-Formula-notes?language=en_US) entered for the client.
148
+ attr_accessor :last_formula_notes
149
+
150
+ # When `true`, indicates that the client’s profile is marked as active on the site.<br /> When `false`, the client’s profile is inactive.
151
+ attr_accessor :active
152
+
153
+ # A list of sales representatives.
154
+ attr_accessor :sales_reps
155
+
156
+ # The status of the client in the business. Possible values are: * Declined * Non-Member * Active * Expired * Suspended * Terminated
157
+ attr_accessor :status
158
+
159
+ # The action taken.
160
+ attr_accessor :action
161
+
162
+ # When `true`, indicates that the client has opted to receive general account notifications by email. This property is editable. <br />Default: **false**
163
+ attr_accessor :send_account_emails
164
+
165
+ # When `true`, indicates that the client has opted to receive general account notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
166
+ attr_accessor :send_account_texts
167
+
168
+ # When `true`, indicates that the client has opted to receive promotional notifications by email. This property is editable. <br />Default: **false**
169
+ attr_accessor :send_promotional_emails
170
+
171
+ # When `true`, indicates that the client has opted to receive promotional notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
172
+ attr_accessor :send_promotional_texts
173
+
174
+ # When `true`, indicates that the client has opted to receive schedule notifications by email. This property is editable. <br />Default: **false**
175
+ attr_accessor :send_schedule_emails
176
+
177
+ # When `true`, indicates that the client has opted to receive schedule notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.
178
+ attr_accessor :send_schedule_texts
179
+
180
+ class EnumAttributeValidator
181
+ attr_reader :datatype
182
+ attr_reader :allowable_values
183
+
184
+ def initialize(datatype, allowable_values)
185
+ @allowable_values = allowable_values.map do |value|
186
+ case datatype.to_s
187
+ when /Integer/i
188
+ value.to_i
189
+ when /Float/i
190
+ value.to_f
191
+ else
192
+ value
193
+ end
194
+ end
195
+ end
196
+
197
+ def valid?(value)
198
+ !value || allowable_values.include?(value)
199
+ end
200
+ end
201
+
202
+ # Attribute mapping from ruby-style variable name to JSON key.
203
+ def self.attribute_map
204
+ {
205
+ :'appointment_gender_preference' => :'AppointmentGenderPreference',
206
+ :'birth_date' => :'BirthDate',
207
+ :'country' => :'Country',
208
+ :'creation_date' => :'CreationDate',
209
+ :'custom_client_fields' => :'CustomClientFields',
210
+ :'client_credit_card' => :'ClientCreditCard',
211
+ :'client_indexes' => :'ClientIndexes',
212
+ :'client_relationships' => :'ClientRelationships',
213
+ :'first_appointment_date' => :'FirstAppointmentDate',
214
+ :'first_name' => :'FirstName',
215
+ :'id' => :'Id',
216
+ :'is_company' => :'IsCompany',
217
+ :'is_prospect' => :'IsProspect',
218
+ :'last_name' => :'LastName',
219
+ :'liability' => :'Liability',
220
+ :'liability_release' => :'LiabilityRelease',
221
+ :'membership_icon' => :'MembershipIcon',
222
+ :'mobile_provider' => :'MobileProvider',
223
+ :'notes' => :'Notes',
224
+ :'state' => :'State',
225
+ :'unique_id' => :'UniqueId',
226
+ :'last_modified_date_time' => :'LastModifiedDateTime',
227
+ :'red_alert' => :'RedAlert',
228
+ :'yellow_alert' => :'YellowAlert',
229
+ :'middle_name' => :'MiddleName',
230
+ :'prospect_stage' => :'ProspectStage',
231
+ :'email' => :'Email',
232
+ :'mobile_phone' => :'MobilePhone',
233
+ :'home_phone' => :'HomePhone',
234
+ :'work_phone' => :'WorkPhone',
235
+ :'account_balance' => :'AccountBalance',
236
+ :'address_line1' => :'AddressLine1',
237
+ :'address_line2' => :'AddressLine2',
238
+ :'city' => :'City',
239
+ :'postal_code' => :'PostalCode',
240
+ :'work_extension' => :'WorkExtension',
241
+ :'referred_by' => :'ReferredBy',
242
+ :'photo_url' => :'PhotoUrl',
243
+ :'emergency_contact_info_name' => :'EmergencyContactInfoName',
244
+ :'emergency_contact_info_email' => :'EmergencyContactInfoEmail',
245
+ :'emergency_contact_info_phone' => :'EmergencyContactInfoPhone',
246
+ :'emergency_contact_info_relationship' => :'EmergencyContactInfoRelationship',
247
+ :'gender' => :'Gender',
248
+ :'last_formula_notes' => :'LastFormulaNotes',
249
+ :'active' => :'Active',
250
+ :'sales_reps' => :'SalesReps',
251
+ :'status' => :'Status',
252
+ :'action' => :'Action',
253
+ :'send_account_emails' => :'SendAccountEmails',
254
+ :'send_account_texts' => :'SendAccountTexts',
255
+ :'send_promotional_emails' => :'SendPromotionalEmails',
256
+ :'send_promotional_texts' => :'SendPromotionalTexts',
257
+ :'send_schedule_emails' => :'SendScheduleEmails',
258
+ :'send_schedule_texts' => :'SendScheduleTexts'
259
+ }
260
+ end
261
+
262
+ # Attribute type mapping.
263
+ def self.swagger_types
264
+ {
265
+ :'appointment_gender_preference' => :'String',
266
+ :'birth_date' => :'DateTime',
267
+ :'country' => :'String',
268
+ :'creation_date' => :'DateTime',
269
+ :'custom_client_fields' => :'Array<CustomClientFieldValue>',
270
+ :'client_credit_card' => :'ClientCreditCard',
271
+ :'client_indexes' => :'Array<AssignedClientIndex>',
272
+ :'client_relationships' => :'Array<ClientRelationship>',
273
+ :'first_appointment_date' => :'DateTime',
274
+ :'first_name' => :'String',
275
+ :'id' => :'String',
276
+ :'is_company' => :'BOOLEAN',
277
+ :'is_prospect' => :'BOOLEAN',
278
+ :'last_name' => :'String',
279
+ :'liability' => :'Liability',
280
+ :'liability_release' => :'BOOLEAN',
281
+ :'membership_icon' => :'Integer',
282
+ :'mobile_provider' => :'Integer',
283
+ :'notes' => :'String',
284
+ :'state' => :'String',
285
+ :'unique_id' => :'Integer',
286
+ :'last_modified_date_time' => :'DateTime',
287
+ :'red_alert' => :'String',
288
+ :'yellow_alert' => :'String',
289
+ :'middle_name' => :'String',
290
+ :'prospect_stage' => :'ProspectStage',
291
+ :'email' => :'String',
292
+ :'mobile_phone' => :'String',
293
+ :'home_phone' => :'String',
294
+ :'work_phone' => :'String',
295
+ :'account_balance' => :'Float',
296
+ :'address_line1' => :'String',
297
+ :'address_line2' => :'String',
298
+ :'city' => :'String',
299
+ :'postal_code' => :'String',
300
+ :'work_extension' => :'String',
301
+ :'referred_by' => :'String',
302
+ :'photo_url' => :'String',
303
+ :'emergency_contact_info_name' => :'String',
304
+ :'emergency_contact_info_email' => :'String',
305
+ :'emergency_contact_info_phone' => :'String',
306
+ :'emergency_contact_info_relationship' => :'String',
307
+ :'gender' => :'String',
308
+ :'last_formula_notes' => :'String',
309
+ :'active' => :'BOOLEAN',
310
+ :'sales_reps' => :'Array<SalesRep>',
311
+ :'status' => :'String',
312
+ :'action' => :'String',
313
+ :'send_account_emails' => :'BOOLEAN',
314
+ :'send_account_texts' => :'BOOLEAN',
315
+ :'send_promotional_emails' => :'BOOLEAN',
316
+ :'send_promotional_texts' => :'BOOLEAN',
317
+ :'send_schedule_emails' => :'BOOLEAN',
318
+ :'send_schedule_texts' => :'BOOLEAN'
319
+ }
320
+ end
321
+
322
+ # Initializes the object
323
+ # @param [Hash] attributes Model attributes in the form of hash
324
+ def initialize(attributes = {})
325
+ return unless attributes.is_a?(Hash)
326
+
327
+ # convert string to symbol for hash key
328
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
329
+
330
+ if attributes.has_key?(:'AppointmentGenderPreference')
331
+ self.appointment_gender_preference = attributes[:'AppointmentGenderPreference']
332
+ end
333
+
334
+ if attributes.has_key?(:'BirthDate')
335
+ self.birth_date = attributes[:'BirthDate']
336
+ end
337
+
338
+ if attributes.has_key?(:'Country')
339
+ self.country = attributes[:'Country']
340
+ end
341
+
342
+ if attributes.has_key?(:'CreationDate')
343
+ self.creation_date = attributes[:'CreationDate']
344
+ end
345
+
346
+ if attributes.has_key?(:'CustomClientFields')
347
+ if (value = attributes[:'CustomClientFields']).is_a?(Array)
348
+ self.custom_client_fields = value
349
+ end
350
+ end
351
+
352
+ if attributes.has_key?(:'ClientCreditCard')
353
+ self.client_credit_card = attributes[:'ClientCreditCard']
354
+ end
355
+
356
+ if attributes.has_key?(:'ClientIndexes')
357
+ if (value = attributes[:'ClientIndexes']).is_a?(Array)
358
+ self.client_indexes = value
359
+ end
360
+ end
361
+
362
+ if attributes.has_key?(:'ClientRelationships')
363
+ if (value = attributes[:'ClientRelationships']).is_a?(Array)
364
+ self.client_relationships = value
365
+ end
366
+ end
367
+
368
+ if attributes.has_key?(:'FirstAppointmentDate')
369
+ self.first_appointment_date = attributes[:'FirstAppointmentDate']
370
+ end
371
+
372
+ if attributes.has_key?(:'FirstName')
373
+ self.first_name = attributes[:'FirstName']
374
+ end
375
+
376
+ if attributes.has_key?(:'Id')
377
+ self.id = attributes[:'Id']
378
+ end
379
+
380
+ if attributes.has_key?(:'IsCompany')
381
+ self.is_company = attributes[:'IsCompany']
382
+ end
383
+
384
+ if attributes.has_key?(:'IsProspect')
385
+ self.is_prospect = attributes[:'IsProspect']
386
+ end
387
+
388
+ if attributes.has_key?(:'LastName')
389
+ self.last_name = attributes[:'LastName']
390
+ end
391
+
392
+ if attributes.has_key?(:'Liability')
393
+ self.liability = attributes[:'Liability']
394
+ end
395
+
396
+ if attributes.has_key?(:'LiabilityRelease')
397
+ self.liability_release = attributes[:'LiabilityRelease']
398
+ end
399
+
400
+ if attributes.has_key?(:'MembershipIcon')
401
+ self.membership_icon = attributes[:'MembershipIcon']
402
+ end
403
+
404
+ if attributes.has_key?(:'MobileProvider')
405
+ self.mobile_provider = attributes[:'MobileProvider']
406
+ end
407
+
408
+ if attributes.has_key?(:'Notes')
409
+ self.notes = attributes[:'Notes']
410
+ end
411
+
412
+ if attributes.has_key?(:'State')
413
+ self.state = attributes[:'State']
414
+ end
415
+
416
+ if attributes.has_key?(:'UniqueId')
417
+ self.unique_id = attributes[:'UniqueId']
418
+ end
419
+
420
+ if attributes.has_key?(:'LastModifiedDateTime')
421
+ self.last_modified_date_time = attributes[:'LastModifiedDateTime']
422
+ end
423
+
424
+ if attributes.has_key?(:'RedAlert')
425
+ self.red_alert = attributes[:'RedAlert']
426
+ end
427
+
428
+ if attributes.has_key?(:'YellowAlert')
429
+ self.yellow_alert = attributes[:'YellowAlert']
430
+ end
431
+
432
+ if attributes.has_key?(:'MiddleName')
433
+ self.middle_name = attributes[:'MiddleName']
434
+ end
435
+
436
+ if attributes.has_key?(:'ProspectStage')
437
+ self.prospect_stage = attributes[:'ProspectStage']
438
+ end
439
+
440
+ if attributes.has_key?(:'Email')
441
+ self.email = attributes[:'Email']
442
+ end
443
+
444
+ if attributes.has_key?(:'MobilePhone')
445
+ self.mobile_phone = attributes[:'MobilePhone']
446
+ end
447
+
448
+ if attributes.has_key?(:'HomePhone')
449
+ self.home_phone = attributes[:'HomePhone']
450
+ end
451
+
452
+ if attributes.has_key?(:'WorkPhone')
453
+ self.work_phone = attributes[:'WorkPhone']
454
+ end
455
+
456
+ if attributes.has_key?(:'AccountBalance')
457
+ self.account_balance = attributes[:'AccountBalance']
458
+ end
459
+
460
+ if attributes.has_key?(:'AddressLine1')
461
+ self.address_line1 = attributes[:'AddressLine1']
462
+ end
463
+
464
+ if attributes.has_key?(:'AddressLine2')
465
+ self.address_line2 = attributes[:'AddressLine2']
466
+ end
467
+
468
+ if attributes.has_key?(:'City')
469
+ self.city = attributes[:'City']
470
+ end
471
+
472
+ if attributes.has_key?(:'PostalCode')
473
+ self.postal_code = attributes[:'PostalCode']
474
+ end
475
+
476
+ if attributes.has_key?(:'WorkExtension')
477
+ self.work_extension = attributes[:'WorkExtension']
478
+ end
479
+
480
+ if attributes.has_key?(:'ReferredBy')
481
+ self.referred_by = attributes[:'ReferredBy']
482
+ end
483
+
484
+ if attributes.has_key?(:'PhotoUrl')
485
+ self.photo_url = attributes[:'PhotoUrl']
486
+ end
487
+
488
+ if attributes.has_key?(:'EmergencyContactInfoName')
489
+ self.emergency_contact_info_name = attributes[:'EmergencyContactInfoName']
490
+ end
491
+
492
+ if attributes.has_key?(:'EmergencyContactInfoEmail')
493
+ self.emergency_contact_info_email = attributes[:'EmergencyContactInfoEmail']
494
+ end
495
+
496
+ if attributes.has_key?(:'EmergencyContactInfoPhone')
497
+ self.emergency_contact_info_phone = attributes[:'EmergencyContactInfoPhone']
498
+ end
499
+
500
+ if attributes.has_key?(:'EmergencyContactInfoRelationship')
501
+ self.emergency_contact_info_relationship = attributes[:'EmergencyContactInfoRelationship']
502
+ end
503
+
504
+ if attributes.has_key?(:'Gender')
505
+ self.gender = attributes[:'Gender']
506
+ end
507
+
508
+ if attributes.has_key?(:'LastFormulaNotes')
509
+ self.last_formula_notes = attributes[:'LastFormulaNotes']
510
+ end
511
+
512
+ if attributes.has_key?(:'Active')
513
+ self.active = attributes[:'Active']
514
+ end
515
+
516
+ if attributes.has_key?(:'SalesReps')
517
+ if (value = attributes[:'SalesReps']).is_a?(Array)
518
+ self.sales_reps = value
519
+ end
520
+ end
521
+
522
+ if attributes.has_key?(:'Status')
523
+ self.status = attributes[:'Status']
524
+ end
525
+
526
+ if attributes.has_key?(:'Action')
527
+ self.action = attributes[:'Action']
528
+ end
529
+
530
+ if attributes.has_key?(:'SendAccountEmails')
531
+ self.send_account_emails = attributes[:'SendAccountEmails']
532
+ end
533
+
534
+ if attributes.has_key?(:'SendAccountTexts')
535
+ self.send_account_texts = attributes[:'SendAccountTexts']
536
+ end
537
+
538
+ if attributes.has_key?(:'SendPromotionalEmails')
539
+ self.send_promotional_emails = attributes[:'SendPromotionalEmails']
540
+ end
541
+
542
+ if attributes.has_key?(:'SendPromotionalTexts')
543
+ self.send_promotional_texts = attributes[:'SendPromotionalTexts']
544
+ end
545
+
546
+ if attributes.has_key?(:'SendScheduleEmails')
547
+ self.send_schedule_emails = attributes[:'SendScheduleEmails']
548
+ end
549
+
550
+ if attributes.has_key?(:'SendScheduleTexts')
551
+ self.send_schedule_texts = attributes[:'SendScheduleTexts']
552
+ end
553
+ end
554
+
555
+ # Show invalid properties with the reasons. Usually used together with valid?
556
+ # @return Array for valid properties with the reasons
557
+ def list_invalid_properties
558
+ invalid_properties = Array.new
559
+ invalid_properties
560
+ end
561
+
562
+ # Check to see if the all the properties in the model are valid
563
+ # @return true if the model is valid
564
+ def valid?
565
+ appointment_gender_preference_validator = EnumAttributeValidator.new('String', ['None', 'Female', 'Male'])
566
+ return false unless appointment_gender_preference_validator.valid?(@appointment_gender_preference)
567
+ action_validator = EnumAttributeValidator.new('String', ['None', 'Added', 'Updated', 'Failed', 'Removed'])
568
+ return false unless action_validator.valid?(@action)
569
+ true
570
+ end
571
+
572
+ # Custom attribute writer method checking allowed values (enum).
573
+ # @param [Object] appointment_gender_preference Object to be assigned
574
+ def appointment_gender_preference=(appointment_gender_preference)
575
+ validator = EnumAttributeValidator.new('String', ['None', 'Female', 'Male'])
576
+ unless validator.valid?(appointment_gender_preference)
577
+ fail ArgumentError, 'invalid value for "appointment_gender_preference", must be one of #{validator.allowable_values}.'
578
+ end
579
+ @appointment_gender_preference = appointment_gender_preference
580
+ end
581
+
582
+ # Custom attribute writer method checking allowed values (enum).
583
+ # @param [Object] action Object to be assigned
584
+ def action=(action)
585
+ validator = EnumAttributeValidator.new('String', ['None', 'Added', 'Updated', 'Failed', 'Removed'])
586
+ unless validator.valid?(action)
587
+ fail ArgumentError, 'invalid value for "action", must be one of #{validator.allowable_values}.'
588
+ end
589
+ @action = action
590
+ end
591
+
592
+ # Checks equality by comparing each attribute.
593
+ # @param [Object] Object to be compared
594
+ def ==(o)
595
+ return true if self.equal?(o)
596
+ self.class == o.class &&
597
+ appointment_gender_preference == o.appointment_gender_preference &&
598
+ birth_date == o.birth_date &&
599
+ country == o.country &&
600
+ creation_date == o.creation_date &&
601
+ custom_client_fields == o.custom_client_fields &&
602
+ client_credit_card == o.client_credit_card &&
603
+ client_indexes == o.client_indexes &&
604
+ client_relationships == o.client_relationships &&
605
+ first_appointment_date == o.first_appointment_date &&
606
+ first_name == o.first_name &&
607
+ id == o.id &&
608
+ is_company == o.is_company &&
609
+ is_prospect == o.is_prospect &&
610
+ last_name == o.last_name &&
611
+ liability == o.liability &&
612
+ liability_release == o.liability_release &&
613
+ membership_icon == o.membership_icon &&
614
+ mobile_provider == o.mobile_provider &&
615
+ notes == o.notes &&
616
+ state == o.state &&
617
+ unique_id == o.unique_id &&
618
+ last_modified_date_time == o.last_modified_date_time &&
619
+ red_alert == o.red_alert &&
620
+ yellow_alert == o.yellow_alert &&
621
+ middle_name == o.middle_name &&
622
+ prospect_stage == o.prospect_stage &&
623
+ email == o.email &&
624
+ mobile_phone == o.mobile_phone &&
625
+ home_phone == o.home_phone &&
626
+ work_phone == o.work_phone &&
627
+ account_balance == o.account_balance &&
628
+ address_line1 == o.address_line1 &&
629
+ address_line2 == o.address_line2 &&
630
+ city == o.city &&
631
+ postal_code == o.postal_code &&
632
+ work_extension == o.work_extension &&
633
+ referred_by == o.referred_by &&
634
+ photo_url == o.photo_url &&
635
+ emergency_contact_info_name == o.emergency_contact_info_name &&
636
+ emergency_contact_info_email == o.emergency_contact_info_email &&
637
+ emergency_contact_info_phone == o.emergency_contact_info_phone &&
638
+ emergency_contact_info_relationship == o.emergency_contact_info_relationship &&
639
+ gender == o.gender &&
640
+ last_formula_notes == o.last_formula_notes &&
641
+ active == o.active &&
642
+ sales_reps == o.sales_reps &&
643
+ status == o.status &&
644
+ action == o.action &&
645
+ send_account_emails == o.send_account_emails &&
646
+ send_account_texts == o.send_account_texts &&
647
+ send_promotional_emails == o.send_promotional_emails &&
648
+ send_promotional_texts == o.send_promotional_texts &&
649
+ send_schedule_emails == o.send_schedule_emails &&
650
+ send_schedule_texts == o.send_schedule_texts
651
+ end
652
+
653
+ # @see the `==` method
654
+ # @param [Object] Object to be compared
655
+ def eql?(o)
656
+ self == o
657
+ end
658
+
659
+ # Calculates hash code according to all attributes.
660
+ # @return [Fixnum] Hash code
661
+ def hash
662
+ [appointment_gender_preference, birth_date, country, creation_date, custom_client_fields, client_credit_card, client_indexes, client_relationships, first_appointment_date, first_name, id, is_company, is_prospect, last_name, liability, liability_release, membership_icon, mobile_provider, notes, state, unique_id, last_modified_date_time, red_alert, yellow_alert, middle_name, prospect_stage, email, mobile_phone, home_phone, work_phone, account_balance, address_line1, address_line2, city, postal_code, work_extension, referred_by, photo_url, emergency_contact_info_name, emergency_contact_info_email, emergency_contact_info_phone, emergency_contact_info_relationship, gender, last_formula_notes, active, sales_reps, status, action, send_account_emails, send_account_texts, send_promotional_emails, send_promotional_texts, send_schedule_emails, send_schedule_texts].hash
663
+ end
664
+
665
+ # Builds the object from hash
666
+ # @param [Hash] attributes Model attributes in the form of hash
667
+ # @return [Object] Returns the model itself
668
+ def build_from_hash(attributes)
669
+ return nil unless attributes.is_a?(Hash)
670
+ self.class.swagger_types.each_pair do |key, type|
671
+ if type =~ /\AArray<(.*)>/i
672
+ # check to ensure the input is an array given that the the attribute
673
+ # is documented as an array but the input is not
674
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
675
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
676
+ end
677
+ elsif !attributes[self.class.attribute_map[key]].nil?
678
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
679
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
680
+ end
681
+
682
+ self
683
+ end
684
+
685
+ # Deserializes the data based on type
686
+ # @param string type Data type
687
+ # @param string value Value to be deserialized
688
+ # @return [Object] Deserialized data
689
+ def _deserialize(type, value)
690
+ case type.to_sym
691
+ when :DateTime
692
+ DateTime.parse(value)
693
+ when :Date
694
+ Date.parse(value)
695
+ when :String
696
+ value.to_s
697
+ when :Integer
698
+ value.to_i
699
+ when :Float
700
+ value.to_f
701
+ when :BOOLEAN
702
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
703
+ true
704
+ else
705
+ false
706
+ end
707
+ when :Object
708
+ # generic object (usually a Hash), return directly
709
+ value
710
+ when /\AArray<(?<inner_type>.+)>\z/
711
+ inner_type = Regexp.last_match[:inner_type]
712
+ value.map { |v| _deserialize(inner_type, v) }
713
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
714
+ k_type = Regexp.last_match[:k_type]
715
+ v_type = Regexp.last_match[:v_type]
716
+ {}.tap do |hash|
717
+ value.each do |k, v|
718
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
719
+ end
720
+ end
721
+ else # model
722
+ temp_model = SwaggerClient.const_get(type).new
723
+ temp_model.build_from_hash(value)
724
+ end
725
+ end
726
+
727
+ # Returns the string representation of the object
728
+ # @return [String] String presentation of the object
729
+ def to_s
730
+ to_hash.to_s
731
+ end
732
+
733
+ # to_body is an alias to to_hash (backward compatibility)
734
+ # @return [Hash] Returns the object in the form of hash
735
+ def to_body
736
+ to_hash
737
+ end
738
+
739
+ # Returns the object in the form of hash
740
+ # @return [Hash] Returns the object in the form of hash
741
+ def to_hash
742
+ hash = {}
743
+ self.class.attribute_map.each_pair do |attr, param|
744
+ value = self.send(attr)
745
+ next if value.nil?
746
+ hash[param] = _to_hash(value)
747
+ end
748
+ hash
749
+ end
750
+
751
+ # Outputs non-array value in the form of hash
752
+ # For object, use to_hash. Otherwise, just return the value
753
+ # @param [Object] value Any valid value
754
+ # @return [Hash] Returns the value in the form of hash
755
+ def _to_hash(value)
756
+ if value.is_a?(Array)
757
+ value.compact.map { |v| _to_hash(v) }
758
+ elsif value.is_a?(Hash)
759
+ {}.tap do |hash|
760
+ value.each { |k, v| hash[k] = _to_hash(v) }
761
+ end
762
+ elsif value.respond_to? :to_hash
763
+ value.to_hash
764
+ else
765
+ value
766
+ end
767
+ end
768
+ end
769
+ end