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,154 @@
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
+ # PurchaseAccountCreditRequest Model.
8
+ class PurchaseAccountCreditRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # When `true`, allows you to test the request without affecting the
13
+ # database.
14
+ # When `false`, the request is carried out and the database is affected.
15
+ # @return [TrueClass | FalseClass]
16
+ attr_accessor :test
17
+
18
+ # The ID of the location where the account credit is being sold.
19
+ # @return [Integer]
20
+ attr_accessor :location_id
21
+
22
+ # The ID of the location where the account credit is being sold.
23
+ # @return [String]
24
+ attr_accessor :client_id
25
+
26
+ # When `true`, indicates that a purchase receipt email should be sent to the
27
+ # purchasing client, if all settings are correctly configured.<br />
28
+ # When `false`, no email is sent to the purchaser.
29
+ # @return [TrueClass | FalseClass]
30
+ attr_accessor :send_email_receipt
31
+
32
+ # The ID of the staff member to be marked as the sales rep for this account
33
+ # credit sale.
34
+ # @return [Integer]
35
+ attr_accessor :sales_rep_id
36
+
37
+ # When `true`, indicates that the consumer is present or otherwise able to
38
+ # successfully negotiate an SCA challenge.
39
+ # It is not a good idea to have this always be false as that could very
40
+ # likely lead to a bank declining all transactions for the merchant.
41
+ # Defaults to false.
42
+ # Default: **false**
43
+ # @return [TrueClass | FalseClass]
44
+ attr_accessor :consumer_present
45
+
46
+ # The URL consumer is redirected to if the bank requests SCA. This field is
47
+ # only needed if ConsumerPresent is true.
48
+ # @return [String]
49
+ attr_accessor :payment_authentication_callback_url
50
+
51
+ # The URL consumer is redirected to if the bank requests SCA. This field is
52
+ # only needed if ConsumerPresent is true.
53
+ # @return [CheckoutPaymentInfo]
54
+ attr_accessor :payment_info
55
+
56
+ # A mapping from model property names to API property names.
57
+ def self.names
58
+ @_hash = {} if @_hash.nil?
59
+ @_hash['test'] = 'Test'
60
+ @_hash['location_id'] = 'LocationId'
61
+ @_hash['client_id'] = 'ClientId'
62
+ @_hash['send_email_receipt'] = 'SendEmailReceipt'
63
+ @_hash['sales_rep_id'] = 'SalesRepId'
64
+ @_hash['consumer_present'] = 'ConsumerPresent'
65
+ @_hash['payment_authentication_callback_url'] =
66
+ 'PaymentAuthenticationCallbackUrl'
67
+ @_hash['payment_info'] = 'PaymentInfo'
68
+ @_hash
69
+ end
70
+
71
+ # An array for optional fields
72
+ def self.optionals
73
+ %w[
74
+ test
75
+ location_id
76
+ send_email_receipt
77
+ sales_rep_id
78
+ consumer_present
79
+ payment_authentication_callback_url
80
+ payment_info
81
+ ]
82
+ end
83
+
84
+ # An array for nullable fields
85
+ def self.nullables
86
+ []
87
+ end
88
+
89
+ def initialize(client_id = nil, test = SKIP, location_id = SKIP,
90
+ send_email_receipt = SKIP, sales_rep_id = SKIP,
91
+ consumer_present = SKIP,
92
+ payment_authentication_callback_url = SKIP,
93
+ payment_info = SKIP)
94
+ @test = test unless test == SKIP
95
+ @location_id = location_id unless location_id == SKIP
96
+ @client_id = client_id
97
+ @send_email_receipt = send_email_receipt unless send_email_receipt == SKIP
98
+ @sales_rep_id = sales_rep_id unless sales_rep_id == SKIP
99
+ @consumer_present = consumer_present unless consumer_present == SKIP
100
+ unless payment_authentication_callback_url == SKIP
101
+ @payment_authentication_callback_url =
102
+ payment_authentication_callback_url
103
+ end
104
+ @payment_info = payment_info unless payment_info == SKIP
105
+ end
106
+
107
+ # Creates an instance of the object from a hash.
108
+ def self.from_hash(hash)
109
+ return nil unless hash
110
+
111
+ # Extract variables from the hash.
112
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : nil
113
+ test = hash.key?('Test') ? hash['Test'] : SKIP
114
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : SKIP
115
+ send_email_receipt =
116
+ hash.key?('SendEmailReceipt') ? hash['SendEmailReceipt'] : SKIP
117
+ sales_rep_id = hash.key?('SalesRepId') ? hash['SalesRepId'] : SKIP
118
+ consumer_present =
119
+ hash.key?('ConsumerPresent') ? hash['ConsumerPresent'] : SKIP
120
+ payment_authentication_callback_url =
121
+ hash.key?('PaymentAuthenticationCallbackUrl') ? hash['PaymentAuthenticationCallbackUrl'] : SKIP
122
+ payment_info = CheckoutPaymentInfo.from_hash(hash['PaymentInfo']) if hash['PaymentInfo']
123
+
124
+ # Create object from extracted values.
125
+ PurchaseAccountCreditRequest.new(client_id,
126
+ test,
127
+ location_id,
128
+ send_email_receipt,
129
+ sales_rep_id,
130
+ consumer_present,
131
+ payment_authentication_callback_url,
132
+ payment_info)
133
+ end
134
+
135
+ # Provides a human-readable string representation of the object.
136
+ def to_s
137
+ class_name = self.class.name.split('::').last
138
+ "<#{class_name} test: #{@test}, location_id: #{@location_id}, client_id: #{@client_id},"\
139
+ " send_email_receipt: #{@send_email_receipt}, sales_rep_id: #{@sales_rep_id},"\
140
+ " consumer_present: #{@consumer_present}, payment_authentication_callback_url:"\
141
+ " #{@payment_authentication_callback_url}, payment_info: #{@payment_info}>"
142
+ end
143
+
144
+ # Provides a debugging-friendly string with detailed object information.
145
+ def inspect
146
+ class_name = self.class.name.split('::').last
147
+ "<#{class_name} test: #{@test.inspect}, location_id: #{@location_id.inspect}, client_id:"\
148
+ " #{@client_id.inspect}, send_email_receipt: #{@send_email_receipt.inspect}, sales_rep_id:"\
149
+ " #{@sales_rep_id.inspect}, consumer_present: #{@consumer_present.inspect},"\
150
+ " payment_authentication_callback_url: #{@payment_authentication_callback_url.inspect},"\
151
+ " payment_info: #{@payment_info.inspect}>"
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,118 @@
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
+ # PurchaseAccountCreditResponse Model.
8
+ class PurchaseAccountCreditResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The amount paid for the gift card by the purchaser.
13
+ # @return [Float]
14
+ attr_accessor :amount_paid
15
+
16
+ # The client ID of the purchaser.
17
+ # @return [String]
18
+ attr_accessor :client_id
19
+
20
+ # The sale ID of the gift card.
21
+ # @return [Integer]
22
+ attr_accessor :sale_id
23
+
24
+ # Whether or not an email receipt was sent to the purchaser. If true, a
25
+ # receipt was sent.
26
+ # @return [TrueClass | FalseClass]
27
+ attr_accessor :email_receipt
28
+
29
+ # Any cart processing failures, for example when SCA challenged, the cart is
30
+ # in PaymentAuthenticationRequired state and at least one of the failures
31
+ # listed will provide an authentication Url.
32
+ # @return [Array[PaymentProcessingFailure]]
33
+ attr_accessor :payment_processing_failures
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['amount_paid'] = 'AmountPaid'
39
+ @_hash['client_id'] = 'ClientId'
40
+ @_hash['sale_id'] = 'SaleId'
41
+ @_hash['email_receipt'] = 'EmailReceipt'
42
+ @_hash['payment_processing_failures'] = 'PaymentProcessingFailures'
43
+ @_hash
44
+ end
45
+
46
+ # An array for optional fields
47
+ def self.optionals
48
+ %w[
49
+ amount_paid
50
+ client_id
51
+ sale_id
52
+ email_receipt
53
+ payment_processing_failures
54
+ ]
55
+ end
56
+
57
+ # An array for nullable fields
58
+ def self.nullables
59
+ []
60
+ end
61
+
62
+ def initialize(amount_paid = SKIP, client_id = SKIP, sale_id = SKIP,
63
+ email_receipt = SKIP, payment_processing_failures = SKIP)
64
+ @amount_paid = amount_paid unless amount_paid == SKIP
65
+ @client_id = client_id unless client_id == SKIP
66
+ @sale_id = sale_id unless sale_id == SKIP
67
+ @email_receipt = email_receipt unless email_receipt == SKIP
68
+ unless payment_processing_failures == SKIP
69
+ @payment_processing_failures =
70
+ payment_processing_failures
71
+ end
72
+ end
73
+
74
+ # Creates an instance of the object from a hash.
75
+ def self.from_hash(hash)
76
+ return nil unless hash
77
+
78
+ # Extract variables from the hash.
79
+ amount_paid = hash.key?('AmountPaid') ? hash['AmountPaid'] : SKIP
80
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : SKIP
81
+ sale_id = hash.key?('SaleId') ? hash['SaleId'] : SKIP
82
+ email_receipt = hash.key?('EmailReceipt') ? hash['EmailReceipt'] : SKIP
83
+ # Parameter is an array, so we need to iterate through it
84
+ payment_processing_failures = nil
85
+ unless hash['PaymentProcessingFailures'].nil?
86
+ payment_processing_failures = []
87
+ hash['PaymentProcessingFailures'].each do |structure|
88
+ payment_processing_failures << (PaymentProcessingFailure.from_hash(structure) if structure)
89
+ end
90
+ end
91
+
92
+ payment_processing_failures = SKIP unless hash.key?('PaymentProcessingFailures')
93
+
94
+ # Create object from extracted values.
95
+ PurchaseAccountCreditResponse.new(amount_paid,
96
+ client_id,
97
+ sale_id,
98
+ email_receipt,
99
+ payment_processing_failures)
100
+ end
101
+
102
+ # Provides a human-readable string representation of the object.
103
+ def to_s
104
+ class_name = self.class.name.split('::').last
105
+ "<#{class_name} amount_paid: #{@amount_paid}, client_id: #{@client_id}, sale_id:"\
106
+ " #{@sale_id}, email_receipt: #{@email_receipt}, payment_processing_failures:"\
107
+ " #{@payment_processing_failures}>"
108
+ end
109
+
110
+ # Provides a debugging-friendly string with detailed object information.
111
+ def inspect
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} amount_paid: #{@amount_paid.inspect}, client_id: #{@client_id.inspect},"\
114
+ " sale_id: #{@sale_id.inspect}, email_receipt: #{@email_receipt.inspect},"\
115
+ " payment_processing_failures: #{@payment_processing_failures.inspect}>"
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,324 @@
1
+ # mindbody_public_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module MindbodyPublicApi
8
+ # PurchaseContractRequest Model.
9
+ class PurchaseContractRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # When `true`, the Public API validates input information, but does not
14
+ # commit it, so no client data is affected.<br />
15
+ # When `false` or omitted, the transaction is committed, and client data is
16
+ # affected.<br />
17
+ # Default: **false**
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :test
20
+
21
+ # The ID of the location where the client is purchasing the contract; used
22
+ # for AutoPays.
23
+ # @return [Integer]
24
+ attr_accessor :location_id
25
+
26
+ # The ID of the client. Note that this is not the same as the client’s
27
+ # unique ID.
28
+ # @return [String]
29
+ attr_accessor :client_id
30
+
31
+ # The unique ID of the client.
32
+ # Note: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both
33
+ # are provided, the 'UniqueClientId' takes precedence.
34
+ # @return [Integer]
35
+ attr_accessor :unique_client_id
36
+
37
+ # The ID of the contract being purchased.
38
+ # @return [Integer]
39
+ attr_accessor :contract_id
40
+
41
+ # The date that the contract starts.<br />
42
+ # Default: **today’s date**
43
+ # @return [DateTime]
44
+ attr_accessor :start_date
45
+
46
+ # The date on which the first payment is to occur. Possible values:
47
+ # * Instant
48
+ # * `StartDate`
49
+ # @return [String]
50
+ attr_accessor :first_payment_occurs
51
+
52
+ # A representation of the client’s signature. This value can take the form
53
+ # of Base64-encoded byte array. The file type should be PNG. The picture of
54
+ # the client’s signature is uploaded and viewable from the Client Documents
55
+ # page in the Core Business Mode software. The title of the document is:<br
56
+ # />
57
+ # clientContractSignature-{uniquePurchasedClientContractID}-{contractName}-{
58
+ # contractStartDate}.{fileType}
59
+ # @return [String]
60
+ attr_accessor :client_signature
61
+
62
+ # A promotion code, if one applies. Promotion codes are applied to items
63
+ # that are both marked as pay now in a contract and are discounted by the
64
+ # promotion code. If a pay now item is an autopay item, its autopay price is
65
+ # the price at the time of checkout, so, if a promotion code was applied,
66
+ # all autopays are scheduled using that discounted price.
67
+ # @return [String]
68
+ attr_accessor :promotion_code
69
+
70
+ # Promotion codes, if they apply. Promotion codes are applied to items that
71
+ # are both marked as pay now in a contract and are discounted by the
72
+ # promotion code. If a pay now item is an autopay item, its autopay price is
73
+ # the price at the time of checkout, so, if a promotion code was applied,
74
+ # all autopays are scheduled using that discounted price.
75
+ # @return [Array[String]]
76
+ attr_accessor :promotion_codes
77
+
78
+ # Information about an individual credit card
79
+ # @return [CreditCardInfo]
80
+ attr_accessor :credit_card_info
81
+
82
+ # Information about an individual credit card
83
+ # @return [StoredCardInfo]
84
+ attr_accessor :stored_card_info
85
+
86
+ # When `true`, indicates that email and SMS notifications should be sent to
87
+ # the client after purchase.<br />
88
+ # Default: **true**
89
+ # @return [TrueClass | FalseClass]
90
+ attr_accessor :send_notifications
91
+
92
+ # The ID of the staff member to be marked as the sales rep for this contract
93
+ # sale.
94
+ # @return [Integer]
95
+ attr_accessor :sales_rep_id
96
+
97
+ # When `true`, indicates that the direct debit information stored on the
98
+ # client's account is to be used to pay for the contract.<br />
99
+ # This is only required if both `CreditCardInfo` and `StoredCardInfo` are
100
+ # not passed and `UseAccountCredit` is false.<br />
101
+ # Default: **false**
102
+ # @return [TrueClass | FalseClass]
103
+ attr_accessor :use_direct_debit
104
+
105
+ # When `true`, indicates that the account credit of the client's account is
106
+ # to be used to pay for the contract.<br />
107
+ # This is only required if both `CreditCardInfo` and `StoredCardInfo` are
108
+ # not passed and `UseDirectDebit` is false. <br />
109
+ # Default: **false**
110
+ # @return [TrueClass | FalseClass]
111
+ attr_accessor :use_account_credit
112
+
113
+ # When `true`, indicates that the consumer is present or otherwise able to
114
+ # successfully negotiate an SCA challenge. It is not a good idea to have
115
+ # this always be false as that could very likely lead to a bank declining
116
+ # all transactions for the merchant.
117
+ # Defaults to **false**.
118
+ # @return [TrueClass | FalseClass]
119
+ attr_accessor :consumer_present
120
+
121
+ # The URL consumer is redirected to if the bank requests SCA. This field is
122
+ # only needed if ConsumerPresent is true.
123
+ # @return [String]
124
+ attr_accessor :payment_authentication_callback_url
125
+
126
+ # Optional, date to prorate contract
127
+ # @return [DateTime]
128
+ attr_accessor :prorate_date
129
+
130
+ # A mapping from model property names to API property names.
131
+ def self.names
132
+ @_hash = {} if @_hash.nil?
133
+ @_hash['test'] = 'Test'
134
+ @_hash['location_id'] = 'LocationId'
135
+ @_hash['client_id'] = 'ClientId'
136
+ @_hash['unique_client_id'] = 'UniqueClientId'
137
+ @_hash['contract_id'] = 'ContractId'
138
+ @_hash['start_date'] = 'StartDate'
139
+ @_hash['first_payment_occurs'] = 'FirstPaymentOccurs'
140
+ @_hash['client_signature'] = 'ClientSignature'
141
+ @_hash['promotion_code'] = 'PromotionCode'
142
+ @_hash['promotion_codes'] = 'PromotionCodes'
143
+ @_hash['credit_card_info'] = 'CreditCardInfo'
144
+ @_hash['stored_card_info'] = 'StoredCardInfo'
145
+ @_hash['send_notifications'] = 'SendNotifications'
146
+ @_hash['sales_rep_id'] = 'SalesRepId'
147
+ @_hash['use_direct_debit'] = 'UseDirectDebit'
148
+ @_hash['use_account_credit'] = 'UseAccountCredit'
149
+ @_hash['consumer_present'] = 'ConsumerPresent'
150
+ @_hash['payment_authentication_callback_url'] =
151
+ 'PaymentAuthenticationCallbackUrl'
152
+ @_hash['prorate_date'] = 'ProrateDate'
153
+ @_hash
154
+ end
155
+
156
+ # An array for optional fields
157
+ def self.optionals
158
+ %w[
159
+ test
160
+ location_id
161
+ client_id
162
+ unique_client_id
163
+ start_date
164
+ first_payment_occurs
165
+ client_signature
166
+ promotion_code
167
+ promotion_codes
168
+ credit_card_info
169
+ stored_card_info
170
+ send_notifications
171
+ sales_rep_id
172
+ use_direct_debit
173
+ use_account_credit
174
+ consumer_present
175
+ payment_authentication_callback_url
176
+ prorate_date
177
+ ]
178
+ end
179
+
180
+ # An array for nullable fields
181
+ def self.nullables
182
+ []
183
+ end
184
+
185
+ def initialize(contract_id = nil, test = SKIP, location_id = SKIP,
186
+ client_id = SKIP, unique_client_id = SKIP, start_date = SKIP,
187
+ first_payment_occurs = SKIP, client_signature = SKIP,
188
+ promotion_code = SKIP, promotion_codes = SKIP,
189
+ credit_card_info = SKIP, stored_card_info = SKIP,
190
+ send_notifications = SKIP, sales_rep_id = SKIP,
191
+ use_direct_debit = SKIP, use_account_credit = SKIP,
192
+ consumer_present = SKIP,
193
+ payment_authentication_callback_url = SKIP,
194
+ prorate_date = SKIP)
195
+ @test = test unless test == SKIP
196
+ @location_id = location_id unless location_id == SKIP
197
+ @client_id = client_id unless client_id == SKIP
198
+ @unique_client_id = unique_client_id unless unique_client_id == SKIP
199
+ @contract_id = contract_id
200
+ @start_date = start_date unless start_date == SKIP
201
+ @first_payment_occurs = first_payment_occurs unless first_payment_occurs == SKIP
202
+ @client_signature = client_signature unless client_signature == SKIP
203
+ @promotion_code = promotion_code unless promotion_code == SKIP
204
+ @promotion_codes = promotion_codes unless promotion_codes == SKIP
205
+ @credit_card_info = credit_card_info unless credit_card_info == SKIP
206
+ @stored_card_info = stored_card_info unless stored_card_info == SKIP
207
+ @send_notifications = send_notifications unless send_notifications == SKIP
208
+ @sales_rep_id = sales_rep_id unless sales_rep_id == SKIP
209
+ @use_direct_debit = use_direct_debit unless use_direct_debit == SKIP
210
+ @use_account_credit = use_account_credit unless use_account_credit == SKIP
211
+ @consumer_present = consumer_present unless consumer_present == SKIP
212
+ unless payment_authentication_callback_url == SKIP
213
+ @payment_authentication_callback_url =
214
+ payment_authentication_callback_url
215
+ end
216
+ @prorate_date = prorate_date unless prorate_date == SKIP
217
+ end
218
+
219
+ # Creates an instance of the object from a hash.
220
+ def self.from_hash(hash)
221
+ return nil unless hash
222
+
223
+ # Extract variables from the hash.
224
+ contract_id = hash.key?('ContractId') ? hash['ContractId'] : nil
225
+ test = hash.key?('Test') ? hash['Test'] : SKIP
226
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : SKIP
227
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : SKIP
228
+ unique_client_id =
229
+ hash.key?('UniqueClientId') ? hash['UniqueClientId'] : SKIP
230
+ start_date = if hash.key?('StartDate')
231
+ (DateTimeHelper.from_rfc3339(hash['StartDate']) if hash['StartDate'])
232
+ else
233
+ SKIP
234
+ end
235
+ first_payment_occurs =
236
+ hash.key?('FirstPaymentOccurs') ? hash['FirstPaymentOccurs'] : SKIP
237
+ client_signature =
238
+ hash.key?('ClientSignature') ? hash['ClientSignature'] : SKIP
239
+ promotion_code = hash.key?('PromotionCode') ? hash['PromotionCode'] : SKIP
240
+ promotion_codes =
241
+ hash.key?('PromotionCodes') ? hash['PromotionCodes'] : SKIP
242
+ credit_card_info = CreditCardInfo.from_hash(hash['CreditCardInfo']) if
243
+ hash['CreditCardInfo']
244
+ stored_card_info = StoredCardInfo.from_hash(hash['StoredCardInfo']) if
245
+ hash['StoredCardInfo']
246
+ send_notifications =
247
+ hash.key?('SendNotifications') ? hash['SendNotifications'] : SKIP
248
+ sales_rep_id = hash.key?('SalesRepId') ? hash['SalesRepId'] : SKIP
249
+ use_direct_debit =
250
+ hash.key?('UseDirectDebit') ? hash['UseDirectDebit'] : SKIP
251
+ use_account_credit =
252
+ hash.key?('UseAccountCredit') ? hash['UseAccountCredit'] : SKIP
253
+ consumer_present =
254
+ hash.key?('ConsumerPresent') ? hash['ConsumerPresent'] : SKIP
255
+ payment_authentication_callback_url =
256
+ hash.key?('PaymentAuthenticationCallbackUrl') ? hash['PaymentAuthenticationCallbackUrl'] : SKIP
257
+ prorate_date = if hash.key?('ProrateDate')
258
+ (DateTimeHelper.from_rfc3339(hash['ProrateDate']) if hash['ProrateDate'])
259
+ else
260
+ SKIP
261
+ end
262
+
263
+ # Create object from extracted values.
264
+ PurchaseContractRequest.new(contract_id,
265
+ test,
266
+ location_id,
267
+ client_id,
268
+ unique_client_id,
269
+ start_date,
270
+ first_payment_occurs,
271
+ client_signature,
272
+ promotion_code,
273
+ promotion_codes,
274
+ credit_card_info,
275
+ stored_card_info,
276
+ send_notifications,
277
+ sales_rep_id,
278
+ use_direct_debit,
279
+ use_account_credit,
280
+ consumer_present,
281
+ payment_authentication_callback_url,
282
+ prorate_date)
283
+ end
284
+
285
+ def to_custom_start_date
286
+ DateTimeHelper.to_rfc3339(start_date)
287
+ end
288
+
289
+ def to_custom_prorate_date
290
+ DateTimeHelper.to_rfc3339(prorate_date)
291
+ end
292
+
293
+ # Provides a human-readable string representation of the object.
294
+ def to_s
295
+ class_name = self.class.name.split('::').last
296
+ "<#{class_name} test: #{@test}, location_id: #{@location_id}, client_id: #{@client_id},"\
297
+ " unique_client_id: #{@unique_client_id}, contract_id: #{@contract_id}, start_date:"\
298
+ " #{@start_date}, first_payment_occurs: #{@first_payment_occurs}, client_signature:"\
299
+ " #{@client_signature}, promotion_code: #{@promotion_code}, promotion_codes:"\
300
+ " #{@promotion_codes}, credit_card_info: #{@credit_card_info}, stored_card_info:"\
301
+ " #{@stored_card_info}, send_notifications: #{@send_notifications}, sales_rep_id:"\
302
+ " #{@sales_rep_id}, use_direct_debit: #{@use_direct_debit}, use_account_credit:"\
303
+ " #{@use_account_credit}, consumer_present: #{@consumer_present},"\
304
+ " payment_authentication_callback_url: #{@payment_authentication_callback_url},"\
305
+ " prorate_date: #{@prorate_date}>"
306
+ end
307
+
308
+ # Provides a debugging-friendly string with detailed object information.
309
+ def inspect
310
+ class_name = self.class.name.split('::').last
311
+ "<#{class_name} test: #{@test.inspect}, location_id: #{@location_id.inspect}, client_id:"\
312
+ " #{@client_id.inspect}, unique_client_id: #{@unique_client_id.inspect}, contract_id:"\
313
+ " #{@contract_id.inspect}, start_date: #{@start_date.inspect}, first_payment_occurs:"\
314
+ " #{@first_payment_occurs.inspect}, client_signature: #{@client_signature.inspect},"\
315
+ " promotion_code: #{@promotion_code.inspect}, promotion_codes: #{@promotion_codes.inspect},"\
316
+ " credit_card_info: #{@credit_card_info.inspect}, stored_card_info:"\
317
+ " #{@stored_card_info.inspect}, send_notifications: #{@send_notifications.inspect},"\
318
+ " sales_rep_id: #{@sales_rep_id.inspect}, use_direct_debit: #{@use_direct_debit.inspect},"\
319
+ " use_account_credit: #{@use_account_credit.inspect}, consumer_present:"\
320
+ " #{@consumer_present.inspect}, payment_authentication_callback_url:"\
321
+ " #{@payment_authentication_callback_url.inspect}, prorate_date: #{@prorate_date.inspect}>"
322
+ end
323
+ end
324
+ end