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,501 @@
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
+ # The Staff
9
+ class Staff < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The address of the staff member who is teaching the class.
14
+ # @return [String]
15
+ attr_accessor :address
16
+
17
+ # When `true`, indicates that the staff member offers appointments.<br />
18
+ # When `false`, indicates that the staff member does not offer appointments.
19
+ # @return [TrueClass | FalseClass]
20
+ attr_accessor :appointment_instructor
21
+
22
+ # When `true`, indicates that the staff member can be scheduled for
23
+ # overlapping services.<br />
24
+ # When `false`, indicates that the staff can only be scheduled for one
25
+ # service at a time in any given time-frame.
26
+ # @return [TrueClass | FalseClass]
27
+ attr_accessor :always_allow_double_booking
28
+
29
+ # The staff member’s biography. This string contains HTML.
30
+ # @return [String]
31
+ attr_accessor :bio
32
+
33
+ # The staff member’s city.
34
+ # @return [String]
35
+ attr_accessor :city
36
+
37
+ # The staff member’s country.
38
+ # @return [String]
39
+ attr_accessor :country
40
+
41
+ # The staff member’s email address.
42
+ # @return [String]
43
+ attr_accessor :email
44
+
45
+ # The staff member’s first name.
46
+ # @return [String]
47
+ attr_accessor :first_name
48
+
49
+ # The staff member’s Nickname.
50
+ # @return [String]
51
+ attr_accessor :display_name
52
+
53
+ # The staff member’s home phone number.
54
+ # @return [String]
55
+ attr_accessor :home_phone
56
+
57
+ # The ID assigned to the staff member.
58
+ # @return [Integer]
59
+ attr_accessor :id
60
+
61
+ # When `true`, indicates that the staff member is an independent contractor.
62
+ # When `false`, indicates that the staff member is not an independent
63
+ # contractor.
64
+ # @return [TrueClass | FalseClass]
65
+ attr_accessor :independent_contractor
66
+
67
+ # When `true`, indicates that the staff member is male.
68
+ # When `false`, indicates that the staff member is female.
69
+ # @return [TrueClass | FalseClass]
70
+ attr_accessor :is_male
71
+
72
+ # The staff member’s last name.
73
+ # @return [String]
74
+ attr_accessor :last_name
75
+
76
+ # The staff member’s mobile phone number.
77
+ # @return [String]
78
+ attr_accessor :mobile_phone
79
+
80
+ # The staff member’s name.
81
+ # @return [String]
82
+ attr_accessor :name
83
+
84
+ # The staff member’s postal code.
85
+ # @return [String]
86
+ attr_accessor :postal_code
87
+
88
+ # When `true`, indicates that the staff member can teach classes.
89
+ # When `false`, indicates that the staff member cannot teach classes.
90
+ # @return [TrueClass | FalseClass]
91
+ attr_accessor :class_teacher
92
+
93
+ # If configured by the business owner, this field determines a staff
94
+ # member’s weight when sorting. Use this field to sort staff members on your
95
+ # interface.
96
+ # @return [Integer]
97
+ attr_accessor :sort_order
98
+
99
+ # The staff member’s state.
100
+ # @return [String]
101
+ attr_accessor :state
102
+
103
+ # The staff member’s work phone number.
104
+ # @return [String]
105
+ attr_accessor :work_phone
106
+
107
+ # The URL of the staff member’s image, if one has been uploaded.
108
+ # @return [String]
109
+ attr_accessor :image_url
110
+
111
+ # Is the staff an assistant
112
+ # @return [TrueClass | FalseClass]
113
+ attr_accessor :class_assistant
114
+
115
+ # Is the staff an assistant2
116
+ # @return [TrueClass | FalseClass]
117
+ attr_accessor :class_assistant2
118
+
119
+ # The start date of employment
120
+ # @return [DateTime]
121
+ attr_accessor :employment_start
122
+
123
+ # The end date of employment
124
+ # @return [DateTime]
125
+ attr_accessor :employment_end
126
+
127
+ # A list of ProviderIds for the staff.
128
+ # @return [Array[String]]
129
+ attr_accessor :provider_i_ds
130
+
131
+ # return true if staff is sales Rep 1 else false.
132
+ # @return [TrueClass | FalseClass]
133
+ attr_accessor :rep
134
+
135
+ # return true if staff is sales Rep 2 else false.
136
+ # @return [TrueClass | FalseClass]
137
+ attr_accessor :rep2
138
+
139
+ # return true if staff is sales Rep 3 else false.
140
+ # @return [TrueClass | FalseClass]
141
+ attr_accessor :rep3
142
+
143
+ # return true if staff is sales Rep 4 else false.
144
+ # @return [TrueClass | FalseClass]
145
+ attr_accessor :rep4
146
+
147
+ # return true if staff is sales Rep 5 else false.
148
+ # @return [TrueClass | FalseClass]
149
+ attr_accessor :rep5
150
+
151
+ # return true if staff is sales Rep 6 else false.
152
+ # @return [TrueClass | FalseClass]
153
+ attr_accessor :rep6
154
+
155
+ # contains the information about the staff settings.
156
+ # @return [StaffSetting]
157
+ attr_accessor :staff_settings
158
+
159
+ # A list of appointments for the staff.
160
+ # @return [Array[Appointment]]
161
+ attr_accessor :appointments
162
+
163
+ # A list of unavailabilities for the staff.
164
+ # @return [Array[Unavailability]]
165
+ attr_accessor :unavailabilities
166
+
167
+ # A list of availabilities for the staff.
168
+ # @return [Array[Availability]]
169
+ attr_accessor :availabilities
170
+
171
+ # The EmpID assigned to the staff member.
172
+ # @return [String]
173
+ attr_accessor :emp_id
174
+
175
+ # A mapping from model property names to API property names.
176
+ def self.names
177
+ @_hash = {} if @_hash.nil?
178
+ @_hash['address'] = 'Address'
179
+ @_hash['appointment_instructor'] = 'AppointmentInstructor'
180
+ @_hash['always_allow_double_booking'] = 'AlwaysAllowDoubleBooking'
181
+ @_hash['bio'] = 'Bio'
182
+ @_hash['city'] = 'City'
183
+ @_hash['country'] = 'Country'
184
+ @_hash['email'] = 'Email'
185
+ @_hash['first_name'] = 'FirstName'
186
+ @_hash['display_name'] = 'DisplayName'
187
+ @_hash['home_phone'] = 'HomePhone'
188
+ @_hash['id'] = 'Id'
189
+ @_hash['independent_contractor'] = 'IndependentContractor'
190
+ @_hash['is_male'] = 'IsMale'
191
+ @_hash['last_name'] = 'LastName'
192
+ @_hash['mobile_phone'] = 'MobilePhone'
193
+ @_hash['name'] = 'Name'
194
+ @_hash['postal_code'] = 'PostalCode'
195
+ @_hash['class_teacher'] = 'ClassTeacher'
196
+ @_hash['sort_order'] = 'SortOrder'
197
+ @_hash['state'] = 'State'
198
+ @_hash['work_phone'] = 'WorkPhone'
199
+ @_hash['image_url'] = 'ImageUrl'
200
+ @_hash['class_assistant'] = 'ClassAssistant'
201
+ @_hash['class_assistant2'] = 'ClassAssistant2'
202
+ @_hash['employment_start'] = 'EmploymentStart'
203
+ @_hash['employment_end'] = 'EmploymentEnd'
204
+ @_hash['provider_i_ds'] = 'ProviderIDs'
205
+ @_hash['rep'] = 'Rep'
206
+ @_hash['rep2'] = 'Rep2'
207
+ @_hash['rep3'] = 'Rep3'
208
+ @_hash['rep4'] = 'Rep4'
209
+ @_hash['rep5'] = 'Rep5'
210
+ @_hash['rep6'] = 'Rep6'
211
+ @_hash['staff_settings'] = 'StaffSettings'
212
+ @_hash['appointments'] = 'Appointments'
213
+ @_hash['unavailabilities'] = 'Unavailabilities'
214
+ @_hash['availabilities'] = 'Availabilities'
215
+ @_hash['emp_id'] = 'EmpID'
216
+ @_hash
217
+ end
218
+
219
+ # An array for optional fields
220
+ def self.optionals
221
+ %w[
222
+ address
223
+ appointment_instructor
224
+ always_allow_double_booking
225
+ bio
226
+ city
227
+ country
228
+ email
229
+ first_name
230
+ display_name
231
+ home_phone
232
+ id
233
+ independent_contractor
234
+ is_male
235
+ last_name
236
+ mobile_phone
237
+ name
238
+ postal_code
239
+ class_teacher
240
+ sort_order
241
+ state
242
+ work_phone
243
+ image_url
244
+ class_assistant
245
+ class_assistant2
246
+ employment_start
247
+ employment_end
248
+ provider_i_ds
249
+ rep
250
+ rep2
251
+ rep3
252
+ rep4
253
+ rep5
254
+ rep6
255
+ staff_settings
256
+ appointments
257
+ unavailabilities
258
+ availabilities
259
+ emp_id
260
+ ]
261
+ end
262
+
263
+ # An array for nullable fields
264
+ def self.nullables
265
+ []
266
+ end
267
+
268
+ def initialize(address = SKIP, appointment_instructor = SKIP,
269
+ always_allow_double_booking = SKIP, bio = SKIP, city = SKIP,
270
+ country = SKIP, email = SKIP, first_name = SKIP,
271
+ display_name = SKIP, home_phone = SKIP, id = SKIP,
272
+ independent_contractor = SKIP, is_male = SKIP,
273
+ last_name = SKIP, mobile_phone = SKIP, name = SKIP,
274
+ postal_code = SKIP, class_teacher = SKIP, sort_order = SKIP,
275
+ state = SKIP, work_phone = SKIP, image_url = SKIP,
276
+ class_assistant = SKIP, class_assistant2 = SKIP,
277
+ employment_start = SKIP, employment_end = SKIP,
278
+ provider_i_ds = SKIP, rep = SKIP, rep2 = SKIP, rep3 = SKIP,
279
+ rep4 = SKIP, rep5 = SKIP, rep6 = SKIP, staff_settings = SKIP,
280
+ appointments = SKIP, unavailabilities = SKIP,
281
+ availabilities = SKIP, emp_id = SKIP)
282
+ @address = address unless address == SKIP
283
+ @appointment_instructor = appointment_instructor unless appointment_instructor == SKIP
284
+ unless always_allow_double_booking == SKIP
285
+ @always_allow_double_booking =
286
+ always_allow_double_booking
287
+ end
288
+ @bio = bio unless bio == SKIP
289
+ @city = city unless city == SKIP
290
+ @country = country unless country == SKIP
291
+ @email = email unless email == SKIP
292
+ @first_name = first_name unless first_name == SKIP
293
+ @display_name = display_name unless display_name == SKIP
294
+ @home_phone = home_phone unless home_phone == SKIP
295
+ @id = id unless id == SKIP
296
+ @independent_contractor = independent_contractor unless independent_contractor == SKIP
297
+ @is_male = is_male unless is_male == SKIP
298
+ @last_name = last_name unless last_name == SKIP
299
+ @mobile_phone = mobile_phone unless mobile_phone == SKIP
300
+ @name = name unless name == SKIP
301
+ @postal_code = postal_code unless postal_code == SKIP
302
+ @class_teacher = class_teacher unless class_teacher == SKIP
303
+ @sort_order = sort_order unless sort_order == SKIP
304
+ @state = state unless state == SKIP
305
+ @work_phone = work_phone unless work_phone == SKIP
306
+ @image_url = image_url unless image_url == SKIP
307
+ @class_assistant = class_assistant unless class_assistant == SKIP
308
+ @class_assistant2 = class_assistant2 unless class_assistant2 == SKIP
309
+ @employment_start = employment_start unless employment_start == SKIP
310
+ @employment_end = employment_end unless employment_end == SKIP
311
+ @provider_i_ds = provider_i_ds unless provider_i_ds == SKIP
312
+ @rep = rep unless rep == SKIP
313
+ @rep2 = rep2 unless rep2 == SKIP
314
+ @rep3 = rep3 unless rep3 == SKIP
315
+ @rep4 = rep4 unless rep4 == SKIP
316
+ @rep5 = rep5 unless rep5 == SKIP
317
+ @rep6 = rep6 unless rep6 == SKIP
318
+ @staff_settings = staff_settings unless staff_settings == SKIP
319
+ @appointments = appointments unless appointments == SKIP
320
+ @unavailabilities = unavailabilities unless unavailabilities == SKIP
321
+ @availabilities = availabilities unless availabilities == SKIP
322
+ @emp_id = emp_id unless emp_id == SKIP
323
+ end
324
+
325
+ # Creates an instance of the object from a hash.
326
+ def self.from_hash(hash)
327
+ return nil unless hash
328
+
329
+ # Extract variables from the hash.
330
+ address = hash.key?('Address') ? hash['Address'] : SKIP
331
+ appointment_instructor =
332
+ hash.key?('AppointmentInstructor') ? hash['AppointmentInstructor'] : SKIP
333
+ always_allow_double_booking =
334
+ hash.key?('AlwaysAllowDoubleBooking') ? hash['AlwaysAllowDoubleBooking'] : SKIP
335
+ bio = hash.key?('Bio') ? hash['Bio'] : SKIP
336
+ city = hash.key?('City') ? hash['City'] : SKIP
337
+ country = hash.key?('Country') ? hash['Country'] : SKIP
338
+ email = hash.key?('Email') ? hash['Email'] : SKIP
339
+ first_name = hash.key?('FirstName') ? hash['FirstName'] : SKIP
340
+ display_name = hash.key?('DisplayName') ? hash['DisplayName'] : SKIP
341
+ home_phone = hash.key?('HomePhone') ? hash['HomePhone'] : SKIP
342
+ id = hash.key?('Id') ? hash['Id'] : SKIP
343
+ independent_contractor =
344
+ hash.key?('IndependentContractor') ? hash['IndependentContractor'] : SKIP
345
+ is_male = hash.key?('IsMale') ? hash['IsMale'] : SKIP
346
+ last_name = hash.key?('LastName') ? hash['LastName'] : SKIP
347
+ mobile_phone = hash.key?('MobilePhone') ? hash['MobilePhone'] : SKIP
348
+ name = hash.key?('Name') ? hash['Name'] : SKIP
349
+ postal_code = hash.key?('PostalCode') ? hash['PostalCode'] : SKIP
350
+ class_teacher = hash.key?('ClassTeacher') ? hash['ClassTeacher'] : SKIP
351
+ sort_order = hash.key?('SortOrder') ? hash['SortOrder'] : SKIP
352
+ state = hash.key?('State') ? hash['State'] : SKIP
353
+ work_phone = hash.key?('WorkPhone') ? hash['WorkPhone'] : SKIP
354
+ image_url = hash.key?('ImageUrl') ? hash['ImageUrl'] : SKIP
355
+ class_assistant =
356
+ hash.key?('ClassAssistant') ? hash['ClassAssistant'] : SKIP
357
+ class_assistant2 =
358
+ hash.key?('ClassAssistant2') ? hash['ClassAssistant2'] : SKIP
359
+ employment_start = if hash.key?('EmploymentStart')
360
+ (DateTimeHelper.from_rfc3339(hash['EmploymentStart']) if hash['EmploymentStart'])
361
+ else
362
+ SKIP
363
+ end
364
+ employment_end = if hash.key?('EmploymentEnd')
365
+ (DateTimeHelper.from_rfc3339(hash['EmploymentEnd']) if hash['EmploymentEnd'])
366
+ else
367
+ SKIP
368
+ end
369
+ provider_i_ds = hash.key?('ProviderIDs') ? hash['ProviderIDs'] : SKIP
370
+ rep = hash.key?('Rep') ? hash['Rep'] : SKIP
371
+ rep2 = hash.key?('Rep2') ? hash['Rep2'] : SKIP
372
+ rep3 = hash.key?('Rep3') ? hash['Rep3'] : SKIP
373
+ rep4 = hash.key?('Rep4') ? hash['Rep4'] : SKIP
374
+ rep5 = hash.key?('Rep5') ? hash['Rep5'] : SKIP
375
+ rep6 = hash.key?('Rep6') ? hash['Rep6'] : SKIP
376
+ staff_settings = StaffSetting.from_hash(hash['StaffSettings']) if hash['StaffSettings']
377
+ # Parameter is an array, so we need to iterate through it
378
+ appointments = nil
379
+ unless hash['Appointments'].nil?
380
+ appointments = []
381
+ hash['Appointments'].each do |structure|
382
+ appointments << (Appointment.from_hash(structure) if structure)
383
+ end
384
+ end
385
+
386
+ appointments = SKIP unless hash.key?('Appointments')
387
+ # Parameter is an array, so we need to iterate through it
388
+ unavailabilities = nil
389
+ unless hash['Unavailabilities'].nil?
390
+ unavailabilities = []
391
+ hash['Unavailabilities'].each do |structure|
392
+ unavailabilities << (Unavailability.from_hash(structure) if structure)
393
+ end
394
+ end
395
+
396
+ unavailabilities = SKIP unless hash.key?('Unavailabilities')
397
+ # Parameter is an array, so we need to iterate through it
398
+ availabilities = nil
399
+ unless hash['Availabilities'].nil?
400
+ availabilities = []
401
+ hash['Availabilities'].each do |structure|
402
+ availabilities << (Availability.from_hash(structure) if structure)
403
+ end
404
+ end
405
+
406
+ availabilities = SKIP unless hash.key?('Availabilities')
407
+ emp_id = hash.key?('EmpID') ? hash['EmpID'] : SKIP
408
+
409
+ # Create object from extracted values.
410
+ Staff.new(address,
411
+ appointment_instructor,
412
+ always_allow_double_booking,
413
+ bio,
414
+ city,
415
+ country,
416
+ email,
417
+ first_name,
418
+ display_name,
419
+ home_phone,
420
+ id,
421
+ independent_contractor,
422
+ is_male,
423
+ last_name,
424
+ mobile_phone,
425
+ name,
426
+ postal_code,
427
+ class_teacher,
428
+ sort_order,
429
+ state,
430
+ work_phone,
431
+ image_url,
432
+ class_assistant,
433
+ class_assistant2,
434
+ employment_start,
435
+ employment_end,
436
+ provider_i_ds,
437
+ rep,
438
+ rep2,
439
+ rep3,
440
+ rep4,
441
+ rep5,
442
+ rep6,
443
+ staff_settings,
444
+ appointments,
445
+ unavailabilities,
446
+ availabilities,
447
+ emp_id)
448
+ end
449
+
450
+ def to_custom_employment_start
451
+ DateTimeHelper.to_rfc3339(employment_start)
452
+ end
453
+
454
+ def to_custom_employment_end
455
+ DateTimeHelper.to_rfc3339(employment_end)
456
+ end
457
+
458
+ # Provides a human-readable string representation of the object.
459
+ def to_s
460
+ class_name = self.class.name.split('::').last
461
+ "<#{class_name} address: #{@address}, appointment_instructor: #{@appointment_instructor},"\
462
+ " always_allow_double_booking: #{@always_allow_double_booking}, bio: #{@bio}, city:"\
463
+ " #{@city}, country: #{@country}, email: #{@email}, first_name: #{@first_name},"\
464
+ " display_name: #{@display_name}, home_phone: #{@home_phone}, id: #{@id},"\
465
+ " independent_contractor: #{@independent_contractor}, is_male: #{@is_male}, last_name:"\
466
+ " #{@last_name}, mobile_phone: #{@mobile_phone}, name: #{@name}, postal_code:"\
467
+ " #{@postal_code}, class_teacher: #{@class_teacher}, sort_order: #{@sort_order}, state:"\
468
+ " #{@state}, work_phone: #{@work_phone}, image_url: #{@image_url}, class_assistant:"\
469
+ " #{@class_assistant}, class_assistant2: #{@class_assistant2}, employment_start:"\
470
+ " #{@employment_start}, employment_end: #{@employment_end}, provider_i_ds:"\
471
+ " #{@provider_i_ds}, rep: #{@rep}, rep2: #{@rep2}, rep3: #{@rep3}, rep4: #{@rep4}, rep5:"\
472
+ " #{@rep5}, rep6: #{@rep6}, staff_settings: #{@staff_settings}, appointments:"\
473
+ " #{@appointments}, unavailabilities: #{@unavailabilities}, availabilities:"\
474
+ " #{@availabilities}, emp_id: #{@emp_id}>"
475
+ end
476
+
477
+ # Provides a debugging-friendly string with detailed object information.
478
+ def inspect
479
+ class_name = self.class.name.split('::').last
480
+ "<#{class_name} address: #{@address.inspect}, appointment_instructor:"\
481
+ " #{@appointment_instructor.inspect}, always_allow_double_booking:"\
482
+ " #{@always_allow_double_booking.inspect}, bio: #{@bio.inspect}, city: #{@city.inspect},"\
483
+ " country: #{@country.inspect}, email: #{@email.inspect}, first_name:"\
484
+ " #{@first_name.inspect}, display_name: #{@display_name.inspect}, home_phone:"\
485
+ " #{@home_phone.inspect}, id: #{@id.inspect}, independent_contractor:"\
486
+ " #{@independent_contractor.inspect}, is_male: #{@is_male.inspect}, last_name:"\
487
+ " #{@last_name.inspect}, mobile_phone: #{@mobile_phone.inspect}, name: #{@name.inspect},"\
488
+ " postal_code: #{@postal_code.inspect}, class_teacher: #{@class_teacher.inspect},"\
489
+ " sort_order: #{@sort_order.inspect}, state: #{@state.inspect}, work_phone:"\
490
+ " #{@work_phone.inspect}, image_url: #{@image_url.inspect}, class_assistant:"\
491
+ " #{@class_assistant.inspect}, class_assistant2: #{@class_assistant2.inspect},"\
492
+ " employment_start: #{@employment_start.inspect}, employment_end:"\
493
+ " #{@employment_end.inspect}, provider_i_ds: #{@provider_i_ds.inspect}, rep:"\
494
+ " #{@rep.inspect}, rep2: #{@rep2.inspect}, rep3: #{@rep3.inspect}, rep4: #{@rep4.inspect},"\
495
+ " rep5: #{@rep5.inspect}, rep6: #{@rep6.inspect}, staff_settings:"\
496
+ " #{@staff_settings.inspect}, appointments: #{@appointments.inspect}, unavailabilities:"\
497
+ " #{@unavailabilities.inspect}, availabilities: #{@availabilities.inspect}, emp_id:"\
498
+ " #{@emp_id.inspect}>"
499
+ end
500
+ end
501
+ end