mb-apimatic-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +139 -0
  4. data/bin/console +15 -0
  5. data/lib/mindbody_public_api/api_helper.rb +10 -0
  6. data/lib/mindbody_public_api/client.rb +138 -0
  7. data/lib/mindbody_public_api/configuration.rb +181 -0
  8. data/lib/mindbody_public_api/controllers/appointment_controller.rb +746 -0
  9. data/lib/mindbody_public_api/controllers/base_controller.rb +60 -0
  10. data/lib/mindbody_public_api/controllers/class_controller.rb +826 -0
  11. data/lib/mindbody_public_api/controllers/client_controller.rb +2106 -0
  12. data/lib/mindbody_public_api/controllers/cross_site_controller.rb +43 -0
  13. data/lib/mindbody_public_api/controllers/enrollment_controller.rb +188 -0
  14. data/lib/mindbody_public_api/controllers/payroll_controller.rb +290 -0
  15. data/lib/mindbody_public_api/controllers/pick_a_spot_controller.rb +213 -0
  16. data/lib/mindbody_public_api/controllers/pricing_option_controller.rb +41 -0
  17. data/lib/mindbody_public_api/controllers/sale_controller.rb +1226 -0
  18. data/lib/mindbody_public_api/controllers/site_controller.rb +815 -0
  19. data/lib/mindbody_public_api/controllers/staff_controller.rb +408 -0
  20. data/lib/mindbody_public_api/controllers/user_token_controller.rb +92 -0
  21. data/lib/mindbody_public_api/exceptions/api_exception.rb +21 -0
  22. data/lib/mindbody_public_api/http/auth/custom_header_authentication.rb +52 -0
  23. data/lib/mindbody_public_api/http/http_call_back.rb +10 -0
  24. data/lib/mindbody_public_api/http/http_method_enum.rb +10 -0
  25. data/lib/mindbody_public_api/http/http_request.rb +10 -0
  26. data/lib/mindbody_public_api/http/http_response.rb +10 -0
  27. data/lib/mindbody_public_api/http/proxy_settings.rb +22 -0
  28. data/lib/mindbody_public_api/models/action10_enum.rb +48 -0
  29. data/lib/mindbody_public_api/models/action1_enum.rb +48 -0
  30. data/lib/mindbody_public_api/models/action8_enum.rb +48 -0
  31. data/lib/mindbody_public_api/models/action_enum.rb +48 -0
  32. data/lib/mindbody_public_api/models/add_appointment_add_on_request.rb +108 -0
  33. data/lib/mindbody_public_api/models/add_appointment_add_on_response.rb +74 -0
  34. data/lib/mindbody_public_api/models/add_appointment_outcome.rb +83 -0
  35. data/lib/mindbody_public_api/models/add_appointment_request.rb +319 -0
  36. data/lib/mindbody_public_api/models/add_appointment_response.rb +62 -0
  37. data/lib/mindbody_public_api/models/add_arrival_request.rb +113 -0
  38. data/lib/mindbody_public_api/models/add_arrival_response.rb +72 -0
  39. data/lib/mindbody_public_api/models/add_availabilities_request.rb +187 -0
  40. data/lib/mindbody_public_api/models/add_availabilities_response.rb +89 -0
  41. data/lib/mindbody_public_api/models/add_class_enrollment_schedule_request.rb +351 -0
  42. data/lib/mindbody_public_api/models/add_client_direct_debit_info_request.rb +119 -0
  43. data/lib/mindbody_public_api/models/add_client_direct_debit_info_response.rb +108 -0
  44. data/lib/mindbody_public_api/models/add_client_request.rb +854 -0
  45. data/lib/mindbody_public_api/models/add_client_response.rb +62 -0
  46. data/lib/mindbody_public_api/models/add_client_to_class_request.rb +199 -0
  47. data/lib/mindbody_public_api/models/add_client_to_class_response.rb +62 -0
  48. data/lib/mindbody_public_api/models/add_client_to_class_visit.rb +353 -0
  49. data/lib/mindbody_public_api/models/add_client_to_enrollment_request.rb +165 -0
  50. data/lib/mindbody_public_api/models/add_contact_log_request.rb +175 -0
  51. data/lib/mindbody_public_api/models/add_contact_log_type.rb +71 -0
  52. data/lib/mindbody_public_api/models/add_formula_note_request.rb +80 -0
  53. data/lib/mindbody_public_api/models/add_multiple_appointments_request.rb +71 -0
  54. data/lib/mindbody_public_api/models/add_multiple_appointments_response.rb +71 -0
  55. data/lib/mindbody_public_api/models/add_on_small.rb +90 -0
  56. data/lib/mindbody_public_api/models/add_on_small1.rb +90 -0
  57. data/lib/mindbody_public_api/models/add_promo_code_request.rb +201 -0
  58. data/lib/mindbody_public_api/models/add_promo_code_response.rb +62 -0
  59. data/lib/mindbody_public_api/models/add_site_client_index_request.rb +163 -0
  60. data/lib/mindbody_public_api/models/add_site_client_index_response.rb +175 -0
  61. data/lib/mindbody_public_api/models/add_staff_availability_request.rb +170 -0
  62. data/lib/mindbody_public_api/models/add_staff_request.rb +357 -0
  63. data/lib/mindbody_public_api/models/add_staff_response.rb +62 -0
  64. data/lib/mindbody_public_api/models/allowed_permission_enum.rb +764 -0
  65. data/lib/mindbody_public_api/models/alternative_payment_method.rb +71 -0
  66. data/lib/mindbody_public_api/models/amenity.rb +71 -0
  67. data/lib/mindbody_public_api/models/amenity1.rb +71 -0
  68. data/lib/mindbody_public_api/models/api_error.rb +71 -0
  69. data/lib/mindbody_public_api/models/api_error1.rb +76 -0
  70. data/lib/mindbody_public_api/models/applicable_item.rb +86 -0
  71. data/lib/mindbody_public_api/models/appointment.rb +351 -0
  72. data/lib/mindbody_public_api/models/appointment1.rb +322 -0
  73. data/lib/mindbody_public_api/models/appointment_add_on.rb +103 -0
  74. data/lib/mindbody_public_api/models/appointment_gender_preference1_enum.rb +41 -0
  75. data/lib/mindbody_public_api/models/appointment_gender_preference_enum.rb +44 -0
  76. data/lib/mindbody_public_api/models/appointment_option.rb +91 -0
  77. data/lib/mindbody_public_api/models/appointment_staff.rb +92 -0
  78. data/lib/mindbody_public_api/models/appointment_status_enum.rb +64 -0
  79. data/lib/mindbody_public_api/models/assign_staff_session_type_request.rb +146 -0
  80. data/lib/mindbody_public_api/models/assign_staff_session_type_response.rb +138 -0
  81. data/lib/mindbody_public_api/models/assigned_client_index.rb +71 -0
  82. data/lib/mindbody_public_api/models/autopay_schedule.rb +93 -0
  83. data/lib/mindbody_public_api/models/autopay_status_enum.rb +40 -0
  84. data/lib/mindbody_public_api/models/availability.rb +233 -0
  85. data/lib/mindbody_public_api/models/availability1.rb +228 -0
  86. data/lib/mindbody_public_api/models/base_model.rb +110 -0
  87. data/lib/mindbody_public_api/models/booking_status_enum.rb +40 -0
  88. data/lib/mindbody_public_api/models/booking_window.rb +130 -0
  89. data/lib/mindbody_public_api/models/cancel_single_class_request.rb +98 -0
  90. data/lib/mindbody_public_api/models/cancel_single_class_response.rb +63 -0
  91. data/lib/mindbody_public_api/models/cart_item.rb +147 -0
  92. data/lib/mindbody_public_api/models/category.rb +192 -0
  93. data/lib/mindbody_public_api/models/checkout_alternative_payment_info.rb +72 -0
  94. data/lib/mindbody_public_api/models/checkout_appointment_booking_request.rb +155 -0
  95. data/lib/mindbody_public_api/models/checkout_item.rb +77 -0
  96. data/lib/mindbody_public_api/models/checkout_item_wrapper.rb +183 -0
  97. data/lib/mindbody_public_api/models/checkout_payment_info.rb +101 -0
  98. data/lib/mindbody_public_api/models/checkout_shopping_cart_request.rb +339 -0
  99. data/lib/mindbody_public_api/models/checkout_shopping_cart_response.rb +119 -0
  100. data/lib/mindbody_public_api/models/class_client_detail.rb +68 -0
  101. data/lib/mindbody_public_api/models/class_description.rb +215 -0
  102. data/lib/mindbody_public_api/models/class_schedule.rb +365 -0
  103. data/lib/mindbody_public_api/models/client.rb +832 -0
  104. data/lib/mindbody_public_api/models/client_arrival.rb +95 -0
  105. data/lib/mindbody_public_api/models/client_contract.rb +353 -0
  106. data/lib/mindbody_public_api/models/client_credit_card.rb +153 -0
  107. data/lib/mindbody_public_api/models/client_document.rb +96 -0
  108. data/lib/mindbody_public_api/models/client_duplicate.rb +109 -0
  109. data/lib/mindbody_public_api/models/client_index.rb +127 -0
  110. data/lib/mindbody_public_api/models/client_index_value.rb +82 -0
  111. data/lib/mindbody_public_api/models/client_membership.rb +272 -0
  112. data/lib/mindbody_public_api/models/client_memberships.rb +91 -0
  113. data/lib/mindbody_public_api/models/client_purchase_record.rb +142 -0
  114. data/lib/mindbody_public_api/models/client_relationship.rb +109 -0
  115. data/lib/mindbody_public_api/models/client_reward_transaction.rb +132 -0
  116. data/lib/mindbody_public_api/models/client_service.rb +228 -0
  117. data/lib/mindbody_public_api/models/client_suspension_info.rb +86 -0
  118. data/lib/mindbody_public_api/models/client_with_suspension_info.rb +844 -0
  119. data/lib/mindbody_public_api/models/color.rb +71 -0
  120. data/lib/mindbody_public_api/models/commission_detail.rb +83 -0
  121. data/lib/mindbody_public_api/models/commission_payroll_purchase_event.rb +143 -0
  122. data/lib/mindbody_public_api/models/complete_checkout_shopping_cart_using_alternative_payments_request.rb +86 -0
  123. data/lib/mindbody_public_api/models/contact_log.rb +198 -0
  124. data/lib/mindbody_public_api/models/contact_log_comment.rb +101 -0
  125. data/lib/mindbody_public_api/models/contact_log_sub_type.rb +71 -0
  126. data/lib/mindbody_public_api/models/contact_log_type.rb +91 -0
  127. data/lib/mindbody_public_api/models/content_format_enum.rb +40 -0
  128. data/lib/mindbody_public_api/models/contract.rb +636 -0
  129. data/lib/mindbody_public_api/models/contract_item.rb +121 -0
  130. data/lib/mindbody_public_api/models/copy_credit_card_request.rb +120 -0
  131. data/lib/mindbody_public_api/models/copy_credit_card_response.rb +72 -0
  132. data/lib/mindbody_public_api/models/copy_credit_card_response_client.rb +102 -0
  133. data/lib/mindbody_public_api/models/course.rb +167 -0
  134. data/lib/mindbody_public_api/models/create_reservation_response.rb +73 -0
  135. data/lib/mindbody_public_api/models/credit_card_info.rb +168 -0
  136. data/lib/mindbody_public_api/models/cross_regional_client_association.rb +92 -0
  137. data/lib/mindbody_public_api/models/custom_client_field.rb +81 -0
  138. data/lib/mindbody_public_api/models/custom_client_field_value.rb +90 -0
  139. data/lib/mindbody_public_api/models/custom_payment_method.rb +71 -0
  140. data/lib/mindbody_public_api/models/days_of_week_enum.rb +56 -0
  141. data/lib/mindbody_public_api/models/days_valid_enum.rb +56 -0
  142. data/lib/mindbody_public_api/models/deactivate_promo_code_request.rb +60 -0
  143. data/lib/mindbody_public_api/models/delete_availability_request.rb +75 -0
  144. data/lib/mindbody_public_api/models/delete_client_formula_note_request.rb +90 -0
  145. data/lib/mindbody_public_api/models/delete_contact_log_request.rb +82 -0
  146. data/lib/mindbody_public_api/models/denied_permission_enum.rb +764 -0
  147. data/lib/mindbody_public_api/models/direct_debit_info.rb +97 -0
  148. data/lib/mindbody_public_api/models/discount.rb +71 -0
  149. data/lib/mindbody_public_api/models/formula_note_response.rb +172 -0
  150. data/lib/mindbody_public_api/models/frequency_type_enum.rb +40 -0
  151. data/lib/mindbody_public_api/models/gender_option.rb +93 -0
  152. data/lib/mindbody_public_api/models/gender_preference_enum.rb +41 -0
  153. data/lib/mindbody_public_api/models/get_activation_code_response.rb +76 -0
  154. data/lib/mindbody_public_api/models/get_active_client_memberships_request.rb +163 -0
  155. data/lib/mindbody_public_api/models/get_active_client_memberships_response.rb +83 -0
  156. data/lib/mindbody_public_api/models/get_active_clients_memberships_request.rb +151 -0
  157. data/lib/mindbody_public_api/models/get_active_clients_memberships_response.rb +83 -0
  158. data/lib/mindbody_public_api/models/get_active_session_times_request.rb +136 -0
  159. data/lib/mindbody_public_api/models/get_active_session_times_response.rb +81 -0
  160. data/lib/mindbody_public_api/models/get_add_ons_request.rb +81 -0
  161. data/lib/mindbody_public_api/models/get_add_ons_response.rb +82 -0
  162. data/lib/mindbody_public_api/models/get_alternative_payment_methods_request.rb +72 -0
  163. data/lib/mindbody_public_api/models/get_alternative_payment_methods_response.rb +71 -0
  164. data/lib/mindbody_public_api/models/get_appointment_options_response.rb +71 -0
  165. data/lib/mindbody_public_api/models/get_available_dates_request.rb +121 -0
  166. data/lib/mindbody_public_api/models/get_available_dates_response.rb +77 -0
  167. data/lib/mindbody_public_api/models/get_bookable_items_request.rb +190 -0
  168. data/lib/mindbody_public_api/models/get_bookable_items_response.rb +83 -0
  169. data/lib/mindbody_public_api/models/get_categories_request.rb +118 -0
  170. data/lib/mindbody_public_api/models/get_categories_response.rb +83 -0
  171. data/lib/mindbody_public_api/models/get_class_descriptions_request.rb +168 -0
  172. data/lib/mindbody_public_api/models/get_class_descriptions_response.rb +83 -0
  173. data/lib/mindbody_public_api/models/get_class_schedules_request.rb +172 -0
  174. data/lib/mindbody_public_api/models/get_class_schedules_response.rb +83 -0
  175. data/lib/mindbody_public_api/models/get_class_visits_request.rb +100 -0
  176. data/lib/mindbody_public_api/models/get_class_visits_response.rb +63 -0
  177. data/lib/mindbody_public_api/models/get_classes_request.rb +281 -0
  178. data/lib/mindbody_public_api/models/get_classes_response.rb +82 -0
  179. data/lib/mindbody_public_api/models/get_client_account_balances_request.rb +110 -0
  180. data/lib/mindbody_public_api/models/get_client_account_balances_response.rb +82 -0
  181. data/lib/mindbody_public_api/models/get_client_complete_info_request.rb +239 -0
  182. data/lib/mindbody_public_api/models/get_client_complete_info_response.rb +140 -0
  183. data/lib/mindbody_public_api/models/get_client_contracts_request.rb +127 -0
  184. data/lib/mindbody_public_api/models/get_client_contracts_response.rb +82 -0
  185. data/lib/mindbody_public_api/models/get_client_duplicates_request.rb +101 -0
  186. data/lib/mindbody_public_api/models/get_client_duplicates_response.rb +83 -0
  187. data/lib/mindbody_public_api/models/get_client_formula_notes_request.rb +93 -0
  188. data/lib/mindbody_public_api/models/get_client_formula_notes_response.rb +85 -0
  189. data/lib/mindbody_public_api/models/get_client_indexes_request.rb +64 -0
  190. data/lib/mindbody_public_api/models/get_client_indexes_response.rb +71 -0
  191. data/lib/mindbody_public_api/models/get_client_purchases_request.rb +141 -0
  192. data/lib/mindbody_public_api/models/get_client_purchases_response.rb +82 -0
  193. data/lib/mindbody_public_api/models/get_client_referral_types_request.rb +66 -0
  194. data/lib/mindbody_public_api/models/get_client_referral_types_response.rb +62 -0
  195. data/lib/mindbody_public_api/models/get_client_rewards_request.rb +119 -0
  196. data/lib/mindbody_public_api/models/get_client_rewards_response.rb +94 -0
  197. data/lib/mindbody_public_api/models/get_client_schedule_request.rb +180 -0
  198. data/lib/mindbody_public_api/models/get_client_schedule_response.rb +82 -0
  199. data/lib/mindbody_public_api/models/get_client_services_request.rb +356 -0
  200. data/lib/mindbody_public_api/models/get_client_services_response.rb +83 -0
  201. data/lib/mindbody_public_api/models/get_client_visits_request.rb +180 -0
  202. data/lib/mindbody_public_api/models/get_client_visits_response.rb +82 -0
  203. data/lib/mindbody_public_api/models/get_clients_request.rb +157 -0
  204. data/lib/mindbody_public_api/models/get_clients_response.rb +82 -0
  205. data/lib/mindbody_public_api/models/get_commissions_request.rb +144 -0
  206. data/lib/mindbody_public_api/models/get_commissions_response.rb +84 -0
  207. data/lib/mindbody_public_api/models/get_contact_log_types_request.rb +84 -0
  208. data/lib/mindbody_public_api/models/get_contact_log_types_response.rb +83 -0
  209. data/lib/mindbody_public_api/models/get_contact_logs_request.rb +167 -0
  210. data/lib/mindbody_public_api/models/get_contact_logs_response.rb +83 -0
  211. data/lib/mindbody_public_api/models/get_contracts_request.rb +128 -0
  212. data/lib/mindbody_public_api/models/get_contracts_response.rb +82 -0
  213. data/lib/mindbody_public_api/models/get_courses_reponse.rb +82 -0
  214. data/lib/mindbody_public_api/models/get_courses_request.rb +161 -0
  215. data/lib/mindbody_public_api/models/get_cross_regional_client_associations_request.rb +152 -0
  216. data/lib/mindbody_public_api/models/get_cross_regional_client_associations_response.rb +88 -0
  217. data/lib/mindbody_public_api/models/get_custom_client_fields_request.rb +71 -0
  218. data/lib/mindbody_public_api/models/get_custom_client_fields_response.rb +83 -0
  219. data/lib/mindbody_public_api/models/get_custom_payment_methods_request.rb +71 -0
  220. data/lib/mindbody_public_api/models/get_custom_payment_methods_response.rb +83 -0
  221. data/lib/mindbody_public_api/models/get_enrollments_request.rb +172 -0
  222. data/lib/mindbody_public_api/models/get_enrollments_response.rb +83 -0
  223. data/lib/mindbody_public_api/models/get_genders_response.rb +71 -0
  224. data/lib/mindbody_public_api/models/get_gift_card_balance_response.rb +73 -0
  225. data/lib/mindbody_public_api/models/get_gift_card_response.rb +82 -0
  226. data/lib/mindbody_public_api/models/get_gift_cards_request.rb +119 -0
  227. data/lib/mindbody_public_api/models/get_liability_waiver_response.rb +63 -0
  228. data/lib/mindbody_public_api/models/get_locations_request.rb +71 -0
  229. data/lib/mindbody_public_api/models/get_locations_response.rb +82 -0
  230. data/lib/mindbody_public_api/models/get_memberships_request.rb +63 -0
  231. data/lib/mindbody_public_api/models/get_memberships_response.rb +71 -0
  232. data/lib/mindbody_public_api/models/get_mobile_providers_request.rb +65 -0
  233. data/lib/mindbody_public_api/models/get_mobile_providers_response.rb +71 -0
  234. data/lib/mindbody_public_api/models/get_packages_request.rb +106 -0
  235. data/lib/mindbody_public_api/models/get_packages_response.rb +82 -0
  236. data/lib/mindbody_public_api/models/get_payment_types_request.rb +64 -0
  237. data/lib/mindbody_public_api/models/get_payment_types_response.rb +71 -0
  238. data/lib/mindbody_public_api/models/get_pick_a_spot_class_response.rb +92 -0
  239. data/lib/mindbody_public_api/models/get_products_inventory_request.rb +105 -0
  240. data/lib/mindbody_public_api/models/get_products_inventory_response.rb +83 -0
  241. data/lib/mindbody_public_api/models/get_products_request.rb +153 -0
  242. data/lib/mindbody_public_api/models/get_products_response.rb +82 -0
  243. data/lib/mindbody_public_api/models/get_programs_request.rb +112 -0
  244. data/lib/mindbody_public_api/models/get_programs_response.rb +82 -0
  245. data/lib/mindbody_public_api/models/get_promo_codes_request.rb +152 -0
  246. data/lib/mindbody_public_api/models/get_promo_codes_response.rb +83 -0
  247. data/lib/mindbody_public_api/models/get_prospect_stages_request.rb +65 -0
  248. data/lib/mindbody_public_api/models/get_prospect_stages_response.rb +71 -0
  249. data/lib/mindbody_public_api/models/get_relationships_request.rb +83 -0
  250. data/lib/mindbody_public_api/models/get_relationships_response.rb +83 -0
  251. data/lib/mindbody_public_api/models/get_required_client_fields_response.rb +64 -0
  252. data/lib/mindbody_public_api/models/get_reservation_response.rb +93 -0
  253. data/lib/mindbody_public_api/models/get_resource_availabilities_request.rb +149 -0
  254. data/lib/mindbody_public_api/models/get_resources_request.rb +124 -0
  255. data/lib/mindbody_public_api/models/get_resources_response.rb +71 -0
  256. data/lib/mindbody_public_api/models/get_sales_reps_request.rb +95 -0
  257. data/lib/mindbody_public_api/models/get_sales_reps_response.rb +82 -0
  258. data/lib/mindbody_public_api/models/get_sales_request.rb +134 -0
  259. data/lib/mindbody_public_api/models/get_sales_response.rb +83 -0
  260. data/lib/mindbody_public_api/models/get_schedule_items_request.rb +145 -0
  261. data/lib/mindbody_public_api/models/get_schedule_items_response.rb +83 -0
  262. data/lib/mindbody_public_api/models/get_scheduled_service_earnings_request.rb +172 -0
  263. data/lib/mindbody_public_api/models/get_scheduled_service_earnings_response.rb +87 -0
  264. data/lib/mindbody_public_api/models/get_semesters_request.rb +132 -0
  265. data/lib/mindbody_public_api/models/get_semesters_response.rb +83 -0
  266. data/lib/mindbody_public_api/models/get_services_request.rb +221 -0
  267. data/lib/mindbody_public_api/models/get_services_response.rb +82 -0
  268. data/lib/mindbody_public_api/models/get_session_types_request.rb +95 -0
  269. data/lib/mindbody_public_api/models/get_session_types_response.rb +83 -0
  270. data/lib/mindbody_public_api/models/get_sites_request.rb +111 -0
  271. data/lib/mindbody_public_api/models/get_sites_response.rb +82 -0
  272. data/lib/mindbody_public_api/models/get_staff_appointments_request.rb +173 -0
  273. data/lib/mindbody_public_api/models/get_staff_appointments_response.rb +83 -0
  274. data/lib/mindbody_public_api/models/get_staff_image_url_request.rb +62 -0
  275. data/lib/mindbody_public_api/models/get_staff_image_url_response.rb +73 -0
  276. data/lib/mindbody_public_api/models/get_staff_permissions_request.rb +60 -0
  277. data/lib/mindbody_public_api/models/get_staff_permissions_response.rb +62 -0
  278. data/lib/mindbody_public_api/models/get_staff_request.rb +144 -0
  279. data/lib/mindbody_public_api/models/get_staff_response.rb +84 -0
  280. data/lib/mindbody_public_api/models/get_staff_session_types_request.rb +104 -0
  281. data/lib/mindbody_public_api/models/get_staff_session_types_response.rb +83 -0
  282. data/lib/mindbody_public_api/models/get_time_cards_request.rb +144 -0
  283. data/lib/mindbody_public_api/models/get_time_cards_response.rb +82 -0
  284. data/lib/mindbody_public_api/models/get_tips_request.rb +144 -0
  285. data/lib/mindbody_public_api/models/get_tips_response.rb +83 -0
  286. data/lib/mindbody_public_api/models/get_transactions_request.rb +173 -0
  287. data/lib/mindbody_public_api/models/get_transactions_response.rb +84 -0
  288. data/lib/mindbody_public_api/models/get_unavailabilities_request.rb +120 -0
  289. data/lib/mindbody_public_api/models/get_unavailabilities_response.rb +83 -0
  290. data/lib/mindbody_public_api/models/get_waitlist_entries_request.rb +144 -0
  291. data/lib/mindbody_public_api/models/get_waitlist_entries_response.rb +83 -0
  292. data/lib/mindbody_public_api/models/gift_card.rb +191 -0
  293. data/lib/mindbody_public_api/models/gift_card_layout.rb +82 -0
  294. data/lib/mindbody_public_api/models/http_content.rb +71 -0
  295. data/lib/mindbody_public_api/models/initiate_checkout_shopping_cart_using_alternative_payments_request.rb +265 -0
  296. data/lib/mindbody_public_api/models/initiate_purchase_contract_request.rb +184 -0
  297. data/lib/mindbody_public_api/models/issue_request.rb +71 -0
  298. data/lib/mindbody_public_api/models/issue_response.rb +101 -0
  299. data/lib/mindbody_public_api/models/lead_channel.rb +104 -0
  300. data/lib/mindbody_public_api/models/level.rb +81 -0
  301. data/lib/mindbody_public_api/models/liability.rb +102 -0
  302. data/lib/mindbody_public_api/models/location.rb +331 -0
  303. data/lib/mindbody_public_api/models/location1.rb +639 -0
  304. data/lib/mindbody_public_api/models/m0_culture_neutral_public_key_token_b77a5c561934e089.rb +71 -0
  305. data/lib/mindbody_public_api/models/mclass.rb +430 -0
  306. data/lib/mindbody_public_api/models/membership.rb +255 -0
  307. data/lib/mindbody_public_api/models/membership_type_restriction.rb +71 -0
  308. data/lib/mindbody_public_api/models/merge_clients_request.rb +75 -0
  309. data/lib/mindbody_public_api/models/minimum_commitment_unit_enum.rb +40 -0
  310. data/lib/mindbody_public_api/models/mobile_provider.rb +93 -0
  311. data/lib/mindbody_public_api/models/package.rb +131 -0
  312. data/lib/mindbody_public_api/models/pagination.rb +95 -0
  313. data/lib/mindbody_public_api/models/pagination_response.rb +95 -0
  314. data/lib/mindbody_public_api/models/payment_method_enum.rb +44 -0
  315. data/lib/mindbody_public_api/models/payment_processing_failure.rb +88 -0
  316. data/lib/mindbody_public_api/models/payment_type.rb +93 -0
  317. data/lib/mindbody_public_api/models/pick_a_spot_class.rb +193 -0
  318. data/lib/mindbody_public_api/models/pricing_relationships.rb +71 -0
  319. data/lib/mindbody_public_api/models/product.rb +267 -0
  320. data/lib/mindbody_public_api/models/products_inventory.rb +173 -0
  321. data/lib/mindbody_public_api/models/program.rb +129 -0
  322. data/lib/mindbody_public_api/models/program1.rb +150 -0
  323. data/lib/mindbody_public_api/models/program_membership.rb +71 -0
  324. data/lib/mindbody_public_api/models/promo_code.rb +233 -0
  325. data/lib/mindbody_public_api/models/prospect_stage.rb +84 -0
  326. data/lib/mindbody_public_api/models/public_display1_enum.rb +42 -0
  327. data/lib/mindbody_public_api/models/public_display_enum.rb +41 -0
  328. data/lib/mindbody_public_api/models/purchase_account_credit_request.rb +154 -0
  329. data/lib/mindbody_public_api/models/purchase_account_credit_response.rb +118 -0
  330. data/lib/mindbody_public_api/models/purchase_contract_request.rb +324 -0
  331. data/lib/mindbody_public_api/models/purchase_contract_response.rb +141 -0
  332. data/lib/mindbody_public_api/models/purchase_contract_response_totals.rb +92 -0
  333. data/lib/mindbody_public_api/models/purchase_gift_card_request.rb +273 -0
  334. data/lib/mindbody_public_api/models/purchase_gift_card_response.rb +183 -0
  335. data/lib/mindbody_public_api/models/purchased_item.rb +337 -0
  336. data/lib/mindbody_public_api/models/relationship.rb +85 -0
  337. data/lib/mindbody_public_api/models/remove_client_from_class_request.rb +142 -0
  338. data/lib/mindbody_public_api/models/remove_client_from_class_response.rb +63 -0
  339. data/lib/mindbody_public_api/models/remove_clients_from_classes_request.rb +140 -0
  340. data/lib/mindbody_public_api/models/remove_clients_from_classes_response.rb +102 -0
  341. data/lib/mindbody_public_api/models/remove_from_waitlist_request.rb +61 -0
  342. data/lib/mindbody_public_api/models/request_schedule_type_enum.rb +56 -0
  343. data/lib/mindbody_public_api/models/reservation.rb +158 -0
  344. data/lib/mindbody_public_api/models/resource.rb +71 -0
  345. data/lib/mindbody_public_api/models/resource1.rb +124 -0
  346. data/lib/mindbody_public_api/models/resource_availability.rb +100 -0
  347. data/lib/mindbody_public_api/models/resource_availability1.rb +124 -0
  348. data/lib/mindbody_public_api/models/resource_slim.rb +71 -0
  349. data/lib/mindbody_public_api/models/response_details.rb +82 -0
  350. data/lib/mindbody_public_api/models/return_sale_request.rb +71 -0
  351. data/lib/mindbody_public_api/models/return_sale_response.rb +82 -0
  352. data/lib/mindbody_public_api/models/sale.rb +210 -0
  353. data/lib/mindbody_public_api/models/sale_payment.rb +114 -0
  354. data/lib/mindbody_public_api/models/sales_rep.rb +107 -0
  355. data/lib/mindbody_public_api/models/sales_rep_response.rb +93 -0
  356. data/lib/mindbody_public_api/models/schedule_type1_enum.rb +57 -0
  357. data/lib/mindbody_public_api/models/schedule_type2_enum.rb +56 -0
  358. data/lib/mindbody_public_api/models/schedule_type3_enum.rb +57 -0
  359. data/lib/mindbody_public_api/models/schedule_type4_enum.rb +56 -0
  360. data/lib/mindbody_public_api/models/schedule_type_enum.rb +57 -0
  361. data/lib/mindbody_public_api/models/scheduled_service_earnings_event.rb +117 -0
  362. data/lib/mindbody_public_api/models/scheduled_service_type_enum.rb +44 -0
  363. data/lib/mindbody_public_api/models/semester.rb +167 -0
  364. data/lib/mindbody_public_api/models/send_auto_email_request.rb +71 -0
  365. data/lib/mindbody_public_api/models/send_password_reset_email_request.rb +81 -0
  366. data/lib/mindbody_public_api/models/service.rb +366 -0
  367. data/lib/mindbody_public_api/models/service_tag.rb +72 -0
  368. data/lib/mindbody_public_api/models/session_type.rb +198 -0
  369. data/lib/mindbody_public_api/models/session_type1.rb +204 -0
  370. data/lib/mindbody_public_api/models/shopping_cart.rb +151 -0
  371. data/lib/mindbody_public_api/models/site.rb +347 -0
  372. data/lib/mindbody_public_api/models/size.rb +71 -0
  373. data/lib/mindbody_public_api/models/spot.rb +87 -0
  374. data/lib/mindbody_public_api/models/staff.rb +501 -0
  375. data/lib/mindbody_public_api/models/staff1.rb +588 -0
  376. data/lib/mindbody_public_api/models/staff_permission_group.rb +105 -0
  377. data/lib/mindbody_public_api/models/staff_session_type.rb +205 -0
  378. data/lib/mindbody_public_api/models/staff_setting.rb +84 -0
  379. data/lib/mindbody_public_api/models/status1_enum.rb +56 -0
  380. data/lib/mindbody_public_api/models/status_enum.rb +66 -0
  381. data/lib/mindbody_public_api/models/stored_card_info.rb +62 -0
  382. data/lib/mindbody_public_api/models/sub_category.rb +82 -0
  383. data/lib/mindbody_public_api/models/substitute_class_teacher_request.rb +127 -0
  384. data/lib/mindbody_public_api/models/substitute_class_teacher_response.rb +63 -0
  385. data/lib/mindbody_public_api/models/substitute_teacher_class.rb +318 -0
  386. data/lib/mindbody_public_api/models/suspend_contract_request.rb +162 -0
  387. data/lib/mindbody_public_api/models/suspend_contract_response.rb +62 -0
  388. data/lib/mindbody_public_api/models/terminate_contract_request.rb +113 -0
  389. data/lib/mindbody_public_api/models/terminate_contract_response.rb +62 -0
  390. data/lib/mindbody_public_api/models/time_card_event.rb +139 -0
  391. data/lib/mindbody_public_api/models/tip.rb +101 -0
  392. data/lib/mindbody_public_api/models/transaction.rb +245 -0
  393. data/lib/mindbody_public_api/models/transaction_response.rb +74 -0
  394. data/lib/mindbody_public_api/models/type1_enum.rb +56 -0
  395. data/lib/mindbody_public_api/models/type2_enum.rb +56 -0
  396. data/lib/mindbody_public_api/models/type_enum.rb +57 -0
  397. data/lib/mindbody_public_api/models/unavailability.rb +109 -0
  398. data/lib/mindbody_public_api/models/unavailability1.rb +109 -0
  399. data/lib/mindbody_public_api/models/unavailability_plain.rb +119 -0
  400. data/lib/mindbody_public_api/models/upcoming_autopay_event.rb +133 -0
  401. data/lib/mindbody_public_api/models/update_appointment_request.rb +225 -0
  402. data/lib/mindbody_public_api/models/update_appointment_response.rb +62 -0
  403. data/lib/mindbody_public_api/models/update_availability_request.rb +171 -0
  404. data/lib/mindbody_public_api/models/update_availability_response.rb +89 -0
  405. data/lib/mindbody_public_api/models/update_class_enrollment_schedule_request.rb +343 -0
  406. data/lib/mindbody_public_api/models/update_class_schedule_notes_request.rb +62 -0
  407. data/lib/mindbody_public_api/models/update_client_contract_autopays_request.rb +149 -0
  408. data/lib/mindbody_public_api/models/update_client_request.rb +128 -0
  409. data/lib/mindbody_public_api/models/update_client_response.rb +62 -0
  410. data/lib/mindbody_public_api/models/update_client_rewards_request.rb +143 -0
  411. data/lib/mindbody_public_api/models/update_client_service_request.rb +121 -0
  412. data/lib/mindbody_public_api/models/update_client_service_response.rb +62 -0
  413. data/lib/mindbody_public_api/models/update_client_visit_request.rb +130 -0
  414. data/lib/mindbody_public_api/models/update_client_visit_response.rb +62 -0
  415. data/lib/mindbody_public_api/models/update_contact_log_comment.rb +72 -0
  416. data/lib/mindbody_public_api/models/update_contact_log_request.rb +188 -0
  417. data/lib/mindbody_public_api/models/update_contact_log_type.rb +71 -0
  418. data/lib/mindbody_public_api/models/update_pricing_option_request.rb +252 -0
  419. data/lib/mindbody_public_api/models/update_product_price_request.rb +83 -0
  420. data/lib/mindbody_public_api/models/update_product_price_response.rb +62 -0
  421. data/lib/mindbody_public_api/models/update_product_request.rb +83 -0
  422. data/lib/mindbody_public_api/models/update_reservation_response.rb +73 -0
  423. data/lib/mindbody_public_api/models/update_sale_date_request.rb +81 -0
  424. data/lib/mindbody_public_api/models/update_sale_date_response.rb +62 -0
  425. data/lib/mindbody_public_api/models/update_service_request.rb +82 -0
  426. data/lib/mindbody_public_api/models/update_service_response.rb +71 -0
  427. data/lib/mindbody_public_api/models/update_site_client_index_request.rb +172 -0
  428. data/lib/mindbody_public_api/models/update_site_client_index_response.rb +175 -0
  429. data/lib/mindbody_public_api/models/update_staff_permissions_request.rb +71 -0
  430. data/lib/mindbody_public_api/models/update_staff_permissions_response.rb +62 -0
  431. data/lib/mindbody_public_api/models/update_staff_request.rb +378 -0
  432. data/lib/mindbody_public_api/models/update_staff_response.rb +62 -0
  433. data/lib/mindbody_public_api/models/upload_client_document_request.rb +68 -0
  434. data/lib/mindbody_public_api/models/upload_client_document_response.rb +71 -0
  435. data/lib/mindbody_public_api/models/upload_client_photo_request.rb +68 -0
  436. data/lib/mindbody_public_api/models/upload_client_photo_response.rb +71 -0
  437. data/lib/mindbody_public_api/models/user.rb +95 -0
  438. data/lib/mindbody_public_api/models/visit.rb +399 -0
  439. data/lib/mindbody_public_api/models/visit_waitlist_info.rb +74 -0
  440. data/lib/mindbody_public_api/models/visit_with_waitlist_info.rb +410 -0
  441. data/lib/mindbody_public_api/models/waitlist_entry.rb +173 -0
  442. data/lib/mindbody_public_api/models/written_class_schedules_info.rb +73 -0
  443. data/lib/mindbody_public_api/utilities/date_time_helper.rb +11 -0
  444. data/lib/mindbody_public_api/utilities/file_wrapper.rb +28 -0
  445. data/lib/mindbody_public_api.rb +495 -0
  446. metadata +529 -0
