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,183 @@
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
+ # CheckoutItemWrapper Model.
8
+ class CheckoutItemWrapper < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [CheckoutItem]
14
+ attr_accessor :item
15
+
16
+ # Sales Notes for the product
17
+ # @return [String]
18
+ attr_accessor :sales_notes
19
+
20
+ # The amount the item is discounted. This parameter is ignored for packages.
21
+ # @return [Float]
22
+ attr_accessor :discount_amount
23
+
24
+ # A list of appointments to be booked then paid for by this item. This
25
+ # parameter applies only to pricing option items.
26
+ # @return [Array[CheckoutAppointmentBookingRequest]]
27
+ attr_accessor :appointment_booking_requests
28
+
29
+ # A list of enrollment IDs that this item is to pay for. This parameter
30
+ # applies only to pricing option items.
31
+ # @return [Array[Integer]]
32
+ attr_accessor :enrollment_ids
33
+
34
+ # A list of class IDs that this item is to pay for. This parameter applies
35
+ # only to pricing option items.
36
+ # @return [Array[Integer]]
37
+ attr_accessor :class_ids
38
+
39
+ # A list of course IDs that this item is to pay for. This parameter applies
40
+ # only to pricing option items.
41
+ # @return [Array[Integer]]
42
+ attr_accessor :course_ids
43
+
44
+ # A list of visit IDs that this item is to pay for. This parameter applies
45
+ # only to pricing option items.
46
+ # @return [Array[Integer]]
47
+ attr_accessor :visit_ids
48
+
49
+ # A list of appointment IDs that this item is to reconcile.
50
+ # @return [Array[Integer]]
51
+ attr_accessor :appointment_ids
52
+
53
+ # The item’s unique ID within the cart.
54
+ # @return [Integer]
55
+ attr_accessor :id
56
+
57
+ # The number of this item to be purchased.
58
+ # @return [Integer]
59
+ attr_accessor :quantity
60
+
61
+ # A mapping from model property names to API property names.
62
+ def self.names
63
+ @_hash = {} if @_hash.nil?
64
+ @_hash['item'] = 'Item'
65
+ @_hash['sales_notes'] = 'SalesNotes'
66
+ @_hash['discount_amount'] = 'DiscountAmount'
67
+ @_hash['appointment_booking_requests'] = 'AppointmentBookingRequests'
68
+ @_hash['enrollment_ids'] = 'EnrollmentIds'
69
+ @_hash['class_ids'] = 'ClassIds'
70
+ @_hash['course_ids'] = 'CourseIds'
71
+ @_hash['visit_ids'] = 'VisitIds'
72
+ @_hash['appointment_ids'] = 'AppointmentIds'
73
+ @_hash['id'] = 'Id'
74
+ @_hash['quantity'] = 'Quantity'
75
+ @_hash
76
+ end
77
+
78
+ # An array for optional fields
79
+ def self.optionals
80
+ %w[
81
+ item
82
+ sales_notes
83
+ discount_amount
84
+ appointment_booking_requests
85
+ enrollment_ids
86
+ class_ids
87
+ course_ids
88
+ visit_ids
89
+ appointment_ids
90
+ id
91
+ quantity
92
+ ]
93
+ end
94
+
95
+ # An array for nullable fields
96
+ def self.nullables
97
+ []
98
+ end
99
+
100
+ def initialize(item = SKIP, sales_notes = SKIP, discount_amount = SKIP,
101
+ appointment_booking_requests = SKIP, enrollment_ids = SKIP,
102
+ class_ids = SKIP, course_ids = SKIP, visit_ids = SKIP,
103
+ appointment_ids = SKIP, id = SKIP, quantity = SKIP)
104
+ @item = item unless item == SKIP
105
+ @sales_notes = sales_notes unless sales_notes == SKIP
106
+ @discount_amount = discount_amount unless discount_amount == SKIP
107
+ unless appointment_booking_requests == SKIP
108
+ @appointment_booking_requests =
109
+ appointment_booking_requests
110
+ end
111
+ @enrollment_ids = enrollment_ids unless enrollment_ids == SKIP
112
+ @class_ids = class_ids unless class_ids == SKIP
113
+ @course_ids = course_ids unless course_ids == SKIP
114
+ @visit_ids = visit_ids unless visit_ids == SKIP
115
+ @appointment_ids = appointment_ids unless appointment_ids == SKIP
116
+ @id = id unless id == SKIP
117
+ @quantity = quantity unless quantity == SKIP
118
+ end
119
+
120
+ # Creates an instance of the object from a hash.
121
+ def self.from_hash(hash)
122
+ return nil unless hash
123
+
124
+ # Extract variables from the hash.
125
+ item = CheckoutItem.from_hash(hash['Item']) if hash['Item']
126
+ sales_notes = hash.key?('SalesNotes') ? hash['SalesNotes'] : SKIP
127
+ discount_amount =
128
+ hash.key?('DiscountAmount') ? hash['DiscountAmount'] : SKIP
129
+ # Parameter is an array, so we need to iterate through it
130
+ appointment_booking_requests = nil
131
+ unless hash['AppointmentBookingRequests'].nil?
132
+ appointment_booking_requests = []
133
+ hash['AppointmentBookingRequests'].each do |structure|
134
+ appointment_booking_requests << (CheckoutAppointmentBookingRequest.from_hash(structure) if structure)
135
+ end
136
+ end
137
+
138
+ appointment_booking_requests = SKIP unless hash.key?('AppointmentBookingRequests')
139
+ enrollment_ids = hash.key?('EnrollmentIds') ? hash['EnrollmentIds'] : SKIP
140
+ class_ids = hash.key?('ClassIds') ? hash['ClassIds'] : SKIP
141
+ course_ids = hash.key?('CourseIds') ? hash['CourseIds'] : SKIP
142
+ visit_ids = hash.key?('VisitIds') ? hash['VisitIds'] : SKIP
143
+ appointment_ids =
144
+ hash.key?('AppointmentIds') ? hash['AppointmentIds'] : SKIP
145
+ id = hash.key?('Id') ? hash['Id'] : SKIP
146
+ quantity = hash.key?('Quantity') ? hash['Quantity'] : SKIP
147
+
148
+ # Create object from extracted values.
149
+ CheckoutItemWrapper.new(item,
150
+ sales_notes,
151
+ discount_amount,
152
+ appointment_booking_requests,
153
+ enrollment_ids,
154
+ class_ids,
155
+ course_ids,
156
+ visit_ids,
157
+ appointment_ids,
158
+ id,
159
+ quantity)
160
+ end
161
+
162
+ # Provides a human-readable string representation of the object.
163
+ def to_s
164
+ class_name = self.class.name.split('::').last
165
+ "<#{class_name} item: #{@item}, sales_notes: #{@sales_notes}, discount_amount:"\
166
+ " #{@discount_amount}, appointment_booking_requests: #{@appointment_booking_requests},"\
167
+ " enrollment_ids: #{@enrollment_ids}, class_ids: #{@class_ids}, course_ids: #{@course_ids},"\
168
+ " visit_ids: #{@visit_ids}, appointment_ids: #{@appointment_ids}, id: #{@id}, quantity:"\
169
+ " #{@quantity}>"
170
+ end
171
+
172
+ # Provides a debugging-friendly string with detailed object information.
173
+ def inspect
174
+ class_name = self.class.name.split('::').last
175
+ "<#{class_name} item: #{@item.inspect}, sales_notes: #{@sales_notes.inspect},"\
176
+ " discount_amount: #{@discount_amount.inspect}, appointment_booking_requests:"\
177
+ " #{@appointment_booking_requests.inspect}, enrollment_ids: #{@enrollment_ids.inspect},"\
178
+ " class_ids: #{@class_ids.inspect}, course_ids: #{@course_ids.inspect}, visit_ids:"\
179
+ " #{@visit_ids.inspect}, appointment_ids: #{@appointment_ids.inspect}, id: #{@id.inspect},"\
180
+ " quantity: #{@quantity.inspect}>"
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,101 @@
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
+ # CheckoutPaymentInfo Model.
8
+ class CheckoutPaymentInfo < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of payment. Possible values are:
13
+ # * CreditCard - Indicates that this payment item is a credit card.
14
+ # * StoredCard - Indicates that this payment item is a credit card stored on
15
+ # the client’s account.
16
+ # * DirectDebit - Indicates that this payment item is a direct debit.
17
+ # * EncryptedTrackData - Indicates that this payment item is a swiped credit
18
+ # card.
19
+ # * TrackData - Indicates that this payment item is a swiped credit card.
20
+ # * DebitAccount - Indicates that funds should be debited from the client’s
21
+ # account.
22
+ # * Custom - Indicates that this payment item is a custom payment method
23
+ # configured by the business.
24
+ # * Comp - Indicates that this payment item is making all or part of the
25
+ # cart’s total complementary.
26
+ # * Cash - Indicates that this payment item is cash.
27
+ # * Check - Indicates that this payment item is a check.
28
+ # * GiftCard - Indicates that this payment item is a gift card.
29
+ # @return [String]
30
+ attr_accessor :type
31
+
32
+ # Contains information about the cart’s payments. Possible values vary
33
+ # according to the Type property, as below:
34
+ # * CreditCard Keys - amount, creditCardNumber, expMonth, expYear, cvv,
35
+ # billingName, billingAddress, billingCity, billingState, billingPostalCode,
36
+ # saveInfo, cardId
37
+ # * StoredCard Keys - amount, lastFour
38
+ # * DirectDebit Keys - amount
39
+ # * EncryptedTrackData Keys - amount, trackData
40
+ # * TrackData Keys - amount, trackData
41
+ # * DebitAccount Keys - amount
42
+ # * Custom Keys - amount, id
43
+ # * Comp Keys - amount
44
+ # * Cash Keys - amount, notes
45
+ # * Check Keys - amount, notes
46
+ # * GiftCard - amount, notes, cardNumber
47
+ # @return [Hash[String, Object]]
48
+ attr_accessor :metadata
49
+
50
+ # A mapping from model property names to API property names.
51
+ def self.names
52
+ @_hash = {} if @_hash.nil?
53
+ @_hash['type'] = 'Type'
54
+ @_hash['metadata'] = 'Metadata'
55
+ @_hash
56
+ end
57
+
58
+ # An array for optional fields
59
+ def self.optionals
60
+ %w[
61
+ type
62
+ metadata
63
+ ]
64
+ end
65
+
66
+ # An array for nullable fields
67
+ def self.nullables
68
+ []
69
+ end
70
+
71
+ def initialize(type = SKIP, metadata = SKIP)
72
+ @type = type unless type == SKIP
73
+ @metadata = metadata unless metadata == 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
+ type = hash.key?('Type') ? hash['Type'] : SKIP
82
+ metadata = hash.key?('Metadata') ? hash['Metadata'] : SKIP
83
+
84
+ # Create object from extracted values.
85
+ CheckoutPaymentInfo.new(type,
86
+ metadata)
87
+ end
88
+
89
+ # Provides a human-readable string representation of the object.
90
+ def to_s
91
+ class_name = self.class.name.split('::').last
92
+ "<#{class_name} type: #{@type}, metadata: #{@metadata}>"
93
+ end
94
+
95
+ # Provides a debugging-friendly string with detailed object information.
96
+ def inspect
97
+ class_name = self.class.name.split('::').last
98
+ "<#{class_name} type: #{@type.inspect}, metadata: #{@metadata.inspect}>"
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,339 @@
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
+ # CheckoutShoppingCartRequest Model.
8
+ class CheckoutShoppingCartRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The unique ID of the shopping cart to be processed. You can use this value
13
+ # to maintain a persistent cart. If you do not specify a cart ID, the
14
+ # MINDBODY software generates one.
15
+ # @return [String]
16
+ attr_accessor :cart_id
17
+
18
+ # The RSSID of the client making the purchase. A 'ClientId' OR
19
+ # 'UniqueClientId' must be specified to complete a sale.
20
+ # @return [String]
21
+ attr_accessor :client_id
22
+
23
+ # The UniqueId of the client making the purchase. A 'ClientId' OR
24
+ # 'UniqueClientId' must be specified to complete a sale.
25
+ # Note: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both
26
+ # are provided, the 'UniqueClientId' takes precedence.
27
+ # @return [Integer]
28
+ attr_accessor :unique_client_id
29
+
30
+ # The RSSID of the client paying for the purchase. This client needs to have
31
+ # a relationship of type "Pays for" with the client specified in the
32
+ # 'ClientId' or 'UniqueClientId' fields.
33
+ # @return [String]
34
+ attr_accessor :payer_client_id
35
+
36
+ # The UniqueId of the client paying for the purchase. This client needs to
37
+ # have a relationship of type "Pays for" with the client specified in the
38
+ # 'ClientId' or 'UniqueClientId' field.
39
+ # Note: you need to provide the 'UniquePayerClientId' OR the
40
+ # 'PayerClientId'. If both are provided, the 'UniquePayerClientId' takes
41
+ # precedence.
42
+ # @return [Integer]
43
+ attr_accessor :unique_payer_client_id
44
+
45
+ # When `true`, indicates that the contents of the cart are validated, but
46
+ # the transaction does not take place. You should use this parameter during
47
+ # testing and when checking the calculated totals of the items in the
48
+ # cart.<br />
49
+ # When `false`, the transaction takes place and the database is affected.<br
50
+ # />
51
+ # Default: **false**
52
+ # @return [TrueClass | FalseClass]
53
+ attr_accessor :test
54
+
55
+ # A list of the items in the cart.
56
+ # @return [Array[CheckoutItemWrapper]]
57
+ attr_accessor :items
58
+
59
+ # When `true`, indicates that the cart is to be completed by a staff member
60
+ # and is to take place at one of the business’ physical locations.<br />
61
+ # When `false`, indicates that the cart is to be completed by a client from
62
+ # the business’ online store.<br />
63
+ # Default: **false**
64
+ # @return [TrueClass | FalseClass]
65
+ attr_accessor :in_store
66
+
67
+ # When `true`, indicates that the tax should be calculated.
68
+ # When `false`, indicates that the tax should not be calculated.
69
+ # Default: **true**
70
+ # @return [TrueClass | FalseClass]
71
+ attr_accessor :calculate_tax
72
+
73
+ # Promotion code to be applied to the cart.
74
+ # @return [String]
75
+ attr_accessor :promotion_code
76
+
77
+ # A list of payment information objects to be applied to payment against the
78
+ # items in the cart.
79
+ # @return [Array[CheckoutPaymentInfo]]
80
+ attr_accessor :payments
81
+
82
+ # When `true`, sends a purchase receipt email to the client. Note that all
83
+ # appropriate permissions and settings must be enabled for the client to
84
+ # receive an email.<br />
85
+ # Default: **false**
86
+ # @return [TrueClass | FalseClass]
87
+ attr_accessor :send_email
88
+
89
+ # The location ID to be used for pulling business mode prices and taxes. If
90
+ # no location ID is supplied, it defaults to the online store, represented
91
+ # by a null value.
92
+ # Default: **null** (the online store)
93
+ # @return [Integer]
94
+ attr_accessor :location_id
95
+
96
+ # The byte array data of the signature image.
97
+ # @return [String]
98
+ attr_accessor :image
99
+
100
+ # The name of the signature image being uploaded.
101
+ # @return [String]
102
+ attr_accessor :image_file_name
103
+
104
+ # When `true`, indicates that the consumer is present or otherwise able to
105
+ # successfully negotiate an SCA challenge. It is not a good idea to have
106
+ # this always be `false` as that could very likely lead to a bank declining
107
+ # all transactions for the merchant.
108
+ # Defaults to `false`.
109
+ # @return [TrueClass | FalseClass]
110
+ attr_accessor :consumer_present
111
+
112
+ # The URL consumer is redirected to if the bank requests SCA. This field is
113
+ # only needed if ConsumerPresent is `true`
114
+ # @return [String]
115
+ attr_accessor :payment_authentication_callback_url
116
+
117
+ # The list of TransactionIds provided with initial response containing SCA
118
+ # Challenge URLs for ConsumerPresent transactions
119
+ # @return [Array[Integer]]
120
+ attr_accessor :transaction_ids
121
+
122
+ # the flag to check billing post code is required or not.
123
+ # @return [TrueClass | FalseClass]
124
+ attr_accessor :is_billing_postal_code_required
125
+
126
+ # When `true`, enforces "sell at" location restrictions on the cart items.
127
+ # When `false`, "sell at" location restrictions are not enforced.
128
+ # Default: **false**
129
+ # @return [TrueClass | FalseClass]
130
+ attr_accessor :enforce_location_restrictions
131
+
132
+ # A mapping from model property names to API property names.
133
+ def self.names
134
+ @_hash = {} if @_hash.nil?
135
+ @_hash['cart_id'] = 'CartId'
136
+ @_hash['client_id'] = 'ClientId'
137
+ @_hash['unique_client_id'] = 'UniqueClientId'
138
+ @_hash['payer_client_id'] = 'PayerClientId'
139
+ @_hash['unique_payer_client_id'] = 'UniquePayerClientId'
140
+ @_hash['test'] = 'Test'
141
+ @_hash['items'] = 'Items'
142
+ @_hash['in_store'] = 'InStore'
143
+ @_hash['calculate_tax'] = 'CalculateTax'
144
+ @_hash['promotion_code'] = 'PromotionCode'
145
+ @_hash['payments'] = 'Payments'
146
+ @_hash['send_email'] = 'SendEmail'
147
+ @_hash['location_id'] = 'LocationId'
148
+ @_hash['image'] = 'Image'
149
+ @_hash['image_file_name'] = 'ImageFileName'
150
+ @_hash['consumer_present'] = 'ConsumerPresent'
151
+ @_hash['payment_authentication_callback_url'] =
152
+ 'PaymentAuthenticationCallbackUrl'
153
+ @_hash['transaction_ids'] = 'TransactionIds'
154
+ @_hash['is_billing_postal_code_required'] =
155
+ 'IsBillingPostalCodeRequired'
156
+ @_hash['enforce_location_restrictions'] = 'EnforceLocationRestrictions'
157
+ @_hash
158
+ end
159
+
160
+ # An array for optional fields
161
+ def self.optionals
162
+ %w[
163
+ cart_id
164
+ client_id
165
+ unique_client_id
166
+ payer_client_id
167
+ unique_payer_client_id
168
+ test
169
+ in_store
170
+ calculate_tax
171
+ promotion_code
172
+ send_email
173
+ location_id
174
+ image
175
+ image_file_name
176
+ consumer_present
177
+ payment_authentication_callback_url
178
+ transaction_ids
179
+ is_billing_postal_code_required
180
+ enforce_location_restrictions
181
+ ]
182
+ end
183
+
184
+ # An array for nullable fields
185
+ def self.nullables
186
+ []
187
+ end
188
+
189
+ def initialize(items = nil, payments = nil, cart_id = SKIP,
190
+ client_id = SKIP, unique_client_id = SKIP,
191
+ payer_client_id = SKIP, unique_payer_client_id = SKIP,
192
+ test = SKIP, in_store = SKIP, calculate_tax = SKIP,
193
+ promotion_code = SKIP, send_email = SKIP, location_id = SKIP,
194
+ image = SKIP, image_file_name = SKIP,
195
+ consumer_present = SKIP,
196
+ payment_authentication_callback_url = SKIP,
197
+ transaction_ids = SKIP,
198
+ is_billing_postal_code_required = SKIP,
199
+ enforce_location_restrictions = SKIP)
200
+ @cart_id = cart_id unless cart_id == SKIP
201
+ @client_id = client_id unless client_id == SKIP
202
+ @unique_client_id = unique_client_id unless unique_client_id == SKIP
203
+ @payer_client_id = payer_client_id unless payer_client_id == SKIP
204
+ @unique_payer_client_id = unique_payer_client_id unless unique_payer_client_id == SKIP
205
+ @test = test unless test == SKIP
206
+ @items = items
207
+ @in_store = in_store unless in_store == SKIP
208
+ @calculate_tax = calculate_tax unless calculate_tax == SKIP
209
+ @promotion_code = promotion_code unless promotion_code == SKIP
210
+ @payments = payments
211
+ @send_email = send_email unless send_email == SKIP
212
+ @location_id = location_id unless location_id == SKIP
213
+ @image = image unless image == SKIP
214
+ @image_file_name = image_file_name unless image_file_name == SKIP
215
+ @consumer_present = consumer_present unless consumer_present == SKIP
216
+ unless payment_authentication_callback_url == SKIP
217
+ @payment_authentication_callback_url =
218
+ payment_authentication_callback_url
219
+ end
220
+ @transaction_ids = transaction_ids unless transaction_ids == SKIP
221
+ unless is_billing_postal_code_required == SKIP
222
+ @is_billing_postal_code_required =
223
+ is_billing_postal_code_required
224
+ end
225
+ unless enforce_location_restrictions == SKIP
226
+ @enforce_location_restrictions =
227
+ enforce_location_restrictions
228
+ end
229
+ end
230
+
231
+ # Creates an instance of the object from a hash.
232
+ def self.from_hash(hash)
233
+ return nil unless hash
234
+
235
+ # Extract variables from the hash.
236
+ # Parameter is an array, so we need to iterate through it
237
+ items = nil
238
+ unless hash['Items'].nil?
239
+ items = []
240
+ hash['Items'].each do |structure|
241
+ items << (CheckoutItemWrapper.from_hash(structure) if structure)
242
+ end
243
+ end
244
+
245
+ items = nil unless hash.key?('Items')
246
+ # Parameter is an array, so we need to iterate through it
247
+ payments = nil
248
+ unless hash['Payments'].nil?
249
+ payments = []
250
+ hash['Payments'].each do |structure|
251
+ payments << (CheckoutPaymentInfo.from_hash(structure) if structure)
252
+ end
253
+ end
254
+
255
+ payments = nil unless hash.key?('Payments')
256
+ cart_id = hash.key?('CartId') ? hash['CartId'] : SKIP
257
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : SKIP
258
+ unique_client_id =
259
+ hash.key?('UniqueClientId') ? hash['UniqueClientId'] : SKIP
260
+ payer_client_id =
261
+ hash.key?('PayerClientId') ? hash['PayerClientId'] : SKIP
262
+ unique_payer_client_id =
263
+ hash.key?('UniquePayerClientId') ? hash['UniquePayerClientId'] : SKIP
264
+ test = hash.key?('Test') ? hash['Test'] : SKIP
265
+ in_store = hash.key?('InStore') ? hash['InStore'] : SKIP
266
+ calculate_tax = hash.key?('CalculateTax') ? hash['CalculateTax'] : SKIP
267
+ promotion_code = hash.key?('PromotionCode') ? hash['PromotionCode'] : SKIP
268
+ send_email = hash.key?('SendEmail') ? hash['SendEmail'] : SKIP
269
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : SKIP
270
+ image = hash.key?('Image') ? hash['Image'] : SKIP
271
+ image_file_name =
272
+ hash.key?('ImageFileName') ? hash['ImageFileName'] : SKIP
273
+ consumer_present =
274
+ hash.key?('ConsumerPresent') ? hash['ConsumerPresent'] : SKIP
275
+ payment_authentication_callback_url =
276
+ hash.key?('PaymentAuthenticationCallbackUrl') ? hash['PaymentAuthenticationCallbackUrl'] : SKIP
277
+ transaction_ids =
278
+ hash.key?('TransactionIds') ? hash['TransactionIds'] : SKIP
279
+ is_billing_postal_code_required =
280
+ hash.key?('IsBillingPostalCodeRequired') ? hash['IsBillingPostalCodeRequired'] : SKIP
281
+ enforce_location_restrictions =
282
+ hash.key?('EnforceLocationRestrictions') ? hash['EnforceLocationRestrictions'] : SKIP
283
+
284
+ # Create object from extracted values.
285
+ CheckoutShoppingCartRequest.new(items,
286
+ payments,
287
+ cart_id,
288
+ client_id,
289
+ unique_client_id,
290
+ payer_client_id,
291
+ unique_payer_client_id,
292
+ test,
293
+ in_store,
294
+ calculate_tax,
295
+ promotion_code,
296
+ send_email,
297
+ location_id,
298
+ image,
299
+ image_file_name,
300
+ consumer_present,
301
+ payment_authentication_callback_url,
302
+ transaction_ids,
303
+ is_billing_postal_code_required,
304
+ enforce_location_restrictions)
305
+ end
306
+
307
+ # Provides a human-readable string representation of the object.
308
+ def to_s
309
+ class_name = self.class.name.split('::').last
310
+ "<#{class_name} cart_id: #{@cart_id}, client_id: #{@client_id}, unique_client_id:"\
311
+ " #{@unique_client_id}, payer_client_id: #{@payer_client_id}, unique_payer_client_id:"\
312
+ " #{@unique_payer_client_id}, test: #{@test}, items: #{@items}, in_store: #{@in_store},"\
313
+ " calculate_tax: #{@calculate_tax}, promotion_code: #{@promotion_code}, payments:"\
314
+ " #{@payments}, send_email: #{@send_email}, location_id: #{@location_id}, image: #{@image},"\
315
+ " image_file_name: #{@image_file_name}, consumer_present: #{@consumer_present},"\
316
+ " payment_authentication_callback_url: #{@payment_authentication_callback_url},"\
317
+ " transaction_ids: #{@transaction_ids}, is_billing_postal_code_required:"\
318
+ " #{@is_billing_postal_code_required}, enforce_location_restrictions:"\
319
+ " #{@enforce_location_restrictions}>"
320
+ end
321
+
322
+ # Provides a debugging-friendly string with detailed object information.
323
+ def inspect
324
+ class_name = self.class.name.split('::').last
325
+ "<#{class_name} cart_id: #{@cart_id.inspect}, client_id: #{@client_id.inspect},"\
326
+ " unique_client_id: #{@unique_client_id.inspect}, payer_client_id:"\
327
+ " #{@payer_client_id.inspect}, unique_payer_client_id: #{@unique_payer_client_id.inspect},"\
328
+ " test: #{@test.inspect}, items: #{@items.inspect}, in_store: #{@in_store.inspect},"\
329
+ " calculate_tax: #{@calculate_tax.inspect}, promotion_code: #{@promotion_code.inspect},"\
330
+ " payments: #{@payments.inspect}, send_email: #{@send_email.inspect}, location_id:"\
331
+ " #{@location_id.inspect}, image: #{@image.inspect}, image_file_name:"\
332
+ " #{@image_file_name.inspect}, consumer_present: #{@consumer_present.inspect},"\
333
+ " payment_authentication_callback_url: #{@payment_authentication_callback_url.inspect},"\
334
+ " transaction_ids: #{@transaction_ids.inspect}, is_billing_postal_code_required:"\
335
+ " #{@is_billing_postal_code_required.inspect}, enforce_location_restrictions:"\
336
+ " #{@enforce_location_restrictions.inspect}>"
337
+ end
338
+ end
339
+ end