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,746 @@
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
+ # AppointmentController
8
+ class AppointmentController < BaseController
9
+ # This is not appointment availability but rather the active business hours
10
+ # for studios and which increments services can be booked at. See
11
+ # BookableItems for appointment availability.
12
+ # @param [String] version Required parameter: version of the api.
13
+ # @param [String] site_id Required parameter: ID of the site from which to
14
+ # pull data.
15
+ # @param [String] authorization Optional parameter: A staff user
16
+ # authorization token.
17
+ # @param [DateTime] request_end_time Optional parameter: Filters results to
18
+ # times that end on or before this time on the current date. Any date
19
+ # provided is ignored.. <br />Default: **23:59:59**
20
+ # @param [Integer] request_limit Optional parameter: Number of results to
21
+ # include, defaults to 100
22
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
23
+ # to 0.
24
+ # @param [RequestScheduleTypeEnum] request_schedule_type Optional parameter:
25
+ # Filters on the provided the schedule type. Either `SessionTypeIds` or
26
+ # `ScheduleType` must be provided.
27
+ # @param [Array[Integer]] request_session_type_ids Optional parameter:
28
+ # Filters on the provided session type IDs. Either `SessionTypeIds` or
29
+ # `ScheduleType` must be provided.
30
+ # @param [DateTime] request_start_time Optional parameter: Filters results
31
+ # to times that start on or after this time on the current date. Any date
32
+ # provided is ignored. <br />Default: **00:00:00**
33
+ # @return [GetActiveSessionTimesResponse] Response from the API call.
34
+ def get_active_session_times(version,
35
+ site_id,
36
+ authorization: nil,
37
+ request_end_time: nil,
38
+ request_limit: nil,
39
+ request_offset: nil,
40
+ request_schedule_type: nil,
41
+ request_session_type_ids: nil,
42
+ request_start_time: nil)
43
+ @api_call
44
+ .request(new_request_builder(HttpMethodEnum::GET,
45
+ '/public/v{version}/appointment/activesessiontimes',
46
+ Server::DEFAULT)
47
+ .template_param(new_parameter(version, key: 'version')
48
+ .should_encode(true))
49
+ .header_param(new_parameter(site_id, key: 'siteId'))
50
+ .header_param(new_parameter(authorization, key: 'authorization'))
51
+ .query_param(new_parameter(request_end_time, key: 'request.endTime'))
52
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
53
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
54
+ .query_param(new_parameter(request_schedule_type, key: 'request.scheduleType'))
55
+ .query_param(new_parameter(request_session_type_ids, key: 'request.sessionTypeIds'))
56
+ .query_param(new_parameter(request_start_time, key: 'request.startTime'))
57
+ .header_param(new_parameter('application/json', key: 'accept'))
58
+ .auth(Single.new('API-Key')))
59
+ .response(new_response_handler
60
+ .deserializer(APIHelper.method(:custom_type_deserializer))
61
+ .deserialize_into(GetActiveSessionTimesResponse.method(:from_hash)))
62
+ .execute
63
+ end
64
+
65
+ # Get active appointment add-ons.
66
+ # @param [String] version Required parameter: version of the api.
67
+ # @param [String] site_id Required parameter: ID of the site from which to
68
+ # pull data.
69
+ # @param [String] authorization Optional parameter: A staff user
70
+ # authorization token.
71
+ # @param [Integer] request_limit Optional parameter: Number of results to
72
+ # include, defaults to 100
73
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
74
+ # to 0.
75
+ # @param [Integer] request_staff_id Optional parameter: Filter to add-ons
76
+ # only performed by this staff member.
77
+ # @return [GetAddOnsResponse] Response from the API call.
78
+ def get_add_ons(version,
79
+ site_id,
80
+ authorization: nil,
81
+ request_limit: nil,
82
+ request_offset: nil,
83
+ request_staff_id: nil)
84
+ @api_call
85
+ .request(new_request_builder(HttpMethodEnum::GET,
86
+ '/public/v{version}/appointment/addons',
87
+ Server::DEFAULT)
88
+ .template_param(new_parameter(version, key: 'version')
89
+ .should_encode(true))
90
+ .header_param(new_parameter(site_id, key: 'siteId'))
91
+ .header_param(new_parameter(authorization, key: 'authorization'))
92
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
93
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
94
+ .query_param(new_parameter(request_staff_id, key: 'request.staffId'))
95
+ .header_param(new_parameter('application/json', key: 'accept'))
96
+ .auth(Single.new('API-Key')))
97
+ .response(new_response_handler
98
+ .deserializer(APIHelper.method(:custom_type_deserializer))
99
+ .deserialize_into(GetAddOnsResponse.method(:from_hash)))
100
+ .execute
101
+ end
102
+
103
+ # This endpoint has no query parameters.
104
+ # @param [String] version Required parameter: version of the api.
105
+ # @param [String] site_id Required parameter: ID of the site from which to
106
+ # pull data.
107
+ # @param [String] authorization Optional parameter: A staff user
108
+ # authorization token.
109
+ # @return [GetAppointmentOptionsResponse] Response from the API call.
110
+ def get_appointment_options(version,
111
+ site_id,
112
+ authorization: nil)
113
+ @api_call
114
+ .request(new_request_builder(HttpMethodEnum::GET,
115
+ '/public/v{version}/appointment/appointmentoptions',
116
+ Server::DEFAULT)
117
+ .template_param(new_parameter(version, key: 'version')
118
+ .should_encode(true))
119
+ .header_param(new_parameter(site_id, key: 'siteId'))
120
+ .header_param(new_parameter(authorization, key: 'authorization'))
121
+ .header_param(new_parameter('application/json', key: 'accept'))
122
+ .auth(Single.new('API-Key')))
123
+ .response(new_response_handler
124
+ .deserializer(APIHelper.method(:custom_type_deserializer))
125
+ .deserialize_into(GetAppointmentOptionsResponse.method(:from_hash)))
126
+ .execute
127
+ end
128
+
129
+ # Returns a list of dates to narrow down staff availability when booking.
130
+ # Dates are those which staff are scheduled to work and do not guarantee
131
+ # booking availabilities. After this call is made, use GET BookableItems to
132
+ # retrieve availabilities for specific dates before booking.
133
+ # @param [String] version Required parameter: version of the api.
134
+ # @param [Integer] request_session_type_id Required parameter: required
135
+ # requested session type ID.
136
+ # @param [String] site_id Required parameter: ID of the site from which to
137
+ # pull data.
138
+ # @param [String] authorization Optional parameter: A staff user
139
+ # authorization token.
140
+ # @param [DateTime] request_end_date Optional parameter: The end date of the
141
+ # requested date range. <br />Default: **StartDate**
142
+ # @param [Integer] request_location_id Optional parameter: optional
143
+ # requested location ID.
144
+ # @param [Integer] request_staff_id Optional parameter: optional requested
145
+ # staff ID.
146
+ # @param [DateTime] request_start_date Optional parameter: The start date of
147
+ # the requested date range. If omitted, the default is used. <br />Default:
148
+ # **today’s date**
149
+ # @return [GetAvailableDatesResponse] Response from the API call.
150
+ def get_available_dates(version,
151
+ request_session_type_id,
152
+ site_id,
153
+ authorization: nil,
154
+ request_end_date: nil,
155
+ request_location_id: nil,
156
+ request_staff_id: nil,
157
+ request_start_date: nil)
158
+ @api_call
159
+ .request(new_request_builder(HttpMethodEnum::GET,
160
+ '/public/v{version}/appointment/availabledates',
161
+ Server::DEFAULT)
162
+ .template_param(new_parameter(version, key: 'version')
163
+ .should_encode(true))
164
+ .query_param(new_parameter(request_session_type_id, key: 'request.sessionTypeId'))
165
+ .header_param(new_parameter(site_id, key: 'siteId'))
166
+ .header_param(new_parameter(authorization, key: 'authorization'))
167
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
168
+ .query_param(new_parameter(request_location_id, key: 'request.locationId'))
169
+ .query_param(new_parameter(request_staff_id, key: 'request.staffId'))
170
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
171
+ .header_param(new_parameter('application/json', key: 'accept'))
172
+ .auth(Single.new('API-Key')))
173
+ .response(new_response_handler
174
+ .deserializer(APIHelper.method(:custom_type_deserializer))
175
+ .deserialize_into(GetAvailableDatesResponse.method(:from_hash)))
176
+ .execute
177
+ end
178
+
179
+ # Returns a list of availabilities with the information needed to book
180
+ # appointments. Availabilities include information such as the location and
181
+ # its amenities, staff members, programs, and session types. Recommended to
182
+ # use with GET AvailableDates to see what dates the staff is scheduled to
183
+ # work and narrow down the dates searched. Recommended to use with GET
184
+ # ActiveSessionTimes to see which increments each business allows for
185
+ # booking appointments.
186
+ # Notes:
187
+ # - With a wider range of dates, this call may take longer to return
188
+ # results.
189
+ # - With a higher number of request.sessionTypeIds, this call may take
190
+ # longer to return results.
191
+ # @param [String] version Required parameter: version of the api.
192
+ # @param [Array[Integer]] request_session_type_ids Required parameter: A
193
+ # list of the requested session type IDs.
194
+ # @param [String] site_id Required parameter: ID of the site from which to
195
+ # pull data.
196
+ # @param [String] authorization Optional parameter: A staff user
197
+ # authorization token.
198
+ # @param [Integer] request_appointment_id Optional parameter: If provided,
199
+ # filters out the appointment with this ID.
200
+ # @param [DateTime] request_end_date Optional parameter: The end date of the
201
+ # requested date range. <br />Default: **StartDate**
202
+ # @param [TrueClass | FalseClass] request_ignore_default_session_length
203
+ # Optional parameter: When `true`, availabilities that are non-default
204
+ # return, for example, a 30-minute availability with a 60-minute default
205
+ # session length.<br /> When `false`, only availabilities that have the
206
+ # default session length return.
207
+ # @param [TrueClass | FalseClass] request_include_resource_availability
208
+ # Optional parameter: When `true`, resource availabilities for the session
209
+ # type are returned.<br /> When `false`, resource availabilities are not
210
+ # returned default.
211
+ # @param [Integer] request_limit Optional parameter: Number of results to
212
+ # include, defaults to 100
213
+ # @param [Array[Integer]] request_location_ids Optional parameter: A list of
214
+ # the requested location IDs.
215
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
216
+ # to 0.
217
+ # @param [Array[Integer]] request_staff_ids Optional parameter: A list of
218
+ # the requested staff IDs. Omit parameter to return all staff
219
+ # availabilities.
220
+ # @param [DateTime] request_start_date Optional parameter: The start date of
221
+ # the requested date range. <br />Default: **today’s date**
222
+ # @return [GetBookableItemsResponse] Response from the API call.
223
+ def get_bookable_items(version,
224
+ request_session_type_ids,
225
+ site_id,
226
+ authorization: nil,
227
+ request_appointment_id: nil,
228
+ request_end_date: nil,
229
+ request_ignore_default_session_length: nil,
230
+ request_include_resource_availability: nil,
231
+ request_limit: nil,
232
+ request_location_ids: nil,
233
+ request_offset: nil,
234
+ request_staff_ids: nil,
235
+ request_start_date: nil)
236
+ @api_call
237
+ .request(new_request_builder(HttpMethodEnum::GET,
238
+ '/public/v{version}/appointment/bookableitems',
239
+ Server::DEFAULT)
240
+ .template_param(new_parameter(version, key: 'version')
241
+ .should_encode(true))
242
+ .query_param(new_parameter(request_session_type_ids, key: 'request.sessionTypeIds'))
243
+ .header_param(new_parameter(site_id, key: 'siteId'))
244
+ .header_param(new_parameter(authorization, key: 'authorization'))
245
+ .query_param(new_parameter(request_appointment_id, key: 'request.appointmentId'))
246
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
247
+ .query_param(new_parameter(request_ignore_default_session_length, key: 'request.ignoreDefaultSessionLength'))
248
+ .query_param(new_parameter(request_include_resource_availability, key: 'request.includeResourceAvailability'))
249
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
250
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
251
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
252
+ .query_param(new_parameter(request_staff_ids, key: 'request.staffIds'))
253
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
254
+ .header_param(new_parameter('application/json', key: 'accept'))
255
+ .auth(Single.new('API-Key')))
256
+ .response(new_response_handler
257
+ .deserializer(APIHelper.method(:custom_type_deserializer))
258
+ .deserialize_into(GetBookableItemsResponse.method(:from_hash)))
259
+ .execute
260
+ end
261
+
262
+ # Returns a list of schedule items, including appointments, availabilities,
263
+ # and unavailabilities. Unavailabilities are the times at which appointments
264
+ # cannot be booked, for example, on holidays or after hours when the
265
+ # business is closed.
266
+ # @param [String] version Required parameter: version of the api.
267
+ # @param [String] site_id Required parameter: ID of the site from which to
268
+ # pull data.
269
+ # @param [String] authorization Optional parameter: A staff user
270
+ # authorization token.
271
+ # @param [DateTime] request_end_date Optional parameter: The end date of the
272
+ # requested date range. <br />Default: **today’s date**
273
+ # @param [TrueClass | FalseClass] request_ignore_prep_finish_times Optional
274
+ # parameter: When `true`, appointment preparation and finish
275
+ # unavailabilities are not returned. <br />Default: **false**
276
+ # @param [Integer] request_limit Optional parameter: Number of results to
277
+ # include, defaults to 100
278
+ # @param [Array[Integer]] request_location_ids Optional parameter: A list of
279
+ # requested location IDs.
280
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
281
+ # to 0.
282
+ # @param [Array[Integer]] request_staff_ids Optional parameter: A list of
283
+ # requested staff IDs.
284
+ # @param [DateTime] request_start_date Optional parameter: The start date of
285
+ # the requested date range. <br />Default: **today’s date**
286
+ # @return [GetScheduleItemsResponse] Response from the API call.
287
+ def get_schedule_items(version,
288
+ site_id,
289
+ authorization: nil,
290
+ request_end_date: nil,
291
+ request_ignore_prep_finish_times: nil,
292
+ request_limit: nil,
293
+ request_location_ids: nil,
294
+ request_offset: nil,
295
+ request_staff_ids: nil,
296
+ request_start_date: nil)
297
+ @api_call
298
+ .request(new_request_builder(HttpMethodEnum::GET,
299
+ '/public/v{version}/appointment/scheduleitems',
300
+ Server::DEFAULT)
301
+ .template_param(new_parameter(version, key: 'version')
302
+ .should_encode(true))
303
+ .header_param(new_parameter(site_id, key: 'siteId'))
304
+ .header_param(new_parameter(authorization, key: 'authorization'))
305
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
306
+ .query_param(new_parameter(request_ignore_prep_finish_times, key: 'request.ignorePrepFinishTimes'))
307
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
308
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
309
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
310
+ .query_param(new_parameter(request_staff_ids, key: 'request.staffIds'))
311
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
312
+ .header_param(new_parameter('application/json', key: 'accept'))
313
+ .auth(Single.new('API-Key')))
314
+ .response(new_response_handler
315
+ .deserializer(APIHelper.method(:custom_type_deserializer))
316
+ .deserialize_into(GetScheduleItemsResponse.method(:from_hash)))
317
+ .execute
318
+ end
319
+
320
+ # Returns a list of appointments by staff member.
321
+ # @param [String] version Required parameter: version of the api.
322
+ # @param [String] site_id Required parameter: ID of the site from which to
323
+ # pull data.
324
+ # @param [String] authorization Optional parameter: A staff user
325
+ # authorization token.
326
+ # @param [Array[Integer]] request_appointment_ids Optional parameter: A list
327
+ # of the requested appointment IDs.
328
+ # @param [String] request_client_id Optional parameter: The client ID to be
329
+ # returned.
330
+ # @param [DateTime] request_end_date Optional parameter: The end date of the
331
+ # requested date range. <br />Default: **StartDate**
332
+ # @param [Integer] request_limit Optional parameter: Number of results to
333
+ # include, defaults to 100
334
+ # @param [Array[Integer]] request_location_ids Optional parameter: A list of
335
+ # the requested location IDs.
336
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
337
+ # to 0.
338
+ # @param [Array[Integer]] request_staff_ids Optional parameter: List of
339
+ # staff IDs to be returned. Omit parameter to return staff appointments for
340
+ # all staff.
341
+ # @param [DateTime] request_start_date Optional parameter: The start date of
342
+ # the requested date range. If omitted, the default is used. <br
343
+ # />Default: **today's date**
344
+ # @param [TrueClass | FalseClass] request_use_site_settings_staff_name
345
+ # Optional parameter: When `true`, the staff DisplayName will be populated
346
+ # based on site-level settings. When `false` or omitted, the staff
347
+ # DisplayName will contain only the FirstName.
348
+ # @return [GetStaffAppointmentsResponse] Response from the API call.
349
+ def get_staff_appointments(version,
350
+ site_id,
351
+ authorization: nil,
352
+ request_appointment_ids: nil,
353
+ request_client_id: nil,
354
+ request_end_date: nil,
355
+ request_limit: nil,
356
+ request_location_ids: nil,
357
+ request_offset: nil,
358
+ request_staff_ids: nil,
359
+ request_start_date: nil,
360
+ request_use_site_settings_staff_name: nil)
361
+ @api_call
362
+ .request(new_request_builder(HttpMethodEnum::GET,
363
+ '/public/v{version}/appointment/staffappointments',
364
+ Server::DEFAULT)
365
+ .template_param(new_parameter(version, key: 'version')
366
+ .should_encode(true))
367
+ .header_param(new_parameter(site_id, key: 'siteId'))
368
+ .header_param(new_parameter(authorization, key: 'authorization'))
369
+ .query_param(new_parameter(request_appointment_ids, key: 'request.appointmentIds'))
370
+ .query_param(new_parameter(request_client_id, key: 'request.clientId'))
371
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
372
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
373
+ .query_param(new_parameter(request_location_ids, key: 'request.locationIds'))
374
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
375
+ .query_param(new_parameter(request_staff_ids, key: 'request.staffIds'))
376
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
377
+ .query_param(new_parameter(request_use_site_settings_staff_name, key: 'request.useSiteSettingsStaffName'))
378
+ .header_param(new_parameter('application/json', key: 'accept'))
379
+ .auth(Single.new('API-Key')))
380
+ .response(new_response_handler
381
+ .deserializer(APIHelper.method(:custom_type_deserializer))
382
+ .deserialize_into(GetStaffAppointmentsResponse.method(:from_hash)))
383
+ .execute
384
+ end
385
+
386
+ # Returns a list of unavailabilities. Unavailabilities are the times at
387
+ # which appointments cannot be booked, for example, on holidays or after
388
+ # hours when the business is closed.
389
+ # @param [String] version Required parameter: version of the api.
390
+ # @param [String] site_id Required parameter: ID of the site from which to
391
+ # pull data.
392
+ # @param [String] authorization Optional parameter: A staff user
393
+ # authorization token.
394
+ # @param [DateTime] request_end_date Optional parameter: The end date of the
395
+ # requested date range. <br />Default: **today’s date**
396
+ # @param [Integer] request_limit Optional parameter: Number of results to
397
+ # include, defaults to 100
398
+ # @param [Integer] request_offset Optional parameter: Page offset, defaults
399
+ # to 0.
400
+ # @param [Array[Integer]] request_staff_ids Optional parameter: A list of
401
+ # requested staff IDs.
402
+ # @param [DateTime] request_start_date Optional parameter: The start date of
403
+ # the requested date range. <br />Default: **today’s date**
404
+ # @return [GetUnavailabilitiesResponse] Response from the API call.
405
+ def get_unavailabilities(version,
406
+ site_id,
407
+ authorization: nil,
408
+ request_end_date: nil,
409
+ request_limit: nil,
410
+ request_offset: nil,
411
+ request_staff_ids: nil,
412
+ request_start_date: nil)
413
+ @api_call
414
+ .request(new_request_builder(HttpMethodEnum::GET,
415
+ '/public/v{version}/appointment/unavailabilities',
416
+ Server::DEFAULT)
417
+ .template_param(new_parameter(version, key: 'version')
418
+ .should_encode(true))
419
+ .header_param(new_parameter(site_id, key: 'siteId'))
420
+ .header_param(new_parameter(authorization, key: 'authorization'))
421
+ .query_param(new_parameter(request_end_date, key: 'request.endDate'))
422
+ .query_param(new_parameter(request_limit, key: 'request.limit'))
423
+ .query_param(new_parameter(request_offset, key: 'request.offset'))
424
+ .query_param(new_parameter(request_staff_ids, key: 'request.staffIds'))
425
+ .query_param(new_parameter(request_start_date, key: 'request.startDate'))
426
+ .header_param(new_parameter('application/json', key: 'accept'))
427
+ .auth(Single.new('API-Key')))
428
+ .response(new_response_handler
429
+ .deserializer(APIHelper.method(:custom_type_deserializer))
430
+ .deserialize_into(GetUnavailabilitiesResponse.method(:from_hash)))
431
+ .execute
432
+ end
433
+
434
+ # A user token is required for this endpoint. To book an appointment, you
435
+ # must use a location ID, staff ID, client ID, session type ID, and the
436
+ # StartDateTime of the appointment. You can get most of this information
437
+ # using GET BookableItems.
438
+ # Note: Request deduplication is enabled for this endpoint. More information
439
+ # can be found in the [Request Deduplication
440
+ # Page](https://developers.mindbodyonline.com/ui/documentation/public-api#/n
441
+ # et-standard-library/mindbody-public-api-v6-0/request-deduplication).
442
+ # Use the `X-RequestDeduplication-Skip` header to bypass deduplication if
443
+ # necessary. This may be useful in scenarios where you want to ensure a new
444
+ # appointment is created regardless of previous identical requests.
445
+ # @param [String] version Required parameter: version of the api.
446
+ # @param [AddAppointmentRequest] request Required parameter: TODO: type
447
+ # description here
448
+ # @param [String] site_id Required parameter: ID of the site from which to
449
+ # pull data.
450
+ # @param [String] authorization Optional parameter: A staff user
451
+ # authorization token.
452
+ # @return [AddAppointmentResponse] Response from the API call.
453
+ def add_appointment(version,
454
+ request,
455
+ site_id,
456
+ authorization: nil)
457
+ @api_call
458
+ .request(new_request_builder(HttpMethodEnum::POST,
459
+ '/public/v{version}/appointment/addappointment',
460
+ Server::DEFAULT)
461
+ .template_param(new_parameter(version, key: 'version')
462
+ .should_encode(true))
463
+ .body_param(new_parameter(request))
464
+ .header_param(new_parameter(site_id, key: 'siteId'))
465
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
466
+ .header_param(new_parameter(authorization, key: 'authorization'))
467
+ .header_param(new_parameter('application/json', key: 'accept'))
468
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
469
+ .auth(Single.new('API-Key')))
470
+ .response(new_response_handler
471
+ .deserializer(APIHelper.method(:custom_type_deserializer))
472
+ .deserialize_into(AddAppointmentResponse.method(:from_hash)))
473
+ .execute
474
+ end
475
+
476
+ # This endpoint books an add-on on top of an existing, regular appointment.
477
+ # To book an add-on, you must use an existing appointment ID and session
478
+ # type ID. You can get a session type ID using `GET AppointmentAddOns`.
479
+ # @param [String] version Required parameter: version of the api.
480
+ # @param [AddAppointmentAddOnRequest] request Required parameter: TODO: type
481
+ # description here
482
+ # @param [String] site_id Required parameter: ID of the site from which to
483
+ # pull data.
484
+ # @param [String] authorization Optional parameter: A staff user
485
+ # authorization token.
486
+ # @return [AddAppointmentAddOnResponse] Response from the API call.
487
+ def add_appointment_add_on(version,
488
+ request,
489
+ site_id,
490
+ authorization: nil)
491
+ @api_call
492
+ .request(new_request_builder(HttpMethodEnum::POST,
493
+ '/public/v{version}/appointment/addappointmentaddon',
494
+ Server::DEFAULT)
495
+ .template_param(new_parameter(version, key: 'version')
496
+ .should_encode(true))
497
+ .body_param(new_parameter(request))
498
+ .header_param(new_parameter(site_id, key: 'siteId'))
499
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
500
+ .header_param(new_parameter(authorization, key: 'authorization'))
501
+ .header_param(new_parameter('application/json', key: 'accept'))
502
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
503
+ .auth(Single.new('API-Key')))
504
+ .response(new_response_handler
505
+ .deserializer(APIHelper.method(:custom_type_deserializer))
506
+ .deserialize_into(AddAppointmentAddOnResponse.method(:from_hash)))
507
+ .execute
508
+ end
509
+
510
+ # A user token is required for this endpoint. To book appointments, you must
511
+ # provide a location ID, staff ID, client ID, session type ID, and the
512
+ # StartDateTime for each appointment.
513
+ # You can retrieve most of this information using the GET BookableItems
514
+ # endpoint.
515
+ # This endpoint will handle errors that occur during the appointment
516
+ # creation process and return a list of errors, as well as the request
517
+ # object that generated each outcome.
518
+ # You can pass the AddAppointmentRequestId for each request, or it will be
519
+ # automatically filled. This is intended to facilitate matching each request
520
+ # with the corresponding outcome.
521
+ # This endpoint will send one notification when multiple Appointments are
522
+ # booked by one Client on a given day.
523
+ # @param [String] version Required parameter: version of the api.
524
+ # @param [AddMultipleAppointmentsRequest] request Required parameter: TODO:
525
+ # type description here
526
+ # @param [String] site_id Required parameter: ID of the site from which to
527
+ # pull data.
528
+ # @param [String] authorization Optional parameter: A staff user
529
+ # authorization token.
530
+ # @return [AddMultipleAppointmentsResponse] Response from the API call.
531
+ def add_multiple_appointments(version,
532
+ request,
533
+ site_id,
534
+ authorization: nil)
535
+ @api_call
536
+ .request(new_request_builder(HttpMethodEnum::POST,
537
+ '/public/v{version}/appointment/addmultipleappointments',
538
+ Server::DEFAULT)
539
+ .template_param(new_parameter(version, key: 'version')
540
+ .should_encode(true))
541
+ .body_param(new_parameter(request))
542
+ .header_param(new_parameter(site_id, key: 'siteId'))
543
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
544
+ .header_param(new_parameter(authorization, key: 'authorization'))
545
+ .header_param(new_parameter('application/json', key: 'accept'))
546
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
547
+ .auth(Single.new('API-Key')))
548
+ .response(new_response_handler
549
+ .deserializer(APIHelper.method(:custom_type_deserializer))
550
+ .deserialize_into(AddMultipleAppointmentsResponse.method(:from_hash)))
551
+ .execute
552
+ end
553
+
554
+ # To update the information for a specific availability or unavailability of
555
+ # the staff.<br />
556
+ # Note: You must have a staff user token with the required permissions.
557
+ # @param [String] version Required parameter: version of the api.
558
+ # @param [String] site_id Required parameter: ID of the site from which to
559
+ # pull data.
560
+ # @param [UpdateAvailabilityRequest] update_availability_request Required
561
+ # parameter: TODO: type description here
562
+ # @param [String] authorization Optional parameter: A staff user
563
+ # authorization token.
564
+ # @return [UpdateAvailabilityResponse] Response from the API call.
565
+ def update_availability(version,
566
+ site_id,
567
+ update_availability_request,
568
+ authorization: nil)
569
+ @api_call
570
+ .request(new_request_builder(HttpMethodEnum::PUT,
571
+ '/public/v{version}/appointment/availabilities',
572
+ Server::DEFAULT)
573
+ .template_param(new_parameter(version, key: 'version')
574
+ .should_encode(true))
575
+ .header_param(new_parameter(site_id, key: 'siteId'))
576
+ .body_param(new_parameter(update_availability_request))
577
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
578
+ .header_param(new_parameter(authorization, key: 'authorization'))
579
+ .header_param(new_parameter('application/json', key: 'accept'))
580
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
581
+ .auth(Single.new('API-Key')))
582
+ .response(new_response_handler
583
+ .deserializer(APIHelper.method(:custom_type_deserializer))
584
+ .deserialize_into(UpdateAvailabilityResponse.method(:from_hash)))
585
+ .execute
586
+ end
587
+
588
+ # Add availabilities and unavailabilities for a staff member.<br />
589
+ # Note: You must have a staff user token with the required permissions.
590
+ # @param [String] version Required parameter: version of the api.
591
+ # @param [AddAvailabilitiesRequest] request Required parameter: TODO: type
592
+ # description here
593
+ # @param [String] site_id Required parameter: ID of the site from which to
594
+ # pull data.
595
+ # @param [String] authorization Optional parameter: A staff user
596
+ # authorization token.
597
+ # @return [AddAvailabilitiesResponse] Response from the API call.
598
+ def add_availabilities(version,
599
+ request,
600
+ site_id,
601
+ authorization: nil)
602
+ @api_call
603
+ .request(new_request_builder(HttpMethodEnum::POST,
604
+ '/public/v{version}/appointment/availabilities',
605
+ Server::DEFAULT)
606
+ .template_param(new_parameter(version, key: 'version')
607
+ .should_encode(true))
608
+ .body_param(new_parameter(request))
609
+ .header_param(new_parameter(site_id, key: 'siteId'))
610
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
611
+ .header_param(new_parameter(authorization, key: 'authorization'))
612
+ .header_param(new_parameter('application/json', key: 'accept'))
613
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
614
+ .auth(Single.new('API-Key')))
615
+ .response(new_response_handler
616
+ .deserializer(APIHelper.method(:custom_type_deserializer))
617
+ .deserialize_into(AddAvailabilitiesResponse.method(:from_hash)))
618
+ .execute
619
+ end
620
+
621
+ # To update the information for a specific appointment, you must have a
622
+ # staff user token with the proper permissions. Note that you can only
623
+ # update the appointment’s `StartDateTime`, `EndDateTime`, `StaffId`,
624
+ # `Notes`, and `SessionTypeId`.
625
+ # @param [String] version Required parameter: version of the api.
626
+ # @param [UpdateAppointmentRequest] request Required parameter: TODO: type
627
+ # description here
628
+ # @param [String] site_id Required parameter: ID of the site from which to
629
+ # pull data.
630
+ # @param [String] authorization Optional parameter: A staff user
631
+ # authorization token.
632
+ # @return [UpdateAppointmentResponse] Response from the API call.
633
+ def update_appointment(version,
634
+ request,
635
+ site_id,
636
+ authorization: nil)
637
+ @api_call
638
+ .request(new_request_builder(HttpMethodEnum::POST,
639
+ '/public/v{version}/appointment/updateappointment',
640
+ Server::DEFAULT)
641
+ .template_param(new_parameter(version, key: 'version')
642
+ .should_encode(true))
643
+ .body_param(new_parameter(request))
644
+ .header_param(new_parameter(site_id, key: 'siteId'))
645
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
646
+ .header_param(new_parameter(authorization, key: 'authorization'))
647
+ .header_param(new_parameter('application/json', key: 'accept'))
648
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
649
+ .auth(Single.new('API-Key')))
650
+ .response(new_response_handler
651
+ .deserializer(APIHelper.method(:custom_type_deserializer))
652
+ .deserialize_into(UpdateAppointmentResponse.method(:from_hash)))
653
+ .execute
654
+ end
655
+
656
+ # Remove an appointment from waitlist
657
+ # @param [String] version Required parameter: version of the api.
658
+ # @param [Array[Integer]] request_waitlist_entry_ids Required parameter: A
659
+ # list of `WaitlistEntryIds` to remove from the waiting list.
660
+ # @param [String] site_id Required parameter: ID of the site from which to
661
+ # pull data.
662
+ # @param [String] authorization Optional parameter: A staff user
663
+ # authorization token.
664
+ # @return [void] Response from the API call.
665
+ def remove_from_waitlist(version,
666
+ request_waitlist_entry_ids,
667
+ site_id,
668
+ authorization: nil)
669
+ @api_call
670
+ .request(new_request_builder(HttpMethodEnum::DELETE,
671
+ '/public/v{version}/appointment/appointmentfromwaitlist',
672
+ Server::DEFAULT)
673
+ .template_param(new_parameter(version, key: 'version')
674
+ .should_encode(true))
675
+ .query_param(new_parameter(request_waitlist_entry_ids, key: 'request.waitlistEntryIds'))
676
+ .header_param(new_parameter(site_id, key: 'siteId'))
677
+ .header_param(new_parameter(authorization, key: 'authorization'))
678
+ .auth(Single.new('API-Key')))
679
+ .response(new_response_handler
680
+ .is_response_void(true))
681
+ .execute
682
+ end
683
+
684
+ # This endpoint deletes the availability or unavailability.
685
+ # Note: You must have a staff user token with the required permissions.
686
+ # @param [String] version Required parameter: version of the api.
687
+ # @param [String] site_id Required parameter: ID of the site from which to
688
+ # pull data.
689
+ # @param [String] authorization Optional parameter: A staff user
690
+ # authorization token.
691
+ # @param [Integer] delete_availability_request_availability_id Optional
692
+ # parameter: The ID of the availability or unavailability.
693
+ # @param [TrueClass | FalseClass] delete_availability_request_test Optional
694
+ # parameter: When `true`, indicates that this is a test request and no data
695
+ # is deleted from the subscriber’s database. When `false`, the record will
696
+ # be deleted. Default: **false**
697
+ # @return [void] Response from the API call.
698
+ def delete_availability(version,
699
+ site_id,
700
+ authorization: nil,
701
+ delete_availability_request_availability_id: nil,
702
+ delete_availability_request_test: nil)
703
+ @api_call
704
+ .request(new_request_builder(HttpMethodEnum::DELETE,
705
+ '/public/v{version}/appointment/availability',
706
+ Server::DEFAULT)
707
+ .template_param(new_parameter(version, key: 'version')
708
+ .should_encode(true))
709
+ .header_param(new_parameter(site_id, key: 'siteId'))
710
+ .header_param(new_parameter(authorization, key: 'authorization'))
711
+ .query_param(new_parameter(delete_availability_request_availability_id, key: 'deleteAvailabilityRequest.availabilityId'))
712
+ .query_param(new_parameter(delete_availability_request_test, key: 'deleteAvailabilityRequest.test'))
713
+ .auth(Single.new('API-Key')))
714
+ .response(new_response_handler
715
+ .is_response_void(true))
716
+ .execute
717
+ end
718
+
719
+ # This endpoint can be used to early-cancel a booked appointment add-on.
720
+ # @param [String] version Required parameter: version of the api.
721
+ # @param [Integer] id Required parameter: TODO: type description here
722
+ # @param [String] site_id Required parameter: ID of the site from which to
723
+ # pull data.
724
+ # @param [String] authorization Optional parameter: A staff user
725
+ # authorization token.
726
+ # @return [void] Response from the API call.
727
+ def delete_appointment_add_on(version,
728
+ id,
729
+ site_id,
730
+ authorization: nil)
731
+ @api_call
732
+ .request(new_request_builder(HttpMethodEnum::DELETE,
733
+ '/public/v{version}/appointment/deleteappointmentaddon',
734
+ Server::DEFAULT)
735
+ .template_param(new_parameter(version, key: 'version')
736
+ .should_encode(true))
737
+ .query_param(new_parameter(id, key: 'id'))
738
+ .header_param(new_parameter(site_id, key: 'siteId'))
739
+ .header_param(new_parameter(authorization, key: 'authorization'))
740
+ .auth(Single.new('API-Key')))
741
+ .response(new_response_handler
742
+ .is_response_void(true))
743
+ .execute
744
+ end
745
+ end
746
+ end