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,826 @@
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
+ # ClassController
8
+ class ClassController < BaseController
9
+ # To find class descriptions associated with **scheduled classes**, pass
10
+ # `StaffId`, `StartClassDateTime`, `EndClassDateTime`, or `LocationId` in
11
+ # the request.
12
+ # @param [String] version Required parameter: version of the api.
13
+ # @param [String] site_id Required parameter: ID of the site from which to
14
+ # pull data.
15
+ # @param [String] authorization Optional parameter: A staff user
16
+ # authorization token.
17
+ # @param [Integer] request_class_description_id Optional parameter: The ID
18
+ # of the requested client.
19
+ # @param [DateTime] request_end_class_date_time Optional parameter: Filters
20
+ # the results to class descriptions for scheduled classes that happen before
21
+ # the given date and time.
22
+ # @param [TrueClass | FalseClass] request_include_inactive Optional
23
+ # parameter: Includes inactive class descriptions, defaulting to true. When
24
+ # set to false, it filters out inactive class descriptions.
25
+ # @param [Integer] request_limit Optional parameter: Number of results to
26
+ # include, defaults to 100
27
+ # @param [Integer] request_location_id Optional parameter: Filters results
28
+ # to classes descriptions for schedule classes as the given location.
29
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
30
+ # to 0.
31
+ # @param [Array[Integer]] request_program_ids Optional parameter: A list of
32
+ # requested program IDs.
33
+ # @param [Integer] request_staff_id Optional parameter: Filters results to
34
+ # class descriptions for scheduled classes taught by the given staff
35
+ # member.
36
+ # @param [DateTime] request_start_class_date_time Optional parameter:
37
+ # Filters the results to class descriptions for scheduled classes that
38
+ # happen on or after the given date and time.
39
+ # @return [GetClassDescriptionsResponse] Response from the API call.
40
+ def get_class_descriptions(version,
41
+ site_id,
42
+ authorization: nil,
43
+ request_class_description_id: nil,
44
+ request_end_class_date_time: nil,
45
+ request_include_inactive: nil,
46
+ request_limit: nil,
47
+ request_location_id: nil,
48
+ request_offset: nil,
49
+ request_program_ids: nil,
50
+ request_staff_id: nil,
51
+ request_start_class_date_time: nil)
52
+ @api_call
53
+ .request(new_request_builder(HttpMethodEnum::GET,
54
+ '/public/v{version}/class/classdescriptions',
55
+ Server::DEFAULT)
56
+ .template_param(new_parameter(version, key: 'version')
57
+ .should_encode(true))
58
+ .header_param(new_parameter(site_id, key: 'siteId'))
59
+ .header_param(new_parameter(authorization, key: 'authorization'))
60
+ .query_param(new_parameter(request_class_description_id, key: 'request.classDescriptionId'))
61
+ .query_param(new_parameter(request_end_class_date_time, key: 'request.endClassDateTime'))
62
+ .query_param(new_parameter(request_include_inactive, key: 'request.includeInactive'))
63
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
64
+ .query_param(new_parameter(request_location_id, key: 'request.locationId'))
65
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
66
+ .query_param(new_parameter(request_program_ids, key: 'request.programIds'))
67
+ .query_param(new_parameter(request_staff_id, key: 'request.staffId'))
68
+ .query_param(new_parameter(request_start_class_date_time, key: 'request.startClassDateTime'))
69
+ .header_param(new_parameter('application/json', key: 'accept'))
70
+ .auth(Single.new('API-Key')))
71
+ .response(new_response_handler
72
+ .deserializer(APIHelper.method(:custom_type_deserializer))
73
+ .deserialize_into(GetClassDescriptionsResponse.method(:from_hash)))
74
+ .execute
75
+ end
76
+
77
+ # Get scheduled classes.
78
+ # @param [String] version Required parameter: version of the api.
79
+ # @param [String] site_id Required parameter: ID of the site from which to
80
+ # pull data.
81
+ # @param [String] authorization Optional parameter: A staff user
82
+ # authorization token.
83
+ # @param [Array[Integer]] request_class_description_ids Optional parameter:
84
+ # The requested class description IDs.
85
+ # @param [Array[Integer]] request_class_ids Optional parameter: The
86
+ # requested class IDs.
87
+ # @param [Array[Integer]] request_class_schedule_ids Optional parameter: The
88
+ # requested classSchedule Ids.
89
+ # @param [String] request_client_id Optional parameter: The client ID of the
90
+ # client who is viewing this class list. Based on identity, the client may
91
+ # be able to see additional information, such as membership specials.
92
+ # @param [DateTime] request_end_date_time Optional parameter: The requested
93
+ # end date for filtering. NOTE: ClassDate does not take Class Time into
94
+ # consideration. <br />Default: **today’s date**
95
+ # @param [TrueClass | FalseClass] request_hide_canceled_classes Optional
96
+ # parameter: When `true`, canceled classes are removed from the response.<br
97
+ # /> When `false`, canceled classes are included in the response.<br />
98
+ # Default: **false**
99
+ # @param [DateTime] request_last_modified_date Optional parameter: When
100
+ # included in the request, only records modified on or after the
101
+ # `LastModifiedDate` specified are included in the response.
102
+ # @param [Integer] request_limit Optional parameter: Number of results to
103
+ # include, defaults to 100
104
+ # @param [Array[Integer]] request_location_ids Optional parameter: A list of
105
+ # location IDs on which to base the search.
106
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
107
+ # to 0.
108
+ # @param [Array[Integer]] request_program_ids Optional parameter: A list of
109
+ # program IDs on which to base the search.
110
+ # @param [TrueClass | FalseClass] request_scheduling_window Optional
111
+ # parameter: When `true`, classes outside scheduling window are removed from
112
+ # the response.<br /> When `false`, classes are included in the response,
113
+ # regardless of the scheduling window.<br /> Default: **false**
114
+ # @param [Array[Integer]] request_semester_ids Optional parameter: A list of
115
+ # semester IDs on which to base the search.
116
+ # @param [Array[Integer]] request_session_type_ids Optional parameter: A
117
+ # list of session type IDs on which to base the search.
118
+ # @param [Array[Integer]] request_staff_ids Optional parameter: The
119
+ # requested IDs of the teaching staff members.
120
+ # @param [DateTime] request_start_date_time Optional parameter: The
121
+ # requested start date for filtering. This also determines what you will see
122
+ # for the ‘BookingWindow’ StartDateTime in the response. For example, if you
123
+ # pass a StartDateTime that is on OR before the BookingWindow ‘Open’ days of
124
+ # the class, you will retrieve the actual ‘StartDateTime’ for the Booking
125
+ # Window. If you pass a StartDateTime that is after the BookingWindow
126
+ # ‘date’, then you will receive results based on that start date. NOTE:
127
+ # ClassDate does not take Class Time into consideration.
128
+ # @param [Integer] request_unique_client_id Optional parameter: The unique
129
+ # ID of the client who is viewing this class list. Based on identity, the
130
+ # client may be able to see additional information, such as membership
131
+ # specials. Note: you need to provide the 'UniqueClientId' OR the
132
+ # 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.
133
+ # @return [GetClassesResponse] Response from the API call.
134
+ def get_classes(version,
135
+ site_id,
136
+ authorization: nil,
137
+ request_class_description_ids: nil,
138
+ request_class_ids: nil,
139
+ request_class_schedule_ids: nil,
140
+ request_client_id: nil,
141
+ request_end_date_time: nil,
142
+ request_hide_canceled_classes: nil,
143
+ request_last_modified_date: nil,
144
+ request_limit: nil,
145
+ request_location_ids: nil,
146
+ request_offset: nil,
147
+ request_program_ids: nil,
148
+ request_scheduling_window: nil,
149
+ request_semester_ids: nil,
150
+ request_session_type_ids: nil,
151
+ request_staff_ids: nil,
152
+ request_start_date_time: nil,
153
+ request_unique_client_id: nil)
154
+ @api_call
155
+ .request(new_request_builder(HttpMethodEnum::GET,
156
+ '/public/v{version}/class/classes',
157
+ Server::DEFAULT)
158
+ .template_param(new_parameter(version, key: 'version')
159
+ .should_encode(true))
160
+ .header_param(new_parameter(site_id, key: 'siteId'))
161
+ .header_param(new_parameter(authorization, key: 'authorization'))
162
+ .query_param(new_parameter(request_class_description_ids, key: 'request.classDescriptionIds'))
163
+ .query_param(new_parameter(request_class_ids, key: 'request.classIds'))
164
+ .query_param(new_parameter(request_class_schedule_ids, key: 'request.classScheduleIds'))
165
+ .query_param(new_parameter(request_client_id, key: 'request.clientId'))
166
+ .query_param(new_parameter(request_end_date_time, key: 'request.endDateTime'))
167
+ .query_param(new_parameter(request_hide_canceled_classes, key: 'request.hideCanceledClasses'))
168
+ .query_param(new_parameter(request_last_modified_date, key: 'request.lastModifiedDate'))
169
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
170
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
171
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
172
+ .query_param(new_parameter(request_program_ids, key: 'request.programIds'))
173
+ .query_param(new_parameter(request_scheduling_window, key: 'request.schedulingWindow'))
174
+ .query_param(new_parameter(request_semester_ids, key: 'request.semesterIds'))
175
+ .query_param(new_parameter(request_session_type_ids, key: 'request.sessionTypeIds'))
176
+ .query_param(new_parameter(request_staff_ids, key: 'request.staffIds'))
177
+ .query_param(new_parameter(request_start_date_time, key: 'request.startDateTime'))
178
+ .query_param(new_parameter(request_unique_client_id, key: 'request.uniqueClientId'))
179
+ .header_param(new_parameter('application/json', key: 'accept'))
180
+ .auth(Single.new('API-Key')))
181
+ .response(new_response_handler
182
+ .deserializer(APIHelper.method(:custom_type_deserializer))
183
+ .deserialize_into(GetClassesResponse.method(:from_hash)))
184
+ .execute
185
+ end
186
+
187
+ # Get class schedules.
188
+ # @param [String] version Required parameter: version of the api.
189
+ # @param [String] site_id Required parameter: ID of the site from which to
190
+ # pull data.
191
+ # @param [String] authorization Optional parameter: A staff user
192
+ # authorization token.
193
+ # @param [Array[Integer]] request_class_schedule_ids Optional parameter: The
194
+ # class schedule IDs. <br />Default: **all**
195
+ # @param [DateTime] request_end_date Optional parameter: The end date of the
196
+ # range. Return any active enrollments that occur on or before this day.
197
+ # <br />Default: **StartDate**
198
+ # @param [Integer] request_limit Optional parameter: Number of results to
199
+ # include, defaults to 100
200
+ # @param [Array[Integer]] request_location_ids Optional parameter: The
201
+ # location IDs. <br />Default: **all**
202
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
203
+ # to 0.
204
+ # @param [Array[Integer]] request_program_ids Optional parameter: The
205
+ # program IDs. <br />Default: **all**
206
+ # @param [Array[Integer]] request_session_type_ids Optional parameter: The
207
+ # session type IDs. <br />Default: **all**
208
+ # @param [Array[Integer]] request_staff_ids Optional parameter: The staff
209
+ # IDs. <br />Default: **all**
210
+ # @param [DateTime] request_start_date Optional parameter: The start date of
211
+ # the range. Return any active enrollments that occur on or after this day.
212
+ # <br />Default: **today’s date**
213
+ # @return [GetClassSchedulesResponse] Response from the API call.
214
+ def get_class_schedules(version,
215
+ site_id,
216
+ authorization: nil,
217
+ request_class_schedule_ids: nil,
218
+ request_end_date: nil,
219
+ request_limit: nil,
220
+ request_location_ids: nil,
221
+ request_offset: nil,
222
+ request_program_ids: nil,
223
+ request_session_type_ids: nil,
224
+ request_staff_ids: nil,
225
+ request_start_date: nil)
226
+ @api_call
227
+ .request(new_request_builder(HttpMethodEnum::GET,
228
+ '/public/v{version}/class/classschedules',
229
+ Server::DEFAULT)
230
+ .template_param(new_parameter(version, key: 'version')
231
+ .should_encode(true))
232
+ .header_param(new_parameter(site_id, key: 'siteId'))
233
+ .header_param(new_parameter(authorization, key: 'authorization'))
234
+ .query_param(new_parameter(request_class_schedule_ids, key: 'request.classScheduleIds'))
235
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
236
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
237
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
238
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
239
+ .query_param(new_parameter(request_program_ids, key: 'request.programIds'))
240
+ .query_param(new_parameter(request_session_type_ids, key: 'request.sessionTypeIds'))
241
+ .query_param(new_parameter(request_staff_ids, key: 'request.staffIds'))
242
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
243
+ .header_param(new_parameter('application/json', key: 'accept'))
244
+ .auth(Single.new('API-Key')))
245
+ .response(new_response_handler
246
+ .deserializer(APIHelper.method(:custom_type_deserializer))
247
+ .deserialize_into(GetClassSchedulesResponse.method(:from_hash)))
248
+ .execute
249
+ end
250
+
251
+ # Returns a list of visits that contain information for a specified class.
252
+ # On success, this request returns the class object in the response with a
253
+ # list of visits.
254
+ # @param [String] version Required parameter: version of the api.
255
+ # @param [Integer] request_class_id Required parameter: The class ID.
256
+ # @param [String] site_id Required parameter: ID of the site from which to
257
+ # pull data.
258
+ # @param [String] authorization Optional parameter: A staff user
259
+ # authorization token.
260
+ # @param [DateTime] request_last_modified_date Optional parameter: When
261
+ # included in the request, only records modified on or after the
262
+ # `LastModifiedDate` specified are included in the response.
263
+ # @param [TrueClass | FalseClass] request_use_site_settings_staff_name
264
+ # Optional parameter: When `true`, the staff DisplayName will be populated
265
+ # based on site-level settings. When `false` or omitted, the staff
266
+ # DisplayName will contain only the FirstName.
267
+ # @return [GetClassVisitsResponse] Response from the API call.
268
+ def get_class_visits(version,
269
+ request_class_id,
270
+ site_id,
271
+ authorization: nil,
272
+ request_last_modified_date: nil,
273
+ request_use_site_settings_staff_name: nil)
274
+ @api_call
275
+ .request(new_request_builder(HttpMethodEnum::GET,
276
+ '/public/v{version}/class/classvisits',
277
+ Server::DEFAULT)
278
+ .template_param(new_parameter(version, key: 'version')
279
+ .should_encode(true))
280
+ .query_param(new_parameter(request_class_id, key: 'request.classID'))
281
+ .header_param(new_parameter(site_id, key: 'siteId'))
282
+ .header_param(new_parameter(authorization, key: 'authorization'))
283
+ .query_param(new_parameter(request_last_modified_date, key: 'request.lastModifiedDate'))
284
+ .query_param(new_parameter(request_use_site_settings_staff_name, key: 'request.useSiteSettingsStaffName'))
285
+ .header_param(new_parameter('application/json', key: 'accept'))
286
+ .auth(Single.new('API-Key')))
287
+ .response(new_response_handler
288
+ .deserializer(APIHelper.method(:custom_type_deserializer))
289
+ .deserialize_into(GetClassVisitsResponse.method(:from_hash)))
290
+ .execute
291
+ end
292
+
293
+ # This endpoint will provide all the data related to courses depending on
294
+ # the access level.<br />
295
+ # Note: The Authorization is an optional header.If Authorization header is
296
+ # not passed, the response will be masked else full response will be
297
+ # provided.
298
+ # @param [String] version Required parameter: version of the api.
299
+ # @param [String] site_id Required parameter: ID of the site from which to
300
+ # pull data.
301
+ # @param [String] authorization Optional parameter: A staff user
302
+ # authorization token.
303
+ # @param [Array[Integer]] get_courses_request_course_i_ds Optional
304
+ # parameter: Return only courses that are available for the specified
305
+ # CourseIds.
306
+ # @param [DateTime] get_courses_request_end_date Optional parameter: The end
307
+ # date range. Any active courses that are on or before this day. <br
308
+ # />(optional) Defaults to StartDate.
309
+ # @param [Integer] get_courses_request_limit Optional parameter: Number of
310
+ # results to include, defaults to 100
311
+ # @param [Array[Integer]] get_courses_request_location_i_ds Optional
312
+ # parameter: Return only courses that are available for the specified
313
+ # LocationIds.
314
+ # @param [Integer] get_courses_request_offset Optional parameter: Page
315
+ # offset, defaults to 0.
316
+ # @param [Array[Integer]] get_courses_request_program_i_ds Optional
317
+ # parameter: Return only courses that are available for the specified
318
+ # ProgramIds.
319
+ # @param [Array[Integer]] get_courses_request_semester_i_ds Optional
320
+ # parameter: Return only courses that are available for the specified
321
+ # SemesterIds.
322
+ # @param [Array[Integer]] get_courses_request_staff_i_ds Optional parameter:
323
+ # Return only courses that are available for the specified StaffIds.
324
+ # @param [DateTime] get_courses_request_start_date Optional parameter: The
325
+ # start date range. Any active courses that are on or after this day. <br
326
+ # />(optional) Defaults to today.
327
+ # @return [GetCoursesReponse] Response from the API call.
328
+ def get_courses(version,
329
+ site_id,
330
+ authorization: nil,
331
+ get_courses_request_course_i_ds: nil,
332
+ get_courses_request_end_date: nil,
333
+ get_courses_request_limit: nil,
334
+ get_courses_request_location_i_ds: nil,
335
+ get_courses_request_offset: nil,
336
+ get_courses_request_program_i_ds: nil,
337
+ get_courses_request_semester_i_ds: nil,
338
+ get_courses_request_staff_i_ds: nil,
339
+ get_courses_request_start_date: nil)
340
+ @api_call
341
+ .request(new_request_builder(HttpMethodEnum::GET,
342
+ '/public/v{version}/class/courses',
343
+ Server::DEFAULT)
344
+ .template_param(new_parameter(version, key: 'version')
345
+ .should_encode(true))
346
+ .header_param(new_parameter(site_id, key: 'siteId'))
347
+ .header_param(new_parameter(authorization, key: 'authorization'))
348
+ .query_param(new_parameter(get_courses_request_course_i_ds, key: 'getCoursesRequest.courseIDs'))
349
+ .query_param(new_parameter(get_courses_request_end_date, key: 'getCoursesRequest.endDate'))
350
+ .query_param(new_parameter(get_courses_request_limit, key: 'getCoursesRequest.limit'))
351
+ .query_param(new_parameter(get_courses_request_location_i_ds, key: 'getCoursesRequest.locationIDs'))
352
+ .query_param(new_parameter(get_courses_request_offset, key: 'getCoursesRequest.offset'))
353
+ .query_param(new_parameter(get_courses_request_program_i_ds, key: 'getCoursesRequest.programIDs'))
354
+ .query_param(new_parameter(get_courses_request_semester_i_ds, key: 'getCoursesRequest.semesterIDs'))
355
+ .query_param(new_parameter(get_courses_request_staff_i_ds, key: 'getCoursesRequest.staffIDs'))
356
+ .query_param(new_parameter(get_courses_request_start_date, key: 'getCoursesRequest.startDate'))
357
+ .header_param(new_parameter('application/json', key: 'accept'))
358
+ .auth(Single.new('API-Key')))
359
+ .response(new_response_handler
360
+ .deserializer(APIHelper.method(:custom_type_deserializer))
361
+ .deserialize_into(GetCoursesReponse.method(:from_hash)))
362
+ .execute
363
+ end
364
+
365
+ # This endpoint retrieves the business class semesters.
366
+ # @param [String] version Required parameter: version of the api.
367
+ # @param [String] site_id Required parameter: ID of the site from which to
368
+ # pull data.
369
+ # @param [String] authorization Optional parameter: A staff user
370
+ # authorization token.
371
+ # @param [TrueClass | FalseClass] request_active Optional parameter: When
372
+ # true, the response only contains semesters which are activated. When
373
+ # false, only deactivated semesters are returned. Default: **All
374
+ # semesters**
375
+ # @param [DateTime] request_end_date Optional parameter: The end date for
376
+ # the range. All semesters that are on or before this day. Default:
377
+ # **StartDate**
378
+ # @param [Integer] request_limit Optional parameter: Number of results to
379
+ # include, defaults to 100
380
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
381
+ # to 0.
382
+ # @param [Array[Integer]] request_semester_i_ds Optional parameter: The
383
+ # requested semester IDs.
384
+ # @param [DateTime] request_start_date Optional parameter: The start date
385
+ # for the range. All semesters that are on or after this day. Default:
386
+ # **today’s date**
387
+ # @return [GetSemestersResponse] Response from the API call.
388
+ def get_semesters(version,
389
+ site_id,
390
+ authorization: nil,
391
+ request_active: nil,
392
+ request_end_date: nil,
393
+ request_limit: nil,
394
+ request_offset: nil,
395
+ request_semester_i_ds: nil,
396
+ request_start_date: nil)
397
+ @api_call
398
+ .request(new_request_builder(HttpMethodEnum::GET,
399
+ '/public/v{version}/class/semesters',
400
+ Server::DEFAULT)
401
+ .template_param(new_parameter(version, key: 'version')
402
+ .should_encode(true))
403
+ .header_param(new_parameter(site_id, key: 'siteId'))
404
+ .header_param(new_parameter(authorization, key: 'authorization'))
405
+ .query_param(new_parameter(request_active, key: 'request.active'))
406
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
407
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
408
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
409
+ .query_param(new_parameter(request_semester_i_ds, key: 'request.semesterIDs'))
410
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
411
+ .header_param(new_parameter('application/json', key: 'accept'))
412
+ .auth(Single.new('API-Key')))
413
+ .response(new_response_handler
414
+ .deserializer(APIHelper.method(:custom_type_deserializer))
415
+ .deserialize_into(GetSemestersResponse.method(:from_hash)))
416
+ .execute
417
+ end
418
+
419
+ # Returns a list of waiting list entries for a specified class schedule or
420
+ # class. The request requires staff credentials and either a class schedule
421
+ # ID or class ID.
422
+ # @param [String] version Required parameter: version of the api.
423
+ # @param [String] site_id Required parameter: ID of the site from which to
424
+ # pull data.
425
+ # @param [String] authorization Optional parameter: A staff user
426
+ # authorization token.
427
+ # @param [Array[Integer]] request_class_ids Optional parameter: The
428
+ # requested class IDs. If a class ID is present, the request automatically
429
+ # disregards any class schedule IDs in the request. <br /> Either
430
+ # `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is
431
+ # required; the others become optional.<br /> Default: **all ClassIds**
432
+ # @param [Array[Integer]] request_class_schedule_ids Optional parameter: The
433
+ # requested class schedule IDs. If a class ID is present, the request
434
+ # automatically disregards any class schedule IDs in the request.<br />
435
+ # Either `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds`
436
+ # is required; the others become optional.<br /> Default: **all
437
+ # ClassScheduleIds**
438
+ # @param [Array[String]] request_client_ids Optional parameter: The
439
+ # requested client IDs.<br /> Either `ClassScheduleIds`, `ClientIds`,
440
+ # `WaitlistEntryIds`, or `ClassIds` is required; the others become
441
+ # optional.<br /> Default: **all ClientIds**
442
+ # @param [TrueClass | FalseClass] request_hide_past_entries Optional
443
+ # parameter: When `true`, indicates that past waiting list entries are
444
+ # hidden from clients.<br /> When `false`, indicates that past entries are
445
+ # not hidden from clients.<br /> Default: **false**
446
+ # @param [Integer] request_limit Optional parameter: Number of results to
447
+ # include, defaults to 100
448
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
449
+ # to 0.
450
+ # @param [Array[Integer]] request_waitlist_entry_ids Optional parameter: The
451
+ # requested waiting list entry IDs.<br /> Either `ClassScheduleIds`,
452
+ # `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others
453
+ # become optional.<br /> Default: **all WaitlistEntryIds**
454
+ # @return [GetWaitlistEntriesResponse] Response from the API call.
455
+ def get_waitlist_entries(version,
456
+ site_id,
457
+ authorization: nil,
458
+ request_class_ids: nil,
459
+ request_class_schedule_ids: nil,
460
+ request_client_ids: nil,
461
+ request_hide_past_entries: nil,
462
+ request_limit: nil,
463
+ request_offset: nil,
464
+ request_waitlist_entry_ids: nil)
465
+ @api_call
466
+ .request(new_request_builder(HttpMethodEnum::GET,
467
+ '/public/v{version}/class/waitlistentries',
468
+ Server::DEFAULT)
469
+ .template_param(new_parameter(version, key: 'version')
470
+ .should_encode(true))
471
+ .header_param(new_parameter(site_id, key: 'siteId'))
472
+ .header_param(new_parameter(authorization, key: 'authorization'))
473
+ .query_param(new_parameter(request_class_ids, key: 'request.classIds'))
474
+ .query_param(new_parameter(request_class_schedule_ids, key: 'request.classScheduleIds'))
475
+ .query_param(new_parameter(request_client_ids, key: 'request.clientIds'))
476
+ .query_param(new_parameter(request_hide_past_entries, key: 'request.hidePastEntries'))
477
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
478
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
479
+ .query_param(new_parameter(request_waitlist_entry_ids, key: 'request.waitlistEntryIds'))
480
+ .header_param(new_parameter('application/json', key: 'accept'))
481
+ .auth(Single.new('API-Key')))
482
+ .response(new_response_handler
483
+ .deserializer(APIHelper.method(:custom_type_deserializer))
484
+ .deserialize_into(GetWaitlistEntriesResponse.method(:from_hash)))
485
+ .execute
486
+ end
487
+
488
+ # This endpoint adds a class schedule. For a single day schedule, the
489
+ # EndDate parameter can be omitted.
490
+ # @param [String] version Required parameter: version of the api.
491
+ # @param [AddClassEnrollmentScheduleRequest] request Required parameter:
492
+ # TODO: type description here
493
+ # @param [String] site_id Required parameter: ID of the site from which to
494
+ # pull data.
495
+ # @param [String] authorization Optional parameter: A staff user
496
+ # authorization token.
497
+ # @return [WrittenClassSchedulesInfo] Response from the API call.
498
+ def add_class_schedule(version,
499
+ request,
500
+ site_id,
501
+ authorization: nil)
502
+ @api_call
503
+ .request(new_request_builder(HttpMethodEnum::POST,
504
+ '/public/v{version}/class/addclassschedule',
505
+ Server::DEFAULT)
506
+ .template_param(new_parameter(version, key: 'version')
507
+ .should_encode(true))
508
+ .body_param(new_parameter(request))
509
+ .header_param(new_parameter(site_id, key: 'siteId'))
510
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
511
+ .header_param(new_parameter(authorization, key: 'authorization'))
512
+ .header_param(new_parameter('application/json', key: 'accept'))
513
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
514
+ .auth(Single.new('API-Key')))
515
+ .response(new_response_handler
516
+ .deserializer(APIHelper.method(:custom_type_deserializer))
517
+ .deserialize_into(WrittenClassSchedulesInfo.method(:from_hash)))
518
+ .execute
519
+ end
520
+
521
+ # This endpoint adds a client to a class or to a class waiting list. To
522
+ # prevent overbooking a class or booking outside the schedule windows set
523
+ # forth by the business, it is necessary to first check the capacity level
524
+ # of the class (‘MaxCapacity’ and 'TotalBooked’) and the 'IsAvailable’
525
+ # parameter by running the GetClasses REQUEST. It is helpful to use this
526
+ # endpoint in the following situations:
527
+ # * Use after calling `GET Clients` and `GET Classes` so that you are sure
528
+ # which client to book in which class.
529
+ # * If adding a client to a class from a waiting list, use this call after
530
+ # you call `GET WaitlistEntries` and determine the ID of the waiting list
531
+ # from which you are moving the client.
532
+ # * If adding a client to a class and using a pricing option that the client
533
+ # has already purchased, use this call after you call `GET ClientServices`
534
+ # to determine the ID of the pricing option that the client wants to use.
535
+ # If you add a client to a class and the client purchases a new pricing
536
+ # option, use `GET Services`, `GET Classes`, and then `POST
537
+ # CheckoutShoppingCart` in place of this call.
538
+ # This endpoint also supports cross-regional class bookings. If you want to
539
+ # perform a cross-regional class booking, set `CrossRegionalBooking` to
540
+ # `true`. This endpoint does not support adding a user to a waiting list
541
+ # using a cross-regional client pricing option(service). Cross-regional
542
+ # booking workflows do not support client service scheduling restrictions.
543
+ # When performing a cross-regional class booking, this endpoint loops
544
+ # through the first ten sites that the client is associated with, looks for
545
+ # client pricing options at each of those sites, and then uses the oldest
546
+ # client pricing option found.It is important to note that this endpoint
547
+ # only loops through a maximum of ten associated client sites. If a
548
+ # `ClientID` is associated with more than ten sites in an organization, this
549
+ # endpoint only loops through the first ten.If you know that a client has a
550
+ # client service at another site, you can specify that site using the
551
+ # `CrossRegionalBookingClientServiceSiteId` query parameter.
552
+ # If you perform a cross-regional booking, two additional fields are
553
+ # included in the `SessionType` object of the response:
554
+ # * `SiteID`, which specifies where the client service is coming from
555
+ # * `CrossRegionalBookingPerformed`, a Boolean field that is set to `true`
556
+ # As a prerequisite to using this endpoint, your `SourceName` must have been
557
+ # granted access to the organization to which the site belongs.
558
+ #
559
+ # Note: Request deduplication is enabled for this endpoint. More information
560
+ # can be found in the [Request Deduplication
561
+ # Page](https://developers.mindbodyonline.com/ui/documentation/public-api#/n
562
+ # et-standard-library/mindbody-public-api-v6-0/request-deduplication).
563
+ # Use the `X-RequestDeduplication-Skip` header to bypass deduplication if
564
+ # necessary. This may be useful in scenarios where you want to ensure a new
565
+ # appointment is created regardless of previous identical requests.
566
+ # @param [String] version Required parameter: version of the api.
567
+ # @param [AddClientToClassRequest] request Required parameter: TODO: type
568
+ # description here
569
+ # @param [String] site_id Required parameter: ID of the site from which to
570
+ # pull data.
571
+ # @param [String] authorization Optional parameter: A staff user
572
+ # authorization token.
573
+ # @return [AddClientToClassResponse] Response from the API call.
574
+ def add_client_to_class(version,
575
+ request,
576
+ site_id,
577
+ authorization: nil)
578
+ @api_call
579
+ .request(new_request_builder(HttpMethodEnum::POST,
580
+ '/public/v{version}/class/addclienttoclass',
581
+ Server::DEFAULT)
582
+ .template_param(new_parameter(version, key: 'version')
583
+ .should_encode(true))
584
+ .body_param(new_parameter(request))
585
+ .header_param(new_parameter(site_id, key: 'siteId'))
586
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
587
+ .header_param(new_parameter(authorization, key: 'authorization'))
588
+ .header_param(new_parameter('application/json', key: 'accept'))
589
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
590
+ .auth(Single.new('API-Key')))
591
+ .response(new_response_handler
592
+ .deserializer(APIHelper.method(:custom_type_deserializer))
593
+ .deserialize_into(AddClientToClassResponse.method(:from_hash)))
594
+ .execute
595
+ end
596
+
597
+ # This endpoint will cancel a single class from studio.
598
+ # @param [String] version Required parameter: version of the api.
599
+ # @param [CancelSingleClassRequest] request Required parameter: TODO: type
600
+ # description here
601
+ # @param [String] site_id Required parameter: ID of the site from which to
602
+ # pull data.
603
+ # @param [String] authorization Optional parameter: A staff user
604
+ # authorization token.
605
+ # @return [CancelSingleClassResponse] Response from the API call.
606
+ def cancel_single_class(version,
607
+ request,
608
+ site_id,
609
+ authorization: nil)
610
+ @api_call
611
+ .request(new_request_builder(HttpMethodEnum::POST,
612
+ '/public/v{version}/class/cancelsingleclass',
613
+ Server::DEFAULT)
614
+ .template_param(new_parameter(version, key: 'version')
615
+ .should_encode(true))
616
+ .body_param(new_parameter(request))
617
+ .header_param(new_parameter(site_id, key: 'siteId'))
618
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
619
+ .header_param(new_parameter(authorization, key: 'authorization'))
620
+ .header_param(new_parameter('application/json', key: 'accept'))
621
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
622
+ .auth(Single.new('API-Key')))
623
+ .response(new_response_handler
624
+ .deserializer(APIHelper.method(:custom_type_deserializer))
625
+ .deserialize_into(CancelSingleClassResponse.method(:from_hash)))
626
+ .execute
627
+ end
628
+
629
+ # Remove a client from a class.
630
+ # @param [String] version Required parameter: version of the api.
631
+ # @param [RemoveClientFromClassRequest] request Required parameter: TODO:
632
+ # type description here
633
+ # @param [String] site_id Required parameter: ID of the site from which to
634
+ # pull data.
635
+ # @param [String] authorization Optional parameter: A staff user
636
+ # authorization token.
637
+ # @return [RemoveClientFromClassResponse] Response from the API call.
638
+ def remove_client_from_class(version,
639
+ request,
640
+ site_id,
641
+ authorization: nil)
642
+ @api_call
643
+ .request(new_request_builder(HttpMethodEnum::POST,
644
+ '/public/v{version}/class/removeclientfromclass',
645
+ Server::DEFAULT)
646
+ .template_param(new_parameter(version, key: 'version')
647
+ .should_encode(true))
648
+ .body_param(new_parameter(request))
649
+ .header_param(new_parameter(site_id, key: 'siteId'))
650
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
651
+ .header_param(new_parameter(authorization, key: 'authorization'))
652
+ .header_param(new_parameter('application/json', key: 'accept'))
653
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
654
+ .auth(Single.new('API-Key')))
655
+ .response(new_response_handler
656
+ .deserializer(APIHelper.method(:custom_type_deserializer))
657
+ .deserialize_into(RemoveClientFromClassResponse.method(:from_hash)))
658
+ .execute
659
+ end
660
+
661
+ # This endpoint can be utilized for removing multiple clients from multiple
662
+ # classes in one request.
663
+ # @param [String] version Required parameter: version of the api.
664
+ # @param [RemoveClientsFromClassesRequest] request Required parameter: TODO:
665
+ # type description here
666
+ # @param [String] site_id Required parameter: ID of the site from which to
667
+ # pull data.
668
+ # @param [String] authorization Optional parameter: A staff user
669
+ # authorization token.
670
+ # @return [RemoveClientsFromClassesResponse] Response from the API call.
671
+ def remove_clients_from_classes(version,
672
+ request,
673
+ site_id,
674
+ authorization: nil)
675
+ @api_call
676
+ .request(new_request_builder(HttpMethodEnum::POST,
677
+ '/public/v{version}/class/removeclientsfromclasses',
678
+ Server::DEFAULT)
679
+ .template_param(new_parameter(version, key: 'version')
680
+ .should_encode(true))
681
+ .body_param(new_parameter(request))
682
+ .header_param(new_parameter(site_id, key: 'siteId'))
683
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
684
+ .header_param(new_parameter(authorization, key: 'authorization'))
685
+ .header_param(new_parameter('application/json', key: 'accept'))
686
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
687
+ .auth(Single.new('API-Key')))
688
+ .response(new_response_handler
689
+ .deserializer(APIHelper.method(:custom_type_deserializer))
690
+ .deserialize_into(RemoveClientsFromClassesResponse.method(:from_hash)))
691
+ .execute
692
+ end
693
+
694
+ # This endpoint does not return a response. If a call to this endpoint
695
+ # results in a 200 OK HTTP status code, then the call was successful.
696
+ # @param [String] version Required parameter: version of the api.
697
+ # @param [Array[Integer]] request_waitlist_entry_ids Required parameter: A
698
+ # list of `WaitlistEntryIds` to remove from the waiting list.
699
+ # @param [String] site_id Required parameter: ID of the site from which to
700
+ # pull data.
701
+ # @param [String] authorization Optional parameter: A staff user
702
+ # authorization token.
703
+ # @return [Object] Response from the API call.
704
+ def remove_from_waitlist(version,
705
+ request_waitlist_entry_ids,
706
+ site_id,
707
+ authorization: nil)
708
+ @api_call
709
+ .request(new_request_builder(HttpMethodEnum::POST,
710
+ '/public/v{version}/class/removefromwaitlist',
711
+ Server::DEFAULT)
712
+ .template_param(new_parameter(version, key: 'version')
713
+ .should_encode(true))
714
+ .query_param(new_parameter(request_waitlist_entry_ids, key: 'request.waitlistEntryIds'))
715
+ .header_param(new_parameter(site_id, key: 'siteId'))
716
+ .header_param(new_parameter(authorization, key: 'authorization'))
717
+ .header_param(new_parameter('application/json', key: 'accept'))
718
+ .auth(Single.new('API-Key')))
719
+ .response(new_response_handler
720
+ .deserializer(APIHelper.method(:json_deserialize)))
721
+ .execute
722
+ end
723
+
724
+ # Substitute a class teacher.
725
+ # @param [String] version Required parameter: version of the api.
726
+ # @param [SubstituteClassTeacherRequest] request Required parameter: TODO:
727
+ # type description here
728
+ # @param [String] site_id Required parameter: ID of the site from which to
729
+ # pull data.
730
+ # @param [String] authorization Optional parameter: A staff user
731
+ # authorization token.
732
+ # @return [SubstituteClassTeacherResponse] Response from the API call.
733
+ def substitute_class_teacher(version,
734
+ request,
735
+ site_id,
736
+ authorization: nil)
737
+ @api_call
738
+ .request(new_request_builder(HttpMethodEnum::POST,
739
+ '/public/v{version}/class/substituteclassteacher',
740
+ Server::DEFAULT)
741
+ .template_param(new_parameter(version, key: 'version')
742
+ .should_encode(true))
743
+ .body_param(new_parameter(request))
744
+ .header_param(new_parameter(site_id, key: 'siteId'))
745
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
746
+ .header_param(new_parameter(authorization, key: 'authorization'))
747
+ .header_param(new_parameter('application/json', key: 'accept'))
748
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
749
+ .auth(Single.new('API-Key')))
750
+ .response(new_response_handler
751
+ .deserializer(APIHelper.method(:custom_type_deserializer))
752
+ .deserialize_into(SubstituteClassTeacherResponse.method(:from_hash)))
753
+ .execute
754
+ end
755
+
756
+ # This endpoint updates a class schedule.
757
+ # @param [String] version Required parameter: version of the api.
758
+ # @param [UpdateClassEnrollmentScheduleRequest] request Required parameter:
759
+ # TODO: type description here
760
+ # @param [String] site_id Required parameter: ID of the site from which to
761
+ # pull data.
762
+ # @param [String] authorization Optional parameter: A staff user
763
+ # authorization token.
764
+ # @return [WrittenClassSchedulesInfo] Response from the API call.
765
+ def update_class_schedule(version,
766
+ request,
767
+ site_id,
768
+ authorization: nil)
769
+ @api_call
770
+ .request(new_request_builder(HttpMethodEnum::POST,
771
+ '/public/v{version}/class/updateclassschedule',
772
+ Server::DEFAULT)
773
+ .template_param(new_parameter(version, key: 'version')
774
+ .should_encode(true))
775
+ .body_param(new_parameter(request))
776
+ .header_param(new_parameter(site_id, key: 'siteId'))
777
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
778
+ .header_param(new_parameter(authorization, key: 'authorization'))
779
+ .header_param(new_parameter('application/json', key: 'accept'))
780
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
781
+ .auth(Single.new('API-Key')))
782
+ .response(new_response_handler
783
+ .deserializer(APIHelper.method(:custom_type_deserializer))
784
+ .deserialize_into(WrittenClassSchedulesInfo.method(:from_hash)))
785
+ .execute
786
+ end
787
+
788
+ # This endpoint updates the notes of class instances based on the schedule's
789
+ # schedule ID.
790
+ # Note: Every coming class instance for the given ScheduleID will have the
791
+ # notes updated the same way.
792
+ # @param [String] version Required parameter: version of the api.
793
+ # @param [Integer] class_schedule_id Required parameter: TODO: type
794
+ # description here
795
+ # @param [UpdateClassScheduleNotesRequest] request Required parameter: TODO:
796
+ # type description here
797
+ # @param [String] site_id Required parameter: ID of the site from which to
798
+ # pull data.
799
+ # @param [String] authorization Optional parameter: A staff user
800
+ # authorization token.
801
+ # @return [void] Response from the API call.
802
+ def update_class_schedule_notes(version,
803
+ class_schedule_id,
804
+ request,
805
+ site_id,
806
+ authorization: nil)
807
+ @api_call
808
+ .request(new_request_builder(HttpMethodEnum::PATCH,
809
+ '/public/v{version}/class/updateclassschedulenotes/{classScheduleId}',
810
+ Server::DEFAULT)
811
+ .template_param(new_parameter(version, key: 'version')
812
+ .should_encode(true))
813
+ .template_param(new_parameter(class_schedule_id, key: 'classScheduleId')
814
+ .should_encode(true))
815
+ .body_param(new_parameter(request))
816
+ .header_param(new_parameter(site_id, key: 'siteId'))
817
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
818
+ .header_param(new_parameter(authorization, key: 'authorization'))
819
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
820
+ .auth(Single.new('API-Key')))
821
+ .response(new_response_handler
822
+ .is_response_void(true))
823
+ .execute
824
+ end
825
+ end
826
+ end