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,366 @@
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
+ # Service Model.
8
+ class Service < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The cost of the pricing option when sold at a physical location.
13
+ # @return [Float]
14
+ attr_accessor :price
15
+
16
+ # The cost of the pricing option when sold online.
17
+ # @return [Float]
18
+ attr_accessor :online_price
19
+
20
+ # The amount of tax included in the price, if inclusive pricing is enabled.
21
+ # @return [Float]
22
+ attr_accessor :tax_included
23
+
24
+ # The ID of the program that this pricing option applies to.
25
+ # @return [Integer]
26
+ attr_accessor :program_id
27
+
28
+ # The tax rate applied to the pricing option. This field is populated only
29
+ # when you include a `LocationID` in the request.
30
+ # @return [Float]
31
+ attr_accessor :tax_rate
32
+
33
+ # The unique ID of this pricing option. This is the `PurchasedItems[].Id`
34
+ # returned from GET Sales.
35
+ # @return [Integer]
36
+ attr_accessor :product_id
37
+
38
+ # The barcode ID of the pricing option. This is the
39
+ # `PurchasedItems[].BarcodeId` returned from GET Sales.
40
+ # @return [String]
41
+ attr_accessor :id
42
+
43
+ # The name of the pricing option.
44
+ # @return [String]
45
+ attr_accessor :name
46
+
47
+ # The initial count of usages available for the pricing option.
48
+ # @return [Integer]
49
+ attr_accessor :count
50
+
51
+ # When true, filters to the pricing options that can be sold online.
52
+ # Default: *false*
53
+ # @return [TrueClass | FalseClass]
54
+ attr_accessor :sell_online
55
+
56
+ # When `true`, indicates that the pricing option is allowed to be purchased
57
+ # in a contract or package.
58
+ # When `false`, indicates that the pricing option is not allowed to be
59
+ # purchased in a contract or package.
60
+ # @return [TrueClass | FalseClass]
61
+ attr_accessor :sale_in_contract_only
62
+
63
+ # The type of the pricing option, either Drop-in, Series, or Unlimited.
64
+ # @return [String]
65
+ attr_accessor :type
66
+
67
+ # The date the pricing option begins its activation, either the date of sale
68
+ # or the date the client first used it for a visit.
69
+ # @return [String]
70
+ attr_accessor :expiration_type
71
+
72
+ # The unit, either days or months, of `ExpirationLength`, indicating how
73
+ # long the pricing option is active for.
74
+ # @return [String]
75
+ attr_accessor :expiration_unit
76
+
77
+ # The number of days or months that the pricing option is active for.
78
+ # @return [Integer]
79
+ attr_accessor :expiration_length
80
+
81
+ # The revenue category of the pricing option.
82
+ # @return [String]
83
+ attr_accessor :revenue_category
84
+
85
+ # The ID that this pricing option grants membership to.
86
+ # @return [Integer]
87
+ attr_accessor :membership_id
88
+
89
+ # The location IDs where this pricing option is sold.
90
+ # @return [Array[Integer]]
91
+ attr_accessor :sell_at_location_ids
92
+
93
+ # The location IDs where this pricing option may be used.
94
+ # @return [Array[Integer]]
95
+ attr_accessor :use_at_location_ids
96
+
97
+ # The priority of the pricing option, either High, Medium, or Low.
98
+ # @return [String]
99
+ attr_accessor :priority
100
+
101
+ # Indicates if this pricing option is an introductory offer.
102
+ # @return [TrueClass | FalseClass]
103
+ attr_accessor :is_intro_offer
104
+
105
+ # When `IsIntroOffer` is true, this indicates if this introductory offer may
106
+ # be purchased by new clients or new and existing clients.
107
+ # @return [String]
108
+ attr_accessor :intro_offer_type
109
+
110
+ # Indicates whether this pricing option is sold at discounted rates by
111
+ # third-party services, such as ClassPass.
112
+ # @return [TrueClass | FalseClass]
113
+ attr_accessor :is_third_party_discount_pricing
114
+
115
+ # The name of the service category the pricing option belongs to.
116
+ # @return [String]
117
+ attr_accessor :program
118
+
119
+ # If the pricing option has been marked discontinued.
120
+ # @return [TrueClass | FalseClass]
121
+ attr_accessor :discontinued
122
+
123
+ # Restricted to members of these membership ids.
124
+ # @return [Array[Integer]]
125
+ attr_accessor :restrict_to_membership_ids
126
+
127
+ # Discounts applied of these membership ids.
128
+ # @return [Array[Integer]]
129
+ attr_accessor :apply_member_discounts_of_membership_ids
130
+
131
+ # A mapping from model property names to API property names.
132
+ def self.names
133
+ @_hash = {} if @_hash.nil?
134
+ @_hash['price'] = 'Price'
135
+ @_hash['online_price'] = 'OnlinePrice'
136
+ @_hash['tax_included'] = 'TaxIncluded'
137
+ @_hash['program_id'] = 'ProgramId'
138
+ @_hash['tax_rate'] = 'TaxRate'
139
+ @_hash['product_id'] = 'ProductId'
140
+ @_hash['id'] = 'Id'
141
+ @_hash['name'] = 'Name'
142
+ @_hash['count'] = 'Count'
143
+ @_hash['sell_online'] = 'SellOnline'
144
+ @_hash['sale_in_contract_only'] = 'SaleInContractOnly'
145
+ @_hash['type'] = 'Type'
146
+ @_hash['expiration_type'] = 'ExpirationType'
147
+ @_hash['expiration_unit'] = 'ExpirationUnit'
148
+ @_hash['expiration_length'] = 'ExpirationLength'
149
+ @_hash['revenue_category'] = 'RevenueCategory'
150
+ @_hash['membership_id'] = 'MembershipId'
151
+ @_hash['sell_at_location_ids'] = 'SellAtLocationIds'
152
+ @_hash['use_at_location_ids'] = 'UseAtLocationIds'
153
+ @_hash['priority'] = 'Priority'
154
+ @_hash['is_intro_offer'] = 'IsIntroOffer'
155
+ @_hash['intro_offer_type'] = 'IntroOfferType'
156
+ @_hash['is_third_party_discount_pricing'] =
157
+ 'IsThirdPartyDiscountPricing'
158
+ @_hash['program'] = 'Program'
159
+ @_hash['discontinued'] = 'Discontinued'
160
+ @_hash['restrict_to_membership_ids'] = 'RestrictToMembershipIds'
161
+ @_hash['apply_member_discounts_of_membership_ids'] =
162
+ 'ApplyMemberDiscountsOfMembershipIds'
163
+ @_hash
164
+ end
165
+
166
+ # An array for optional fields
167
+ def self.optionals
168
+ %w[
169
+ price
170
+ online_price
171
+ tax_included
172
+ program_id
173
+ tax_rate
174
+ product_id
175
+ id
176
+ name
177
+ count
178
+ sell_online
179
+ sale_in_contract_only
180
+ type
181
+ expiration_type
182
+ expiration_unit
183
+ expiration_length
184
+ revenue_category
185
+ membership_id
186
+ sell_at_location_ids
187
+ use_at_location_ids
188
+ priority
189
+ is_intro_offer
190
+ intro_offer_type
191
+ is_third_party_discount_pricing
192
+ program
193
+ discontinued
194
+ restrict_to_membership_ids
195
+ apply_member_discounts_of_membership_ids
196
+ ]
197
+ end
198
+
199
+ # An array for nullable fields
200
+ def self.nullables
201
+ []
202
+ end
203
+
204
+ def initialize(price = SKIP, online_price = SKIP, tax_included = SKIP,
205
+ program_id = SKIP, tax_rate = SKIP, product_id = SKIP,
206
+ id = SKIP, name = SKIP, count = SKIP, sell_online = SKIP,
207
+ sale_in_contract_only = SKIP, type = SKIP,
208
+ expiration_type = SKIP, expiration_unit = SKIP,
209
+ expiration_length = SKIP, revenue_category = SKIP,
210
+ membership_id = SKIP, sell_at_location_ids = SKIP,
211
+ use_at_location_ids = SKIP, priority = SKIP,
212
+ is_intro_offer = SKIP, intro_offer_type = SKIP,
213
+ is_third_party_discount_pricing = SKIP, program = SKIP,
214
+ discontinued = SKIP, restrict_to_membership_ids = SKIP,
215
+ apply_member_discounts_of_membership_ids = SKIP)
216
+ @price = price unless price == SKIP
217
+ @online_price = online_price unless online_price == SKIP
218
+ @tax_included = tax_included unless tax_included == SKIP
219
+ @program_id = program_id unless program_id == SKIP
220
+ @tax_rate = tax_rate unless tax_rate == SKIP
221
+ @product_id = product_id unless product_id == SKIP
222
+ @id = id unless id == SKIP
223
+ @name = name unless name == SKIP
224
+ @count = count unless count == SKIP
225
+ @sell_online = sell_online unless sell_online == SKIP
226
+ @sale_in_contract_only = sale_in_contract_only unless sale_in_contract_only == SKIP
227
+ @type = type unless type == SKIP
228
+ @expiration_type = expiration_type unless expiration_type == SKIP
229
+ @expiration_unit = expiration_unit unless expiration_unit == SKIP
230
+ @expiration_length = expiration_length unless expiration_length == SKIP
231
+ @revenue_category = revenue_category unless revenue_category == SKIP
232
+ @membership_id = membership_id unless membership_id == SKIP
233
+ @sell_at_location_ids = sell_at_location_ids unless sell_at_location_ids == SKIP
234
+ @use_at_location_ids = use_at_location_ids unless use_at_location_ids == SKIP
235
+ @priority = priority unless priority == SKIP
236
+ @is_intro_offer = is_intro_offer unless is_intro_offer == SKIP
237
+ @intro_offer_type = intro_offer_type unless intro_offer_type == SKIP
238
+ unless is_third_party_discount_pricing == SKIP
239
+ @is_third_party_discount_pricing =
240
+ is_third_party_discount_pricing
241
+ end
242
+ @program = program unless program == SKIP
243
+ @discontinued = discontinued unless discontinued == SKIP
244
+ unless restrict_to_membership_ids == SKIP
245
+ @restrict_to_membership_ids =
246
+ restrict_to_membership_ids
247
+ end
248
+ unless apply_member_discounts_of_membership_ids == SKIP
249
+ @apply_member_discounts_of_membership_ids =
250
+ apply_member_discounts_of_membership_ids
251
+ end
252
+ end
253
+
254
+ # Creates an instance of the object from a hash.
255
+ def self.from_hash(hash)
256
+ return nil unless hash
257
+
258
+ # Extract variables from the hash.
259
+ price = hash.key?('Price') ? hash['Price'] : SKIP
260
+ online_price = hash.key?('OnlinePrice') ? hash['OnlinePrice'] : SKIP
261
+ tax_included = hash.key?('TaxIncluded') ? hash['TaxIncluded'] : SKIP
262
+ program_id = hash.key?('ProgramId') ? hash['ProgramId'] : SKIP
263
+ tax_rate = hash.key?('TaxRate') ? hash['TaxRate'] : SKIP
264
+ product_id = hash.key?('ProductId') ? hash['ProductId'] : SKIP
265
+ id = hash.key?('Id') ? hash['Id'] : SKIP
266
+ name = hash.key?('Name') ? hash['Name'] : SKIP
267
+ count = hash.key?('Count') ? hash['Count'] : SKIP
268
+ sell_online = hash.key?('SellOnline') ? hash['SellOnline'] : SKIP
269
+ sale_in_contract_only =
270
+ hash.key?('SaleInContractOnly') ? hash['SaleInContractOnly'] : SKIP
271
+ type = hash.key?('Type') ? hash['Type'] : SKIP
272
+ expiration_type =
273
+ hash.key?('ExpirationType') ? hash['ExpirationType'] : SKIP
274
+ expiration_unit =
275
+ hash.key?('ExpirationUnit') ? hash['ExpirationUnit'] : SKIP
276
+ expiration_length =
277
+ hash.key?('ExpirationLength') ? hash['ExpirationLength'] : SKIP
278
+ revenue_category =
279
+ hash.key?('RevenueCategory') ? hash['RevenueCategory'] : SKIP
280
+ membership_id = hash.key?('MembershipId') ? hash['MembershipId'] : SKIP
281
+ sell_at_location_ids =
282
+ hash.key?('SellAtLocationIds') ? hash['SellAtLocationIds'] : SKIP
283
+ use_at_location_ids =
284
+ hash.key?('UseAtLocationIds') ? hash['UseAtLocationIds'] : SKIP
285
+ priority = hash.key?('Priority') ? hash['Priority'] : SKIP
286
+ is_intro_offer = hash.key?('IsIntroOffer') ? hash['IsIntroOffer'] : SKIP
287
+ intro_offer_type =
288
+ hash.key?('IntroOfferType') ? hash['IntroOfferType'] : SKIP
289
+ is_third_party_discount_pricing =
290
+ hash.key?('IsThirdPartyDiscountPricing') ? hash['IsThirdPartyDiscountPricing'] : SKIP
291
+ program = hash.key?('Program') ? hash['Program'] : SKIP
292
+ discontinued = hash.key?('Discontinued') ? hash['Discontinued'] : SKIP
293
+ restrict_to_membership_ids =
294
+ hash.key?('RestrictToMembershipIds') ? hash['RestrictToMembershipIds'] : SKIP
295
+ apply_member_discounts_of_membership_ids =
296
+ hash.key?('ApplyMemberDiscountsOfMembershipIds') ? hash['ApplyMemberDiscountsOfMembershipIds'] : SKIP
297
+
298
+ # Create object from extracted values.
299
+ Service.new(price,
300
+ online_price,
301
+ tax_included,
302
+ program_id,
303
+ tax_rate,
304
+ product_id,
305
+ id,
306
+ name,
307
+ count,
308
+ sell_online,
309
+ sale_in_contract_only,
310
+ type,
311
+ expiration_type,
312
+ expiration_unit,
313
+ expiration_length,
314
+ revenue_category,
315
+ membership_id,
316
+ sell_at_location_ids,
317
+ use_at_location_ids,
318
+ priority,
319
+ is_intro_offer,
320
+ intro_offer_type,
321
+ is_third_party_discount_pricing,
322
+ program,
323
+ discontinued,
324
+ restrict_to_membership_ids,
325
+ apply_member_discounts_of_membership_ids)
326
+ end
327
+
328
+ # Provides a human-readable string representation of the object.
329
+ def to_s
330
+ class_name = self.class.name.split('::').last
331
+ "<#{class_name} price: #{@price}, online_price: #{@online_price}, tax_included:"\
332
+ " #{@tax_included}, program_id: #{@program_id}, tax_rate: #{@tax_rate}, product_id:"\
333
+ " #{@product_id}, id: #{@id}, name: #{@name}, count: #{@count}, sell_online:"\
334
+ " #{@sell_online}, sale_in_contract_only: #{@sale_in_contract_only}, type: #{@type},"\
335
+ " expiration_type: #{@expiration_type}, expiration_unit: #{@expiration_unit},"\
336
+ " expiration_length: #{@expiration_length}, revenue_category: #{@revenue_category},"\
337
+ " membership_id: #{@membership_id}, sell_at_location_ids: #{@sell_at_location_ids},"\
338
+ " use_at_location_ids: #{@use_at_location_ids}, priority: #{@priority}, is_intro_offer:"\
339
+ " #{@is_intro_offer}, intro_offer_type: #{@intro_offer_type},"\
340
+ " is_third_party_discount_pricing: #{@is_third_party_discount_pricing}, program:"\
341
+ " #{@program}, discontinued: #{@discontinued}, restrict_to_membership_ids:"\
342
+ " #{@restrict_to_membership_ids}, apply_member_discounts_of_membership_ids:"\
343
+ " #{@apply_member_discounts_of_membership_ids}>"
344
+ end
345
+
346
+ # Provides a debugging-friendly string with detailed object information.
347
+ def inspect
348
+ class_name = self.class.name.split('::').last
349
+ "<#{class_name} price: #{@price.inspect}, online_price: #{@online_price.inspect},"\
350
+ " tax_included: #{@tax_included.inspect}, program_id: #{@program_id.inspect}, tax_rate:"\
351
+ " #{@tax_rate.inspect}, product_id: #{@product_id.inspect}, id: #{@id.inspect}, name:"\
352
+ " #{@name.inspect}, count: #{@count.inspect}, sell_online: #{@sell_online.inspect},"\
353
+ " sale_in_contract_only: #{@sale_in_contract_only.inspect}, type: #{@type.inspect},"\
354
+ " expiration_type: #{@expiration_type.inspect}, expiration_unit:"\
355
+ " #{@expiration_unit.inspect}, expiration_length: #{@expiration_length.inspect},"\
356
+ " revenue_category: #{@revenue_category.inspect}, membership_id: #{@membership_id.inspect},"\
357
+ " sell_at_location_ids: #{@sell_at_location_ids.inspect}, use_at_location_ids:"\
358
+ " #{@use_at_location_ids.inspect}, priority: #{@priority.inspect}, is_intro_offer:"\
359
+ " #{@is_intro_offer.inspect}, intro_offer_type: #{@intro_offer_type.inspect},"\
360
+ " is_third_party_discount_pricing: #{@is_third_party_discount_pricing.inspect}, program:"\
361
+ " #{@program.inspect}, discontinued: #{@discontinued.inspect}, restrict_to_membership_ids:"\
362
+ " #{@restrict_to_membership_ids.inspect}, apply_member_discounts_of_membership_ids:"\
363
+ " #{@apply_member_discounts_of_membership_ids.inspect}>"
364
+ end
365
+ end
366
+ end
@@ -0,0 +1,72 @@
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
+ # ServiceTag refers to Category and Subcategory fields for classes and
8
+ # appointments
9
+ class ServiceTag < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [Integer]
15
+ attr_accessor :id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :name
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['id'] = 'Id'
25
+ @_hash['name'] = 'Name'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ %w[
32
+ id
33
+ name
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(id = SKIP, name = SKIP)
43
+ @id = id unless id == SKIP
44
+ @name = name unless name == SKIP
45
+ end
46
+
47
+ # Creates an instance of the object from a hash.
48
+ def self.from_hash(hash)
49
+ return nil unless hash
50
+
51
+ # Extract variables from the hash.
52
+ id = hash.key?('Id') ? hash['Id'] : SKIP
53
+ name = hash.key?('Name') ? hash['Name'] : SKIP
54
+
55
+ # Create object from extracted values.
56
+ ServiceTag.new(id,
57
+ name)
58
+ end
59
+
60
+ # Provides a human-readable string representation of the object.
61
+ def to_s
62
+ class_name = self.class.name.split('::').last
63
+ "<#{class_name} id: #{@id}, name: #{@name}>"
64
+ end
65
+
66
+ # Provides a debugging-friendly string with detailed object information.
67
+ def inspect
68
+ class_name = self.class.name.split('::').last
69
+ "<#{class_name} id: #{@id.inspect}, name: #{@name.inspect}>"
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,198 @@
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
+ # SessionType contains information about the session types in a business.
8
+ class SessionType < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Contains the class description session type. Possible values are:
13
+ # * All
14
+ # * Class
15
+ # * Enrollment
16
+ # * Appointment
17
+ # * Resource
18
+ # * Media
19
+ # * Arrival
20
+ # @return [TypeEnum]
21
+ attr_accessor :type
22
+
23
+ # The default amount of time that a session of this type typically lasts.
24
+ # @return [Integer]
25
+ attr_accessor :default_time_length
26
+
27
+ # The amount of time that a session of this type will last for a specific
28
+ # Staff (when applicable.)
29
+ # @return [Integer]
30
+ attr_accessor :staff_time_length
31
+
32
+ # This session type’s unique ID.
33
+ # @return [Integer]
34
+ attr_accessor :id
35
+
36
+ # The name of this session type.
37
+ # @return [String]
38
+ attr_accessor :name
39
+
40
+ # The online description associated with the appointment.
41
+ # @return [String]
42
+ attr_accessor :online_description
43
+
44
+ # The number of sessions that this session type deducts from the pricing
45
+ # option used to pay for this type of session.
46
+ # @return [Integer]
47
+ attr_accessor :num_deducted
48
+
49
+ # This session type’s service category ID.
50
+ # @return [Integer]
51
+ attr_accessor :program_id
52
+
53
+ # This session type’s category.
54
+ # @return [String]
55
+ attr_accessor :category
56
+
57
+ # This session type’s category ID.
58
+ # @return [Integer]
59
+ attr_accessor :category_id
60
+
61
+ # This session type’s subcategory.
62
+ # @return [String]
63
+ attr_accessor :subcategory
64
+
65
+ # This session type’s subcategory ID.
66
+ # @return [Integer]
67
+ attr_accessor :subcategory_id
68
+
69
+ # This session type’s Add On Flag.
70
+ # @return [TrueClass | FalseClass]
71
+ attr_accessor :available_for_add_on
72
+
73
+ # A mapping from model property names to API property names.
74
+ def self.names
75
+ @_hash = {} if @_hash.nil?
76
+ @_hash['type'] = 'Type'
77
+ @_hash['default_time_length'] = 'DefaultTimeLength'
78
+ @_hash['staff_time_length'] = 'StaffTimeLength'
79
+ @_hash['id'] = 'Id'
80
+ @_hash['name'] = 'Name'
81
+ @_hash['online_description'] = 'OnlineDescription'
82
+ @_hash['num_deducted'] = 'NumDeducted'
83
+ @_hash['program_id'] = 'ProgramId'
84
+ @_hash['category'] = 'Category'
85
+ @_hash['category_id'] = 'CategoryId'
86
+ @_hash['subcategory'] = 'Subcategory'
87
+ @_hash['subcategory_id'] = 'SubcategoryId'
88
+ @_hash['available_for_add_on'] = 'AvailableForAddOn'
89
+ @_hash
90
+ end
91
+
92
+ # An array for optional fields
93
+ def self.optionals
94
+ %w[
95
+ type
96
+ default_time_length
97
+ staff_time_length
98
+ id
99
+ name
100
+ online_description
101
+ num_deducted
102
+ program_id
103
+ category
104
+ category_id
105
+ subcategory
106
+ subcategory_id
107
+ available_for_add_on
108
+ ]
109
+ end
110
+
111
+ # An array for nullable fields
112
+ def self.nullables
113
+ []
114
+ end
115
+
116
+ def initialize(type = SKIP, default_time_length = SKIP,
117
+ staff_time_length = SKIP, id = SKIP, name = SKIP,
118
+ online_description = SKIP, num_deducted = SKIP,
119
+ program_id = SKIP, category = SKIP, category_id = SKIP,
120
+ subcategory = SKIP, subcategory_id = SKIP,
121
+ available_for_add_on = SKIP)
122
+ @type = type unless type == SKIP
123
+ @default_time_length = default_time_length unless default_time_length == SKIP
124
+ @staff_time_length = staff_time_length unless staff_time_length == SKIP
125
+ @id = id unless id == SKIP
126
+ @name = name unless name == SKIP
127
+ @online_description = online_description unless online_description == SKIP
128
+ @num_deducted = num_deducted unless num_deducted == SKIP
129
+ @program_id = program_id unless program_id == SKIP
130
+ @category = category unless category == SKIP
131
+ @category_id = category_id unless category_id == SKIP
132
+ @subcategory = subcategory unless subcategory == SKIP
133
+ @subcategory_id = subcategory_id unless subcategory_id == SKIP
134
+ @available_for_add_on = available_for_add_on unless available_for_add_on == SKIP
135
+ end
136
+
137
+ # Creates an instance of the object from a hash.
138
+ def self.from_hash(hash)
139
+ return nil unless hash
140
+
141
+ # Extract variables from the hash.
142
+ type = hash.key?('Type') ? hash['Type'] : SKIP
143
+ default_time_length =
144
+ hash.key?('DefaultTimeLength') ? hash['DefaultTimeLength'] : SKIP
145
+ staff_time_length =
146
+ hash.key?('StaffTimeLength') ? hash['StaffTimeLength'] : SKIP
147
+ id = hash.key?('Id') ? hash['Id'] : SKIP
148
+ name = hash.key?('Name') ? hash['Name'] : SKIP
149
+ online_description =
150
+ hash.key?('OnlineDescription') ? hash['OnlineDescription'] : SKIP
151
+ num_deducted = hash.key?('NumDeducted') ? hash['NumDeducted'] : SKIP
152
+ program_id = hash.key?('ProgramId') ? hash['ProgramId'] : SKIP
153
+ category = hash.key?('Category') ? hash['Category'] : SKIP
154
+ category_id = hash.key?('CategoryId') ? hash['CategoryId'] : SKIP
155
+ subcategory = hash.key?('Subcategory') ? hash['Subcategory'] : SKIP
156
+ subcategory_id = hash.key?('SubcategoryId') ? hash['SubcategoryId'] : SKIP
157
+ available_for_add_on =
158
+ hash.key?('AvailableForAddOn') ? hash['AvailableForAddOn'] : SKIP
159
+
160
+ # Create object from extracted values.
161
+ SessionType.new(type,
162
+ default_time_length,
163
+ staff_time_length,
164
+ id,
165
+ name,
166
+ online_description,
167
+ num_deducted,
168
+ program_id,
169
+ category,
170
+ category_id,
171
+ subcategory,
172
+ subcategory_id,
173
+ available_for_add_on)
174
+ end
175
+
176
+ # Provides a human-readable string representation of the object.
177
+ def to_s
178
+ class_name = self.class.name.split('::').last
179
+ "<#{class_name} type: #{@type}, default_time_length: #{@default_time_length},"\
180
+ " staff_time_length: #{@staff_time_length}, id: #{@id}, name: #{@name}, online_description:"\
181
+ " #{@online_description}, num_deducted: #{@num_deducted}, program_id: #{@program_id},"\
182
+ " category: #{@category}, category_id: #{@category_id}, subcategory: #{@subcategory},"\
183
+ " subcategory_id: #{@subcategory_id}, available_for_add_on: #{@available_for_add_on}>"
184
+ end
185
+
186
+ # Provides a debugging-friendly string with detailed object information.
187
+ def inspect
188
+ class_name = self.class.name.split('::').last
189
+ "<#{class_name} type: #{@type.inspect}, default_time_length:"\
190
+ " #{@default_time_length.inspect}, staff_time_length: #{@staff_time_length.inspect}, id:"\
191
+ " #{@id.inspect}, name: #{@name.inspect}, online_description:"\
192
+ " #{@online_description.inspect}, num_deducted: #{@num_deducted.inspect}, program_id:"\
193
+ " #{@program_id.inspect}, category: #{@category.inspect}, category_id:"\
194
+ " #{@category_id.inspect}, subcategory: #{@subcategory.inspect}, subcategory_id:"\
195
+ " #{@subcategory_id.inspect}, available_for_add_on: #{@available_for_add_on.inspect}>"
196
+ end
197
+ end
198
+ end