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,832 @@
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 Client.
9
+ class Client < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The gender of staff member with whom the client prefers to book
14
+ # appointments.
15
+ # @return [AppointmentGenderPreference1Enum]
16
+ attr_accessor :appointment_gender_preference
17
+
18
+ # The client’s date of birth.
19
+ # @return [DateTime]
20
+ attr_accessor :birth_date
21
+
22
+ # The client’s country.
23
+ # @return [String]
24
+ attr_accessor :country
25
+
26
+ # The date the client’s profile was created and added to the business,
27
+ # either by the client from the online store, or by a staff member. This
28
+ # value always returns in the format `yyyy-mm-ddThh:mm:ss:ms`.
29
+ # @return [DateTime]
30
+ attr_accessor :creation_date
31
+
32
+ # Contains information about the custom fields used for clients in the
33
+ # business.
34
+ # @return [Array[CustomClientFieldValue]]
35
+ attr_accessor :custom_client_fields
36
+
37
+ # A client credit card.
38
+ # @return [ClientCreditCard]
39
+ attr_accessor :client_credit_card
40
+
41
+ # Contains the IDs of the client’s assigned ClientIndexes and
42
+ # ClientIndexValues.
43
+ # If an index is already assigned to the client, it is overwritten with the
44
+ # passed index value. You cannot currently remove client indexes using the
45
+ # Public API. Only the indexes passed in the request are returned in the
46
+ # response.
47
+ # @return [Array[AssignedClientIndex]]
48
+ attr_accessor :client_indexes
49
+
50
+ # Contains information about the relationship between two clients.
51
+ # This parameter does not include all of the relationships assigned to the
52
+ # client, only the ones passed in the request.
53
+ # @return [Array[ClientRelationship]]
54
+ attr_accessor :client_relationships
55
+
56
+ # The date of the client’s first booked appointment at the business.
57
+ # @return [DateTime]
58
+ attr_accessor :first_appointment_date
59
+
60
+ # The date of the clients first booked class at the business.
61
+ # @return [DateTime]
62
+ attr_accessor :first_class_date
63
+
64
+ # The client’s first name.
65
+ # @return [String]
66
+ attr_accessor :first_name
67
+
68
+ # The client’s ID, as configured by the business owner. This is the client’s
69
+ # barcode ID if the business owner assigns barcodes to clients. This ID is
70
+ # used throughout the Public API for client-related Public API calls. When
71
+ # used in a POST `UpdateClient` request, the `Id` is used to identify the
72
+ # client for the update.
73
+ # @return [String]
74
+ attr_accessor :id
75
+
76
+ # When `true`, indicates that the client should be marked as a company at
77
+ # the business.<br />
78
+ # When `false`, indicates the client is an individual and does not represent
79
+ # a company.
80
+ # @return [TrueClass | FalseClass]
81
+ attr_accessor :is_company
82
+
83
+ # This value is set only if the business owner allows individuals to be
84
+ # prospects.<br />
85
+ # When `true`, indicates that the client should be marked as a prospect for
86
+ # the business.<br />
87
+ # When `false`, indicates that the client should not be marked as a prospect
88
+ # for the business.
89
+ # @return [TrueClass | FalseClass]
90
+ attr_accessor :is_prospect
91
+
92
+ # The client’s last name.
93
+ # @return [String]
94
+ attr_accessor :last_name
95
+
96
+ # The client’s last name.
97
+ # @return [Liability]
98
+ attr_accessor :liability
99
+
100
+ # Passing `true` sets the client’s liability information as follows:
101
+ # * `IsReleased` is set to `true`.
102
+ # * `AgreementDate` is set to the time zone of the business when the call
103
+ # was processed.
104
+ # * `ReleasedBy` is set to `null` if the call is made by the client, `0` if
105
+ # the call was made by the business owner, or to a specific staff member’s
106
+ # ID if a staff member made the call.
107
+ # Passing `false` sets the client’s liability information as follows:
108
+ # * `IsReleased` is set to `false`.
109
+ # * `AgreementDate` is set to `null`.
110
+ # * `ReleasedBy` is set to `null`.
111
+ # @return [TrueClass | FalseClass]
112
+ attr_accessor :liability_release
113
+
114
+ # The ID of the [membership
115
+ # icon](https://support.mindbodyonline.com/s/article/203259703-Membership-Se
116
+ # tup-screen?language=en_US) displayed next to the client’s name, if the
117
+ # client has a membership on their account.
118
+ # @return [Integer]
119
+ attr_accessor :membership_icon
120
+
121
+ # The client’s mobile provider.
122
+ # @return [Integer]
123
+ attr_accessor :mobile_provider
124
+
125
+ # Any notes entered on the client’s account by staff members. This value
126
+ # should never be shown to clients unless the business owner has a specific
127
+ # reason for showing them.
128
+ # @return [String]
129
+ attr_accessor :notes
130
+
131
+ # The client’s state.
132
+ # @return [String]
133
+ attr_accessor :state
134
+
135
+ # The client’s system-generated ID at the business. This value cannot be
136
+ # changed by business owners and is always unique across all clients at the
137
+ # business. This ID is not widely used in the Public API, but can be used by
138
+ # your application to uniquely identify clients.
139
+ # @return [Integer]
140
+ attr_accessor :unique_id
141
+
142
+ # The UTC date and time when the client’s information was last modified.
143
+ # @return [DateTime]
144
+ attr_accessor :last_modified_date_time
145
+
146
+ # Contains any red alert information entered by the business owner for the
147
+ # client.
148
+ # @return [String]
149
+ attr_accessor :red_alert
150
+
151
+ # Contains any yellow alert information entered by the business owner for
152
+ # the client.
153
+ # @return [String]
154
+ attr_accessor :yellow_alert
155
+
156
+ # The client’s middle name.
157
+ # @return [String]
158
+ attr_accessor :middle_name
159
+
160
+ # The client’s middle name.
161
+ # @return [ProspectStage]
162
+ attr_accessor :prospect_stage
163
+
164
+ # The client’s email address.
165
+ # @return [String]
166
+ attr_accessor :email
167
+
168
+ # The client’s mobile phone number.
169
+ # @return [String]
170
+ attr_accessor :mobile_phone
171
+
172
+ # The client’s home phone number.
173
+ # @return [String]
174
+ attr_accessor :home_phone
175
+
176
+ # The client’s work phone number.
177
+ # @return [String]
178
+ attr_accessor :work_phone
179
+
180
+ # The client’s current [account
181
+ # balance](https://mindbody-online-support.force.com/support/s/article/20326
182
+ # 2013-Adding-account-payments-video-tutorial?language=en_US).
183
+ # @return [Float]
184
+ attr_accessor :account_balance
185
+
186
+ # The first line of the client’s street address.
187
+ # @return [String]
188
+ attr_accessor :address_line1
189
+
190
+ # The second line of the client’s street address, if needed.
191
+ # @return [String]
192
+ attr_accessor :address_line2
193
+
194
+ # The client’s city.
195
+ # @return [String]
196
+ attr_accessor :city
197
+
198
+ # The client’s postal code.
199
+ # @return [String]
200
+ attr_accessor :postal_code
201
+
202
+ # The client’s work phone extension number.
203
+ # @return [String]
204
+ attr_accessor :work_extension
205
+
206
+ # Specifies how the client was referred to the business. You can get a list
207
+ # of possible strings using the `GetClientReferralTypes` endpoint.
208
+ # @return [String]
209
+ attr_accessor :referred_by
210
+
211
+ # The URL of the client’s photo for the client profile.
212
+ # @return [String]
213
+ attr_accessor :photo_url
214
+
215
+ # The name of the client’s emergency contact.
216
+ # @return [String]
217
+ attr_accessor :emergency_contact_info_name
218
+
219
+ # The email address of the client’s emergency contact.
220
+ # @return [String]
221
+ attr_accessor :emergency_contact_info_email
222
+
223
+ # The phone number of the client’s emergency contact.
224
+ # @return [String]
225
+ attr_accessor :emergency_contact_info_phone
226
+
227
+ # The client’s relationship with the emergency contact.
228
+ # @return [String]
229
+ attr_accessor :emergency_contact_info_relationship
230
+
231
+ # The gender of the client.
232
+ # @return [String]
233
+ attr_accessor :gender
234
+
235
+ # The last [formula
236
+ # note](https://support.mindbodyonline.com/s/article/203259903-Appointments-
237
+ # Formula-notes?language=en_US) entered for the client.
238
+ # @return [String]
239
+ attr_accessor :last_formula_notes
240
+
241
+ # When `true`, indicates that the client’s profile is marked as active on
242
+ # the site.<br />
243
+ # When `false`, the client’s profile is inactive.
244
+ # Defaults to `true` based on the assumption that if a client is currently
245
+ # inactive OR is to be marked inactive, this property will explicitly be
246
+ # mapped/set to `false`.
247
+ # @return [TrueClass | FalseClass]
248
+ attr_accessor :active
249
+
250
+ # A list of sales representatives.
251
+ # @return [Array[SalesRep]]
252
+ attr_accessor :sales_reps
253
+
254
+ # The status of the client in the business. Possible values are:
255
+ # * Declined
256
+ # * Non-Member
257
+ # * Active
258
+ # * Expired
259
+ # * Suspended
260
+ # * Terminated
261
+ # @return [String]
262
+ attr_accessor :status
263
+
264
+ # The action taken.
265
+ # @return [Action1Enum]
266
+ attr_accessor :action
267
+
268
+ # When `true`, indicates that the client has opted to receive general
269
+ # account notifications by email. This property is editable.
270
+ # <br />Default: **false**
271
+ # @return [TrueClass | FalseClass]
272
+ attr_accessor :send_account_emails
273
+
274
+ # When `true`, indicates that the client has opted to receive general
275
+ # account notifications by text message. This parameter cannot be updated by
276
+ # developers. If included in a request, it is ignored.
277
+ # @return [TrueClass | FalseClass]
278
+ attr_accessor :send_account_texts
279
+
280
+ # When `true`, indicates that the client has opted to receive promotional
281
+ # notifications by email. This property is editable.
282
+ # <br />Default: **false**
283
+ # @return [TrueClass | FalseClass]
284
+ attr_accessor :send_promotional_emails
285
+
286
+ # When `true`, indicates that the client has opted to receive promotional
287
+ # notifications by text message. This parameter cannot be updated by
288
+ # developers. If included in a request, it is ignored.
289
+ # @return [TrueClass | FalseClass]
290
+ attr_accessor :send_promotional_texts
291
+
292
+ # When `true`, indicates that the client has opted to receive schedule
293
+ # notifications by email. This property is editable.
294
+ # <br />Default: **false**
295
+ # @return [TrueClass | FalseClass]
296
+ attr_accessor :send_schedule_emails
297
+
298
+ # When `true`, indicates that the client has opted to receive schedule
299
+ # notifications by text message. This parameter cannot be updated by
300
+ # developers. If included in a request, it is ignored.
301
+ # @return [TrueClass | FalseClass]
302
+ attr_accessor :send_schedule_texts
303
+
304
+ # When `true`, indicates that the client has opted to receive schedule
305
+ # notifications by text message. This parameter cannot be updated by
306
+ # developers. If included in a request, it is ignored.
307
+ # @return [Location]
308
+ attr_accessor :home_location
309
+
310
+ # The clients locker number.
311
+ # @return [String]
312
+ attr_accessor :locker_number
313
+
314
+ # A mapping from model property names to API property names.
315
+ def self.names
316
+ @_hash = {} if @_hash.nil?
317
+ @_hash['appointment_gender_preference'] = 'AppointmentGenderPreference'
318
+ @_hash['birth_date'] = 'BirthDate'
319
+ @_hash['country'] = 'Country'
320
+ @_hash['creation_date'] = 'CreationDate'
321
+ @_hash['custom_client_fields'] = 'CustomClientFields'
322
+ @_hash['client_credit_card'] = 'ClientCreditCard'
323
+ @_hash['client_indexes'] = 'ClientIndexes'
324
+ @_hash['client_relationships'] = 'ClientRelationships'
325
+ @_hash['first_appointment_date'] = 'FirstAppointmentDate'
326
+ @_hash['first_class_date'] = 'FirstClassDate'
327
+ @_hash['first_name'] = 'FirstName'
328
+ @_hash['id'] = 'Id'
329
+ @_hash['is_company'] = 'IsCompany'
330
+ @_hash['is_prospect'] = 'IsProspect'
331
+ @_hash['last_name'] = 'LastName'
332
+ @_hash['liability'] = 'Liability'
333
+ @_hash['liability_release'] = 'LiabilityRelease'
334
+ @_hash['membership_icon'] = 'MembershipIcon'
335
+ @_hash['mobile_provider'] = 'MobileProvider'
336
+ @_hash['notes'] = 'Notes'
337
+ @_hash['state'] = 'State'
338
+ @_hash['unique_id'] = 'UniqueId'
339
+ @_hash['last_modified_date_time'] = 'LastModifiedDateTime'
340
+ @_hash['red_alert'] = 'RedAlert'
341
+ @_hash['yellow_alert'] = 'YellowAlert'
342
+ @_hash['middle_name'] = 'MiddleName'
343
+ @_hash['prospect_stage'] = 'ProspectStage'
344
+ @_hash['email'] = 'Email'
345
+ @_hash['mobile_phone'] = 'MobilePhone'
346
+ @_hash['home_phone'] = 'HomePhone'
347
+ @_hash['work_phone'] = 'WorkPhone'
348
+ @_hash['account_balance'] = 'AccountBalance'
349
+ @_hash['address_line1'] = 'AddressLine1'
350
+ @_hash['address_line2'] = 'AddressLine2'
351
+ @_hash['city'] = 'City'
352
+ @_hash['postal_code'] = 'PostalCode'
353
+ @_hash['work_extension'] = 'WorkExtension'
354
+ @_hash['referred_by'] = 'ReferredBy'
355
+ @_hash['photo_url'] = 'PhotoUrl'
356
+ @_hash['emergency_contact_info_name'] = 'EmergencyContactInfoName'
357
+ @_hash['emergency_contact_info_email'] = 'EmergencyContactInfoEmail'
358
+ @_hash['emergency_contact_info_phone'] = 'EmergencyContactInfoPhone'
359
+ @_hash['emergency_contact_info_relationship'] =
360
+ 'EmergencyContactInfoRelationship'
361
+ @_hash['gender'] = 'Gender'
362
+ @_hash['last_formula_notes'] = 'LastFormulaNotes'
363
+ @_hash['active'] = 'Active'
364
+ @_hash['sales_reps'] = 'SalesReps'
365
+ @_hash['status'] = 'Status'
366
+ @_hash['action'] = 'Action'
367
+ @_hash['send_account_emails'] = 'SendAccountEmails'
368
+ @_hash['send_account_texts'] = 'SendAccountTexts'
369
+ @_hash['send_promotional_emails'] = 'SendPromotionalEmails'
370
+ @_hash['send_promotional_texts'] = 'SendPromotionalTexts'
371
+ @_hash['send_schedule_emails'] = 'SendScheduleEmails'
372
+ @_hash['send_schedule_texts'] = 'SendScheduleTexts'
373
+ @_hash['home_location'] = 'HomeLocation'
374
+ @_hash['locker_number'] = 'LockerNumber'
375
+ @_hash
376
+ end
377
+
378
+ # An array for optional fields
379
+ def self.optionals
380
+ %w[
381
+ appointment_gender_preference
382
+ birth_date
383
+ country
384
+ creation_date
385
+ custom_client_fields
386
+ client_credit_card
387
+ client_indexes
388
+ client_relationships
389
+ first_appointment_date
390
+ first_class_date
391
+ first_name
392
+ id
393
+ is_company
394
+ is_prospect
395
+ last_name
396
+ liability
397
+ liability_release
398
+ membership_icon
399
+ mobile_provider
400
+ notes
401
+ state
402
+ unique_id
403
+ last_modified_date_time
404
+ red_alert
405
+ yellow_alert
406
+ middle_name
407
+ prospect_stage
408
+ email
409
+ mobile_phone
410
+ home_phone
411
+ work_phone
412
+ account_balance
413
+ address_line1
414
+ address_line2
415
+ city
416
+ postal_code
417
+ work_extension
418
+ referred_by
419
+ photo_url
420
+ emergency_contact_info_name
421
+ emergency_contact_info_email
422
+ emergency_contact_info_phone
423
+ emergency_contact_info_relationship
424
+ gender
425
+ last_formula_notes
426
+ active
427
+ sales_reps
428
+ status
429
+ action
430
+ send_account_emails
431
+ send_account_texts
432
+ send_promotional_emails
433
+ send_promotional_texts
434
+ send_schedule_emails
435
+ send_schedule_texts
436
+ home_location
437
+ locker_number
438
+ ]
439
+ end
440
+
441
+ # An array for nullable fields
442
+ def self.nullables
443
+ []
444
+ end
445
+
446
+ def initialize(appointment_gender_preference = SKIP, birth_date = SKIP,
447
+ country = SKIP, creation_date = SKIP,
448
+ custom_client_fields = SKIP, client_credit_card = SKIP,
449
+ client_indexes = SKIP, client_relationships = SKIP,
450
+ first_appointment_date = SKIP, first_class_date = SKIP,
451
+ first_name = SKIP, id = SKIP, is_company = SKIP,
452
+ is_prospect = SKIP, last_name = SKIP, liability = SKIP,
453
+ liability_release = SKIP, membership_icon = SKIP,
454
+ mobile_provider = SKIP, notes = SKIP, state = SKIP,
455
+ unique_id = SKIP, last_modified_date_time = SKIP,
456
+ red_alert = SKIP, yellow_alert = SKIP, middle_name = SKIP,
457
+ prospect_stage = SKIP, email = SKIP, mobile_phone = SKIP,
458
+ home_phone = SKIP, work_phone = SKIP, account_balance = SKIP,
459
+ address_line1 = SKIP, address_line2 = SKIP, city = SKIP,
460
+ postal_code = SKIP, work_extension = SKIP,
461
+ referred_by = SKIP, photo_url = SKIP,
462
+ emergency_contact_info_name = SKIP,
463
+ emergency_contact_info_email = SKIP,
464
+ emergency_contact_info_phone = SKIP,
465
+ emergency_contact_info_relationship = SKIP, gender = SKIP,
466
+ last_formula_notes = SKIP, active = SKIP, sales_reps = SKIP,
467
+ status = SKIP, action = SKIP, send_account_emails = SKIP,
468
+ send_account_texts = SKIP, send_promotional_emails = SKIP,
469
+ send_promotional_texts = SKIP, send_schedule_emails = SKIP,
470
+ send_schedule_texts = SKIP, home_location = SKIP,
471
+ locker_number = SKIP)
472
+ unless appointment_gender_preference == SKIP
473
+ @appointment_gender_preference =
474
+ appointment_gender_preference
475
+ end
476
+ @birth_date = birth_date unless birth_date == SKIP
477
+ @country = country unless country == SKIP
478
+ @creation_date = creation_date unless creation_date == SKIP
479
+ @custom_client_fields = custom_client_fields unless custom_client_fields == SKIP
480
+ @client_credit_card = client_credit_card unless client_credit_card == SKIP
481
+ @client_indexes = client_indexes unless client_indexes == SKIP
482
+ @client_relationships = client_relationships unless client_relationships == SKIP
483
+ @first_appointment_date = first_appointment_date unless first_appointment_date == SKIP
484
+ @first_class_date = first_class_date unless first_class_date == SKIP
485
+ @first_name = first_name unless first_name == SKIP
486
+ @id = id unless id == SKIP
487
+ @is_company = is_company unless is_company == SKIP
488
+ @is_prospect = is_prospect unless is_prospect == SKIP
489
+ @last_name = last_name unless last_name == SKIP
490
+ @liability = liability unless liability == SKIP
491
+ @liability_release = liability_release unless liability_release == SKIP
492
+ @membership_icon = membership_icon unless membership_icon == SKIP
493
+ @mobile_provider = mobile_provider unless mobile_provider == SKIP
494
+ @notes = notes unless notes == SKIP
495
+ @state = state unless state == SKIP
496
+ @unique_id = unique_id unless unique_id == SKIP
497
+ @last_modified_date_time = last_modified_date_time unless last_modified_date_time == SKIP
498
+ @red_alert = red_alert unless red_alert == SKIP
499
+ @yellow_alert = yellow_alert unless yellow_alert == SKIP
500
+ @middle_name = middle_name unless middle_name == SKIP
501
+ @prospect_stage = prospect_stage unless prospect_stage == SKIP
502
+ @email = email unless email == SKIP
503
+ @mobile_phone = mobile_phone unless mobile_phone == SKIP
504
+ @home_phone = home_phone unless home_phone == SKIP
505
+ @work_phone = work_phone unless work_phone == SKIP
506
+ @account_balance = account_balance unless account_balance == SKIP
507
+ @address_line1 = address_line1 unless address_line1 == SKIP
508
+ @address_line2 = address_line2 unless address_line2 == SKIP
509
+ @city = city unless city == SKIP
510
+ @postal_code = postal_code unless postal_code == SKIP
511
+ @work_extension = work_extension unless work_extension == SKIP
512
+ @referred_by = referred_by unless referred_by == SKIP
513
+ @photo_url = photo_url unless photo_url == SKIP
514
+ unless emergency_contact_info_name == SKIP
515
+ @emergency_contact_info_name =
516
+ emergency_contact_info_name
517
+ end
518
+ unless emergency_contact_info_email == SKIP
519
+ @emergency_contact_info_email =
520
+ emergency_contact_info_email
521
+ end
522
+ unless emergency_contact_info_phone == SKIP
523
+ @emergency_contact_info_phone =
524
+ emergency_contact_info_phone
525
+ end
526
+ unless emergency_contact_info_relationship == SKIP
527
+ @emergency_contact_info_relationship =
528
+ emergency_contact_info_relationship
529
+ end
530
+ @gender = gender unless gender == SKIP
531
+ @last_formula_notes = last_formula_notes unless last_formula_notes == SKIP
532
+ @active = active unless active == SKIP
533
+ @sales_reps = sales_reps unless sales_reps == SKIP
534
+ @status = status unless status == SKIP
535
+ @action = action unless action == SKIP
536
+ @send_account_emails = send_account_emails unless send_account_emails == SKIP
537
+ @send_account_texts = send_account_texts unless send_account_texts == SKIP
538
+ @send_promotional_emails = send_promotional_emails unless send_promotional_emails == SKIP
539
+ @send_promotional_texts = send_promotional_texts unless send_promotional_texts == SKIP
540
+ @send_schedule_emails = send_schedule_emails unless send_schedule_emails == SKIP
541
+ @send_schedule_texts = send_schedule_texts unless send_schedule_texts == SKIP
542
+ @home_location = home_location unless home_location == SKIP
543
+ @locker_number = locker_number unless locker_number == SKIP
544
+ end
545
+
546
+ # Creates an instance of the object from a hash.
547
+ def self.from_hash(hash)
548
+ return nil unless hash
549
+
550
+ # Extract variables from the hash.
551
+ appointment_gender_preference =
552
+ hash.key?('AppointmentGenderPreference') ? hash['AppointmentGenderPreference'] : SKIP
553
+ birth_date = if hash.key?('BirthDate')
554
+ (DateTimeHelper.from_rfc3339(hash['BirthDate']) if hash['BirthDate'])
555
+ else
556
+ SKIP
557
+ end
558
+ country = hash.key?('Country') ? hash['Country'] : SKIP
559
+ creation_date = if hash.key?('CreationDate')
560
+ (DateTimeHelper.from_rfc3339(hash['CreationDate']) if hash['CreationDate'])
561
+ else
562
+ SKIP
563
+ end
564
+ # Parameter is an array, so we need to iterate through it
565
+ custom_client_fields = nil
566
+ unless hash['CustomClientFields'].nil?
567
+ custom_client_fields = []
568
+ hash['CustomClientFields'].each do |structure|
569
+ custom_client_fields << (CustomClientFieldValue.from_hash(structure) if structure)
570
+ end
571
+ end
572
+
573
+ custom_client_fields = SKIP unless hash.key?('CustomClientFields')
574
+ client_credit_card = ClientCreditCard.from_hash(hash['ClientCreditCard']) if
575
+ hash['ClientCreditCard']
576
+ # Parameter is an array, so we need to iterate through it
577
+ client_indexes = nil
578
+ unless hash['ClientIndexes'].nil?
579
+ client_indexes = []
580
+ hash['ClientIndexes'].each do |structure|
581
+ client_indexes << (AssignedClientIndex.from_hash(structure) if structure)
582
+ end
583
+ end
584
+
585
+ client_indexes = SKIP unless hash.key?('ClientIndexes')
586
+ # Parameter is an array, so we need to iterate through it
587
+ client_relationships = nil
588
+ unless hash['ClientRelationships'].nil?
589
+ client_relationships = []
590
+ hash['ClientRelationships'].each do |structure|
591
+ client_relationships << (ClientRelationship.from_hash(structure) if structure)
592
+ end
593
+ end
594
+
595
+ client_relationships = SKIP unless hash.key?('ClientRelationships')
596
+ first_appointment_date = if hash.key?('FirstAppointmentDate')
597
+ (DateTimeHelper.from_rfc3339(hash['FirstAppointmentDate']) if hash['FirstAppointmentDate'])
598
+ else
599
+ SKIP
600
+ end
601
+ first_class_date = if hash.key?('FirstClassDate')
602
+ (DateTimeHelper.from_rfc3339(hash['FirstClassDate']) if hash['FirstClassDate'])
603
+ else
604
+ SKIP
605
+ end
606
+ first_name = hash.key?('FirstName') ? hash['FirstName'] : SKIP
607
+ id = hash.key?('Id') ? hash['Id'] : SKIP
608
+ is_company = hash.key?('IsCompany') ? hash['IsCompany'] : SKIP
609
+ is_prospect = hash.key?('IsProspect') ? hash['IsProspect'] : SKIP
610
+ last_name = hash.key?('LastName') ? hash['LastName'] : SKIP
611
+ liability = Liability.from_hash(hash['Liability']) if hash['Liability']
612
+ liability_release =
613
+ hash.key?('LiabilityRelease') ? hash['LiabilityRelease'] : SKIP
614
+ membership_icon =
615
+ hash.key?('MembershipIcon') ? hash['MembershipIcon'] : SKIP
616
+ mobile_provider =
617
+ hash.key?('MobileProvider') ? hash['MobileProvider'] : SKIP
618
+ notes = hash.key?('Notes') ? hash['Notes'] : SKIP
619
+ state = hash.key?('State') ? hash['State'] : SKIP
620
+ unique_id = hash.key?('UniqueId') ? hash['UniqueId'] : SKIP
621
+ last_modified_date_time = if hash.key?('LastModifiedDateTime')
622
+ (DateTimeHelper.from_rfc3339(hash['LastModifiedDateTime']) if hash['LastModifiedDateTime'])
623
+ else
624
+ SKIP
625
+ end
626
+ red_alert = hash.key?('RedAlert') ? hash['RedAlert'] : SKIP
627
+ yellow_alert = hash.key?('YellowAlert') ? hash['YellowAlert'] : SKIP
628
+ middle_name = hash.key?('MiddleName') ? hash['MiddleName'] : SKIP
629
+ prospect_stage = ProspectStage.from_hash(hash['ProspectStage']) if hash['ProspectStage']
630
+ email = hash.key?('Email') ? hash['Email'] : SKIP
631
+ mobile_phone = hash.key?('MobilePhone') ? hash['MobilePhone'] : SKIP
632
+ home_phone = hash.key?('HomePhone') ? hash['HomePhone'] : SKIP
633
+ work_phone = hash.key?('WorkPhone') ? hash['WorkPhone'] : SKIP
634
+ account_balance =
635
+ hash.key?('AccountBalance') ? hash['AccountBalance'] : SKIP
636
+ address_line1 = hash.key?('AddressLine1') ? hash['AddressLine1'] : SKIP
637
+ address_line2 = hash.key?('AddressLine2') ? hash['AddressLine2'] : SKIP
638
+ city = hash.key?('City') ? hash['City'] : SKIP
639
+ postal_code = hash.key?('PostalCode') ? hash['PostalCode'] : SKIP
640
+ work_extension = hash.key?('WorkExtension') ? hash['WorkExtension'] : SKIP
641
+ referred_by = hash.key?('ReferredBy') ? hash['ReferredBy'] : SKIP
642
+ photo_url = hash.key?('PhotoUrl') ? hash['PhotoUrl'] : SKIP
643
+ emergency_contact_info_name =
644
+ hash.key?('EmergencyContactInfoName') ? hash['EmergencyContactInfoName'] : SKIP
645
+ emergency_contact_info_email =
646
+ hash.key?('EmergencyContactInfoEmail') ? hash['EmergencyContactInfoEmail'] : SKIP
647
+ emergency_contact_info_phone =
648
+ hash.key?('EmergencyContactInfoPhone') ? hash['EmergencyContactInfoPhone'] : SKIP
649
+ emergency_contact_info_relationship =
650
+ hash.key?('EmergencyContactInfoRelationship') ? hash['EmergencyContactInfoRelationship'] : SKIP
651
+ gender = hash.key?('Gender') ? hash['Gender'] : SKIP
652
+ last_formula_notes =
653
+ hash.key?('LastFormulaNotes') ? hash['LastFormulaNotes'] : SKIP
654
+ active = hash.key?('Active') ? hash['Active'] : SKIP
655
+ # Parameter is an array, so we need to iterate through it
656
+ sales_reps = nil
657
+ unless hash['SalesReps'].nil?
658
+ sales_reps = []
659
+ hash['SalesReps'].each do |structure|
660
+ sales_reps << (SalesRep.from_hash(structure) if structure)
661
+ end
662
+ end
663
+
664
+ sales_reps = SKIP unless hash.key?('SalesReps')
665
+ status = hash.key?('Status') ? hash['Status'] : SKIP
666
+ action = hash.key?('Action') ? hash['Action'] : SKIP
667
+ send_account_emails =
668
+ hash.key?('SendAccountEmails') ? hash['SendAccountEmails'] : SKIP
669
+ send_account_texts =
670
+ hash.key?('SendAccountTexts') ? hash['SendAccountTexts'] : SKIP
671
+ send_promotional_emails =
672
+ hash.key?('SendPromotionalEmails') ? hash['SendPromotionalEmails'] : SKIP
673
+ send_promotional_texts =
674
+ hash.key?('SendPromotionalTexts') ? hash['SendPromotionalTexts'] : SKIP
675
+ send_schedule_emails =
676
+ hash.key?('SendScheduleEmails') ? hash['SendScheduleEmails'] : SKIP
677
+ send_schedule_texts =
678
+ hash.key?('SendScheduleTexts') ? hash['SendScheduleTexts'] : SKIP
679
+ home_location = Location.from_hash(hash['HomeLocation']) if hash['HomeLocation']
680
+ locker_number = hash.key?('LockerNumber') ? hash['LockerNumber'] : SKIP
681
+
682
+ # Create object from extracted values.
683
+ Client.new(appointment_gender_preference,
684
+ birth_date,
685
+ country,
686
+ creation_date,
687
+ custom_client_fields,
688
+ client_credit_card,
689
+ client_indexes,
690
+ client_relationships,
691
+ first_appointment_date,
692
+ first_class_date,
693
+ first_name,
694
+ id,
695
+ is_company,
696
+ is_prospect,
697
+ last_name,
698
+ liability,
699
+ liability_release,
700
+ membership_icon,
701
+ mobile_provider,
702
+ notes,
703
+ state,
704
+ unique_id,
705
+ last_modified_date_time,
706
+ red_alert,
707
+ yellow_alert,
708
+ middle_name,
709
+ prospect_stage,
710
+ email,
711
+ mobile_phone,
712
+ home_phone,
713
+ work_phone,
714
+ account_balance,
715
+ address_line1,
716
+ address_line2,
717
+ city,
718
+ postal_code,
719
+ work_extension,
720
+ referred_by,
721
+ photo_url,
722
+ emergency_contact_info_name,
723
+ emergency_contact_info_email,
724
+ emergency_contact_info_phone,
725
+ emergency_contact_info_relationship,
726
+ gender,
727
+ last_formula_notes,
728
+ active,
729
+ sales_reps,
730
+ status,
731
+ action,
732
+ send_account_emails,
733
+ send_account_texts,
734
+ send_promotional_emails,
735
+ send_promotional_texts,
736
+ send_schedule_emails,
737
+ send_schedule_texts,
738
+ home_location,
739
+ locker_number)
740
+ end
741
+
742
+ def to_custom_birth_date
743
+ DateTimeHelper.to_rfc3339(birth_date)
744
+ end
745
+
746
+ def to_custom_creation_date
747
+ DateTimeHelper.to_rfc3339(creation_date)
748
+ end
749
+
750
+ def to_custom_first_appointment_date
751
+ DateTimeHelper.to_rfc3339(first_appointment_date)
752
+ end
753
+
754
+ def to_custom_first_class_date
755
+ DateTimeHelper.to_rfc3339(first_class_date)
756
+ end
757
+
758
+ def to_custom_last_modified_date_time
759
+ DateTimeHelper.to_rfc3339(last_modified_date_time)
760
+ end
761
+
762
+ # Provides a human-readable string representation of the object.
763
+ def to_s
764
+ class_name = self.class.name.split('::').last
765
+ "<#{class_name} appointment_gender_preference: #{@appointment_gender_preference},"\
766
+ " birth_date: #{@birth_date}, country: #{@country}, creation_date: #{@creation_date},"\
767
+ " custom_client_fields: #{@custom_client_fields}, client_credit_card:"\
768
+ " #{@client_credit_card}, client_indexes: #{@client_indexes}, client_relationships:"\
769
+ " #{@client_relationships}, first_appointment_date: #{@first_appointment_date},"\
770
+ " first_class_date: #{@first_class_date}, first_name: #{@first_name}, id: #{@id},"\
771
+ " is_company: #{@is_company}, is_prospect: #{@is_prospect}, last_name: #{@last_name},"\
772
+ " liability: #{@liability}, liability_release: #{@liability_release}, membership_icon:"\
773
+ " #{@membership_icon}, mobile_provider: #{@mobile_provider}, notes: #{@notes}, state:"\
774
+ " #{@state}, unique_id: #{@unique_id}, last_modified_date_time: #{@last_modified_date_time},"\
775
+ " red_alert: #{@red_alert}, yellow_alert: #{@yellow_alert}, middle_name: #{@middle_name},"\
776
+ " prospect_stage: #{@prospect_stage}, email: #{@email}, mobile_phone: #{@mobile_phone},"\
777
+ " home_phone: #{@home_phone}, work_phone: #{@work_phone}, account_balance:"\
778
+ " #{@account_balance}, address_line1: #{@address_line1}, address_line2: #{@address_line2},"\
779
+ " city: #{@city}, postal_code: #{@postal_code}, work_extension: #{@work_extension},"\
780
+ " referred_by: #{@referred_by}, photo_url: #{@photo_url}, emergency_contact_info_name:"\
781
+ " #{@emergency_contact_info_name}, emergency_contact_info_email:"\
782
+ " #{@emergency_contact_info_email}, emergency_contact_info_phone:"\
783
+ " #{@emergency_contact_info_phone}, emergency_contact_info_relationship:"\
784
+ " #{@emergency_contact_info_relationship}, gender: #{@gender}, last_formula_notes:"\
785
+ " #{@last_formula_notes}, active: #{@active}, sales_reps: #{@sales_reps}, status:"\
786
+ " #{@status}, action: #{@action}, send_account_emails: #{@send_account_emails},"\
787
+ " send_account_texts: #{@send_account_texts}, send_promotional_emails:"\
788
+ " #{@send_promotional_emails}, send_promotional_texts: #{@send_promotional_texts},"\
789
+ " send_schedule_emails: #{@send_schedule_emails}, send_schedule_texts:"\
790
+ " #{@send_schedule_texts}, home_location: #{@home_location}, locker_number:"\
791
+ " #{@locker_number}>"
792
+ end
793
+
794
+ # Provides a debugging-friendly string with detailed object information.
795
+ def inspect
796
+ class_name = self.class.name.split('::').last
797
+ "<#{class_name} appointment_gender_preference: #{@appointment_gender_preference.inspect},"\
798
+ " birth_date: #{@birth_date.inspect}, country: #{@country.inspect}, creation_date:"\
799
+ " #{@creation_date.inspect}, custom_client_fields: #{@custom_client_fields.inspect},"\
800
+ " client_credit_card: #{@client_credit_card.inspect}, client_indexes:"\
801
+ " #{@client_indexes.inspect}, client_relationships: #{@client_relationships.inspect},"\
802
+ " first_appointment_date: #{@first_appointment_date.inspect}, first_class_date:"\
803
+ " #{@first_class_date.inspect}, first_name: #{@first_name.inspect}, id: #{@id.inspect},"\
804
+ " is_company: #{@is_company.inspect}, is_prospect: #{@is_prospect.inspect}, last_name:"\
805
+ " #{@last_name.inspect}, liability: #{@liability.inspect}, liability_release:"\
806
+ " #{@liability_release.inspect}, membership_icon: #{@membership_icon.inspect},"\
807
+ " mobile_provider: #{@mobile_provider.inspect}, notes: #{@notes.inspect}, state:"\
808
+ " #{@state.inspect}, unique_id: #{@unique_id.inspect}, last_modified_date_time:"\
809
+ " #{@last_modified_date_time.inspect}, red_alert: #{@red_alert.inspect}, yellow_alert:"\
810
+ " #{@yellow_alert.inspect}, middle_name: #{@middle_name.inspect}, prospect_stage:"\
811
+ " #{@prospect_stage.inspect}, email: #{@email.inspect}, mobile_phone:"\
812
+ " #{@mobile_phone.inspect}, home_phone: #{@home_phone.inspect}, work_phone:"\
813
+ " #{@work_phone.inspect}, account_balance: #{@account_balance.inspect}, address_line1:"\
814
+ " #{@address_line1.inspect}, address_line2: #{@address_line2.inspect}, city:"\
815
+ " #{@city.inspect}, postal_code: #{@postal_code.inspect}, work_extension:"\
816
+ " #{@work_extension.inspect}, referred_by: #{@referred_by.inspect}, photo_url:"\
817
+ " #{@photo_url.inspect}, emergency_contact_info_name:"\
818
+ " #{@emergency_contact_info_name.inspect}, emergency_contact_info_email:"\
819
+ " #{@emergency_contact_info_email.inspect}, emergency_contact_info_phone:"\
820
+ " #{@emergency_contact_info_phone.inspect}, emergency_contact_info_relationship:"\
821
+ " #{@emergency_contact_info_relationship.inspect}, gender: #{@gender.inspect},"\
822
+ " last_formula_notes: #{@last_formula_notes.inspect}, active: #{@active.inspect},"\
823
+ " sales_reps: #{@sales_reps.inspect}, status: #{@status.inspect}, action:"\
824
+ " #{@action.inspect}, send_account_emails: #{@send_account_emails.inspect},"\
825
+ " send_account_texts: #{@send_account_texts.inspect}, send_promotional_emails:"\
826
+ " #{@send_promotional_emails.inspect}, send_promotional_texts:"\
827
+ " #{@send_promotional_texts.inspect}, send_schedule_emails:"\
828
+ " #{@send_schedule_emails.inspect}, send_schedule_texts: #{@send_schedule_texts.inspect},"\
829
+ " home_location: #{@home_location.inspect}, locker_number: #{@locker_number.inspect}>"
830
+ end
831
+ end
832
+ end