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