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,255 @@
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
+ # Membership Model.
8
+ class Membership < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The membership id.
13
+ # @return [Integer]
14
+ attr_accessor :membership_id
15
+
16
+ # The membership name.
17
+ # @return [String]
18
+ attr_accessor :membership_name
19
+
20
+ # The priority/sort order.
21
+ # @return [Integer]
22
+ attr_accessor :priority
23
+
24
+ # The membership discount for retail as a percentage.
25
+ # @return [Float]
26
+ attr_accessor :member_retail_discount
27
+
28
+ # The membership discount for services as a percentage.
29
+ # @return [Float]
30
+ attr_accessor :member_service_discount
31
+
32
+ # Allow clients in this membership to schedule unpaid.
33
+ # @return [TrueClass | FalseClass]
34
+ attr_accessor :allow_clients_to_schedule_unpaid
35
+
36
+ # List of programs that are restricted to clients in this membership only.
37
+ # @return [Array[ProgramMembership]]
38
+ attr_accessor :online_booking_restricted_to_members_only
39
+
40
+ # Day of month scheduling opens for next month. Unrestricted is a null
41
+ # value.
42
+ # @return [Integer]
43
+ attr_accessor :day_of_month_scheduling_opens_for_next_month
44
+
45
+ # Restrict self sign in to members only.
46
+ # @return [TrueClass | FalseClass]
47
+ attr_accessor :restrict_self_sign_in_to_members_only
48
+
49
+ # Allow members to book appointments without paying.
50
+ # @return [TrueClass | FalseClass]
51
+ attr_accessor :allow_members_to_book_appointments_without_paying
52
+
53
+ # Allow members to purchase non-members services.
54
+ # @return [TrueClass | FalseClass]
55
+ attr_accessor :allow_members_to_purchase_non_members_services
56
+
57
+ # Allow members to purchase non-members products.
58
+ # @return [TrueClass | FalseClass]
59
+ attr_accessor :allow_members_to_purchase_non_members_products
60
+
61
+ # Indicates if the membership is active.
62
+ # @return [TrueClass | FalseClass]
63
+ attr_accessor :is_active
64
+
65
+ # A mapping from model property names to API property names.
66
+ def self.names
67
+ @_hash = {} if @_hash.nil?
68
+ @_hash['membership_id'] = 'MembershipId'
69
+ @_hash['membership_name'] = 'MembershipName'
70
+ @_hash['priority'] = 'Priority'
71
+ @_hash['member_retail_discount'] = 'MemberRetailDiscount'
72
+ @_hash['member_service_discount'] = 'MemberServiceDiscount'
73
+ @_hash['allow_clients_to_schedule_unpaid'] =
74
+ 'AllowClientsToScheduleUnpaid'
75
+ @_hash['online_booking_restricted_to_members_only'] =
76
+ 'OnlineBookingRestrictedToMembersOnly'
77
+ @_hash['day_of_month_scheduling_opens_for_next_month'] =
78
+ 'DayOfMonthSchedulingOpensForNextMonth'
79
+ @_hash['restrict_self_sign_in_to_members_only'] =
80
+ 'RestrictSelfSignInToMembersOnly'
81
+ @_hash['allow_members_to_book_appointments_without_paying'] =
82
+ 'AllowMembersToBookAppointmentsWithoutPaying'
83
+ @_hash['allow_members_to_purchase_non_members_services'] =
84
+ 'AllowMembersToPurchaseNonMembersServices'
85
+ @_hash['allow_members_to_purchase_non_members_products'] =
86
+ 'AllowMembersToPurchaseNonMembersProducts'
87
+ @_hash['is_active'] = 'IsActive'
88
+ @_hash
89
+ end
90
+
91
+ # An array for optional fields
92
+ def self.optionals
93
+ %w[
94
+ membership_id
95
+ membership_name
96
+ priority
97
+ member_retail_discount
98
+ member_service_discount
99
+ allow_clients_to_schedule_unpaid
100
+ online_booking_restricted_to_members_only
101
+ day_of_month_scheduling_opens_for_next_month
102
+ restrict_self_sign_in_to_members_only
103
+ allow_members_to_book_appointments_without_paying
104
+ allow_members_to_purchase_non_members_services
105
+ allow_members_to_purchase_non_members_products
106
+ is_active
107
+ ]
108
+ end
109
+
110
+ # An array for nullable fields
111
+ def self.nullables
112
+ []
113
+ end
114
+
115
+ def initialize(membership_id = SKIP, membership_name = SKIP,
116
+ priority = SKIP, member_retail_discount = SKIP,
117
+ member_service_discount = SKIP,
118
+ allow_clients_to_schedule_unpaid = SKIP,
119
+ online_booking_restricted_to_members_only = SKIP,
120
+ day_of_month_scheduling_opens_for_next_month = SKIP,
121
+ restrict_self_sign_in_to_members_only = SKIP,
122
+ allow_members_to_book_appointments_without_paying = SKIP,
123
+ allow_members_to_purchase_non_members_services = SKIP,
124
+ allow_members_to_purchase_non_members_products = SKIP,
125
+ is_active = SKIP)
126
+ @membership_id = membership_id unless membership_id == SKIP
127
+ @membership_name = membership_name unless membership_name == SKIP
128
+ @priority = priority unless priority == SKIP
129
+ @member_retail_discount = member_retail_discount unless member_retail_discount == SKIP
130
+ @member_service_discount = member_service_discount unless member_service_discount == SKIP
131
+ unless allow_clients_to_schedule_unpaid == SKIP
132
+ @allow_clients_to_schedule_unpaid =
133
+ allow_clients_to_schedule_unpaid
134
+ end
135
+ unless online_booking_restricted_to_members_only == SKIP
136
+ @online_booking_restricted_to_members_only =
137
+ online_booking_restricted_to_members_only
138
+ end
139
+ unless day_of_month_scheduling_opens_for_next_month == SKIP
140
+ @day_of_month_scheduling_opens_for_next_month =
141
+ day_of_month_scheduling_opens_for_next_month
142
+ end
143
+ unless restrict_self_sign_in_to_members_only == SKIP
144
+ @restrict_self_sign_in_to_members_only =
145
+ restrict_self_sign_in_to_members_only
146
+ end
147
+ unless allow_members_to_book_appointments_without_paying == SKIP
148
+ @allow_members_to_book_appointments_without_paying =
149
+ allow_members_to_book_appointments_without_paying
150
+ end
151
+ unless allow_members_to_purchase_non_members_services == SKIP
152
+ @allow_members_to_purchase_non_members_services =
153
+ allow_members_to_purchase_non_members_services
154
+ end
155
+ unless allow_members_to_purchase_non_members_products == SKIP
156
+ @allow_members_to_purchase_non_members_products =
157
+ allow_members_to_purchase_non_members_products
158
+ end
159
+ @is_active = is_active unless is_active == SKIP
160
+ end
161
+
162
+ # Creates an instance of the object from a hash.
163
+ def self.from_hash(hash)
164
+ return nil unless hash
165
+
166
+ # Extract variables from the hash.
167
+ membership_id = hash.key?('MembershipId') ? hash['MembershipId'] : SKIP
168
+ membership_name =
169
+ hash.key?('MembershipName') ? hash['MembershipName'] : SKIP
170
+ priority = hash.key?('Priority') ? hash['Priority'] : SKIP
171
+ member_retail_discount =
172
+ hash.key?('MemberRetailDiscount') ? hash['MemberRetailDiscount'] : SKIP
173
+ member_service_discount =
174
+ hash.key?('MemberServiceDiscount') ? hash['MemberServiceDiscount'] : SKIP
175
+ allow_clients_to_schedule_unpaid =
176
+ hash.key?('AllowClientsToScheduleUnpaid') ? hash['AllowClientsToScheduleUnpaid'] : SKIP
177
+ # Parameter is an array, so we need to iterate through it
178
+ online_booking_restricted_to_members_only = nil
179
+ unless hash['OnlineBookingRestrictedToMembersOnly'].nil?
180
+ online_booking_restricted_to_members_only = []
181
+ hash['OnlineBookingRestrictedToMembersOnly'].each do |structure|
182
+ online_booking_restricted_to_members_only << (ProgramMembership.from_hash(structure) if structure)
183
+ end
184
+ end
185
+
186
+ online_booking_restricted_to_members_only = SKIP unless hash.key?('OnlineBookingRestrictedToMembersOnly')
187
+ day_of_month_scheduling_opens_for_next_month =
188
+ hash.key?('DayOfMonthSchedulingOpensForNextMonth') ? hash['DayOfMonthSchedulingOpensForNextMonth'] : SKIP
189
+ restrict_self_sign_in_to_members_only =
190
+ hash.key?('RestrictSelfSignInToMembersOnly') ? hash['RestrictSelfSignInToMembersOnly'] : SKIP
191
+ allow_members_to_book_appointments_without_paying =
192
+ hash.key?('AllowMembersToBookAppointmentsWithoutPaying') ? hash['AllowMembersToBookAppointmentsWithoutPaying'] : SKIP
193
+ allow_members_to_purchase_non_members_services =
194
+ hash.key?('AllowMembersToPurchaseNonMembersServices') ? hash['AllowMembersToPurchaseNonMembersServices'] : SKIP
195
+ allow_members_to_purchase_non_members_products =
196
+ hash.key?('AllowMembersToPurchaseNonMembersProducts') ? hash['AllowMembersToPurchaseNonMembersProducts'] : SKIP
197
+ is_active = hash.key?('IsActive') ? hash['IsActive'] : SKIP
198
+
199
+ # Create object from extracted values.
200
+ Membership.new(membership_id,
201
+ membership_name,
202
+ priority,
203
+ member_retail_discount,
204
+ member_service_discount,
205
+ allow_clients_to_schedule_unpaid,
206
+ online_booking_restricted_to_members_only,
207
+ day_of_month_scheduling_opens_for_next_month,
208
+ restrict_self_sign_in_to_members_only,
209
+ allow_members_to_book_appointments_without_paying,
210
+ allow_members_to_purchase_non_members_services,
211
+ allow_members_to_purchase_non_members_products,
212
+ is_active)
213
+ end
214
+
215
+ # Provides a human-readable string representation of the object.
216
+ def to_s
217
+ class_name = self.class.name.split('::').last
218
+ "<#{class_name} membership_id: #{@membership_id}, membership_name: #{@membership_name},"\
219
+ " priority: #{@priority}, member_retail_discount: #{@member_retail_discount},"\
220
+ " member_service_discount: #{@member_service_discount}, allow_clients_to_schedule_unpaid:"\
221
+ " #{@allow_clients_to_schedule_unpaid}, online_booking_restricted_to_members_only:"\
222
+ " #{@online_booking_restricted_to_members_only},"\
223
+ ' day_of_month_scheduling_opens_for_next_month:'\
224
+ " #{@day_of_month_scheduling_opens_for_next_month}, restrict_self_sign_in_to_members_only:"\
225
+ " #{@restrict_self_sign_in_to_members_only},"\
226
+ ' allow_members_to_book_appointments_without_paying:'\
227
+ " #{@allow_members_to_book_appointments_without_paying},"\
228
+ ' allow_members_to_purchase_non_members_services:'\
229
+ " #{@allow_members_to_purchase_non_members_services},"\
230
+ ' allow_members_to_purchase_non_members_products:'\
231
+ " #{@allow_members_to_purchase_non_members_products}, is_active: #{@is_active}>"
232
+ end
233
+
234
+ # Provides a debugging-friendly string with detailed object information.
235
+ def inspect
236
+ class_name = self.class.name.split('::').last
237
+ "<#{class_name} membership_id: #{@membership_id.inspect}, membership_name:"\
238
+ " #{@membership_name.inspect}, priority: #{@priority.inspect}, member_retail_discount:"\
239
+ " #{@member_retail_discount.inspect}, member_service_discount:"\
240
+ " #{@member_service_discount.inspect}, allow_clients_to_schedule_unpaid:"\
241
+ " #{@allow_clients_to_schedule_unpaid.inspect}, online_booking_restricted_to_members_only:"\
242
+ " #{@online_booking_restricted_to_members_only.inspect},"\
243
+ ' day_of_month_scheduling_opens_for_next_month:'\
244
+ " #{@day_of_month_scheduling_opens_for_next_month.inspect},"\
245
+ " restrict_self_sign_in_to_members_only: #{@restrict_self_sign_in_to_members_only.inspect},"\
246
+ ' allow_members_to_book_appointments_without_paying:'\
247
+ " #{@allow_members_to_book_appointments_without_paying.inspect},"\
248
+ ' allow_members_to_purchase_non_members_services:'\
249
+ " #{@allow_members_to_purchase_non_members_services.inspect},"\
250
+ ' allow_members_to_purchase_non_members_products:'\
251
+ " #{@allow_members_to_purchase_non_members_products.inspect}, is_active:"\
252
+ " #{@is_active.inspect}>"
253
+ end
254
+ end
255
+ end
@@ -0,0 +1,71 @@
1
+ # mindbody_public_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module MindbodyPublicApi
7
+ # MembershipTypeRestriction Model.
8
+ class MembershipTypeRestriction < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The ID of the membership that is allowed to purchase the contract.
13
+ # @return [Integer]
14
+ attr_accessor :id
15
+
16
+ # The name of the membership type.
17
+ # @return [String]
18
+ attr_accessor :name
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['id'] = 'Id'
24
+ @_hash['name'] = 'Name'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ id
32
+ name
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(id = SKIP, name = SKIP)
42
+ @id = id unless id == SKIP
43
+ @name = name unless name == 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
+ id = hash.key?('Id') ? hash['Id'] : SKIP
52
+ name = hash.key?('Name') ? hash['Name'] : SKIP
53
+
54
+ # Create object from extracted values.
55
+ MembershipTypeRestriction.new(id,
56
+ name)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} id: #{@id}, name: #{@name}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} id: #{@id.inspect}, name: #{@name.inspect}>"
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,75 @@
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
+ # Request for clients/mergeclients
8
+ class MergeClientsRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The client that will be merged into TargetClientId
13
+ # @return [Integer]
14
+ attr_accessor :source_client_id
15
+
16
+ # The client that will remain
17
+ # @return [Integer]
18
+ attr_accessor :target_client_id
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['source_client_id'] = 'SourceClientId'
24
+ @_hash['target_client_id'] = 'TargetClientId'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ source_client_id
32
+ target_client_id
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(source_client_id = SKIP, target_client_id = SKIP)
42
+ @source_client_id = source_client_id unless source_client_id == SKIP
43
+ @target_client_id = target_client_id unless target_client_id == 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
+ source_client_id =
52
+ hash.key?('SourceClientId') ? hash['SourceClientId'] : SKIP
53
+ target_client_id =
54
+ hash.key?('TargetClientId') ? hash['TargetClientId'] : SKIP
55
+
56
+ # Create object from extracted values.
57
+ MergeClientsRequest.new(source_client_id,
58
+ target_client_id)
59
+ end
60
+
61
+ # Provides a human-readable string representation of the object.
62
+ def to_s
63
+ class_name = self.class.name.split('::').last
64
+ "<#{class_name} source_client_id: #{@source_client_id}, target_client_id:"\
65
+ " #{@target_client_id}>"
66
+ end
67
+
68
+ # Provides a debugging-friendly string with detailed object information.
69
+ def inspect
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} source_client_id: #{@source_client_id.inspect}, target_client_id:"\
72
+ " #{@target_client_id.inspect}>"
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,40 @@
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
+ # Minimum commitment unit type.
8
+ class MinimumCommitmentUnitEnum
9
+ MINIMUM_COMMITMENT_UNIT_ENUM = [
10
+ # TODO: Write general description for WEEKS
11
+ WEEKS = 'Weeks'.freeze,
12
+
13
+ # TODO: Write general description for MONTHS
14
+ MONTHS = 'Months'.freeze,
15
+
16
+ # TODO: Write general description for YEARS
17
+ YEARS = 'Years'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ MINIMUM_COMMITMENT_UNIT_ENUM.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = WEEKS)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'weeks' then WEEKS
33
+ when 'months' then MONTHS
34
+ when 'years' then YEARS
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,93 @@
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
+ # MobileProvider Model.
8
+ class MobileProvider < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Integer]
14
+ attr_accessor :id
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [TrueClass | FalseClass]
18
+ attr_accessor :active
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :provider_name
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :provider_address
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['id'] = 'Id'
32
+ @_hash['active'] = 'Active'
33
+ @_hash['provider_name'] = 'ProviderName'
34
+ @_hash['provider_address'] = 'ProviderAddress'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ id
42
+ active
43
+ provider_name
44
+ provider_address
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(id = SKIP, active = SKIP, provider_name = SKIP,
54
+ provider_address = SKIP)
55
+ @id = id unless id == SKIP
56
+ @active = active unless active == SKIP
57
+ @provider_name = provider_name unless provider_name == SKIP
58
+ @provider_address = provider_address unless provider_address == SKIP
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ id = hash.key?('Id') ? hash['Id'] : SKIP
67
+ active = hash.key?('Active') ? hash['Active'] : SKIP
68
+ provider_name = hash.key?('ProviderName') ? hash['ProviderName'] : SKIP
69
+ provider_address =
70
+ hash.key?('ProviderAddress') ? hash['ProviderAddress'] : SKIP
71
+
72
+ # Create object from extracted values.
73
+ MobileProvider.new(id,
74
+ active,
75
+ provider_name,
76
+ provider_address)
77
+ end
78
+
79
+ # Provides a human-readable string representation of the object.
80
+ def to_s
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} id: #{@id}, active: #{@active}, provider_name: #{@provider_name},"\
83
+ " provider_address: #{@provider_address}>"
84
+ end
85
+
86
+ # Provides a debugging-friendly string with detailed object information.
87
+ def inspect
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} id: #{@id.inspect}, active: #{@active.inspect}, provider_name:"\
90
+ " #{@provider_name.inspect}, provider_address: #{@provider_address.inspect}>"
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,131 @@
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
+ # Package Model.
8
+ class Package < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The ID of the package.
13
+ # @return [Integer]
14
+ attr_accessor :id
15
+
16
+ # The name of the package.
17
+ # @return [String]
18
+ attr_accessor :name
19
+
20
+ # The discount percentage applied to the package.
21
+ # @return [Float]
22
+ attr_accessor :discount_percentage
23
+
24
+ # When `true`, only products that can be sold online are returned.<br />
25
+ # When `false`, all products are returned.
26
+ # @return [TrueClass | FalseClass]
27
+ attr_accessor :sell_online
28
+
29
+ # Information about the services in the packages.
30
+ # @return [Array[Service]]
31
+ attr_accessor :services
32
+
33
+ # Information about the products in the packages.
34
+ # @return [Array[Product]]
35
+ attr_accessor :products
36
+
37
+ # A mapping from model property names to API property names.
38
+ def self.names
39
+ @_hash = {} if @_hash.nil?
40
+ @_hash['id'] = 'Id'
41
+ @_hash['name'] = 'Name'
42
+ @_hash['discount_percentage'] = 'DiscountPercentage'
43
+ @_hash['sell_online'] = 'SellOnline'
44
+ @_hash['services'] = 'Services'
45
+ @_hash['products'] = 'Products'
46
+ @_hash
47
+ end
48
+
49
+ # An array for optional fields
50
+ def self.optionals
51
+ %w[
52
+ id
53
+ name
54
+ discount_percentage
55
+ sell_online
56
+ services
57
+ products
58
+ ]
59
+ end
60
+
61
+ # An array for nullable fields
62
+ def self.nullables
63
+ []
64
+ end
65
+
66
+ def initialize(id = SKIP, name = SKIP, discount_percentage = SKIP,
67
+ sell_online = SKIP, services = SKIP, products = SKIP)
68
+ @id = id unless id == SKIP
69
+ @name = name unless name == SKIP
70
+ @discount_percentage = discount_percentage unless discount_percentage == SKIP
71
+ @sell_online = sell_online unless sell_online == SKIP
72
+ @services = services unless services == SKIP
73
+ @products = products unless products == SKIP
74
+ end
75
+
76
+ # Creates an instance of the object from a hash.
77
+ def self.from_hash(hash)
78
+ return nil unless hash
79
+
80
+ # Extract variables from the hash.
81
+ id = hash.key?('Id') ? hash['Id'] : SKIP
82
+ name = hash.key?('Name') ? hash['Name'] : SKIP
83
+ discount_percentage =
84
+ hash.key?('DiscountPercentage') ? hash['DiscountPercentage'] : SKIP
85
+ sell_online = hash.key?('SellOnline') ? hash['SellOnline'] : SKIP
86
+ # Parameter is an array, so we need to iterate through it
87
+ services = nil
88
+ unless hash['Services'].nil?
89
+ services = []
90
+ hash['Services'].each do |structure|
91
+ services << (Service.from_hash(structure) if structure)
92
+ end
93
+ end
94
+
95
+ services = SKIP unless hash.key?('Services')
96
+ # Parameter is an array, so we need to iterate through it
97
+ products = nil
98
+ unless hash['Products'].nil?
99
+ products = []
100
+ hash['Products'].each do |structure|
101
+ products << (Product.from_hash(structure) if structure)
102
+ end
103
+ end
104
+
105
+ products = SKIP unless hash.key?('Products')
106
+
107
+ # Create object from extracted values.
108
+ Package.new(id,
109
+ name,
110
+ discount_percentage,
111
+ sell_online,
112
+ services,
113
+ products)
114
+ end
115
+
116
+ # Provides a human-readable string representation of the object.
117
+ def to_s
118
+ class_name = self.class.name.split('::').last
119
+ "<#{class_name} id: #{@id}, name: #{@name}, discount_percentage: #{@discount_percentage},"\
120
+ " sell_online: #{@sell_online}, services: #{@services}, products: #{@products}>"
121
+ end
122
+
123
+ # Provides a debugging-friendly string with detailed object information.
124
+ def inspect
125
+ class_name = self.class.name.split('::').last
126
+ "<#{class_name} id: #{@id.inspect}, name: #{@name.inspect}, discount_percentage:"\
127
+ " #{@discount_percentage.inspect}, sell_online: #{@sell_online.inspect}, services:"\
128
+ " #{@services.inspect}, products: #{@products.inspect}>"
129
+ end
130
+ end
131
+ end