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,63 @@
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
+ # SubstituteClassTeacherResponse Model.
8
+ class SubstituteClassTeacherResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Represents a single class instance. Used in SubstituteClassTeacher
13
+ # endpoint.
14
+ # @return [SubstituteTeacherClass]
15
+ attr_accessor :mclass
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['mclass'] = 'Class'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ %w[
27
+ mclass
28
+ ]
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ []
34
+ end
35
+
36
+ def initialize(mclass = SKIP)
37
+ @mclass = mclass unless mclass == SKIP
38
+ end
39
+
40
+ # Creates an instance of the object from a hash.
41
+ def self.from_hash(hash)
42
+ return nil unless hash
43
+
44
+ # Extract variables from the hash.
45
+ mclass = SubstituteTeacherClass.from_hash(hash['Class']) if hash['Class']
46
+
47
+ # Create object from extracted values.
48
+ SubstituteClassTeacherResponse.new(mclass)
49
+ end
50
+
51
+ # Provides a human-readable string representation of the object.
52
+ def to_s
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} mclass: #{@mclass}>"
55
+ end
56
+
57
+ # Provides a debugging-friendly string with detailed object information.
58
+ def inspect
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} mclass: #{@mclass.inspect}>"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,318 @@
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. Used in SubstituteClassTeacher endpoint.
9
+ class SubstituteTeacherClass < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The class schedule ID of the requested class.
14
+ # @return [Integer]
15
+ attr_accessor :class_schedule_id
16
+
17
+ # The class schedule ID of the requested class.
18
+ # @return [Location]
19
+ attr_accessor :location
20
+
21
+ # The total number of bookings allowed in the class.
22
+ # @return [Integer]
23
+ attr_accessor :max_capacity
24
+
25
+ # The total number of online bookings allowed in the class.
26
+ # @return [Integer]
27
+ attr_accessor :web_capacity
28
+
29
+ # The total number of clients who are booked into the class prior to this
30
+ # call being made.
31
+ # @return [Integer]
32
+ attr_accessor :total_booked
33
+
34
+ # The total number of booked clients who are on the waiting list for the
35
+ # class prior to this call being made.
36
+ # @return [Integer]
37
+ attr_accessor :total_booked_waitlist
38
+
39
+ # The total number of bookings in the class made by online users, prior to
40
+ # this call being made. This property is the current number of bookings
41
+ # counted toward the `WebCapacity` limit.
42
+ # @return [Integer]
43
+ attr_accessor :web_booked
44
+
45
+ # Identifies the semester assigned to this class.
46
+ # @return [Integer]
47
+ attr_accessor :semester_id
48
+
49
+ # When `true`, indicates that the class has been canceled.<br />
50
+ # When `false`, indicates that the class has not been canceled and may still
51
+ # be bookable.
52
+ # @return [TrueClass | FalseClass]
53
+ attr_accessor :is_canceled
54
+
55
+ # When `true`, indicates that the class is being taught by a substitute
56
+ # teacher.
57
+ # @return [TrueClass | FalseClass]
58
+ attr_accessor :substitute
59
+
60
+ # When `true`, indicates that the class is being shown to clients in
61
+ # consumer mode.
62
+ # @return [TrueClass | FalseClass]
63
+ attr_accessor :active
64
+
65
+ # When `true`, indicates that the class has a waiting list and there is
66
+ # space available on the waiting list for another client.<br />
67
+ # When `false`, indicates either that the class does not have a waiting list
68
+ # or there is no space available on the class waiting list.
69
+ # @return [TrueClass | FalseClass]
70
+ attr_accessor :is_waitlist_available
71
+
72
+ # When `true`, indicates that this class is should not be shown to clients
73
+ # when `IsCancelled` is `true`.<br />
74
+ # When `false`, indicates that this class is should be shown to clients when
75
+ # `IsCancelled` is `true`.<br />
76
+ # This property can be ignored when the `IsCancelled` property is `false`.
77
+ # @return [TrueClass | FalseClass]
78
+ attr_accessor :hide_cancel
79
+
80
+ # The unique identifier of the class.
81
+ # @return [Integer]
82
+ attr_accessor :id
83
+
84
+ # When `true`, indicates that the class can be booked.<br />
85
+ # When `false`, that the class cannot be booked at this time.
86
+ # @return [TrueClass | FalseClass]
87
+ attr_accessor :is_available
88
+
89
+ # The date and time that this class is scheduled to start.
90
+ # @return [DateTime]
91
+ attr_accessor :start_date_time
92
+
93
+ # The date and time when this class is scheduled to end.
94
+ # @return [DateTime]
95
+ attr_accessor :end_date_time
96
+
97
+ # The last time the class was modified.
98
+ # @return [DateTime]
99
+ attr_accessor :last_modified_date_time
100
+
101
+ # Represents a class definition. The class meets at the start time, goes
102
+ # until the end time.
103
+ # @return [ClassDescription]
104
+ attr_accessor :class_description
105
+
106
+ # The Staff
107
+ # @return [Staff]
108
+ attr_accessor :staff
109
+
110
+ # The URL for the pre-recorded live stream for the class if hosted on the
111
+ # mindbody virtual wellness platform
112
+ # @return [String]
113
+ attr_accessor :virtual_stream_link
114
+
115
+ # A mapping from model property names to API property names.
116
+ def self.names
117
+ @_hash = {} if @_hash.nil?
118
+ @_hash['class_schedule_id'] = 'ClassScheduleId'
119
+ @_hash['location'] = 'Location'
120
+ @_hash['max_capacity'] = 'MaxCapacity'
121
+ @_hash['web_capacity'] = 'WebCapacity'
122
+ @_hash['total_booked'] = 'TotalBooked'
123
+ @_hash['total_booked_waitlist'] = 'TotalBookedWaitlist'
124
+ @_hash['web_booked'] = 'WebBooked'
125
+ @_hash['semester_id'] = 'SemesterId'
126
+ @_hash['is_canceled'] = 'IsCanceled'
127
+ @_hash['substitute'] = 'Substitute'
128
+ @_hash['active'] = 'Active'
129
+ @_hash['is_waitlist_available'] = 'IsWaitlistAvailable'
130
+ @_hash['hide_cancel'] = 'HideCancel'
131
+ @_hash['id'] = 'Id'
132
+ @_hash['is_available'] = 'IsAvailable'
133
+ @_hash['start_date_time'] = 'StartDateTime'
134
+ @_hash['end_date_time'] = 'EndDateTime'
135
+ @_hash['last_modified_date_time'] = 'LastModifiedDateTime'
136
+ @_hash['class_description'] = 'ClassDescription'
137
+ @_hash['staff'] = 'Staff'
138
+ @_hash['virtual_stream_link'] = 'VirtualStreamLink'
139
+ @_hash
140
+ end
141
+
142
+ # An array for optional fields
143
+ def self.optionals
144
+ %w[
145
+ class_schedule_id
146
+ location
147
+ max_capacity
148
+ web_capacity
149
+ total_booked
150
+ total_booked_waitlist
151
+ web_booked
152
+ semester_id
153
+ is_canceled
154
+ substitute
155
+ active
156
+ is_waitlist_available
157
+ hide_cancel
158
+ id
159
+ is_available
160
+ start_date_time
161
+ end_date_time
162
+ last_modified_date_time
163
+ class_description
164
+ staff
165
+ virtual_stream_link
166
+ ]
167
+ end
168
+
169
+ # An array for nullable fields
170
+ def self.nullables
171
+ []
172
+ end
173
+
174
+ def initialize(class_schedule_id = SKIP, location = SKIP,
175
+ max_capacity = SKIP, web_capacity = SKIP,
176
+ total_booked = SKIP, total_booked_waitlist = SKIP,
177
+ web_booked = SKIP, semester_id = SKIP, is_canceled = SKIP,
178
+ substitute = SKIP, active = SKIP,
179
+ is_waitlist_available = SKIP, hide_cancel = SKIP, id = SKIP,
180
+ is_available = SKIP, start_date_time = SKIP,
181
+ end_date_time = SKIP, last_modified_date_time = SKIP,
182
+ class_description = SKIP, staff = SKIP,
183
+ virtual_stream_link = SKIP)
184
+ @class_schedule_id = class_schedule_id unless class_schedule_id == SKIP
185
+ @location = location unless location == SKIP
186
+ @max_capacity = max_capacity unless max_capacity == SKIP
187
+ @web_capacity = web_capacity unless web_capacity == SKIP
188
+ @total_booked = total_booked unless total_booked == SKIP
189
+ @total_booked_waitlist = total_booked_waitlist unless total_booked_waitlist == SKIP
190
+ @web_booked = web_booked unless web_booked == SKIP
191
+ @semester_id = semester_id unless semester_id == SKIP
192
+ @is_canceled = is_canceled unless is_canceled == SKIP
193
+ @substitute = substitute unless substitute == SKIP
194
+ @active = active unless active == SKIP
195
+ @is_waitlist_available = is_waitlist_available unless is_waitlist_available == SKIP
196
+ @hide_cancel = hide_cancel unless hide_cancel == SKIP
197
+ @id = id unless id == SKIP
198
+ @is_available = is_available unless is_available == SKIP
199
+ @start_date_time = start_date_time unless start_date_time == SKIP
200
+ @end_date_time = end_date_time unless end_date_time == SKIP
201
+ @last_modified_date_time = last_modified_date_time unless last_modified_date_time == SKIP
202
+ @class_description = class_description unless class_description == SKIP
203
+ @staff = staff unless staff == SKIP
204
+ @virtual_stream_link = virtual_stream_link unless virtual_stream_link == SKIP
205
+ end
206
+
207
+ # Creates an instance of the object from a hash.
208
+ def self.from_hash(hash)
209
+ return nil unless hash
210
+
211
+ # Extract variables from the hash.
212
+ class_schedule_id =
213
+ hash.key?('ClassScheduleId') ? hash['ClassScheduleId'] : SKIP
214
+ location = Location.from_hash(hash['Location']) if hash['Location']
215
+ max_capacity = hash.key?('MaxCapacity') ? hash['MaxCapacity'] : SKIP
216
+ web_capacity = hash.key?('WebCapacity') ? hash['WebCapacity'] : SKIP
217
+ total_booked = hash.key?('TotalBooked') ? hash['TotalBooked'] : SKIP
218
+ total_booked_waitlist =
219
+ hash.key?('TotalBookedWaitlist') ? hash['TotalBookedWaitlist'] : SKIP
220
+ web_booked = hash.key?('WebBooked') ? hash['WebBooked'] : SKIP
221
+ semester_id = hash.key?('SemesterId') ? hash['SemesterId'] : SKIP
222
+ is_canceled = hash.key?('IsCanceled') ? hash['IsCanceled'] : SKIP
223
+ substitute = hash.key?('Substitute') ? hash['Substitute'] : SKIP
224
+ active = hash.key?('Active') ? hash['Active'] : SKIP
225
+ is_waitlist_available =
226
+ hash.key?('IsWaitlistAvailable') ? hash['IsWaitlistAvailable'] : SKIP
227
+ hide_cancel = hash.key?('HideCancel') ? hash['HideCancel'] : SKIP
228
+ id = hash.key?('Id') ? hash['Id'] : SKIP
229
+ is_available = hash.key?('IsAvailable') ? hash['IsAvailable'] : SKIP
230
+ start_date_time = if hash.key?('StartDateTime')
231
+ (DateTimeHelper.from_rfc3339(hash['StartDateTime']) if hash['StartDateTime'])
232
+ else
233
+ SKIP
234
+ end
235
+ end_date_time = if hash.key?('EndDateTime')
236
+ (DateTimeHelper.from_rfc3339(hash['EndDateTime']) if hash['EndDateTime'])
237
+ else
238
+ SKIP
239
+ end
240
+ last_modified_date_time = if hash.key?('LastModifiedDateTime')
241
+ (DateTimeHelper.from_rfc3339(hash['LastModifiedDateTime']) if hash['LastModifiedDateTime'])
242
+ else
243
+ SKIP
244
+ end
245
+ class_description = ClassDescription.from_hash(hash['ClassDescription']) if
246
+ hash['ClassDescription']
247
+ staff = Staff.from_hash(hash['Staff']) if hash['Staff']
248
+ virtual_stream_link =
249
+ hash.key?('VirtualStreamLink') ? hash['VirtualStreamLink'] : SKIP
250
+
251
+ # Create object from extracted values.
252
+ SubstituteTeacherClass.new(class_schedule_id,
253
+ location,
254
+ max_capacity,
255
+ web_capacity,
256
+ total_booked,
257
+ total_booked_waitlist,
258
+ web_booked,
259
+ semester_id,
260
+ is_canceled,
261
+ substitute,
262
+ active,
263
+ is_waitlist_available,
264
+ hide_cancel,
265
+ id,
266
+ is_available,
267
+ start_date_time,
268
+ end_date_time,
269
+ last_modified_date_time,
270
+ class_description,
271
+ staff,
272
+ virtual_stream_link)
273
+ end
274
+
275
+ def to_custom_start_date_time
276
+ DateTimeHelper.to_rfc3339(start_date_time)
277
+ end
278
+
279
+ def to_custom_end_date_time
280
+ DateTimeHelper.to_rfc3339(end_date_time)
281
+ end
282
+
283
+ def to_custom_last_modified_date_time
284
+ DateTimeHelper.to_rfc3339(last_modified_date_time)
285
+ end
286
+
287
+ # Provides a human-readable string representation of the object.
288
+ def to_s
289
+ class_name = self.class.name.split('::').last
290
+ "<#{class_name} class_schedule_id: #{@class_schedule_id}, location: #{@location},"\
291
+ " max_capacity: #{@max_capacity}, web_capacity: #{@web_capacity}, total_booked:"\
292
+ " #{@total_booked}, total_booked_waitlist: #{@total_booked_waitlist}, web_booked:"\
293
+ " #{@web_booked}, semester_id: #{@semester_id}, is_canceled: #{@is_canceled}, substitute:"\
294
+ " #{@substitute}, active: #{@active}, is_waitlist_available: #{@is_waitlist_available},"\
295
+ " hide_cancel: #{@hide_cancel}, id: #{@id}, is_available: #{@is_available}, start_date_time:"\
296
+ " #{@start_date_time}, end_date_time: #{@end_date_time}, last_modified_date_time:"\
297
+ " #{@last_modified_date_time}, class_description: #{@class_description}, staff: #{@staff},"\
298
+ " virtual_stream_link: #{@virtual_stream_link}>"
299
+ end
300
+
301
+ # Provides a debugging-friendly string with detailed object information.
302
+ def inspect
303
+ class_name = self.class.name.split('::').last
304
+ "<#{class_name} class_schedule_id: #{@class_schedule_id.inspect}, location:"\
305
+ " #{@location.inspect}, max_capacity: #{@max_capacity.inspect}, web_capacity:"\
306
+ " #{@web_capacity.inspect}, total_booked: #{@total_booked.inspect}, total_booked_waitlist:"\
307
+ " #{@total_booked_waitlist.inspect}, web_booked: #{@web_booked.inspect}, semester_id:"\
308
+ " #{@semester_id.inspect}, is_canceled: #{@is_canceled.inspect}, substitute:"\
309
+ " #{@substitute.inspect}, active: #{@active.inspect}, is_waitlist_available:"\
310
+ " #{@is_waitlist_available.inspect}, hide_cancel: #{@hide_cancel.inspect}, id:"\
311
+ " #{@id.inspect}, is_available: #{@is_available.inspect}, start_date_time:"\
312
+ " #{@start_date_time.inspect}, end_date_time: #{@end_date_time.inspect},"\
313
+ " last_modified_date_time: #{@last_modified_date_time.inspect}, class_description:"\
314
+ " #{@class_description.inspect}, staff: #{@staff.inspect}, virtual_stream_link:"\
315
+ " #{@virtual_stream_link.inspect}>"
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,162 @@
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
+ # SuspendContractRequest Model.
9
+ class SuspendContractRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The ID of the client.
14
+ # @return [String]
15
+ attr_accessor :client_id
16
+
17
+ # The unique ID of the sale of the contract.
18
+ # @return [Integer]
19
+ attr_accessor :client_contract_id
20
+
21
+ # ex. Illness, Injury, Vacation. (Note this can be customized by each
22
+ # studio).
23
+ # If provided, then Duration, DurationUnit, and SuspensionFee (if
24
+ # applicable) are automatically applied. Restrict Days are not supported.
25
+ # @return [String]
26
+ attr_accessor :suspension_type
27
+
28
+ # The contract suspension start date.
29
+ # Default: *today’s date*
30
+ # @return [DateTime]
31
+ attr_accessor :suspension_start
32
+
33
+ # The number of (DurationUnit) the suspension lasts.
34
+ # @return [Integer]
35
+ attr_accessor :duration
36
+
37
+ # The unit applied to Duration.
38
+ # @return [Integer]
39
+ attr_accessor :duration_unit
40
+
41
+ # When `true`, indicates that suspension is open ended. Also, when `true`,
42
+ # then Duration and DurationUnit are ignored.
43
+ # Default: *false*
44
+ # @return [TrueClass | FalseClass]
45
+ attr_accessor :open_ended
46
+
47
+ # The comments for suspending a contract.
48
+ # @return [String]
49
+ attr_accessor :suspension_notes
50
+
51
+ # An optional charge that clients who wish to pause a contract for a set
52
+ # period of time can be charged.
53
+ # @return [Float]
54
+ attr_accessor :suspension_fee
55
+
56
+ # A mapping from model property names to API property names.
57
+ def self.names
58
+ @_hash = {} if @_hash.nil?
59
+ @_hash['client_id'] = 'ClientId'
60
+ @_hash['client_contract_id'] = 'ClientContractId'
61
+ @_hash['suspension_type'] = 'SuspensionType'
62
+ @_hash['suspension_start'] = 'SuspensionStart'
63
+ @_hash['duration'] = 'Duration'
64
+ @_hash['duration_unit'] = 'DurationUnit'
65
+ @_hash['open_ended'] = 'OpenEnded'
66
+ @_hash['suspension_notes'] = 'SuspensionNotes'
67
+ @_hash['suspension_fee'] = 'SuspensionFee'
68
+ @_hash
69
+ end
70
+
71
+ # An array for optional fields
72
+ def self.optionals
73
+ %w[
74
+ suspension_type
75
+ suspension_start
76
+ duration
77
+ duration_unit
78
+ open_ended
79
+ suspension_notes
80
+ suspension_fee
81
+ ]
82
+ end
83
+
84
+ # An array for nullable fields
85
+ def self.nullables
86
+ []
87
+ end
88
+
89
+ def initialize(client_id = nil, client_contract_id = nil,
90
+ suspension_type = SKIP, suspension_start = SKIP,
91
+ duration = SKIP, duration_unit = SKIP, open_ended = SKIP,
92
+ suspension_notes = SKIP, suspension_fee = SKIP)
93
+ @client_id = client_id
94
+ @client_contract_id = client_contract_id
95
+ @suspension_type = suspension_type unless suspension_type == SKIP
96
+ @suspension_start = suspension_start unless suspension_start == SKIP
97
+ @duration = duration unless duration == SKIP
98
+ @duration_unit = duration_unit unless duration_unit == SKIP
99
+ @open_ended = open_ended unless open_ended == SKIP
100
+ @suspension_notes = suspension_notes unless suspension_notes == SKIP
101
+ @suspension_fee = suspension_fee unless suspension_fee == SKIP
102
+ end
103
+
104
+ # Creates an instance of the object from a hash.
105
+ def self.from_hash(hash)
106
+ return nil unless hash
107
+
108
+ # Extract variables from the hash.
109
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : nil
110
+ client_contract_id =
111
+ hash.key?('ClientContractId') ? hash['ClientContractId'] : nil
112
+ suspension_type =
113
+ hash.key?('SuspensionType') ? hash['SuspensionType'] : SKIP
114
+ suspension_start = if hash.key?('SuspensionStart')
115
+ (DateTimeHelper.from_rfc3339(hash['SuspensionStart']) if hash['SuspensionStart'])
116
+ else
117
+ SKIP
118
+ end
119
+ duration = hash.key?('Duration') ? hash['Duration'] : SKIP
120
+ duration_unit = hash.key?('DurationUnit') ? hash['DurationUnit'] : SKIP
121
+ open_ended = hash.key?('OpenEnded') ? hash['OpenEnded'] : SKIP
122
+ suspension_notes =
123
+ hash.key?('SuspensionNotes') ? hash['SuspensionNotes'] : SKIP
124
+ suspension_fee = hash.key?('SuspensionFee') ? hash['SuspensionFee'] : SKIP
125
+
126
+ # Create object from extracted values.
127
+ SuspendContractRequest.new(client_id,
128
+ client_contract_id,
129
+ suspension_type,
130
+ suspension_start,
131
+ duration,
132
+ duration_unit,
133
+ open_ended,
134
+ suspension_notes,
135
+ suspension_fee)
136
+ end
137
+
138
+ def to_custom_suspension_start
139
+ DateTimeHelper.to_rfc3339(suspension_start)
140
+ end
141
+
142
+ # Provides a human-readable string representation of the object.
143
+ def to_s
144
+ class_name = self.class.name.split('::').last
145
+ "<#{class_name} client_id: #{@client_id}, client_contract_id: #{@client_contract_id},"\
146
+ " suspension_type: #{@suspension_type}, suspension_start: #{@suspension_start}, duration:"\
147
+ " #{@duration}, duration_unit: #{@duration_unit}, open_ended: #{@open_ended},"\
148
+ " suspension_notes: #{@suspension_notes}, suspension_fee: #{@suspension_fee}>"
149
+ end
150
+
151
+ # Provides a debugging-friendly string with detailed object information.
152
+ def inspect
153
+ class_name = self.class.name.split('::').last
154
+ "<#{class_name} client_id: #{@client_id.inspect}, client_contract_id:"\
155
+ " #{@client_contract_id.inspect}, suspension_type: #{@suspension_type.inspect},"\
156
+ " suspension_start: #{@suspension_start.inspect}, duration: #{@duration.inspect},"\
157
+ " duration_unit: #{@duration_unit.inspect}, open_ended: #{@open_ended.inspect},"\
158
+ " suspension_notes: #{@suspension_notes.inspect}, suspension_fee:"\
159
+ " #{@suspension_fee.inspect}>"
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,62 @@
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
+ # SuspendContractResponse Model.
8
+ class SuspendContractResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A client contract.
13
+ # @return [ClientContract]
14
+ attr_accessor :contract
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['contract'] = 'Contract'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ contract
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(contract = SKIP)
36
+ @contract = contract unless contract == SKIP
37
+ end
38
+
39
+ # Creates an instance of the object from a hash.
40
+ def self.from_hash(hash)
41
+ return nil unless hash
42
+
43
+ # Extract variables from the hash.
44
+ contract = ClientContract.from_hash(hash['Contract']) if hash['Contract']
45
+
46
+ # Create object from extracted values.
47
+ SuspendContractResponse.new(contract)
48
+ end
49
+
50
+ # Provides a human-readable string representation of the object.
51
+ def to_s
52
+ class_name = self.class.name.split('::').last
53
+ "<#{class_name} contract: #{@contract}>"
54
+ end
55
+
56
+ # Provides a debugging-friendly string with detailed object information.
57
+ def inspect
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} contract: #{@contract.inspect}>"
60
+ end
61
+ end
62
+ end