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,399 @@
1
+ # mindbody_public_api
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module MindbodyPublicApi
8
+ # Represents a specific visit to a class
9
+ class Visit < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The appointment’s ID.
14
+ # @return [Integer]
15
+ attr_accessor :appointment_id
16
+
17
+ # The gender of staff member with whom the client prefers to book
18
+ # appointments.
19
+ # Possible values are:
20
+ # * Female - Indicates that the client prefers to book appointments with
21
+ # female staff members.
22
+ # * Male - Indicates that the client prefers to book appointments with male
23
+ # staff members.
24
+ # * None - Indicates that the client does not have a staff member gender
25
+ # preference.
26
+ # @return [AppointmentGenderPreferenceEnum]
27
+ attr_accessor :appointment_gender_preference
28
+
29
+ # The status of the appointment.
30
+ # @return [AppointmentStatusEnum]
31
+ attr_accessor :appointment_status
32
+
33
+ # The class ID that was used to retrieve the visits.
34
+ # @return [Integer]
35
+ attr_accessor :class_id
36
+
37
+ # The ID of the client associated with the visit.
38
+ # @return [String]
39
+ attr_accessor :client_id
40
+
41
+ # PhotoUrl for the client
42
+ # @return [String]
43
+ attr_accessor :client_photo_url
44
+
45
+ # The unique ID of the client associated with the visit.
46
+ # @return [Integer]
47
+ attr_accessor :client_unique_id
48
+
49
+ # The time this class is scheduled to start.
50
+ # @return [DateTime]
51
+ attr_accessor :start_date_time
52
+
53
+ # The date and time the visit ends. The Public API returns UTC dates and
54
+ # times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST)
55
+ # appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC.
56
+ # Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.
57
+ # @return [DateTime]
58
+ attr_accessor :end_date_time
59
+
60
+ # The ID of the visit.
61
+ # @return [Integer]
62
+ attr_accessor :id
63
+
64
+ # When included in the request, only records modified on or after the
65
+ # specified `LastModifiedDate` are included in the response. The Public API
66
+ # returns UTC dates and times. For example, a class that occurs on June
67
+ # 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST
68
+ # is five hours behind UTC. Date time pairs always return in the format
69
+ # YYYY-MM-DDTHH:mm:ssZ.
70
+ # @return [DateTime]
71
+ attr_accessor :last_modified_date_time
72
+
73
+ # When `true`, indicates that the class has been `LateCancelled`.<br />
74
+ # When `false`, indicates that the class has not been `LateCancelled`.
75
+ # @return [TrueClass | FalseClass]
76
+ attr_accessor :late_cancelled
77
+
78
+ # The ID of the business where the visit is booked.
79
+ # @return [Integer]
80
+ attr_accessor :site_id
81
+
82
+ # The ID of the location where the visit took place or is to take place.
83
+ # @return [Integer]
84
+ attr_accessor :location_id
85
+
86
+ # When `true`, the client can make up this session and a session is not
87
+ # deducted from the pricing option that was used to sign the client into the
88
+ # enrollment. When the client has the make-up session, a session is
89
+ # automatically removed from a pricing option that matches the service
90
+ # category of the enrollment and is within the same date range of the missed
91
+ # session.<br />
92
+ # When `false`, the client cannot make up this session. See [Enrollments:
93
+ # Make-ups](https://support.mindbodyonline.com/s/article/203259433-Enrollmen
94
+ # ts-Make-ups?language=en_US) for more information.
95
+ # @return [TrueClass | FalseClass]
96
+ attr_accessor :make_up
97
+
98
+ # The name of the class.
99
+ # @return [String]
100
+ attr_accessor :name
101
+
102
+ # The unique ID assigned to this pricing option when it was purchased by the
103
+ # client.
104
+ # @return [Integer]
105
+ attr_accessor :service_id
106
+
107
+ # The name of the pricing option at the site where it was purchased.
108
+ # @return [String]
109
+ attr_accessor :service_name
110
+
111
+ # A service that is on a client's account.
112
+ # @return [ClientService]
113
+ attr_accessor :service
114
+
115
+ # The ID of the pricing option at the site where it was purchased.
116
+ # @return [Integer]
117
+ attr_accessor :product_id
118
+
119
+ # When `true`, indicates that the client has been signed in.<br />
120
+ # When `false`, indicates that the client has not been signed in.
121
+ # @return [TrueClass | FalseClass]
122
+ attr_accessor :signed_in
123
+
124
+ # The ID of the staff member who is teaching the class.
125
+ # @return [Integer]
126
+ attr_accessor :staff_id
127
+
128
+ # When `true`, indicates that the client signed up online.<br />
129
+ # When `false`, indicates that the client was signed up by a staff member.
130
+ # @return [TrueClass | FalseClass]
131
+ attr_accessor :web_signup
132
+
133
+ # The action taken.
134
+ # @return [Action1Enum]
135
+ attr_accessor :action
136
+
137
+ # When `true`, indicates that the class has been `Missed`.<br />
138
+ # When `false`, indicates that the class has not been `Missed`.
139
+ # @return [TrueClass | FalseClass]
140
+ attr_accessor :missed
141
+
142
+ # Indicates the Id of visit type.
143
+ # @return [Integer]
144
+ attr_accessor :visit_type
145
+
146
+ # Indicates the Id of type group.
147
+ # @return [Integer]
148
+ attr_accessor :type_group
149
+
150
+ # Indicates the service type taken.
151
+ # @return [String]
152
+ attr_accessor :type_taken
153
+
154
+ # A mapping from model property names to API property names.
155
+ def self.names
156
+ @_hash = {} if @_hash.nil?
157
+ @_hash['appointment_id'] = 'AppointmentId'
158
+ @_hash['appointment_gender_preference'] = 'AppointmentGenderPreference'
159
+ @_hash['appointment_status'] = 'AppointmentStatus'
160
+ @_hash['class_id'] = 'ClassId'
161
+ @_hash['client_id'] = 'ClientId'
162
+ @_hash['client_photo_url'] = 'ClientPhotoUrl'
163
+ @_hash['client_unique_id'] = 'ClientUniqueId'
164
+ @_hash['start_date_time'] = 'StartDateTime'
165
+ @_hash['end_date_time'] = 'EndDateTime'
166
+ @_hash['id'] = 'Id'
167
+ @_hash['last_modified_date_time'] = 'LastModifiedDateTime'
168
+ @_hash['late_cancelled'] = 'LateCancelled'
169
+ @_hash['site_id'] = 'SiteId'
170
+ @_hash['location_id'] = 'LocationId'
171
+ @_hash['make_up'] = 'MakeUp'
172
+ @_hash['name'] = 'Name'
173
+ @_hash['service_id'] = 'ServiceId'
174
+ @_hash['service_name'] = 'ServiceName'
175
+ @_hash['service'] = 'Service'
176
+ @_hash['product_id'] = 'ProductId'
177
+ @_hash['signed_in'] = 'SignedIn'
178
+ @_hash['staff_id'] = 'StaffId'
179
+ @_hash['web_signup'] = 'WebSignup'
180
+ @_hash['action'] = 'Action'
181
+ @_hash['missed'] = 'Missed'
182
+ @_hash['visit_type'] = 'VisitType'
183
+ @_hash['type_group'] = 'TypeGroup'
184
+ @_hash['type_taken'] = 'TypeTaken'
185
+ @_hash
186
+ end
187
+
188
+ # An array for optional fields
189
+ def self.optionals
190
+ %w[
191
+ appointment_id
192
+ appointment_gender_preference
193
+ appointment_status
194
+ class_id
195
+ client_id
196
+ client_photo_url
197
+ client_unique_id
198
+ start_date_time
199
+ end_date_time
200
+ id
201
+ last_modified_date_time
202
+ late_cancelled
203
+ site_id
204
+ location_id
205
+ make_up
206
+ name
207
+ service_id
208
+ service_name
209
+ service
210
+ product_id
211
+ signed_in
212
+ staff_id
213
+ web_signup
214
+ action
215
+ missed
216
+ visit_type
217
+ type_group
218
+ type_taken
219
+ ]
220
+ end
221
+
222
+ # An array for nullable fields
223
+ def self.nullables
224
+ []
225
+ end
226
+
227
+ def initialize(appointment_id = SKIP, appointment_gender_preference = SKIP,
228
+ appointment_status = SKIP, class_id = SKIP, client_id = SKIP,
229
+ client_photo_url = SKIP, client_unique_id = SKIP,
230
+ start_date_time = SKIP, end_date_time = SKIP, id = SKIP,
231
+ last_modified_date_time = SKIP, late_cancelled = SKIP,
232
+ site_id = SKIP, location_id = SKIP, make_up = SKIP,
233
+ name = SKIP, service_id = SKIP, service_name = SKIP,
234
+ service = SKIP, product_id = SKIP, signed_in = SKIP,
235
+ staff_id = SKIP, web_signup = SKIP, action = SKIP,
236
+ missed = SKIP, visit_type = SKIP, type_group = SKIP,
237
+ type_taken = SKIP)
238
+ @appointment_id = appointment_id unless appointment_id == SKIP
239
+ unless appointment_gender_preference == SKIP
240
+ @appointment_gender_preference =
241
+ appointment_gender_preference
242
+ end
243
+ @appointment_status = appointment_status unless appointment_status == SKIP
244
+ @class_id = class_id unless class_id == SKIP
245
+ @client_id = client_id unless client_id == SKIP
246
+ @client_photo_url = client_photo_url unless client_photo_url == SKIP
247
+ @client_unique_id = client_unique_id unless client_unique_id == SKIP
248
+ @start_date_time = start_date_time unless start_date_time == SKIP
249
+ @end_date_time = end_date_time unless end_date_time == SKIP
250
+ @id = id unless id == SKIP
251
+ @last_modified_date_time = last_modified_date_time unless last_modified_date_time == SKIP
252
+ @late_cancelled = late_cancelled unless late_cancelled == SKIP
253
+ @site_id = site_id unless site_id == SKIP
254
+ @location_id = location_id unless location_id == SKIP
255
+ @make_up = make_up unless make_up == SKIP
256
+ @name = name unless name == SKIP
257
+ @service_id = service_id unless service_id == SKIP
258
+ @service_name = service_name unless service_name == SKIP
259
+ @service = service unless service == SKIP
260
+ @product_id = product_id unless product_id == SKIP
261
+ @signed_in = signed_in unless signed_in == SKIP
262
+ @staff_id = staff_id unless staff_id == SKIP
263
+ @web_signup = web_signup unless web_signup == SKIP
264
+ @action = action unless action == SKIP
265
+ @missed = missed unless missed == SKIP
266
+ @visit_type = visit_type unless visit_type == SKIP
267
+ @type_group = type_group unless type_group == SKIP
268
+ @type_taken = type_taken unless type_taken == SKIP
269
+ end
270
+
271
+ # Creates an instance of the object from a hash.
272
+ def self.from_hash(hash)
273
+ return nil unless hash
274
+
275
+ # Extract variables from the hash.
276
+ appointment_id = hash.key?('AppointmentId') ? hash['AppointmentId'] : SKIP
277
+ appointment_gender_preference =
278
+ hash.key?('AppointmentGenderPreference') ? hash['AppointmentGenderPreference'] : SKIP
279
+ appointment_status =
280
+ hash.key?('AppointmentStatus') ? hash['AppointmentStatus'] : SKIP
281
+ class_id = hash.key?('ClassId') ? hash['ClassId'] : SKIP
282
+ client_id = hash.key?('ClientId') ? hash['ClientId'] : SKIP
283
+ client_photo_url =
284
+ hash.key?('ClientPhotoUrl') ? hash['ClientPhotoUrl'] : SKIP
285
+ client_unique_id =
286
+ hash.key?('ClientUniqueId') ? hash['ClientUniqueId'] : SKIP
287
+ start_date_time = if hash.key?('StartDateTime')
288
+ (DateTimeHelper.from_rfc3339(hash['StartDateTime']) if hash['StartDateTime'])
289
+ else
290
+ SKIP
291
+ end
292
+ end_date_time = if hash.key?('EndDateTime')
293
+ (DateTimeHelper.from_rfc3339(hash['EndDateTime']) if hash['EndDateTime'])
294
+ else
295
+ SKIP
296
+ end
297
+ id = hash.key?('Id') ? hash['Id'] : SKIP
298
+ last_modified_date_time = if hash.key?('LastModifiedDateTime')
299
+ (DateTimeHelper.from_rfc3339(hash['LastModifiedDateTime']) if hash['LastModifiedDateTime'])
300
+ else
301
+ SKIP
302
+ end
303
+ late_cancelled = hash.key?('LateCancelled') ? hash['LateCancelled'] : SKIP
304
+ site_id = hash.key?('SiteId') ? hash['SiteId'] : SKIP
305
+ location_id = hash.key?('LocationId') ? hash['LocationId'] : SKIP
306
+ make_up = hash.key?('MakeUp') ? hash['MakeUp'] : SKIP
307
+ name = hash.key?('Name') ? hash['Name'] : SKIP
308
+ service_id = hash.key?('ServiceId') ? hash['ServiceId'] : SKIP
309
+ service_name = hash.key?('ServiceName') ? hash['ServiceName'] : SKIP
310
+ service = ClientService.from_hash(hash['Service']) if hash['Service']
311
+ product_id = hash.key?('ProductId') ? hash['ProductId'] : SKIP
312
+ signed_in = hash.key?('SignedIn') ? hash['SignedIn'] : SKIP
313
+ staff_id = hash.key?('StaffId') ? hash['StaffId'] : SKIP
314
+ web_signup = hash.key?('WebSignup') ? hash['WebSignup'] : SKIP
315
+ action = hash.key?('Action') ? hash['Action'] : SKIP
316
+ missed = hash.key?('Missed') ? hash['Missed'] : SKIP
317
+ visit_type = hash.key?('VisitType') ? hash['VisitType'] : SKIP
318
+ type_group = hash.key?('TypeGroup') ? hash['TypeGroup'] : SKIP
319
+ type_taken = hash.key?('TypeTaken') ? hash['TypeTaken'] : SKIP
320
+
321
+ # Create object from extracted values.
322
+ Visit.new(appointment_id,
323
+ appointment_gender_preference,
324
+ appointment_status,
325
+ class_id,
326
+ client_id,
327
+ client_photo_url,
328
+ client_unique_id,
329
+ start_date_time,
330
+ end_date_time,
331
+ id,
332
+ last_modified_date_time,
333
+ late_cancelled,
334
+ site_id,
335
+ location_id,
336
+ make_up,
337
+ name,
338
+ service_id,
339
+ service_name,
340
+ service,
341
+ product_id,
342
+ signed_in,
343
+ staff_id,
344
+ web_signup,
345
+ action,
346
+ missed,
347
+ visit_type,
348
+ type_group,
349
+ type_taken)
350
+ end
351
+
352
+ def to_custom_start_date_time
353
+ DateTimeHelper.to_rfc3339(start_date_time)
354
+ end
355
+
356
+ def to_custom_end_date_time
357
+ DateTimeHelper.to_rfc3339(end_date_time)
358
+ end
359
+
360
+ def to_custom_last_modified_date_time
361
+ DateTimeHelper.to_rfc3339(last_modified_date_time)
362
+ end
363
+
364
+ # Provides a human-readable string representation of the object.
365
+ def to_s
366
+ class_name = self.class.name.split('::').last
367
+ "<#{class_name} appointment_id: #{@appointment_id}, appointment_gender_preference:"\
368
+ " #{@appointment_gender_preference}, appointment_status: #{@appointment_status}, class_id:"\
369
+ " #{@class_id}, client_id: #{@client_id}, client_photo_url: #{@client_photo_url},"\
370
+ " client_unique_id: #{@client_unique_id}, start_date_time: #{@start_date_time},"\
371
+ " end_date_time: #{@end_date_time}, id: #{@id}, last_modified_date_time:"\
372
+ " #{@last_modified_date_time}, late_cancelled: #{@late_cancelled}, site_id: #{@site_id},"\
373
+ " location_id: #{@location_id}, make_up: #{@make_up}, name: #{@name}, service_id:"\
374
+ " #{@service_id}, service_name: #{@service_name}, service: #{@service}, product_id:"\
375
+ " #{@product_id}, signed_in: #{@signed_in}, staff_id: #{@staff_id}, web_signup:"\
376
+ " #{@web_signup}, action: #{@action}, missed: #{@missed}, visit_type: #{@visit_type},"\
377
+ " type_group: #{@type_group}, type_taken: #{@type_taken}>"
378
+ end
379
+
380
+ # Provides a debugging-friendly string with detailed object information.
381
+ def inspect
382
+ class_name = self.class.name.split('::').last
383
+ "<#{class_name} appointment_id: #{@appointment_id.inspect}, appointment_gender_preference:"\
384
+ " #{@appointment_gender_preference.inspect}, appointment_status:"\
385
+ " #{@appointment_status.inspect}, class_id: #{@class_id.inspect}, client_id:"\
386
+ " #{@client_id.inspect}, client_photo_url: #{@client_photo_url.inspect}, client_unique_id:"\
387
+ " #{@client_unique_id.inspect}, start_date_time: #{@start_date_time.inspect}, end_date_time:"\
388
+ " #{@end_date_time.inspect}, id: #{@id.inspect}, last_modified_date_time:"\
389
+ " #{@last_modified_date_time.inspect}, late_cancelled: #{@late_cancelled.inspect}, site_id:"\
390
+ " #{@site_id.inspect}, location_id: #{@location_id.inspect}, make_up: #{@make_up.inspect},"\
391
+ " name: #{@name.inspect}, service_id: #{@service_id.inspect}, service_name:"\
392
+ " #{@service_name.inspect}, service: #{@service.inspect}, product_id:"\
393
+ " #{@product_id.inspect}, signed_in: #{@signed_in.inspect}, staff_id: #{@staff_id.inspect},"\
394
+ " web_signup: #{@web_signup.inspect}, action: #{@action.inspect}, missed:"\
395
+ " #{@missed.inspect}, visit_type: #{@visit_type.inspect}, type_group:"\
396
+ " #{@type_group.inspect}, type_taken: #{@type_taken.inspect}>"
397
+ end
398
+ end
399
+ end
@@ -0,0 +1,74 @@
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
+ # A Visit DTO with Waitlist Informatoin
8
+ class VisitWaitlistInfo < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # waitlist entry Id
13
+ # @return [Integer]
14
+ attr_accessor :waitlist_id
15
+
16
+ # order of the waitlist entry
17
+ # @return [Integer]
18
+ attr_accessor :waitlist_order_number
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['waitlist_id'] = 'WaitlistId'
24
+ @_hash['waitlist_order_number'] = 'WaitlistOrderNumber'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ waitlist_id
32
+ waitlist_order_number
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(waitlist_id = SKIP, waitlist_order_number = SKIP)
42
+ @waitlist_id = waitlist_id unless waitlist_id == SKIP
43
+ @waitlist_order_number = waitlist_order_number unless waitlist_order_number == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ waitlist_id = hash.key?('WaitlistId') ? hash['WaitlistId'] : SKIP
52
+ waitlist_order_number =
53
+ hash.key?('WaitlistOrderNumber') ? hash['WaitlistOrderNumber'] : SKIP
54
+
55
+ # Create object from extracted values.
56
+ VisitWaitlistInfo.new(waitlist_id,
57
+ waitlist_order_number)
58
+ end
59
+
60
+ # Provides a human-readable string representation of the object.
61
+ def to_s
62
+ class_name = self.class.name.split('::').last
63
+ "<#{class_name} waitlist_id: #{@waitlist_id}, waitlist_order_number:"\
64
+ " #{@waitlist_order_number}>"
65
+ end
66
+
67
+ # Provides a debugging-friendly string with detailed object information.
68
+ def inspect
69
+ class_name = self.class.name.split('::').last
70
+ "<#{class_name} waitlist_id: #{@waitlist_id.inspect}, waitlist_order_number:"\
71
+ " #{@waitlist_order_number.inspect}>"
72
+ end
73
+ end
74
+ end