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,187 @@
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
+ # AddAvailabilitiesRequest Model.
9
+ class AddAvailabilitiesRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # When `true`, the request ensures that its parameters are valid without
14
+ # affecting real data.
15
+ # When `false`, the request performs as intended and may affect live client
16
+ # data.
17
+ # (optional) Defaults to false.
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :test
20
+
21
+ # Location of availability.
22
+ # <br />Not used when IsUnavailable is `true`.
23
+ # @return [Integer]
24
+ attr_accessor :location_id
25
+
26
+ # A list of requested staff IDs.<br />
27
+ # (optional) Defaults to staff ID of user credentials. Use 0 for all.
28
+ # @return [Array[Integer]]
29
+ attr_accessor :staff_i_ds
30
+
31
+ # A list of program IDs.<br />
32
+ # (optional) Defaults to all.
33
+ # <br />Not used when IsUnavailable is true.
34
+ # @return [Array[Integer]]
35
+ attr_accessor :program_i_ds
36
+
37
+ # The start date and time of the new availabilities or unavailabilities.
38
+ # @return [DateTime]
39
+ attr_accessor :start_date_time
40
+
41
+ # The end date and time of the new availabilities or unavailabilities.
42
+ # @return [DateTime]
43
+ attr_accessor :end_date_time
44
+
45
+ # The days of the week to set.<br />
46
+ # (optional) Defaults to all.
47
+ # @return [Array[DaysOfWeekEnum]]
48
+ attr_accessor :days_of_week
49
+
50
+ # Description of unavalability.
51
+ # <br />Only used when IsUnavailable is true.
52
+ # @return [String]
53
+ attr_accessor :unavailable_description
54
+
55
+ # When `true`, indicates that unavailability is getting added. When `false`,
56
+ # indicates that availability is getting added.
57
+ # Default: **false**
58
+ # @return [TrueClass | FalseClass]
59
+ attr_accessor :is_unavailable
60
+
61
+ # Sets the public display of the availability.<br
62
+ # /><ul><li>Show</li><li>Mask</li><li>Hide</li></ul>
63
+ # (optional) Defaults to Show.
64
+ # @return [PublicDisplay1Enum]
65
+ attr_accessor :public_display
66
+
67
+ # A mapping from model property names to API property names.
68
+ def self.names
69
+ @_hash = {} if @_hash.nil?
70
+ @_hash['test'] = 'Test'
71
+ @_hash['location_id'] = 'LocationID'
72
+ @_hash['staff_i_ds'] = 'StaffIDs'
73
+ @_hash['program_i_ds'] = 'ProgramIDs'
74
+ @_hash['start_date_time'] = 'StartDateTime'
75
+ @_hash['end_date_time'] = 'EndDateTime'
76
+ @_hash['days_of_week'] = 'DaysOfWeek'
77
+ @_hash['unavailable_description'] = 'UnavailableDescription'
78
+ @_hash['is_unavailable'] = 'IsUnavailable'
79
+ @_hash['public_display'] = 'PublicDisplay'
80
+ @_hash
81
+ end
82
+
83
+ # An array for optional fields
84
+ def self.optionals
85
+ %w[
86
+ test
87
+ location_id
88
+ staff_i_ds
89
+ program_i_ds
90
+ start_date_time
91
+ end_date_time
92
+ days_of_week
93
+ unavailable_description
94
+ is_unavailable
95
+ public_display
96
+ ]
97
+ end
98
+
99
+ # An array for nullable fields
100
+ def self.nullables
101
+ []
102
+ end
103
+
104
+ def initialize(test = SKIP, location_id = SKIP, staff_i_ds = SKIP,
105
+ program_i_ds = SKIP, start_date_time = SKIP,
106
+ end_date_time = SKIP, days_of_week = SKIP,
107
+ unavailable_description = SKIP, is_unavailable = SKIP,
108
+ public_display = SKIP)
109
+ @test = test unless test == SKIP
110
+ @location_id = location_id unless location_id == SKIP
111
+ @staff_i_ds = staff_i_ds unless staff_i_ds == SKIP
112
+ @program_i_ds = program_i_ds unless program_i_ds == SKIP
113
+ @start_date_time = start_date_time unless start_date_time == SKIP
114
+ @end_date_time = end_date_time unless end_date_time == SKIP
115
+ @days_of_week = days_of_week unless days_of_week == SKIP
116
+ @unavailable_description = unavailable_description unless unavailable_description == SKIP
117
+ @is_unavailable = is_unavailable unless is_unavailable == SKIP
118
+ @public_display = public_display unless public_display == SKIP
119
+ end
120
+
121
+ # Creates an instance of the object from a hash.
122
+ def self.from_hash(hash)
123
+ return nil unless hash
124
+
125
+ # Extract variables from the hash.
126
+ test = hash.key?('Test') ? hash['Test'] : SKIP
127
+ location_id = hash.key?('LocationID') ? hash['LocationID'] : SKIP
128
+ staff_i_ds = hash.key?('StaffIDs') ? hash['StaffIDs'] : SKIP
129
+ program_i_ds = hash.key?('ProgramIDs') ? hash['ProgramIDs'] : SKIP
130
+ start_date_time = if hash.key?('StartDateTime')
131
+ (DateTimeHelper.from_rfc3339(hash['StartDateTime']) if hash['StartDateTime'])
132
+ else
133
+ SKIP
134
+ end
135
+ end_date_time = if hash.key?('EndDateTime')
136
+ (DateTimeHelper.from_rfc3339(hash['EndDateTime']) if hash['EndDateTime'])
137
+ else
138
+ SKIP
139
+ end
140
+ days_of_week = hash.key?('DaysOfWeek') ? hash['DaysOfWeek'] : SKIP
141
+ unavailable_description =
142
+ hash.key?('UnavailableDescription') ? hash['UnavailableDescription'] : SKIP
143
+ is_unavailable = hash.key?('IsUnavailable') ? hash['IsUnavailable'] : SKIP
144
+ public_display = hash.key?('PublicDisplay') ? hash['PublicDisplay'] : SKIP
145
+
146
+ # Create object from extracted values.
147
+ AddAvailabilitiesRequest.new(test,
148
+ location_id,
149
+ staff_i_ds,
150
+ program_i_ds,
151
+ start_date_time,
152
+ end_date_time,
153
+ days_of_week,
154
+ unavailable_description,
155
+ is_unavailable,
156
+ public_display)
157
+ end
158
+
159
+ def to_custom_start_date_time
160
+ DateTimeHelper.to_rfc3339(start_date_time)
161
+ end
162
+
163
+ def to_custom_end_date_time
164
+ DateTimeHelper.to_rfc3339(end_date_time)
165
+ end
166
+
167
+ # Provides a human-readable string representation of the object.
168
+ def to_s
169
+ class_name = self.class.name.split('::').last
170
+ "<#{class_name} test: #{@test}, location_id: #{@location_id}, staff_i_ds: #{@staff_i_ds},"\
171
+ " program_i_ds: #{@program_i_ds}, start_date_time: #{@start_date_time}, end_date_time:"\
172
+ " #{@end_date_time}, days_of_week: #{@days_of_week}, unavailable_description:"\
173
+ " #{@unavailable_description}, is_unavailable: #{@is_unavailable}, public_display:"\
174
+ " #{@public_display}>"
175
+ end
176
+
177
+ # Provides a debugging-friendly string with detailed object information.
178
+ def inspect
179
+ class_name = self.class.name.split('::').last
180
+ "<#{class_name} test: #{@test.inspect}, location_id: #{@location_id.inspect}, staff_i_ds:"\
181
+ " #{@staff_i_ds.inspect}, program_i_ds: #{@program_i_ds.inspect}, start_date_time:"\
182
+ " #{@start_date_time.inspect}, end_date_time: #{@end_date_time.inspect}, days_of_week:"\
183
+ " #{@days_of_week.inspect}, unavailable_description: #{@unavailable_description.inspect},"\
184
+ " is_unavailable: #{@is_unavailable.inspect}, public_display: #{@public_display.inspect}>"
185
+ end
186
+ end
187
+ end
@@ -0,0 +1,89 @@
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
+ # Add Availabilities Response Model
8
+ class AddAvailabilitiesResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Contains information about the staff.
13
+ # @return [Array[Staff1]]
14
+ attr_accessor :staff_members
15
+
16
+ # Contains information about the error.
17
+ # @return [Array[ApiError1]]
18
+ attr_accessor :errors
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['staff_members'] = 'StaffMembers'
24
+ @_hash['errors'] = 'Errors'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ staff_members
32
+ errors
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(staff_members = SKIP, errors = SKIP)
42
+ @staff_members = staff_members unless staff_members == SKIP
43
+ @errors = errors unless errors == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ # Parameter is an array, so we need to iterate through it
52
+ staff_members = nil
53
+ unless hash['StaffMembers'].nil?
54
+ staff_members = []
55
+ hash['StaffMembers'].each do |structure|
56
+ staff_members << (Staff1.from_hash(structure) if structure)
57
+ end
58
+ end
59
+
60
+ staff_members = SKIP unless hash.key?('StaffMembers')
61
+ # Parameter is an array, so we need to iterate through it
62
+ errors = nil
63
+ unless hash['Errors'].nil?
64
+ errors = []
65
+ hash['Errors'].each do |structure|
66
+ errors << (ApiError1.from_hash(structure) if structure)
67
+ end
68
+ end
69
+
70
+ errors = SKIP unless hash.key?('Errors')
71
+
72
+ # Create object from extracted values.
73
+ AddAvailabilitiesResponse.new(staff_members,
74
+ errors)
75
+ end
76
+
77
+ # Provides a human-readable string representation of the object.
78
+ def to_s
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} staff_members: #{@staff_members}, errors: #{@errors}>"
81
+ end
82
+
83
+ # Provides a debugging-friendly string with detailed object information.
84
+ def inspect
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} staff_members: #{@staff_members.inspect}, errors: #{@errors.inspect}>"
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,351 @@
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
+ # AddClassEnrollmentScheduleRequest Model.
9
+ class AddClassEnrollmentScheduleRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The Id of the class/enrollment description. This can be found in
14
+ # GetClassDescriptions.
15
+ # @return [Integer]
16
+ attr_accessor :class_description_id
17
+
18
+ # The Location Id of the enrollment schedule.
19
+ # @return [Integer]
20
+ attr_accessor :location_id
21
+
22
+ # The start date of the enrollment schedule.
23
+ # @return [DateTime]
24
+ attr_accessor :start_date
25
+
26
+ # The end date of the enrollment schedule.
27
+ # @return [DateTime]
28
+ attr_accessor :end_date
29
+
30
+ # Enrollment start time (use null or omit for TBD).
31
+ # @return [DateTime]
32
+ attr_accessor :start_time
33
+
34
+ # Enrollment end time (ignored if StartTime is null or omitted).
35
+ # @return [DateTime]
36
+ attr_accessor :end_time
37
+
38
+ # If the enrollment occurs on Sunday(s).
39
+ # @return [TrueClass | FalseClass]
40
+ attr_accessor :day_sunday
41
+
42
+ # If the enrollment occurs on Monday(s).
43
+ # @return [TrueClass | FalseClass]
44
+ attr_accessor :day_monday
45
+
46
+ # If the enrollment occurs on Tuesday(s).
47
+ # @return [TrueClass | FalseClass]
48
+ attr_accessor :day_tuesday
49
+
50
+ # If the enrollment occurs on Wednesday(s).
51
+ # @return [TrueClass | FalseClass]
52
+ attr_accessor :day_wednesday
53
+
54
+ # If the enrollment occurs on Thursday(s).
55
+ # @return [TrueClass | FalseClass]
56
+ attr_accessor :day_thursday
57
+
58
+ # If the enrollment occurs on Friday(s).
59
+ # @return [TrueClass | FalseClass]
60
+ attr_accessor :day_friday
61
+
62
+ # If the enrollment occurs on Saturday(s).
63
+ # @return [TrueClass | FalseClass]
64
+ attr_accessor :day_saturday
65
+
66
+ # The staff member teaching the enrollment.
67
+ # @return [Integer]
68
+ attr_accessor :staff_id
69
+
70
+ # The staff pay rate. Must be between 1-21.
71
+ # @return [Integer]
72
+ attr_accessor :staff_pay_rate
73
+
74
+ # The room where the enrollment is taking place.
75
+ # @return [Integer]
76
+ attr_accessor :resource_id
77
+
78
+ # How many people can attend.
79
+ # @return [Integer]
80
+ attr_accessor :max_capacity
81
+
82
+ # How many people can signup online.
83
+ # Default: **0**
84
+ # @return [Integer]
85
+ attr_accessor :web_capacity
86
+
87
+ # How many people can waitlist.
88
+ # Default:**0**
89
+ # @return [Integer]
90
+ attr_accessor :waitlist_capacity
91
+
92
+ # One of: PaymentRequired, BookAndPayLater, Free
93
+ # @return [String]
94
+ attr_accessor :booking_status
95
+
96
+ # Allow clients to choose which sessions they’d like to sign up for.
97
+ # Default: **false**
98
+ # @return [TrueClass | FalseClass]
99
+ attr_accessor :allow_open_enrollment
100
+
101
+ # Allow booking after the enrollment has started.
102
+ # Default: **false**
103
+ # @return [TrueClass | FalseClass]
104
+ attr_accessor :allow_date_forward_enrollment
105
+
106
+ # Pricing Options for this schedule
107
+ # @return [Array[Integer]]
108
+ attr_accessor :pricing_options_product_ids
109
+
110
+ # Allow clients to see this schedule
111
+ # Default: **true**
112
+ # @return [TrueClass | FalseClass]
113
+ attr_accessor :show_to_public
114
+
115
+ # A mapping from model property names to API property names.
116
+ def self.names
117
+ @_hash = {} if @_hash.nil?
118
+ @_hash['class_description_id'] = 'ClassDescriptionId'
119
+ @_hash['location_id'] = 'LocationId'
120
+ @_hash['start_date'] = 'StartDate'
121
+ @_hash['end_date'] = 'EndDate'
122
+ @_hash['start_time'] = 'StartTime'
123
+ @_hash['end_time'] = 'EndTime'
124
+ @_hash['day_sunday'] = 'DaySunday'
125
+ @_hash['day_monday'] = 'DayMonday'
126
+ @_hash['day_tuesday'] = 'DayTuesday'
127
+ @_hash['day_wednesday'] = 'DayWednesday'
128
+ @_hash['day_thursday'] = 'DayThursday'
129
+ @_hash['day_friday'] = 'DayFriday'
130
+ @_hash['day_saturday'] = 'DaySaturday'
131
+ @_hash['staff_id'] = 'StaffId'
132
+ @_hash['staff_pay_rate'] = 'StaffPayRate'
133
+ @_hash['resource_id'] = 'ResourceId'
134
+ @_hash['max_capacity'] = 'MaxCapacity'
135
+ @_hash['web_capacity'] = 'WebCapacity'
136
+ @_hash['waitlist_capacity'] = 'WaitlistCapacity'
137
+ @_hash['booking_status'] = 'BookingStatus'
138
+ @_hash['allow_open_enrollment'] = 'AllowOpenEnrollment'
139
+ @_hash['allow_date_forward_enrollment'] = 'AllowDateForwardEnrollment'
140
+ @_hash['pricing_options_product_ids'] = 'PricingOptionsProductIds'
141
+ @_hash['show_to_public'] = 'ShowToPublic'
142
+ @_hash
143
+ end
144
+
145
+ # An array for optional fields
146
+ def self.optionals
147
+ %w[
148
+ class_description_id
149
+ location_id
150
+ start_date
151
+ end_date
152
+ start_time
153
+ end_time
154
+ day_sunday
155
+ day_monday
156
+ day_tuesday
157
+ day_wednesday
158
+ day_thursday
159
+ day_friday
160
+ day_saturday
161
+ staff_id
162
+ staff_pay_rate
163
+ resource_id
164
+ max_capacity
165
+ web_capacity
166
+ waitlist_capacity
167
+ booking_status
168
+ allow_open_enrollment
169
+ allow_date_forward_enrollment
170
+ pricing_options_product_ids
171
+ show_to_public
172
+ ]
173
+ end
174
+
175
+ # An array for nullable fields
176
+ def self.nullables
177
+ []
178
+ end
179
+
180
+ def initialize(class_description_id = SKIP, location_id = SKIP,
181
+ start_date = SKIP, end_date = SKIP, start_time = SKIP,
182
+ end_time = SKIP, day_sunday = SKIP, day_monday = SKIP,
183
+ day_tuesday = SKIP, day_wednesday = SKIP,
184
+ day_thursday = SKIP, day_friday = SKIP, day_saturday = SKIP,
185
+ staff_id = SKIP, staff_pay_rate = SKIP, resource_id = SKIP,
186
+ max_capacity = SKIP, web_capacity = SKIP,
187
+ waitlist_capacity = SKIP, booking_status = SKIP,
188
+ allow_open_enrollment = SKIP,
189
+ allow_date_forward_enrollment = SKIP,
190
+ pricing_options_product_ids = SKIP, show_to_public = SKIP)
191
+ @class_description_id = class_description_id unless class_description_id == SKIP
192
+ @location_id = location_id unless location_id == SKIP
193
+ @start_date = start_date unless start_date == SKIP
194
+ @end_date = end_date unless end_date == SKIP
195
+ @start_time = start_time unless start_time == SKIP
196
+ @end_time = end_time unless end_time == SKIP
197
+ @day_sunday = day_sunday unless day_sunday == SKIP
198
+ @day_monday = day_monday unless day_monday == SKIP
199
+ @day_tuesday = day_tuesday unless day_tuesday == SKIP
200
+ @day_wednesday = day_wednesday unless day_wednesday == SKIP
201
+ @day_thursday = day_thursday unless day_thursday == SKIP
202
+ @day_friday = day_friday unless day_friday == SKIP
203
+ @day_saturday = day_saturday unless day_saturday == SKIP
204
+ @staff_id = staff_id unless staff_id == SKIP
205
+ @staff_pay_rate = staff_pay_rate unless staff_pay_rate == SKIP
206
+ @resource_id = resource_id unless resource_id == SKIP
207
+ @max_capacity = max_capacity unless max_capacity == SKIP
208
+ @web_capacity = web_capacity unless web_capacity == SKIP
209
+ @waitlist_capacity = waitlist_capacity unless waitlist_capacity == SKIP
210
+ @booking_status = booking_status unless booking_status == SKIP
211
+ @allow_open_enrollment = allow_open_enrollment unless allow_open_enrollment == SKIP
212
+ unless allow_date_forward_enrollment == SKIP
213
+ @allow_date_forward_enrollment =
214
+ allow_date_forward_enrollment
215
+ end
216
+ unless pricing_options_product_ids == SKIP
217
+ @pricing_options_product_ids =
218
+ pricing_options_product_ids
219
+ end
220
+ @show_to_public = show_to_public unless show_to_public == SKIP
221
+ end
222
+
223
+ # Creates an instance of the object from a hash.
224
+ def self.from_hash(hash)
225
+ return nil unless hash
226
+
227
+ # Extract variables from the hash.
228
+ class_description_id =
229
+ hash.key?('ClassDescriptionId') ? hash['ClassDescriptionId'] : SKIP
230
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : SKIP
231
+ start_date = if hash.key?('StartDate')
232
+ (DateTimeHelper.from_rfc3339(hash['StartDate']) if hash['StartDate'])
233
+ else
234
+ SKIP
235
+ end
236
+ end_date = if hash.key?('EndDate')
237
+ (DateTimeHelper.from_rfc3339(hash['EndDate']) if hash['EndDate'])
238
+ else
239
+ SKIP
240
+ end
241
+ start_time = if hash.key?('StartTime')
242
+ (DateTimeHelper.from_rfc3339(hash['StartTime']) if hash['StartTime'])
243
+ else
244
+ SKIP
245
+ end
246
+ end_time = if hash.key?('EndTime')
247
+ (DateTimeHelper.from_rfc3339(hash['EndTime']) if hash['EndTime'])
248
+ else
249
+ SKIP
250
+ end
251
+ day_sunday = hash.key?('DaySunday') ? hash['DaySunday'] : SKIP
252
+ day_monday = hash.key?('DayMonday') ? hash['DayMonday'] : SKIP
253
+ day_tuesday = hash.key?('DayTuesday') ? hash['DayTuesday'] : SKIP
254
+ day_wednesday = hash.key?('DayWednesday') ? hash['DayWednesday'] : SKIP
255
+ day_thursday = hash.key?('DayThursday') ? hash['DayThursday'] : SKIP
256
+ day_friday = hash.key?('DayFriday') ? hash['DayFriday'] : SKIP
257
+ day_saturday = hash.key?('DaySaturday') ? hash['DaySaturday'] : SKIP
258
+ staff_id = hash.key?('StaffId') ? hash['StaffId'] : SKIP
259
+ staff_pay_rate = hash.key?('StaffPayRate') ? hash['StaffPayRate'] : SKIP
260
+ resource_id = hash.key?('ResourceId') ? hash['ResourceId'] : SKIP
261
+ max_capacity = hash.key?('MaxCapacity') ? hash['MaxCapacity'] : SKIP
262
+ web_capacity = hash.key?('WebCapacity') ? hash['WebCapacity'] : SKIP
263
+ waitlist_capacity =
264
+ hash.key?('WaitlistCapacity') ? hash['WaitlistCapacity'] : SKIP
265
+ booking_status = hash.key?('BookingStatus') ? hash['BookingStatus'] : SKIP
266
+ allow_open_enrollment =
267
+ hash.key?('AllowOpenEnrollment') ? hash['AllowOpenEnrollment'] : SKIP
268
+ allow_date_forward_enrollment =
269
+ hash.key?('AllowDateForwardEnrollment') ? hash['AllowDateForwardEnrollment'] : SKIP
270
+ pricing_options_product_ids =
271
+ hash.key?('PricingOptionsProductIds') ? hash['PricingOptionsProductIds'] : SKIP
272
+ show_to_public = hash.key?('ShowToPublic') ? hash['ShowToPublic'] : SKIP
273
+
274
+ # Create object from extracted values.
275
+ AddClassEnrollmentScheduleRequest.new(class_description_id,
276
+ location_id,
277
+ start_date,
278
+ end_date,
279
+ start_time,
280
+ end_time,
281
+ day_sunday,
282
+ day_monday,
283
+ day_tuesday,
284
+ day_wednesday,
285
+ day_thursday,
286
+ day_friday,
287
+ day_saturday,
288
+ staff_id,
289
+ staff_pay_rate,
290
+ resource_id,
291
+ max_capacity,
292
+ web_capacity,
293
+ waitlist_capacity,
294
+ booking_status,
295
+ allow_open_enrollment,
296
+ allow_date_forward_enrollment,
297
+ pricing_options_product_ids,
298
+ show_to_public)
299
+ end
300
+
301
+ def to_custom_start_date
302
+ DateTimeHelper.to_rfc3339(start_date)
303
+ end
304
+
305
+ def to_custom_end_date
306
+ DateTimeHelper.to_rfc3339(end_date)
307
+ end
308
+
309
+ def to_custom_start_time
310
+ DateTimeHelper.to_rfc3339(start_time)
311
+ end
312
+
313
+ def to_custom_end_time
314
+ DateTimeHelper.to_rfc3339(end_time)
315
+ end
316
+
317
+ # Provides a human-readable string representation of the object.
318
+ def to_s
319
+ class_name = self.class.name.split('::').last
320
+ "<#{class_name} class_description_id: #{@class_description_id}, location_id:"\
321
+ " #{@location_id}, start_date: #{@start_date}, end_date: #{@end_date}, start_time:"\
322
+ " #{@start_time}, end_time: #{@end_time}, day_sunday: #{@day_sunday}, day_monday:"\
323
+ " #{@day_monday}, day_tuesday: #{@day_tuesday}, day_wednesday: #{@day_wednesday},"\
324
+ " day_thursday: #{@day_thursday}, day_friday: #{@day_friday}, day_saturday:"\
325
+ " #{@day_saturday}, staff_id: #{@staff_id}, staff_pay_rate: #{@staff_pay_rate}, resource_id:"\
326
+ " #{@resource_id}, max_capacity: #{@max_capacity}, web_capacity: #{@web_capacity},"\
327
+ " waitlist_capacity: #{@waitlist_capacity}, booking_status: #{@booking_status},"\
328
+ " allow_open_enrollment: #{@allow_open_enrollment}, allow_date_forward_enrollment:"\
329
+ " #{@allow_date_forward_enrollment}, pricing_options_product_ids:"\
330
+ " #{@pricing_options_product_ids}, show_to_public: #{@show_to_public}>"
331
+ end
332
+
333
+ # Provides a debugging-friendly string with detailed object information.
334
+ def inspect
335
+ class_name = self.class.name.split('::').last
336
+ "<#{class_name} class_description_id: #{@class_description_id.inspect}, location_id:"\
337
+ " #{@location_id.inspect}, start_date: #{@start_date.inspect}, end_date:"\
338
+ " #{@end_date.inspect}, start_time: #{@start_time.inspect}, end_time: #{@end_time.inspect},"\
339
+ " day_sunday: #{@day_sunday.inspect}, day_monday: #{@day_monday.inspect}, day_tuesday:"\
340
+ " #{@day_tuesday.inspect}, day_wednesday: #{@day_wednesday.inspect}, day_thursday:"\
341
+ " #{@day_thursday.inspect}, day_friday: #{@day_friday.inspect}, day_saturday:"\
342
+ " #{@day_saturday.inspect}, staff_id: #{@staff_id.inspect}, staff_pay_rate:"\
343
+ " #{@staff_pay_rate.inspect}, resource_id: #{@resource_id.inspect}, max_capacity:"\
344
+ " #{@max_capacity.inspect}, web_capacity: #{@web_capacity.inspect}, waitlist_capacity:"\
345
+ " #{@waitlist_capacity.inspect}, booking_status: #{@booking_status.inspect},"\
346
+ " allow_open_enrollment: #{@allow_open_enrollment.inspect}, allow_date_forward_enrollment:"\
347
+ " #{@allow_date_forward_enrollment.inspect}, pricing_options_product_ids:"\
348
+ " #{@pricing_options_product_ids.inspect}, show_to_public: #{@show_to_public.inspect}>"
349
+ end
350
+ end
351
+ end