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,141 @@
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
+ # Response model for POST PurchaseContract endpoint
8
+ class PurchaseContractResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The ID of the client who is purchasing the contract.
13
+ # @return [String]
14
+ attr_accessor :client_id
15
+
16
+ # The Unique ID of the client who is purchasing the contract.
17
+ # @return [Integer]
18
+ attr_accessor :unique_client_id
19
+
20
+ # The ID of the location where the contract is being purchased.
21
+ # @return [Integer]
22
+ attr_accessor :location_id
23
+
24
+ # The ID of the general contract being purchased.
25
+ # @return [Integer]
26
+ attr_accessor :contract_id
27
+
28
+ # The ID of the specific contract being purchased by this specific client,
29
+ # not to be confused with the `ContractId`, which refers to a general
30
+ # contract that the business offers.
31
+ # @return [Integer]
32
+ attr_accessor :client_contract_id
33
+
34
+ # Totals for the purchase
35
+ # @return [PurchaseContractResponseTotals]
36
+ attr_accessor :totals
37
+
38
+ # Contains information only if SCA challenge is indicated.
39
+ # @return [Array[PaymentProcessingFailure]]
40
+ attr_accessor :payment_processing_failures
41
+
42
+ # A mapping from model property names to API property names.
43
+ def self.names
44
+ @_hash = {} if @_hash.nil?
45
+ @_hash['client_id'] = 'ClientId'
46
+ @_hash['unique_client_id'] = 'UniqueClientId'
47
+ @_hash['location_id'] = 'LocationId'
48
+ @_hash['contract_id'] = 'ContractId'
49
+ @_hash['client_contract_id'] = 'ClientContractId'
50
+ @_hash['totals'] = 'Totals'
51
+ @_hash['payment_processing_failures'] = 'PaymentProcessingFailures'
52
+ @_hash
53
+ end
54
+
55
+ # An array for optional fields
56
+ def self.optionals
57
+ %w[
58
+ client_id
59
+ unique_client_id
60
+ location_id
61
+ contract_id
62
+ client_contract_id
63
+ totals
64
+ payment_processing_failures
65
+ ]
66
+ end
67
+
68
+ # An array for nullable fields
69
+ def self.nullables
70
+ []
71
+ end
72
+
73
+ def initialize(client_id = SKIP, unique_client_id = SKIP,
74
+ location_id = SKIP, contract_id = SKIP,
75
+ client_contract_id = SKIP, totals = SKIP,
76
+ payment_processing_failures = SKIP)
77
+ @client_id = client_id unless client_id == SKIP
78
+ @unique_client_id = unique_client_id unless unique_client_id == SKIP
79
+ @location_id = location_id unless location_id == SKIP
80
+ @contract_id = contract_id unless contract_id == SKIP
81
+ @client_contract_id = client_contract_id unless client_contract_id == SKIP
82
+ @totals = totals unless totals == SKIP
83
+ unless payment_processing_failures == SKIP
84
+ @payment_processing_failures =
85
+ payment_processing_failures
86
+ end
87
+ end
88
+
89
+ # Creates an instance of the object from a hash.
90
+ def self.from_hash(hash)
91
+ return nil unless hash
92
+
93
+ # Extract variables from the hash.
94
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : SKIP
95
+ unique_client_id =
96
+ hash.key?('UniqueClientId') ? hash['UniqueClientId'] : SKIP
97
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : SKIP
98
+ contract_id = hash.key?('ContractId') ? hash['ContractId'] : SKIP
99
+ client_contract_id =
100
+ hash.key?('ClientContractId') ? hash['ClientContractId'] : SKIP
101
+ totals = PurchaseContractResponseTotals.from_hash(hash['Totals']) if hash['Totals']
102
+ # Parameter is an array, so we need to iterate through it
103
+ payment_processing_failures = nil
104
+ unless hash['PaymentProcessingFailures'].nil?
105
+ payment_processing_failures = []
106
+ hash['PaymentProcessingFailures'].each do |structure|
107
+ payment_processing_failures << (PaymentProcessingFailure.from_hash(structure) if structure)
108
+ end
109
+ end
110
+
111
+ payment_processing_failures = SKIP unless hash.key?('PaymentProcessingFailures')
112
+
113
+ # Create object from extracted values.
114
+ PurchaseContractResponse.new(client_id,
115
+ unique_client_id,
116
+ location_id,
117
+ contract_id,
118
+ client_contract_id,
119
+ totals,
120
+ payment_processing_failures)
121
+ end
122
+
123
+ # Provides a human-readable string representation of the object.
124
+ def to_s
125
+ class_name = self.class.name.split('::').last
126
+ "<#{class_name} client_id: #{@client_id}, unique_client_id: #{@unique_client_id},"\
127
+ " location_id: #{@location_id}, contract_id: #{@contract_id}, client_contract_id:"\
128
+ " #{@client_contract_id}, totals: #{@totals}, payment_processing_failures:"\
129
+ " #{@payment_processing_failures}>"
130
+ end
131
+
132
+ # Provides a debugging-friendly string with detailed object information.
133
+ def inspect
134
+ class_name = self.class.name.split('::').last
135
+ "<#{class_name} client_id: #{@client_id.inspect}, unique_client_id:"\
136
+ " #{@unique_client_id.inspect}, location_id: #{@location_id.inspect}, contract_id:"\
137
+ " #{@contract_id.inspect}, client_contract_id: #{@client_contract_id.inspect}, totals:"\
138
+ " #{@totals.inspect}, payment_processing_failures: #{@payment_processing_failures.inspect}>"
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,92 @@
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
+ # Totals for the purchase
8
+ class PurchaseContractResponseTotals < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Total payment amount
13
+ # @return [Float]
14
+ attr_accessor :total
15
+
16
+ # Sub total. For VAT, sum of asking prices (include taxes, excludes
17
+ # discounts). For non vat, excludes taxes and discounts.
18
+ # @return [Float]
19
+ attr_accessor :sub_total
20
+
21
+ # Discount
22
+ # @return [Float]
23
+ attr_accessor :discount
24
+
25
+ # Tax
26
+ # @return [Float]
27
+ attr_accessor :tax
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['total'] = 'Total'
33
+ @_hash['sub_total'] = 'SubTotal'
34
+ @_hash['discount'] = 'Discount'
35
+ @_hash['tax'] = 'Tax'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ total
43
+ sub_total
44
+ discount
45
+ tax
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(total = SKIP, sub_total = SKIP, discount = SKIP, tax = SKIP)
55
+ @total = total unless total == SKIP
56
+ @sub_total = sub_total unless sub_total == SKIP
57
+ @discount = discount unless discount == SKIP
58
+ @tax = tax unless tax == SKIP
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ total = hash.key?('Total') ? hash['Total'] : SKIP
67
+ sub_total = hash.key?('SubTotal') ? hash['SubTotal'] : SKIP
68
+ discount = hash.key?('Discount') ? hash['Discount'] : SKIP
69
+ tax = hash.key?('Tax') ? hash['Tax'] : SKIP
70
+
71
+ # Create object from extracted values.
72
+ PurchaseContractResponseTotals.new(total,
73
+ sub_total,
74
+ discount,
75
+ tax)
76
+ end
77
+
78
+ # Provides a human-readable string representation of the object.
79
+ def to_s
80
+ class_name = self.class.name.split('::').last
81
+ "<#{class_name} total: #{@total}, sub_total: #{@sub_total}, discount: #{@discount}, tax:"\
82
+ " #{@tax}>"
83
+ end
84
+
85
+ # Provides a debugging-friendly string with detailed object information.
86
+ def inspect
87
+ class_name = self.class.name.split('::').last
88
+ "<#{class_name} total: #{@total.inspect}, sub_total: #{@sub_total.inspect}, discount:"\
89
+ " #{@discount.inspect}, tax: #{@tax.inspect}>"
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,273 @@
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
+ # PurchaseGiftCardRequest Model.
9
+ class PurchaseGiftCardRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # When `true`, allows you to test the request without affecting the
14
+ # database.<br />
15
+ # When `false`, the request is carried out and the database is affected.
16
+ # @return [TrueClass | FalseClass]
17
+ attr_accessor :test
18
+
19
+ # The ID of the location where the gift card is being sold.
20
+ # @return [Integer]
21
+ attr_accessor :location_id
22
+
23
+ # The ID of the layout used for the gift card’s image.
24
+ # @return [Integer]
25
+ attr_accessor :layout_id
26
+
27
+ # The RSSID of the client who is purchasing the gift card.
28
+ # @return [String]
29
+ attr_accessor :purchaser_client_id
30
+
31
+ # The product ID of the gift card being purchased.
32
+ # @return [Integer]
33
+ attr_accessor :gift_card_id
34
+
35
+ # When `true`, indicates that a purchase receipt email should be sent to the
36
+ # purchasing client, if all settings are correctly configured.<br />
37
+ # When `false`, no email is sent to the purchaser.
38
+ # @return [TrueClass | FalseClass]
39
+ attr_accessor :send_email_receipt
40
+
41
+ # The email address to send the gift card image to. This parameter is
42
+ # required if the `LayoutId` is not 0.<br />
43
+ # Maximum length: **100**
44
+ # @return [String]
45
+ attr_accessor :recipient_email
46
+
47
+ # The name of the person who is to receive the gift card. This parameter is
48
+ # required if the `LayoutId` is not 0.<br />
49
+ # Maximum length: **20**
50
+ # @return [String]
51
+ attr_accessor :recipient_name
52
+
53
+ # The text to use as the title of the gift card, for example: Happy
54
+ # Birthday, Maria! This parameter is required if the `LayoutId` is not 0.<br
55
+ # />
56
+ # Maximum length: **20**
57
+ # @return [String]
58
+ attr_accessor :title
59
+
60
+ # A personal message to include in the gift card.<br />
61
+ # Maximum length: **300**
62
+ # @return [String]
63
+ attr_accessor :gift_message
64
+
65
+ # The date that the gift card’s image is to be delivered to the recipient.
66
+ # This parameter cannot be set to a date in the past. This parameter is
67
+ # required if the `LayoutId` is not 0.
68
+ # Default: **today**
69
+ # Minimum: **today**
70
+ # @return [DateTime]
71
+ attr_accessor :delivery_date
72
+
73
+ # The date that the gift card’s image is to be delivered to the recipient.
74
+ # This parameter cannot be set to a date in the past. This parameter is
75
+ # required if the `LayoutId` is not 0.
76
+ # Default: **today**
77
+ # Minimum: **today**
78
+ # @return [CheckoutPaymentInfo]
79
+ attr_accessor :payment_info
80
+
81
+ # The ID of the staff member who is to be marked as the sales rep for this
82
+ # gift card purchase.
83
+ # @return [Integer]
84
+ attr_accessor :sales_rep_id
85
+
86
+ # When `true`, indicates that the consumer is available to address any SCA
87
+ # challenge issued by the bank. EU Only.<br />
88
+ # Default: **false**
89
+ # @return [TrueClass | FalseClass]
90
+ attr_accessor :consumer_present
91
+
92
+ # This is the Url the consumer will be redirected back to after completion
93
+ # of the Banks SCA challenge.
94
+ # @return [String]
95
+ attr_accessor :payment_authentication_callback_url
96
+
97
+ # Sets the barcode ID of the giftcard. When not provided, a barcode ID is
98
+ # automatically generated.<br />
99
+ # If a giftcard with the given barcode ID already exists and the site
100
+ # supports reloadable giftcards, the existing giftcard is reloaded<br />
101
+ # Maximum length: **100**
102
+ # @return [String]
103
+ attr_accessor :barcode_id
104
+
105
+ # Overrides the name that would otherwise be populated by specifying
106
+ # PurchaserClientId.<br />
107
+ # Maximum length: **20**
108
+ # @return [String]
109
+ attr_accessor :sender_name
110
+
111
+ # A mapping from model property names to API property names.
112
+ def self.names
113
+ @_hash = {} if @_hash.nil?
114
+ @_hash['test'] = 'Test'
115
+ @_hash['location_id'] = 'LocationId'
116
+ @_hash['layout_id'] = 'LayoutId'
117
+ @_hash['purchaser_client_id'] = 'PurchaserClientId'
118
+ @_hash['gift_card_id'] = 'GiftCardId'
119
+ @_hash['send_email_receipt'] = 'SendEmailReceipt'
120
+ @_hash['recipient_email'] = 'RecipientEmail'
121
+ @_hash['recipient_name'] = 'RecipientName'
122
+ @_hash['title'] = 'Title'
123
+ @_hash['gift_message'] = 'GiftMessage'
124
+ @_hash['delivery_date'] = 'DeliveryDate'
125
+ @_hash['payment_info'] = 'PaymentInfo'
126
+ @_hash['sales_rep_id'] = 'SalesRepId'
127
+ @_hash['consumer_present'] = 'ConsumerPresent'
128
+ @_hash['payment_authentication_callback_url'] =
129
+ 'PaymentAuthenticationCallbackUrl'
130
+ @_hash['barcode_id'] = 'BarcodeId'
131
+ @_hash['sender_name'] = 'SenderName'
132
+ @_hash
133
+ end
134
+
135
+ # An array for optional fields
136
+ def self.optionals
137
+ %w[
138
+ test
139
+ layout_id
140
+ send_email_receipt
141
+ recipient_email
142
+ recipient_name
143
+ title
144
+ gift_message
145
+ delivery_date
146
+ payment_info
147
+ sales_rep_id
148
+ consumer_present
149
+ payment_authentication_callback_url
150
+ barcode_id
151
+ sender_name
152
+ ]
153
+ end
154
+
155
+ # An array for nullable fields
156
+ def self.nullables
157
+ []
158
+ end
159
+
160
+ def initialize(location_id = nil, purchaser_client_id = nil,
161
+ gift_card_id = nil, test = SKIP, layout_id = SKIP,
162
+ send_email_receipt = SKIP, recipient_email = SKIP,
163
+ recipient_name = SKIP, title = SKIP, gift_message = SKIP,
164
+ delivery_date = SKIP, payment_info = SKIP,
165
+ sales_rep_id = SKIP, consumer_present = SKIP,
166
+ payment_authentication_callback_url = SKIP,
167
+ barcode_id = SKIP, sender_name = SKIP)
168
+ @test = test unless test == SKIP
169
+ @location_id = location_id
170
+ @layout_id = layout_id unless layout_id == SKIP
171
+ @purchaser_client_id = purchaser_client_id
172
+ @gift_card_id = gift_card_id
173
+ @send_email_receipt = send_email_receipt unless send_email_receipt == SKIP
174
+ @recipient_email = recipient_email unless recipient_email == SKIP
175
+ @recipient_name = recipient_name unless recipient_name == SKIP
176
+ @title = title unless title == SKIP
177
+ @gift_message = gift_message unless gift_message == SKIP
178
+ @delivery_date = delivery_date unless delivery_date == SKIP
179
+ @payment_info = payment_info unless payment_info == SKIP
180
+ @sales_rep_id = sales_rep_id unless sales_rep_id == SKIP
181
+ @consumer_present = consumer_present unless consumer_present == SKIP
182
+ unless payment_authentication_callback_url == SKIP
183
+ @payment_authentication_callback_url =
184
+ payment_authentication_callback_url
185
+ end
186
+ @barcode_id = barcode_id unless barcode_id == SKIP
187
+ @sender_name = sender_name unless sender_name == SKIP
188
+ end
189
+
190
+ # Creates an instance of the object from a hash.
191
+ def self.from_hash(hash)
192
+ return nil unless hash
193
+
194
+ # Extract variables from the hash.
195
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : nil
196
+ purchaser_client_id =
197
+ hash.key?('PurchaserClientId') ? hash['PurchaserClientId'] : nil
198
+ gift_card_id = hash.key?('GiftCardId') ? hash['GiftCardId'] : nil
199
+ test = hash.key?('Test') ? hash['Test'] : SKIP
200
+ layout_id = hash.key?('LayoutId') ? hash['LayoutId'] : SKIP
201
+ send_email_receipt =
202
+ hash.key?('SendEmailReceipt') ? hash['SendEmailReceipt'] : SKIP
203
+ recipient_email =
204
+ hash.key?('RecipientEmail') ? hash['RecipientEmail'] : SKIP
205
+ recipient_name = hash.key?('RecipientName') ? hash['RecipientName'] : SKIP
206
+ title = hash.key?('Title') ? hash['Title'] : SKIP
207
+ gift_message = hash.key?('GiftMessage') ? hash['GiftMessage'] : SKIP
208
+ delivery_date = if hash.key?('DeliveryDate')
209
+ (DateTimeHelper.from_rfc3339(hash['DeliveryDate']) if hash['DeliveryDate'])
210
+ else
211
+ SKIP
212
+ end
213
+ payment_info = CheckoutPaymentInfo.from_hash(hash['PaymentInfo']) if hash['PaymentInfo']
214
+ sales_rep_id = hash.key?('SalesRepId') ? hash['SalesRepId'] : SKIP
215
+ consumer_present =
216
+ hash.key?('ConsumerPresent') ? hash['ConsumerPresent'] : SKIP
217
+ payment_authentication_callback_url =
218
+ hash.key?('PaymentAuthenticationCallbackUrl') ? hash['PaymentAuthenticationCallbackUrl'] : SKIP
219
+ barcode_id = hash.key?('BarcodeId') ? hash['BarcodeId'] : SKIP
220
+ sender_name = hash.key?('SenderName') ? hash['SenderName'] : SKIP
221
+
222
+ # Create object from extracted values.
223
+ PurchaseGiftCardRequest.new(location_id,
224
+ purchaser_client_id,
225
+ gift_card_id,
226
+ test,
227
+ layout_id,
228
+ send_email_receipt,
229
+ recipient_email,
230
+ recipient_name,
231
+ title,
232
+ gift_message,
233
+ delivery_date,
234
+ payment_info,
235
+ sales_rep_id,
236
+ consumer_present,
237
+ payment_authentication_callback_url,
238
+ barcode_id,
239
+ sender_name)
240
+ end
241
+
242
+ def to_custom_delivery_date
243
+ DateTimeHelper.to_rfc3339(delivery_date)
244
+ end
245
+
246
+ # Provides a human-readable string representation of the object.
247
+ def to_s
248
+ class_name = self.class.name.split('::').last
249
+ "<#{class_name} test: #{@test}, location_id: #{@location_id}, layout_id: #{@layout_id},"\
250
+ " purchaser_client_id: #{@purchaser_client_id}, gift_card_id: #{@gift_card_id},"\
251
+ " send_email_receipt: #{@send_email_receipt}, recipient_email: #{@recipient_email},"\
252
+ " recipient_name: #{@recipient_name}, title: #{@title}, gift_message: #{@gift_message},"\
253
+ " delivery_date: #{@delivery_date}, payment_info: #{@payment_info}, sales_rep_id:"\
254
+ " #{@sales_rep_id}, consumer_present: #{@consumer_present},"\
255
+ " payment_authentication_callback_url: #{@payment_authentication_callback_url}, barcode_id:"\
256
+ " #{@barcode_id}, sender_name: #{@sender_name}>"
257
+ end
258
+
259
+ # Provides a debugging-friendly string with detailed object information.
260
+ def inspect
261
+ class_name = self.class.name.split('::').last
262
+ "<#{class_name} test: #{@test.inspect}, location_id: #{@location_id.inspect}, layout_id:"\
263
+ " #{@layout_id.inspect}, purchaser_client_id: #{@purchaser_client_id.inspect}, gift_card_id:"\
264
+ " #{@gift_card_id.inspect}, send_email_receipt: #{@send_email_receipt.inspect},"\
265
+ " recipient_email: #{@recipient_email.inspect}, recipient_name: #{@recipient_name.inspect},"\
266
+ " title: #{@title.inspect}, gift_message: #{@gift_message.inspect}, delivery_date:"\
267
+ " #{@delivery_date.inspect}, payment_info: #{@payment_info.inspect}, sales_rep_id:"\
268
+ " #{@sales_rep_id.inspect}, consumer_present: #{@consumer_present.inspect},"\
269
+ " payment_authentication_callback_url: #{@payment_authentication_callback_url.inspect},"\
270
+ " barcode_id: #{@barcode_id.inspect}, sender_name: #{@sender_name.inspect}>"
271
+ end
272
+ end
273
+ end
@@ -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
+ # PurchaseGiftCardResponse Model.
8
+ class PurchaseGiftCardResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The barcode ID assigned to the purchased gift card.
13
+ # @return [String]
14
+ attr_accessor :barcode_id
15
+
16
+ # The monetary value of the gift card.
17
+ # @return [Float]
18
+ attr_accessor :value
19
+
20
+ # The amount paid for the gift card by the purchaser.
21
+ # @return [Float]
22
+ attr_accessor :amount_paid
23
+
24
+ # The name of the purchaser.
25
+ # @return [String]
26
+ attr_accessor :from_name
27
+
28
+ # The ID of the layout used for this gift card.
29
+ # @return [Integer]
30
+ attr_accessor :layout_id
31
+
32
+ # Whether or not an email receipt was sent to the purchaser. If true, a
33
+ # receipt was sent.
34
+ # @return [TrueClass | FalseClass]
35
+ attr_accessor :email_receipt
36
+
37
+ # The client ID of the purchaser.
38
+ # @return [String]
39
+ attr_accessor :purchaser_client_id
40
+
41
+ # The purchaser’s email address.
42
+ # @return [String]
43
+ attr_accessor :purchaser_email
44
+
45
+ # The recipient’s email address.
46
+ # @return [String]
47
+ attr_accessor :recipient_email
48
+
49
+ # The sale ID of the gift card.
50
+ # @return [Integer]
51
+ attr_accessor :sale_id
52
+
53
+ # Any cart processing failures, for example when SCA challenged, the cart is
54
+ # in PaymentAuthenticationRequired state and at least one of the failures
55
+ # listed will provide an authentication Url.
56
+ # @return [Array[PaymentProcessingFailure]]
57
+ attr_accessor :payment_processing_failures
58
+
59
+ # A mapping from model property names to API property names.
60
+ def self.names
61
+ @_hash = {} if @_hash.nil?
62
+ @_hash['barcode_id'] = 'BarcodeId'
63
+ @_hash['value'] = 'Value'
64
+ @_hash['amount_paid'] = 'AmountPaid'
65
+ @_hash['from_name'] = 'FromName'
66
+ @_hash['layout_id'] = 'LayoutId'
67
+ @_hash['email_receipt'] = 'EmailReceipt'
68
+ @_hash['purchaser_client_id'] = 'PurchaserClientId'
69
+ @_hash['purchaser_email'] = 'PurchaserEmail'
70
+ @_hash['recipient_email'] = 'RecipientEmail'
71
+ @_hash['sale_id'] = 'SaleId'
72
+ @_hash['payment_processing_failures'] = 'PaymentProcessingFailures'
73
+ @_hash
74
+ end
75
+
76
+ # An array for optional fields
77
+ def self.optionals
78
+ %w[
79
+ barcode_id
80
+ value
81
+ amount_paid
82
+ from_name
83
+ layout_id
84
+ email_receipt
85
+ purchaser_client_id
86
+ purchaser_email
87
+ recipient_email
88
+ sale_id
89
+ payment_processing_failures
90
+ ]
91
+ end
92
+
93
+ # An array for nullable fields
94
+ def self.nullables
95
+ []
96
+ end
97
+
98
+ def initialize(barcode_id = SKIP, value = SKIP, amount_paid = SKIP,
99
+ from_name = SKIP, layout_id = SKIP, email_receipt = SKIP,
100
+ purchaser_client_id = SKIP, purchaser_email = SKIP,
101
+ recipient_email = SKIP, sale_id = SKIP,
102
+ payment_processing_failures = SKIP)
103
+ @barcode_id = barcode_id unless barcode_id == SKIP
104
+ @value = value unless value == SKIP
105
+ @amount_paid = amount_paid unless amount_paid == SKIP
106
+ @from_name = from_name unless from_name == SKIP
107
+ @layout_id = layout_id unless layout_id == SKIP
108
+ @email_receipt = email_receipt unless email_receipt == SKIP
109
+ @purchaser_client_id = purchaser_client_id unless purchaser_client_id == SKIP
110
+ @purchaser_email = purchaser_email unless purchaser_email == SKIP
111
+ @recipient_email = recipient_email unless recipient_email == SKIP
112
+ @sale_id = sale_id unless sale_id == SKIP
113
+ unless payment_processing_failures == SKIP
114
+ @payment_processing_failures =
115
+ payment_processing_failures
116
+ end
117
+ end
118
+
119
+ # Creates an instance of the object from a hash.
120
+ def self.from_hash(hash)
121
+ return nil unless hash
122
+
123
+ # Extract variables from the hash.
124
+ barcode_id = hash.key?('BarcodeId') ? hash['BarcodeId'] : SKIP
125
+ value = hash.key?('Value') ? hash['Value'] : SKIP
126
+ amount_paid = hash.key?('AmountPaid') ? hash['AmountPaid'] : SKIP
127
+ from_name = hash.key?('FromName') ? hash['FromName'] : SKIP
128
+ layout_id = hash.key?('LayoutId') ? hash['LayoutId'] : SKIP
129
+ email_receipt = hash.key?('EmailReceipt') ? hash['EmailReceipt'] : SKIP
130
+ purchaser_client_id =
131
+ hash.key?('PurchaserClientId') ? hash['PurchaserClientId'] : SKIP
132
+ purchaser_email =
133
+ hash.key?('PurchaserEmail') ? hash['PurchaserEmail'] : SKIP
134
+ recipient_email =
135
+ hash.key?('RecipientEmail') ? hash['RecipientEmail'] : SKIP
136
+ sale_id = hash.key?('SaleId') ? hash['SaleId'] : SKIP
137
+ # Parameter is an array, so we need to iterate through it
138
+ payment_processing_failures = nil
139
+ unless hash['PaymentProcessingFailures'].nil?
140
+ payment_processing_failures = []
141
+ hash['PaymentProcessingFailures'].each do |structure|
142
+ payment_processing_failures << (PaymentProcessingFailure.from_hash(structure) if structure)
143
+ end
144
+ end
145
+
146
+ payment_processing_failures = SKIP unless hash.key?('PaymentProcessingFailures')
147
+
148
+ # Create object from extracted values.
149
+ PurchaseGiftCardResponse.new(barcode_id,
150
+ value,
151
+ amount_paid,
152
+ from_name,
153
+ layout_id,
154
+ email_receipt,
155
+ purchaser_client_id,
156
+ purchaser_email,
157
+ recipient_email,
158
+ sale_id,
159
+ payment_processing_failures)
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} barcode_id: #{@barcode_id}, value: #{@value}, amount_paid: #{@amount_paid},"\
166
+ " from_name: #{@from_name}, layout_id: #{@layout_id}, email_receipt: #{@email_receipt},"\
167
+ " purchaser_client_id: #{@purchaser_client_id}, purchaser_email: #{@purchaser_email},"\
168
+ " recipient_email: #{@recipient_email}, sale_id: #{@sale_id}, payment_processing_failures:"\
169
+ " #{@payment_processing_failures}>"
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} barcode_id: #{@barcode_id.inspect}, value: #{@value.inspect}, amount_paid:"\
176
+ " #{@amount_paid.inspect}, from_name: #{@from_name.inspect}, layout_id:"\
177
+ " #{@layout_id.inspect}, email_receipt: #{@email_receipt.inspect}, purchaser_client_id:"\
178
+ " #{@purchaser_client_id.inspect}, purchaser_email: #{@purchaser_email.inspect},"\
179
+ " recipient_email: #{@recipient_email.inspect}, sale_id: #{@sale_id.inspect},"\
180
+ " payment_processing_failures: #{@payment_processing_failures.inspect}>"
181
+ end
182
+ end
183
+ end