@@ -0,0 +1,71 @@
1
+ # mindbody_public_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module MindbodyPublicApi
7
+ # M0CultureNeutralPublicKeyTokenB77a5c561934e089 Model.
8
+ class M0CultureNeutralPublicKeyTokenB77a5c561934e089 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :key
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Array[String]]
18
+ attr_accessor :value
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['key'] = 'key'
24
+ @_hash['value'] = 'value'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ key
32
+ value
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(key = SKIP, value = SKIP)
42
+ @key = key unless key == SKIP
43
+ @value = value unless value == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ key = hash.key?('key') ? hash['key'] : SKIP
52
+ value = hash.key?('value') ? hash['value'] : SKIP
53
+
54
+ # Create object from extracted values.
55
+ M0CultureNeutralPublicKeyTokenB77a5c561934e089.new(key,
56
+ value)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} key: #{@key}, value: #{@value}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} key: #{@key.inspect}, value: #{@value.inspect}>"
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,430 @@
1
+ # mindbody_public_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module MindbodyPublicApi
8
+ # Represents a single class instance. The class meets at the start time, goes
9
+ # until the end time.
10
+ class Class < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # The ID used to retrieve the class schedule for the desired class.
15
+ # @return [Integer]
16
+ attr_accessor :class_schedule_id
17
+
18
+ # Contains information about visits.
19
+ # @return [Array[Visit]]
20
+ attr_accessor :visits
21
+
22
+ # Contains information about clients.
23
+ # @return [Array[Client]]
24
+ attr_accessor :clients
25
+
26
+ # Contains information about clients.
27
+ # @return [Location]
28
+ attr_accessor :location
29
+
30
+ # Contains information about resources, such as rooms.
31
+ # @return [ResourceSlim]
32
+ attr_accessor :resource
33
+
34
+ # The maximum number of clients allowed in the class.
35
+ # @return [Integer]
36
+ attr_accessor :max_capacity
37
+
38
+ # The maximum number of clients allowed to sign up online for the class.
39
+ # @return [Integer]
40
+ attr_accessor :web_capacity
41
+
42
+ # The total number of clients booked in the class.
43
+ # @return [Integer]
44
+ attr_accessor :total_booked
45
+
46
+ # The total number of clients signed into the class.
47
+ # @return [Integer]
48
+ attr_accessor :total_signed_in
49
+
50
+ # The total number of booked clients on the waiting list for the class.
51
+ # @return [Integer]
52
+ attr_accessor :total_booked_waitlist
53
+
54
+ # The total number of clients who signed up online for the class.
55
+ # @return [Integer]
56
+ attr_accessor :web_booked
57
+
58
+ # The ID of the semester that the class is a part of, if any.
59
+ # @return [Integer]
60
+ attr_accessor :semester_id
61
+
62
+ # When `true`, indicates that the class has been cancelled.<br />
63
+ # When `false`, indicates that the class has not been cancelled.
64
+ # @return [TrueClass | FalseClass]
65
+ attr_accessor :is_canceled
66
+
67
+ # When `true`, indicates that the class is being taught by a substitute
68
+ # teacher.<br />
69
+ # When `false`, indicates that the class is being taught by its regular
70
+ # teacher.
71
+ # @return [TrueClass | FalseClass]
72
+ attr_accessor :substitute
73
+
74
+ # When `true`, indicates that the class is shown to clients when in consumer
75
+ # mode.<br />
76
+ # When `false`, indicates that the class is not shown to clients when in
77
+ # consumer mode.
78
+ # @return [TrueClass | FalseClass]
79
+ attr_accessor :active
80
+
81
+ # When `true`, indicates that the clients can be placed on a waiting list
82
+ # for the class.<br />
83
+ # When `false`, indicates that the clients cannot be placed on a waiting
84
+ # list for the class.
85
+ # @return [TrueClass | FalseClass]
86
+ attr_accessor :is_waitlist_available
87
+
88
+ # When `true`, indicates that the client with the given `ClientId` is
89
+ # enrolled in this class.<br />
90
+ # When `false`, indicates that the client with the given `ClientId` is not
91
+ # enrolled in this class.
92
+ # @return [TrueClass | FalseClass]
93
+ attr_accessor :is_enrolled
94
+
95
+ # When `true`, indicates that this class is hidden when cancelled.<br />
96
+ # When `false`, indicates that this class is not hidden when cancelled.
97
+ # @return [TrueClass | FalseClass]
98
+ attr_accessor :hide_cancel
99
+
100
+ # The unique identifier for the class.
101
+ # @return [Integer]
102
+ attr_accessor :id
103
+
104
+ # When `true`, indicates that the client with the given client ID can book
105
+ # this class.<br />
106
+ # When `false`, indicates that the client with the given client ID cannot
107
+ # book this class.
108
+ # @return [TrueClass | FalseClass]
109
+ attr_accessor :is_available
110
+
111
+ # The time this class is scheduled to start.
112
+ # @return [DateTime]
113
+ attr_accessor :start_date_time
114
+
115
+ # The time this class is scheduled to end.
116
+ # @return [DateTime]
117
+ attr_accessor :end_date_time
118
+
119
+ # The last time this class was modified.
120
+ # @return [DateTime]
121
+ attr_accessor :last_modified_date_time
122
+
123
+ # Represents a class definition. The class meets at the start time, goes
124
+ # until the end time.
125
+ # @return [ClassDescription]
126
+ attr_accessor :class_description
127
+
128
+ # The Staff
129
+ # @return [Staff]
130
+ attr_accessor :staff
131
+
132
+ # The booking window for registration
133
+ # @return [BookingWindow]
134
+ attr_accessor :booking_window
135
+
136
+ # Contains the booking’s payment status.
137
+ # @return [BookingStatusEnum]
138
+ attr_accessor :booking_status
139
+
140
+ # The link to the Mindbody-hosted live stream for the class. This is `null`
141
+ # when no live stream is configured for the class.
142
+ # @return [String]
143
+ attr_accessor :virtual_stream_link
144
+
145
+ # The maximum number allowed on the waiting list for the class.
146
+ # @return [Integer]
147
+ attr_accessor :wait_list_size
148
+
149
+ # Notes for the class
150
+ # @return [String]
151
+ attr_accessor :class_notes
152
+
153
+ # A mapping from model property names to API property names.
154
+ def self.names
155
+ @_hash = {} if @_hash.nil?
156
+ @_hash['class_schedule_id'] = 'ClassScheduleId'
157
+ @_hash['visits'] = 'Visits'
158
+ @_hash['clients'] = 'Clients'
159
+ @_hash['location'] = 'Location'
160
+ @_hash['resource'] = 'Resource'
161
+ @_hash['max_capacity'] = 'MaxCapacity'
162
+ @_hash['web_capacity'] = 'WebCapacity'
163
+ @_hash['total_booked'] = 'TotalBooked'
164
+ @_hash['total_signed_in'] = 'TotalSignedIn'
165
+ @_hash['total_booked_waitlist'] = 'TotalBookedWaitlist'
166
+ @_hash['web_booked'] = 'WebBooked'
167
+ @_hash['semester_id'] = 'SemesterId'
168
+ @_hash['is_canceled'] = 'IsCanceled'
169
+ @_hash['substitute'] = 'Substitute'
170
+ @_hash['active'] = 'Active'
171
+ @_hash['is_waitlist_available'] = 'IsWaitlistAvailable'
172
+ @_hash['is_enrolled'] = 'IsEnrolled'
173
+ @_hash['hide_cancel'] = 'HideCancel'
174
+ @_hash['id'] = 'Id'
175
+ @_hash['is_available'] = 'IsAvailable'
176
+ @_hash['start_date_time'] = 'StartDateTime'
177
+ @_hash['end_date_time'] = 'EndDateTime'
178
+ @_hash['last_modified_date_time'] = 'LastModifiedDateTime'
179
+ @_hash['class_description'] = 'ClassDescription'
180
+ @_hash['staff'] = 'Staff'
181
+ @_hash['booking_window'] = 'BookingWindow'
182
+ @_hash['booking_status'] = 'BookingStatus'
183
+ @_hash['virtual_stream_link'] = 'VirtualStreamLink'
184
+ @_hash['wait_list_size'] = 'WaitListSize'
185
+ @_hash['class_notes'] = 'ClassNotes'
186
+ @_hash
187
+ end
188
+
189
+ # An array for optional fields
190
+ def self.optionals
191
+ %w[
192
+ class_schedule_id
193
+ visits
194
+ clients
195
+ location
196
+ resource
197
+ max_capacity
198
+ web_capacity
199
+ total_booked
200
+ total_signed_in
201
+ total_booked_waitlist
202
+ web_booked
203
+ semester_id
204
+ is_canceled
205
+ substitute
206
+ active
207
+ is_waitlist_available
208
+ is_enrolled
209
+ hide_cancel
210
+ id
211
+ is_available
212
+ start_date_time
213
+ end_date_time
214
+ last_modified_date_time
215
+ class_description
216
+ staff
217
+ booking_window
218
+ booking_status
219
+ virtual_stream_link
220
+ wait_list_size
221
+ class_notes
222
+ ]
223
+ end
224
+
225
+ # An array for nullable fields
226
+ def self.nullables
227
+ []
228
+ end
229
+
230
+ def initialize(class_schedule_id = SKIP, visits = SKIP, clients = SKIP,
231
+ location = SKIP, resource = SKIP, max_capacity = SKIP,
232
+ web_capacity = SKIP, total_booked = SKIP,
233
+ total_signed_in = SKIP, total_booked_waitlist = SKIP,
234
+ web_booked = SKIP, semester_id = SKIP, is_canceled = SKIP,
235
+ substitute = SKIP, active = SKIP,
236
+ is_waitlist_available = SKIP, is_enrolled = SKIP,
237
+ hide_cancel = SKIP, id = SKIP, is_available = SKIP,
238
+ start_date_time = SKIP, end_date_time = SKIP,
239
+ last_modified_date_time = SKIP, class_description = SKIP,
240
+ staff = SKIP, booking_window = SKIP, booking_status = SKIP,
241
+ virtual_stream_link = SKIP, wait_list_size = SKIP,
242
+ class_notes = SKIP)
243
+ @class_schedule_id = class_schedule_id unless class_schedule_id == SKIP
244
+ @visits = visits unless visits == SKIP
245
+ @clients = clients unless clients == SKIP
246
+ @location = location unless location == SKIP
247
+ @resource = resource unless resource == SKIP
248
+ @max_capacity = max_capacity unless max_capacity == SKIP
249
+ @web_capacity = web_capacity unless web_capacity == SKIP
250
+ @total_booked = total_booked unless total_booked == SKIP
251
+ @total_signed_in = total_signed_in unless total_signed_in == SKIP
252
+ @total_booked_waitlist = total_booked_waitlist unless total_booked_waitlist == SKIP
253
+ @web_booked = web_booked unless web_booked == SKIP
254
+ @semester_id = semester_id unless semester_id == SKIP
255
+ @is_canceled = is_canceled unless is_canceled == SKIP
256
+ @substitute = substitute unless substitute == SKIP
257
+ @active = active unless active == SKIP
258
+ @is_waitlist_available = is_waitlist_available unless is_waitlist_available == SKIP
259
+ @is_enrolled = is_enrolled unless is_enrolled == SKIP
260
+ @hide_cancel = hide_cancel unless hide_cancel == SKIP
261
+ @id = id unless id == SKIP
262
+ @is_available = is_available unless is_available == SKIP
263
+ @start_date_time = start_date_time unless start_date_time == SKIP
264
+ @end_date_time = end_date_time unless end_date_time == SKIP
265
+ @last_modified_date_time = last_modified_date_time unless last_modified_date_time == SKIP
266
+ @class_description = class_description unless class_description == SKIP
267
+ @staff = staff unless staff == SKIP
268
+ @booking_window = booking_window unless booking_window == SKIP
269
+ @booking_status = booking_status unless booking_status == SKIP
270
+ @virtual_stream_link = virtual_stream_link unless virtual_stream_link == SKIP
271
+ @wait_list_size = wait_list_size unless wait_list_size == SKIP
272
+ @class_notes = class_notes unless class_notes == SKIP
273
+ end
274
+
275
+ # Creates an instance of the object from a hash.
276
+ def self.from_hash(hash)
277
+ return nil unless hash
278
+
279
+ # Extract variables from the hash.
280
+ class_schedule_id =
281
+ hash.key?('ClassScheduleId') ? hash['ClassScheduleId'] : SKIP
282
+ # Parameter is an array, so we need to iterate through it
283
+ visits = nil
284
+ unless hash['Visits'].nil?
285
+ visits = []
286
+ hash['Visits'].each do |structure|
287
+ visits << (Visit.from_hash(structure) if structure)
288
+ end
289
+ end
290
+
291
+ visits = SKIP unless hash.key?('Visits')
292
+ # Parameter is an array, so we need to iterate through it
293
+ clients = nil
294
+ unless hash['Clients'].nil?
295
+ clients = []
296
+ hash['Clients'].each do |structure|
297
+ clients << (Client.from_hash(structure) if structure)
298
+ end
299
+ end
300
+
301
+ clients = SKIP unless hash.key?('Clients')
302
+ location = Location.from_hash(hash['Location']) if hash['Location']
303
+ resource = ResourceSlim.from_hash(hash['Resource']) if hash['Resource']
304
+ max_capacity = hash.key?('MaxCapacity') ? hash['MaxCapacity'] : SKIP
305
+ web_capacity = hash.key?('WebCapacity') ? hash['WebCapacity'] : SKIP
306
+ total_booked = hash.key?('TotalBooked') ? hash['TotalBooked'] : SKIP
307
+ total_signed_in =
308
+ hash.key?('TotalSignedIn') ? hash['TotalSignedIn'] : SKIP
309
+ total_booked_waitlist =
310
+ hash.key?('TotalBookedWaitlist') ? hash['TotalBookedWaitlist'] : SKIP
311
+ web_booked = hash.key?('WebBooked') ? hash['WebBooked'] : SKIP
312
+ semester_id = hash.key?('SemesterId') ? hash['SemesterId'] : SKIP
313
+ is_canceled = hash.key?('IsCanceled') ? hash['IsCanceled'] : SKIP
314
+ substitute = hash.key?('Substitute') ? hash['Substitute'] : SKIP
315
+ active = hash.key?('Active') ? hash['Active'] : SKIP
316
+ is_waitlist_available =
317
+ hash.key?('IsWaitlistAvailable') ? hash['IsWaitlistAvailable'] : SKIP
318
+ is_enrolled = hash.key?('IsEnrolled') ? hash['IsEnrolled'] : SKIP
319
+ hide_cancel = hash.key?('HideCancel') ? hash['HideCancel'] : SKIP
320
+ id = hash.key?('Id') ? hash['Id'] : SKIP
321
+ is_available = hash.key?('IsAvailable') ? hash['IsAvailable'] : SKIP
322
+ start_date_time = if hash.key?('StartDateTime')
323
+ (DateTimeHelper.from_rfc3339(hash['StartDateTime']) if hash['StartDateTime'])
324
+ else
325
+ SKIP
326
+ end
327
+ end_date_time = if hash.key?('EndDateTime')
328
+ (DateTimeHelper.from_rfc3339(hash['EndDateTime']) if hash['EndDateTime'])
329
+ else
330
+ SKIP
331
+ end
332
+ last_modified_date_time = if hash.key?('LastModifiedDateTime')
333
+ (DateTimeHelper.from_rfc3339(hash['LastModifiedDateTime']) if hash['LastModifiedDateTime'])
334
+ else
335
+ SKIP
336
+ end
337
+ class_description = ClassDescription.from_hash(hash['ClassDescription']) if
338
+ hash['ClassDescription']
339
+ staff = Staff.from_hash(hash['Staff']) if hash['Staff']
340
+ booking_window = BookingWindow.from_hash(hash['BookingWindow']) if hash['BookingWindow']
341
+ booking_status = hash.key?('BookingStatus') ? hash['BookingStatus'] : SKIP
342
+ virtual_stream_link =
343
+ hash.key?('VirtualStreamLink') ? hash['VirtualStreamLink'] : SKIP
344
+ wait_list_size = hash.key?('WaitListSize') ? hash['WaitListSize'] : SKIP
345
+ class_notes = hash.key?('ClassNotes') ? hash['ClassNotes'] : SKIP
346
+
347
+ # Create object from extracted values.
348
+ Class.new(class_schedule_id,
349
+ visits,
350
+ clients,
351
+ location,
352
+ resource,
353
+ max_capacity,
354
+ web_capacity,
355
+ total_booked,
356
+ total_signed_in,
357
+ total_booked_waitlist,
358
+ web_booked,
359
+ semester_id,
360
+ is_canceled,
361
+ substitute,
362
+ active,
363
+ is_waitlist_available,
364
+ is_enrolled,
365
+ hide_cancel,
366
+ id,
367
+ is_available,
368
+ start_date_time,
369
+ end_date_time,
370
+ last_modified_date_time,
371
+ class_description,
372
+ staff,
373
+ booking_window,
374
+ booking_status,
375
+ virtual_stream_link,
376
+ wait_list_size,
377
+ class_notes)
378
+ end
379
+
380
+ def to_custom_start_date_time
381
+ DateTimeHelper.to_rfc3339(start_date_time)
382
+ end
383
+
384
+ def to_custom_end_date_time
385
+ DateTimeHelper.to_rfc3339(end_date_time)
386
+ end
387
+
388
+ def to_custom_last_modified_date_time
389
+ DateTimeHelper.to_rfc3339(last_modified_date_time)
390
+ end
391
+
392
+ # Provides a human-readable string representation of the object.
393
+ def to_s
394
+ class_name = self.class.name.split('::').last
395
+ "<#{class_name} class_schedule_id: #{@class_schedule_id}, visits: #{@visits}, clients:"\
396
+ " #{@clients}, location: #{@location}, resource: #{@resource}, max_capacity:"\
397
+ " #{@max_capacity}, web_capacity: #{@web_capacity}, total_booked: #{@total_booked},"\
398
+ " total_signed_in: #{@total_signed_in}, total_booked_waitlist: #{@total_booked_waitlist},"\
399
+ " web_booked: #{@web_booked}, semester_id: #{@semester_id}, is_canceled: #{@is_canceled},"\
400
+ " substitute: #{@substitute}, active: #{@active}, is_waitlist_available:"\
401
+ " #{@is_waitlist_available}, is_enrolled: #{@is_enrolled}, hide_cancel: #{@hide_cancel}, id:"\
402
+ " #{@id}, is_available: #{@is_available}, start_date_time: #{@start_date_time},"\
403
+ " end_date_time: #{@end_date_time}, last_modified_date_time: #{@last_modified_date_time},"\
404
+ " class_description: #{@class_description}, staff: #{@staff}, booking_window:"\
405
+ " #{@booking_window}, booking_status: #{@booking_status}, virtual_stream_link:"\
406
+ " #{@virtual_stream_link}, wait_list_size: #{@wait_list_size}, class_notes:"\
407
+ " #{@class_notes}>"
408
+ end
409
+
410
+ # Provides a debugging-friendly string with detailed object information.
411
+ def inspect
412
+ class_name = self.class.name.split('::').last
413
+ "<#{class_name} class_schedule_id: #{@class_schedule_id.inspect}, visits:"\
414
+ " #{@visits.inspect}, clients: #{@clients.inspect}, location: #{@location.inspect},"\
415
+ " resource: #{@resource.inspect}, max_capacity: #{@max_capacity.inspect}, web_capacity:"\
416
+ " #{@web_capacity.inspect}, total_booked: #{@total_booked.inspect}, total_signed_in:"\
417
+ " #{@total_signed_in.inspect}, total_booked_waitlist: #{@total_booked_waitlist.inspect},"\
418
+ " web_booked: #{@web_booked.inspect}, semester_id: #{@semester_id.inspect}, is_canceled:"\
419
+ " #{@is_canceled.inspect}, substitute: #{@substitute.inspect}, active: #{@active.inspect},"\
420
+ " is_waitlist_available: #{@is_waitlist_available.inspect}, is_enrolled:"\
421
+ " #{@is_enrolled.inspect}, hide_cancel: #{@hide_cancel.inspect}, id: #{@id.inspect},"\
422
+ " is_available: #{@is_available.inspect}, start_date_time: #{@start_date_time.inspect},"\
423
+ " end_date_time: #{@end_date_time.inspect}, last_modified_date_time:"\
424
+ " #{@last_modified_date_time.inspect}, class_description: #{@class_description.inspect},"\
425
+ " staff: #{@staff.inspect}, booking_window: #{@booking_window.inspect}, booking_status:"\
426
+ " #{@booking_status.inspect}, virtual_stream_link: #{@virtual_stream_link.inspect},"\
427
+ " wait_list_size: #{@wait_list_size.inspect}, class_notes: #{@class_notes.inspect}>"
428
+ end
429
+ end
430
+ end