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,815 @@
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
+ # SiteController
8
+ class SiteController < BaseController
9
+ # Before you can use this endpoint, MINDBODY must approve your developer
10
+ # account for live access. If you have finished testing in the sandbox and
11
+ # are ready to begin working with MINDBODY customers, log into your account
12
+ # and request to go live.
13
+ # See [Accessing Business Data From
14
+ # MINDBODY](https://developers.mindbodyonline.com/PublicDocumentation/V6#acc
15
+ # essing-business-data) for more information about the activation code and
16
+ # how to use it.
17
+ # Once you are approved, this endpoint returns an activation code.This
18
+ # endpoint supports only one site per call.
19
+ # @param [String] version Required parameter: version of the api.
20
+ # @param [String] authorization Optional parameter: A staff user
21
+ # authorization token.
22
+ # @return [GetActivationCodeResponse] Response from the API call.
23
+ def get_activation_code(version,
24
+ authorization: nil)
25
+ @api_call
26
+ .request(new_request_builder(HttpMethodEnum::GET,
27
+ '/public/v{version}/site/activationcode',
28
+ Server::DEFAULT)
29
+ .template_param(new_parameter(version, key: 'version')
30
+ .should_encode(true))
31
+ .header_param(new_parameter(authorization, key: 'authorization'))
32
+ .header_param(new_parameter('application/json', key: 'accept'))
33
+ .auth(Single.new('API-Key')))
34
+ .response(new_response_handler
35
+ .deserializer(APIHelper.method(:custom_type_deserializer))
36
+ .deserialize_into(GetActivationCodeResponse.method(:from_hash)))
37
+ .execute
38
+ end
39
+
40
+ # Gets the categories.
41
+ # @param [String] version Required parameter: version of the api.
42
+ # @param [String] site_id Required parameter: ID of the site from which to
43
+ # pull data.
44
+ # @param [String] authorization Optional parameter: A staff user
45
+ # authorization token.
46
+ # @param [TrueClass | FalseClass] request_active Optional parameter: When
47
+ # `true`, the response only contains categories which are activated. When
48
+ # `false`, only deactivated categories are returned. Default: **All
49
+ # Categories**
50
+ # @param [Array[Integer]] request_category_ids Optional parameter: When
51
+ # included, the response only contains details about the specified category
52
+ # Ids.
53
+ # @param [Integer] request_limit Optional parameter: Number of results to
54
+ # include, defaults to 100
55
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
56
+ # to 0.
57
+ # @param [TrueClass | FalseClass] request_service Optional parameter: When
58
+ # `true`, the response only contains details about Revenue Categories. When
59
+ # `false`, only Product Revenue Categories are returned. Default: **All
60
+ # Categories**
61
+ # @param [Array[Integer]] request_sub_category_ids Optional parameter: When
62
+ # included, the response only contains details about the specified
63
+ # subcategory Ids.
64
+ # @return [GetCategoriesResponse] Response from the API call.
65
+ def get_categories(version,
66
+ site_id,
67
+ authorization: nil,
68
+ request_active: nil,
69
+ request_category_ids: nil,
70
+ request_limit: nil,
71
+ request_offset: nil,
72
+ request_service: nil,
73
+ request_sub_category_ids: nil)
74
+ @api_call
75
+ .request(new_request_builder(HttpMethodEnum::GET,
76
+ '/public/v{version}/site/categories',
77
+ Server::DEFAULT)
78
+ .template_param(new_parameter(version, key: 'version')
79
+ .should_encode(true))
80
+ .header_param(new_parameter(site_id, key: 'siteId'))
81
+ .header_param(new_parameter(authorization, key: 'authorization'))
82
+ .query_param(new_parameter(request_active, key: 'request.active'))
83
+ .query_param(new_parameter(request_category_ids, key: 'request.categoryIds'))
84
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
85
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
86
+ .query_param(new_parameter(request_service, key: 'request.service'))
87
+ .query_param(new_parameter(request_sub_category_ids, key: 'request.subCategoryIds'))
88
+ .header_param(new_parameter('application/json', key: 'accept'))
89
+ .auth(Single.new('API-Key')))
90
+ .response(new_response_handler
91
+ .deserializer(APIHelper.method(:custom_type_deserializer))
92
+ .deserialize_into(GetCategoriesResponse.method(:from_hash)))
93
+ .execute
94
+ end
95
+
96
+ # The endpoint returns a list of configured client gender options for a
97
+ # site. Custom gender options are assignable to client genders only.
98
+ # Currently, custom values returned from this endpoint cannot be used as
99
+ # input for other endpoints to specify the genders of staff or client
100
+ # preferences.
101
+ # @param [String] version Required parameter: version of the api.
102
+ # @param [String] site_id Required parameter: ID of the site from which to
103
+ # pull data.
104
+ # @param [String] authorization Optional parameter: A staff user
105
+ # authorization token.
106
+ # @return [GetGendersResponse] Response from the API call.
107
+ def get_genders(version,
108
+ site_id,
109
+ authorization: nil)
110
+ @api_call
111
+ .request(new_request_builder(HttpMethodEnum::GET,
112
+ '/public/v{version}/site/genders',
113
+ Server::DEFAULT)
114
+ .template_param(new_parameter(version, key: 'version')
115
+ .should_encode(true))
116
+ .header_param(new_parameter(site_id, key: 'siteId'))
117
+ .header_param(new_parameter(authorization, key: 'authorization'))
118
+ .header_param(new_parameter('application/json', key: 'accept'))
119
+ .auth(Single.new('API-Key')))
120
+ .response(new_response_handler
121
+ .deserializer(APIHelper.method(:custom_type_deserializer))
122
+ .deserialize_into(GetGendersResponse.method(:from_hash)))
123
+ .execute
124
+ end
125
+
126
+ # Gets Liability Waiver content at the specified business.
127
+ # This endpoint requires staff user credentials.
128
+ # @param [String] version Required parameter: version of the api.
129
+ # @param [String] site_id Required parameter: ID of the site from which to
130
+ # pull data.
131
+ # @param [String] authorization Optional parameter: A staff user
132
+ # authorization token.
133
+ # @return [GetLiabilityWaiverResponse] Response from the API call.
134
+ def get_liability_waiver(version,
135
+ site_id,
136
+ authorization: nil)
137
+ @api_call
138
+ .request(new_request_builder(HttpMethodEnum::GET,
139
+ '/public/v{version}/site/liabilitywaiver',
140
+ Server::DEFAULT)
141
+ .template_param(new_parameter(version, key: 'version')
142
+ .should_encode(true))
143
+ .header_param(new_parameter(site_id, key: 'siteId'))
144
+ .header_param(new_parameter(authorization, key: 'authorization'))
145
+ .header_param(new_parameter('application/json', key: 'accept'))
146
+ .auth(Single.new('API-Key')))
147
+ .response(new_response_handler
148
+ .deserializer(APIHelper.method(:custom_type_deserializer))
149
+ .deserialize_into(GetLiabilityWaiverResponse.method(:from_hash)))
150
+ .execute
151
+ end
152
+
153
+ # Get locations for a site.
154
+ # @param [String] version Required parameter: version of the api.
155
+ # @param [String] site_id Required parameter: ID of the site from which to
156
+ # pull data.
157
+ # @param [String] authorization Optional parameter: A staff user
158
+ # authorization token.
159
+ # @param [Integer] request_limit Optional parameter: Number of results to
160
+ # include, defaults to 100
161
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
162
+ # to 0.
163
+ # @return [GetLocationsResponse] Response from the API call.
164
+ def get_locations(version,
165
+ site_id,
166
+ authorization: nil,
167
+ request_limit: nil,
168
+ request_offset: nil)
169
+ @api_call
170
+ .request(new_request_builder(HttpMethodEnum::GET,
171
+ '/public/v{version}/site/locations',
172
+ Server::DEFAULT)
173
+ .template_param(new_parameter(version, key: 'version')
174
+ .should_encode(true))
175
+ .header_param(new_parameter(site_id, key: 'siteId'))
176
+ .header_param(new_parameter(authorization, key: 'authorization'))
177
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
178
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
179
+ .header_param(new_parameter('application/json', key: 'accept'))
180
+ .auth(Single.new('API-Key')))
181
+ .response(new_response_handler
182
+ .deserializer(APIHelper.method(:custom_type_deserializer))
183
+ .deserialize_into(GetLocationsResponse.method(:from_hash)))
184
+ .execute
185
+ end
186
+
187
+ # Get the memberships at a site.
188
+ # @param [String] version Required parameter: version of the api.
189
+ # @param [String] site_id Required parameter: ID of the site from which to
190
+ # pull data.
191
+ # @param [String] authorization Optional parameter: A staff user
192
+ # authorization token.
193
+ # @param [Array[Integer]] request_membership_ids Optional parameter: The
194
+ # requested membership IDs.<br /> Default: **all** IDs that the
195
+ # authenticated user’s access level allows.
196
+ # @return [GetMembershipsResponse] Response from the API call.
197
+ def get_memberships(version,
198
+ site_id,
199
+ authorization: nil,
200
+ request_membership_ids: nil)
201
+ @api_call
202
+ .request(new_request_builder(HttpMethodEnum::GET,
203
+ '/public/v{version}/site/memberships',
204
+ Server::DEFAULT)
205
+ .template_param(new_parameter(version, key: 'version')
206
+ .should_encode(true))
207
+ .header_param(new_parameter(site_id, key: 'siteId'))
208
+ .header_param(new_parameter(authorization, key: 'authorization'))
209
+ .query_param(new_parameter(request_membership_ids, key: 'request.membershipIds'))
210
+ .header_param(new_parameter('application/json', key: 'accept'))
211
+ .auth(Single.new('API-Key')))
212
+ .response(new_response_handler
213
+ .deserializer(APIHelper.method(:custom_type_deserializer))
214
+ .deserialize_into(GetMembershipsResponse.method(:from_hash)))
215
+ .execute
216
+ end
217
+
218
+ # Get the list of mobile providers that are supported by the business.
219
+ # @param [String] version Required parameter: version of the api.
220
+ # @param [String] site_id Required parameter: ID of the site from which to
221
+ # pull data.
222
+ # @param [String] authorization Optional parameter: A staff user
223
+ # authorization token.
224
+ # @param [TrueClass | FalseClass] request_active Optional parameter: When
225
+ # `true`, the response only contains mobile providers which are activated.
226
+ # When `false`, only deactivated mobile providers are returned. Default:
227
+ # **All Mobile Providers**
228
+ # @return [GetMobileProvidersResponse] Response from the API call.
229
+ def get_mobile_providers(version,
230
+ site_id,
231
+ authorization: nil,
232
+ request_active: nil)
233
+ @api_call
234
+ .request(new_request_builder(HttpMethodEnum::GET,
235
+ '/public/v{version}/site/mobileproviders',
236
+ Server::DEFAULT)
237
+ .template_param(new_parameter(version, key: 'version')
238
+ .should_encode(true))
239
+ .header_param(new_parameter(site_id, key: 'siteId'))
240
+ .header_param(new_parameter(authorization, key: 'authorization'))
241
+ .query_param(new_parameter(request_active, key: 'request.active'))
242
+ .header_param(new_parameter('application/json', key: 'accept'))
243
+ .auth(Single.new('API-Key')))
244
+ .response(new_response_handler
245
+ .deserializer(APIHelper.method(:custom_type_deserializer))
246
+ .deserialize_into(GetMobileProvidersResponse.method(:from_hash)))
247
+ .execute
248
+ end
249
+
250
+ # Get payment types for a site.
251
+ # @param [String] version Required parameter: version of the api.
252
+ # @param [String] site_id Required parameter: ID of the site from which to
253
+ # pull data.
254
+ # @param [String] authorization Optional parameter: A staff user
255
+ # authorization token.
256
+ # @param [TrueClass | FalseClass] request_active Optional parameter: When
257
+ # `true`, the response only contains payment types which are activated.
258
+ # When `false`, only deactivated payment types are returned. Default: **All
259
+ # Payment Types**
260
+ # @return [GetPaymentTypesResponse] Response from the API call.
261
+ def get_payment_types(version,
262
+ site_id,
263
+ authorization: nil,
264
+ request_active: nil)
265
+ @api_call
266
+ .request(new_request_builder(HttpMethodEnum::GET,
267
+ '/public/v{version}/site/paymenttypes',
268
+ Server::DEFAULT)
269
+ .template_param(new_parameter(version, key: 'version')
270
+ .should_encode(true))
271
+ .header_param(new_parameter(site_id, key: 'siteId'))
272
+ .header_param(new_parameter(authorization, key: 'authorization'))
273
+ .query_param(new_parameter(request_active, key: 'request.active'))
274
+ .header_param(new_parameter('application/json', key: 'accept'))
275
+ .auth(Single.new('API-Key')))
276
+ .response(new_response_handler
277
+ .deserializer(APIHelper.method(:custom_type_deserializer))
278
+ .deserialize_into(GetPaymentTypesResponse.method(:from_hash)))
279
+ .execute
280
+ end
281
+
282
+ # Get service categories offered at a site.
283
+ # @param [String] version Required parameter: version of the api.
284
+ # @param [String] site_id Required parameter: ID of the site from which to
285
+ # pull data.
286
+ # @param [String] authorization Optional parameter: A staff user
287
+ # authorization token.
288
+ # @param [Integer] request_limit Optional parameter: Number of results to
289
+ # include, defaults to 100
290
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
291
+ # to 0.
292
+ # @param [TrueClass | FalseClass] request_online_only Optional parameter: If
293
+ # `true`, filters results to show only those programs that are shown
294
+ # online.<br /> If `false`, all programs are returned.<br /> Default:
295
+ # **false**
296
+ # @param [Array[Integer]] request_program_ids Optional parameter: Program
297
+ # Ids to filter for
298
+ # @param [RequestScheduleTypeEnum] request_schedule_type Optional parameter:
299
+ # A schedule type used to filter the returned results. Possible values are:
300
+ # * All * Class * Enrollment * Appointment * Resource * Media *
301
+ # Arrival
302
+ # @return [GetProgramsResponse] Response from the API call.
303
+ def get_programs(version,
304
+ site_id,
305
+ authorization: nil,
306
+ request_limit: nil,
307
+ request_offset: nil,
308
+ request_online_only: nil,
309
+ request_program_ids: nil,
310
+ request_schedule_type: nil)
311
+ @api_call
312
+ .request(new_request_builder(HttpMethodEnum::GET,
313
+ '/public/v{version}/site/programs',
314
+ Server::DEFAULT)
315
+ .template_param(new_parameter(version, key: 'version')
316
+ .should_encode(true))
317
+ .header_param(new_parameter(site_id, key: 'siteId'))
318
+ .header_param(new_parameter(authorization, key: 'authorization'))
319
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
320
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
321
+ .query_param(new_parameter(request_online_only, key: 'request.onlineOnly'))
322
+ .query_param(new_parameter(request_program_ids, key: 'request.programIds'))
323
+ .query_param(new_parameter(request_schedule_type, key: 'request.scheduleType'))
324
+ .header_param(new_parameter('application/json', key: 'accept'))
325
+ .auth(Single.new('API-Key')))
326
+ .response(new_response_handler
327
+ .deserializer(APIHelper.method(:custom_type_deserializer))
328
+ .deserialize_into(GetProgramsResponse.method(:from_hash)))
329
+ .execute
330
+ end
331
+
332
+ # Gets a list of promocodes at the specified business. This endpoint
333
+ # requires staff user credentials.
334
+ # This staff member should have enabled the Set up promotions / **Semester
335
+ # discounts** staff permission.
336
+ # @param [String] version Required parameter: version of the api.
337
+ # @param [String] site_id Required parameter: ID of the site from which to
338
+ # pull data.
339
+ # @param [String] authorization Optional parameter: A staff user
340
+ # authorization token.
341
+ # @param [TrueClass | FalseClass] request_active_only Optional parameter: If
342
+ # true, filters results to show only promocodes that are active. If
343
+ # **false**, all promocodes are returned. Default: **true**
344
+ # @param [DateTime] request_end_date Optional parameter: Filters results to
345
+ # promocodes that were activated before this date.
346
+ # @param [DateTime] request_last_modified_date Optional parameter: Filters
347
+ # results to promocodes that were modified on or after this date.
348
+ # @param [Integer] request_limit Optional parameter: Number of results to
349
+ # include, defaults to 100
350
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
351
+ # to 0.
352
+ # @param [TrueClass | FalseClass] request_online_only Optional parameter: If
353
+ # `true`, filters results to show only promocodes that can be used for
354
+ # online sale. If `false`, all promocodes are returned. Default:
355
+ # **false**
356
+ # @param [DateTime] request_start_date Optional parameter: Filters results
357
+ # to promocodes that were activated after this date.
358
+ # @return [GetPromoCodesResponse] Response from the API call.
359
+ def get_promo_codes(version,
360
+ site_id,
361
+ authorization: nil,
362
+ request_active_only: nil,
363
+ request_end_date: nil,
364
+ request_last_modified_date: nil,
365
+ request_limit: nil,
366
+ request_offset: nil,
367
+ request_online_only: nil,
368
+ request_start_date: nil)
369
+ @api_call
370
+ .request(new_request_builder(HttpMethodEnum::GET,
371
+ '/public/v{version}/site/promocodes',
372
+ Server::DEFAULT)
373
+ .template_param(new_parameter(version, key: 'version')
374
+ .should_encode(true))
375
+ .header_param(new_parameter(site_id, key: 'siteId'))
376
+ .header_param(new_parameter(authorization, key: 'authorization'))
377
+ .query_param(new_parameter(request_active_only, key: 'request.activeOnly'))
378
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
379
+ .query_param(new_parameter(request_last_modified_date, key: 'request.lastModifiedDate'))
380
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
381
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
382
+ .query_param(new_parameter(request_online_only, key: 'request.onlineOnly'))
383
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
384
+ .header_param(new_parameter('application/json', key: 'accept'))
385
+ .auth(Single.new('API-Key')))
386
+ .response(new_response_handler
387
+ .deserializer(APIHelper.method(:custom_type_deserializer))
388
+ .deserialize_into(GetPromoCodesResponse.method(:from_hash)))
389
+ .execute
390
+ end
391
+
392
+ # Get the list of prospect stages that represent the prospect stage options
393
+ # for prospective clients.
394
+ # @param [String] version Required parameter: version of the api.
395
+ # @param [String] site_id Required parameter: ID of the site from which to
396
+ # pull data.
397
+ # @param [String] authorization Optional parameter: A staff user
398
+ # authorization token.
399
+ # @param [TrueClass | FalseClass] request_active Optional parameter: When
400
+ # `true`, the response only contains prospect stages which are activated.
401
+ # When `false`, only deactivated prospect stages are returned. Default:
402
+ # **All Prospect Stages**
403
+ # @return [GetProspectStagesResponse] Response from the API call.
404
+ def get_prospect_stages(version,
405
+ site_id,
406
+ authorization: nil,
407
+ request_active: nil)
408
+ @api_call
409
+ .request(new_request_builder(HttpMethodEnum::GET,
410
+ '/public/v{version}/site/prospectstages',
411
+ Server::DEFAULT)
412
+ .template_param(new_parameter(version, key: 'version')
413
+ .should_encode(true))
414
+ .header_param(new_parameter(site_id, key: 'siteId'))
415
+ .header_param(new_parameter(authorization, key: 'authorization'))
416
+ .query_param(new_parameter(request_active, key: 'request.active'))
417
+ .header_param(new_parameter('application/json', key: 'accept'))
418
+ .auth(Single.new('API-Key')))
419
+ .response(new_response_handler
420
+ .deserializer(APIHelper.method(:custom_type_deserializer))
421
+ .deserialize_into(GetProspectStagesResponse.method(:from_hash)))
422
+ .execute
423
+ end
424
+
425
+ # This endpoint retrieves the business site relationships.
426
+ # @param [String] version Required parameter: version of the api.
427
+ # @param [String] site_id Required parameter: ID of the site from which to
428
+ # pull data.
429
+ # @param [String] authorization Optional parameter: A staff user
430
+ # authorization token.
431
+ # @param [TrueClass | FalseClass] request_active Optional parameter: When
432
+ # `true`, the response only contains relationships which are activated.
433
+ # When `false`, only deactivated relationships are returned. Default: **All
434
+ # Relationships**
435
+ # @param [Integer] request_limit Optional parameter: Number of results to
436
+ # include, defaults to 100
437
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
438
+ # to 0.
439
+ # @return [GetRelationshipsResponse] Response from the API call.
440
+ def get_relationships(version,
441
+ site_id,
442
+ authorization: nil,
443
+ request_active: nil,
444
+ request_limit: nil,
445
+ request_offset: nil)
446
+ @api_call
447
+ .request(new_request_builder(HttpMethodEnum::GET,
448
+ '/public/v{version}/site/relationships',
449
+ Server::DEFAULT)
450
+ .template_param(new_parameter(version, key: 'version')
451
+ .should_encode(true))
452
+ .header_param(new_parameter(site_id, key: 'siteId'))
453
+ .header_param(new_parameter(authorization, key: 'authorization'))
454
+ .query_param(new_parameter(request_active, key: 'request.active'))
455
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
456
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
457
+ .header_param(new_parameter('application/json', key: 'accept'))
458
+ .auth(Single.new('API-Key')))
459
+ .response(new_response_handler
460
+ .deserializer(APIHelper.method(:custom_type_deserializer))
461
+ .deserialize_into(GetRelationshipsResponse.method(:from_hash)))
462
+ .execute
463
+ end
464
+
465
+ # Get resource availabilities used at a site.
466
+ # @param [String] version Required parameter: version of the api.
467
+ # @param [String] site_id Required parameter: ID of the site from which to
468
+ # pull data.
469
+ # @param [String] authorization Optional parameter: A staff user
470
+ # authorization token.
471
+ # @param [DateTime] request_end_date Optional parameter: End date. If
472
+ # default, StartDate is used.
473
+ # @param [Integer] request_limit Optional parameter: Number of results to
474
+ # include, defaults to 100
475
+ # @param [Array[Integer]] request_location_ids Optional parameter: Filter by
476
+ # location ids (optional)
477
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
478
+ # to 0.
479
+ # @param [Array[Integer]] request_program_ids Optional parameter: Filter by
480
+ # program ids (optional)
481
+ # @param [Array[Integer]] request_resource_ids Optional parameter: Filter on
482
+ # resourceIds
483
+ # @param [Array[RequestScheduleTypeEnum]] request_schedule_types Optional
484
+ # parameter: Filter by schedule types (optional)
485
+ # @param [DateTime] request_start_date Optional parameter: Start time
486
+ # @return [GetResourcesResponse] Response from the API call.
487
+ def get_resource_availabilities(version,
488
+ site_id,
489
+ authorization: nil,
490
+ request_end_date: nil,
491
+ request_limit: nil,
492
+ request_location_ids: nil,
493
+ request_offset: nil,
494
+ request_program_ids: nil,
495
+ request_resource_ids: nil,
496
+ request_schedule_types: nil,
497
+ request_start_date: nil)
498
+ @api_call
499
+ .request(new_request_builder(HttpMethodEnum::GET,
500
+ '/public/v{version}/site/resourceavailabilities',
501
+ Server::DEFAULT)
502
+ .template_param(new_parameter(version, key: 'version')
503
+ .should_encode(true))
504
+ .header_param(new_parameter(site_id, key: 'siteId'))
505
+ .header_param(new_parameter(authorization, key: 'authorization'))
506
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
507
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
508
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
509
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
510
+ .query_param(new_parameter(request_program_ids, key: 'request.programIds'))
511
+ .query_param(new_parameter(request_resource_ids, key: 'request.resourceIds'))
512
+ .query_param(new_parameter(request_schedule_types, key: 'request.scheduleTypes'))
513
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
514
+ .header_param(new_parameter('application/json', key: 'accept'))
515
+ .auth(Single.new('API-Key')))
516
+ .response(new_response_handler
517
+ .deserializer(APIHelper.method(:custom_type_deserializer))
518
+ .deserialize_into(GetResourcesResponse.method(:from_hash)))
519
+ .execute
520
+ end
521
+
522
+ # Get resources used at a site.
523
+ # @param [String] version Required parameter: version of the api.
524
+ # @param [String] site_id Required parameter: ID of the site from which to
525
+ # pull data.
526
+ # @param [String] authorization Optional parameter: A staff user
527
+ # authorization token.
528
+ # @param [TrueClass | FalseClass] request_include_inactive Optional
529
+ # parameter: Enable to include inactive
530
+ # @param [Integer] request_limit Optional parameter: Number of results to
531
+ # include, defaults to 100
532
+ # @param [Array[Integer]] request_location_ids Optional parameter: Filter by
533
+ # location ids (optional)
534
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
535
+ # to 0.
536
+ # @param [Array[Integer]] request_program_ids Optional parameter: Filter by
537
+ # program ids (optional)
538
+ # @param [Array[Integer]] request_resource_ids Optional parameter: Filter on
539
+ # resourceIds
540
+ # @param [Array[RequestScheduleTypeEnum]] request_schedule_types Optional
541
+ # parameter: Filter by schedule types (optional)
542
+ # @return [Object] Response from the API call.
543
+ def get_resources(version,
544
+ site_id,
545
+ authorization: nil,
546
+ request_include_inactive: nil,
547
+ request_limit: nil,
548
+ request_location_ids: nil,
549
+ request_offset: nil,
550
+ request_program_ids: nil,
551
+ request_resource_ids: nil,
552
+ request_schedule_types: nil)
553
+ @api_call
554
+ .request(new_request_builder(HttpMethodEnum::GET,
555
+ '/public/v{version}/site/resources',
556
+ Server::DEFAULT)
557
+ .template_param(new_parameter(version, key: 'version')
558
+ .should_encode(true))
559
+ .header_param(new_parameter(site_id, key: 'siteId'))
560
+ .header_param(new_parameter(authorization, key: 'authorization'))
561
+ .query_param(new_parameter(request_include_inactive, key: 'request.includeInactive'))
562
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
563
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
564
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
565
+ .query_param(new_parameter(request_program_ids, key: 'request.programIds'))
566
+ .query_param(new_parameter(request_resource_ids, key: 'request.resourceIds'))
567
+ .query_param(new_parameter(request_schedule_types, key: 'request.scheduleTypes'))
568
+ .header_param(new_parameter('application/json', key: 'accept'))
569
+ .auth(Single.new('API-Key')))
570
+ .response(new_response_handler
571
+ .deserializer(APIHelper.method(:json_deserialize)))
572
+ .execute
573
+ end
574
+
575
+ # Get the session types used at a site.
576
+ # @param [String] version Required parameter: version of the api.
577
+ # @param [String] site_id Required parameter: ID of the site from which to
578
+ # pull data.
579
+ # @param [String] authorization Optional parameter: A staff user
580
+ # authorization token.
581
+ # @param [Integer] request_limit Optional parameter: Number of results to
582
+ # include, defaults to 100
583
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
584
+ # to 0.
585
+ # @param [TrueClass | FalseClass] request_online_only Optional parameter:
586
+ # When `true`, indicates that only the session types that can be booked
587
+ # online should be returned.<br /> Default: **false**
588
+ # @param [Array[Integer]] request_program_i_ds Optional parameter: Filters
589
+ # results to session types that belong to one of the given program IDs. If
590
+ # omitted, all program IDs return.
591
+ # @return [GetSessionTypesResponse] Response from the API call.
592
+ def get_session_types(version,
593
+ site_id,
594
+ authorization: nil,
595
+ request_limit: nil,
596
+ request_offset: nil,
597
+ request_online_only: nil,
598
+ request_program_i_ds: nil)
599
+ @api_call
600
+ .request(new_request_builder(HttpMethodEnum::GET,
601
+ '/public/v{version}/site/sessiontypes',
602
+ Server::DEFAULT)
603
+ .template_param(new_parameter(version, key: 'version')
604
+ .should_encode(true))
605
+ .header_param(new_parameter(site_id, key: 'siteId'))
606
+ .header_param(new_parameter(authorization, key: 'authorization'))
607
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
608
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
609
+ .query_param(new_parameter(request_online_only, key: 'request.onlineOnly'))
610
+ .query_param(new_parameter(request_program_i_ds, key: 'request.programIDs'))
611
+ .header_param(new_parameter('application/json', key: 'accept'))
612
+ .auth(Single.new('API-Key')))
613
+ .response(new_response_handler
614
+ .deserializer(APIHelper.method(:custom_type_deserializer))
615
+ .deserialize_into(GetSessionTypesResponse.method(:from_hash)))
616
+ .execute
617
+ end
618
+
619
+ # Gets a list of sites that the developer has permission to view.
620
+ # * Passing in no `SiteIds` returns all sites that the developer has access
621
+ # to.
622
+ # * Passing in one `SiteIds` returns more detailed information about the
623
+ # specified site.
624
+ # Important Behavior Notice:
625
+ # When calling GetSites without specifying a SiteId, or when passing
626
+ # multiple SiteIds, the response will include only limited data for each
627
+ # site. This is expected behavior designed to help identify accessible sites
628
+ # without returning full site-level configuration details.
629
+ # To retrieve complete information for a specific site, please make a
630
+ # separate GetSites request using a single SiteId.
631
+ # This design helps reduce payload size for multi-site queries, but we
632
+ # recognize it may require additional requests when full detail is needed.
633
+ # If your integration depends on full site-level data, we recommend
634
+ # retrieving the list of site IDs first, then querying each one individually
635
+ # as needed.
636
+ # @param [String] version Required parameter: version of the api.
637
+ # @param [String] authorization Optional parameter: A staff user
638
+ # authorization token.
639
+ # @param [TrueClass | FalseClass] request_include_lead_channels Optional
640
+ # parameter: This is an optional parameter to get lead channels for a
641
+ # Site.
642
+ # @param [TrueClass | FalseClass] request_include_per_staff_pricing Optional
643
+ # parameter: Include whether or not studios have per staff pricing
644
+ # enabled.
645
+ # @param [Integer] request_limit Optional parameter: Number of results to
646
+ # include, defaults to 100
647
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
648
+ # to 0.
649
+ # @param [Array[Integer]] request_site_ids Optional parameter: List of the
650
+ # requested site IDs. When omitted, returns all sites that the source has
651
+ # access to.
652
+ # @return [GetSitesResponse] Response from the API call.
653
+ def get_sites(version,
654
+ authorization: nil,
655
+ request_include_lead_channels: nil,
656
+ request_include_per_staff_pricing: nil,
657
+ request_limit: nil,
658
+ request_offset: nil,
659
+ request_site_ids: nil)
660
+ @api_call
661
+ .request(new_request_builder(HttpMethodEnum::GET,
662
+ '/public/v{version}/site/sites',
663
+ Server::DEFAULT)
664
+ .template_param(new_parameter(version, key: 'version')
665
+ .should_encode(true))
666
+ .header_param(new_parameter(authorization, key: 'authorization'))
667
+ .query_param(new_parameter(request_include_lead_channels, key: 'request.includeLeadChannels'))
668
+ .query_param(new_parameter(request_include_per_staff_pricing, key: 'request.includePerStaffPricing'))
669
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
670
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
671
+ .query_param(new_parameter(request_site_ids, key: 'request.siteIds'))
672
+ .header_param(new_parameter('application/json', key: 'accept'))
673
+ .auth(Single.new('API-Key')))
674
+ .response(new_response_handler
675
+ .deserializer(APIHelper.method(:custom_type_deserializer))
676
+ .deserialize_into(GetSitesResponse.method(:from_hash)))
677
+ .execute
678
+ end
679
+
680
+ # Creates a new client index record at the specified business.
681
+ # This endpoint requires staff user credentials.
682
+ # @param [String] version Required parameter: version of the api.
683
+ # @param [AddSiteClientIndexRequest] request Required parameter: TODO: type
684
+ # description here
685
+ # @param [String] site_id Required parameter: ID of the site from which to
686
+ # pull data.
687
+ # @param [String] authorization Optional parameter: A staff user
688
+ # authorization token.
689
+ # @return [AddSiteClientIndexResponse] Response from the API call.
690
+ def add_client_index(version,
691
+ request,
692
+ site_id,
693
+ authorization: nil)
694
+ @api_call
695
+ .request(new_request_builder(HttpMethodEnum::POST,
696
+ '/public/v{version}/site/addclientindex',
697
+ Server::DEFAULT)
698
+ .template_param(new_parameter(version, key: 'version')
699
+ .should_encode(true))
700
+ .body_param(new_parameter(request))
701
+ .header_param(new_parameter(site_id, key: 'siteId'))
702
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
703
+ .header_param(new_parameter(authorization, key: 'authorization'))
704
+ .header_param(new_parameter('application/json', key: 'accept'))
705
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
706
+ .auth(Single.new('API-Key')))
707
+ .response(new_response_handler
708
+ .deserializer(APIHelper.method(:custom_type_deserializer))
709
+ .deserialize_into(AddSiteClientIndexResponse.method(:from_hash)))
710
+ .execute
711
+ end
712
+
713
+ # Creates a new promocode record at the specified business.
714
+ # This endpoint requires staff user credentials. This staff memeber should
715
+ # have enabled the **Set up promotions / Semester discounts** staff
716
+ # permission.
717
+ # @param [String] version Required parameter: version of the api.
718
+ # @param [AddPromoCodeRequest] request Required parameter: TODO: type
719
+ # description here
720
+ # @param [String] site_id Required parameter: ID of the site from which to
721
+ # pull data.
722
+ # @param [String] authorization Optional parameter: A staff user
723
+ # authorization token.
724
+ # @return [AddPromoCodeResponse] Response from the API call.
725
+ def add_promo_code(version,
726
+ request,
727
+ site_id,
728
+ authorization: nil)
729
+ @api_call
730
+ .request(new_request_builder(HttpMethodEnum::POST,
731
+ '/public/v{version}/site/addpromocode',
732
+ Server::DEFAULT)
733
+ .template_param(new_parameter(version, key: 'version')
734
+ .should_encode(true))
735
+ .body_param(new_parameter(request))
736
+ .header_param(new_parameter(site_id, key: 'siteId'))
737
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
738
+ .header_param(new_parameter(authorization, key: 'authorization'))
739
+ .header_param(new_parameter('application/json', key: 'accept'))
740
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
741
+ .auth(Single.new('API-Key')))
742
+ .response(new_response_handler
743
+ .deserializer(APIHelper.method(:custom_type_deserializer))
744
+ .deserialize_into(AddPromoCodeResponse.method(:from_hash)))
745
+ .execute
746
+ end
747
+
748
+ # Deactivates an existing promocode record at the specified business.
749
+ # This endpoint requires staff user credentials. This staff memeber should
750
+ # have enabled the **Set up promotions / Semester discounts** staff
751
+ # permission.
752
+ # @param [String] version Required parameter: version of the api.
753
+ # @param [DeactivatePromoCodeRequest] request Required parameter: TODO: type
754
+ # description here
755
+ # @param [String] site_id Required parameter: ID of the site from which to
756
+ # pull data.
757
+ # @param [String] authorization Optional parameter: A staff user
758
+ # authorization token.
759
+ # @return [Object] Response from the API call.
760
+ def deactivate_promo_code(version,
761
+ request,
762
+ site_id,
763
+ authorization: nil)
764
+ @api_call
765
+ .request(new_request_builder(HttpMethodEnum::POST,
766
+ '/public/v{version}/site/deactivatepromocode',
767
+ Server::DEFAULT)
768
+ .template_param(new_parameter(version, key: 'version')
769
+ .should_encode(true))
770
+ .body_param(new_parameter(request))
771
+ .header_param(new_parameter(site_id, key: 'siteId'))
772
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
773
+ .header_param(new_parameter(authorization, key: 'authorization'))
774
+ .header_param(new_parameter('application/json', key: 'accept'))
775
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
776
+ .auth(Single.new('API-Key')))
777
+ .response(new_response_handler
778
+ .deserializer(APIHelper.method(:json_deserialize)))
779
+ .execute
780
+ end
781
+
782
+ # Updates an exisitng client index record at the specified business.
783
+ # This endpoint requires staff user credentials.
784
+ # @param [String] version Required parameter: version of the api.
785
+ # @param [UpdateSiteClientIndexRequest] request Required parameter: TODO:
786
+ # type description here
787
+ # @param [String] site_id Required parameter: ID of the site from which to
788
+ # pull data.
789
+ # @param [String] authorization Optional parameter: A staff user
790
+ # authorization token.
791
+ # @return [UpdateSiteClientIndexResponse] Response from the API call.
792
+ def update_client_index(version,
793
+ request,
794
+ site_id,
795
+ authorization: nil)
796
+ @api_call
797
+ .request(new_request_builder(HttpMethodEnum::POST,
798
+ '/public/v{version}/site/updateclientindex',
799
+ Server::DEFAULT)
800
+ .template_param(new_parameter(version, key: 'version')
801
+ .should_encode(true))
802
+ .body_param(new_parameter(request))
803
+ .header_param(new_parameter(site_id, key: 'siteId'))
804
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
805
+ .header_param(new_parameter(authorization, key: 'authorization'))
806
+ .header_param(new_parameter('application/json', key: 'accept'))
807
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
808
+ .auth(Single.new('API-Key')))
809
+ .response(new_response_handler
810
+ .deserializer(APIHelper.method(:custom_type_deserializer))
811
+ .deserialize_into(UpdateSiteClientIndexResponse.method(:from_hash)))
812
+ .execute
813
+ end
814
+ end
815
+ end