fern_gusto 0.0.6.pre.alpha6

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 (515) hide show
  1. checksums.yaml +7 -0
  2. data/lib/base_gusto.rb +175 -0
  3. data/lib/core/file_utilities.rb +27 -0
  4. data/lib/environment.rb +9 -0
  5. data/lib/fern_gusto/ach_transactions/client.rb +119 -0
  6. data/lib/fern_gusto/admins/types/admin.rb +82 -0
  7. data/lib/fern_gusto/companies/attachments/client.rb +335 -0
  8. data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
  9. data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
  10. data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
  11. data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
  12. data/lib/fern_gusto/companies/benefits/client.rb +862 -0
  13. data/lib/fern_gusto/companies/client.rb +1104 -0
  14. data/lib/fern_gusto/companies/departments/client.rb +587 -0
  15. data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
  16. data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
  17. data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
  18. data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
  19. data/lib/fern_gusto/companies/employees/client.rb +376 -0
  20. data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
  21. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
  22. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
  23. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
  24. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
  25. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
  26. data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
  27. data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
  28. data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
  29. data/lib/fern_gusto/companies/forms/client.rb +345 -0
  30. data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
  31. data/lib/fern_gusto/companies/locations/client.rb +417 -0
  32. data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
  33. data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
  34. data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
  35. data/lib/fern_gusto/companies/signatories/client.rb +513 -0
  36. data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
  37. data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
  38. data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
  39. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
  40. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
  41. data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
  42. data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
  43. data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
  44. data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
  45. data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
  46. data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
  47. data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
  48. data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
  49. data/lib/fern_gusto/companies/types/company.rb +223 -0
  50. data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
  51. data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
  52. data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
  53. data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
  54. data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
  55. data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
  56. data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
  57. data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
  58. data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
  59. data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
  60. data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
  61. data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
  62. data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
  63. data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
  64. data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
  65. data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
  66. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
  67. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
  68. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
  69. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
  70. data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
  71. data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
  72. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
  73. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
  74. data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
  75. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
  76. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
  77. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
  78. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
  79. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
  80. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
  81. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
  82. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
  83. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
  84. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
  85. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
  86. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
  87. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
  88. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
  89. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
  90. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
  91. data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
  92. data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
  93. data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
  94. data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
  95. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
  96. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
  97. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
  98. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
  99. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
  100. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
  101. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
  102. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
  103. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
  104. data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
  105. data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
  106. data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
  107. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
  108. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
  109. data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
  110. data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
  111. data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
  112. data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
  113. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
  114. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
  115. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
  116. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
  117. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
  118. data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
  119. data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
  120. data/lib/fern_gusto/contractors/client.rb +1025 -0
  121. data/lib/fern_gusto/contractors/documents/client.rb +269 -0
  122. data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
  123. data/lib/fern_gusto/contractors/forms/client.rb +343 -0
  124. data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
  125. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
  126. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
  127. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
  128. data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
  129. data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
  130. data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
  131. data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
  132. data/lib/fern_gusto/contractors/payments/client.rb +558 -0
  133. data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
  134. data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
  135. data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
  136. data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
  137. data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
  138. data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
  139. data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
  140. data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
  141. data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
  142. data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
  143. data/lib/fern_gusto/documents/types/document.rb +167 -0
  144. data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
  145. data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
  146. data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
  147. data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
  148. data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
  149. data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
  150. data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
  151. data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
  152. data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
  153. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
  154. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
  155. data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
  156. data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
  157. data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
  158. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
  159. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
  160. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
  161. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
  162. data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
  163. data/lib/fern_gusto/employees/adresses/client.rb +885 -0
  164. data/lib/fern_gusto/employees/benefits/client.rb +656 -0
  165. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
  166. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
  167. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
  168. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
  169. data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
  170. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
  171. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
  172. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
  173. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
  174. data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
  175. data/lib/fern_gusto/employees/client.rb +822 -0
  176. data/lib/fern_gusto/employees/employments/client.rb +799 -0
  177. data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
  178. data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
  179. data/lib/fern_gusto/employees/forms/client.rb +433 -0
  180. data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
  181. data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
  182. data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
  183. data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
  184. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
  185. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
  186. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
  187. data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
  188. data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
  189. data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
  190. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
  191. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
  192. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
  193. data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
  194. data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
  195. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
  196. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
  197. data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
  198. data/lib/fern_gusto/employees/types/employee.rb +281 -0
  199. data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
  200. data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
  201. data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
  202. data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
  203. data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
  204. data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
  205. data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
  206. data/lib/fern_gusto/events/client.rb +144 -0
  207. data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
  208. data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
  209. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
  210. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
  211. data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
  212. data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
  213. data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
  214. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
  215. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
  216. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
  217. data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
  218. data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
  219. data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
  220. data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
  221. data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
  222. data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
  223. data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
  224. data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
  225. data/lib/fern_gusto/flows/client.rb +113 -0
  226. data/lib/fern_gusto/flows/types/flow.rb +66 -0
  227. data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
  228. data/lib/fern_gusto/forms/types/form.rb +123 -0
  229. data/lib/fern_gusto/forms/types/form1099.rb +126 -0
  230. data/lib/fern_gusto/generated_documents/client.rb +106 -0
  231. data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
  232. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
  233. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
  234. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
  235. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
  236. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
  237. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
  238. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
  239. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
  240. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
  241. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
  242. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
  243. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
  244. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
  245. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
  246. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
  247. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
  248. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
  249. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
  250. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
  251. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
  252. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
  253. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
  254. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
  255. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
  256. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
  257. data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
  258. data/lib/fern_gusto/industry/types/industry.rb +87 -0
  259. data/lib/fern_gusto/invoices/client.rb +132 -0
  260. data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
  261. data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
  262. data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
  263. data/lib/fern_gusto/locations/types/company_address.rb +103 -0
  264. data/lib/fern_gusto/locations/types/location.rb +171 -0
  265. data/lib/fern_gusto/notifications/client.rb +120 -0
  266. data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
  267. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
  268. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
  269. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
  270. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
  271. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
  272. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
  273. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
  274. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
  275. data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
  276. data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
  277. data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
  278. data/lib/fern_gusto/payroll/client.rb +1644 -0
  279. data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
  280. data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
  281. data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
  282. data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
  283. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
  284. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
  285. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
  286. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
  287. data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
  288. data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
  289. data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
  290. data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
  291. data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
  292. data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
  293. data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
  294. data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
  295. data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
  296. data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
  297. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
  298. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
  299. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
  300. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
  301. data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
  302. data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
  303. data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
  304. data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
  305. data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
  306. data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
  307. data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
  308. data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
  309. data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
  310. data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
  311. data/lib/fern_gusto/recovery_cases/client.rb +198 -0
  312. data/lib/fern_gusto/reports/client.rb +306 -0
  313. data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
  314. data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
  315. data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
  316. data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
  317. data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
  318. data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
  319. data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
  320. data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
  321. data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
  322. data/lib/fern_gusto/terminations/types/termination.rb +109 -0
  323. data/lib/fern_gusto/time_off_policies/client.rb +863 -0
  324. data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
  325. data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
  326. data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
  327. data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
  328. data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
  329. data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
  330. data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
  331. data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
  332. data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
  333. data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
  334. data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
  335. data/lib/fern_gusto/token/client.rb +270 -0
  336. data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
  337. data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
  338. data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
  339. data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
  340. data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
  341. data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
  342. data/lib/fern_gusto/types/ach_transaction.rb +162 -0
  343. data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
  344. data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
  345. data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
  346. data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
  347. data/lib/fern_gusto/types/address.rb +111 -0
  348. data/lib/fern_gusto/types/authentication.rb +96 -0
  349. data/lib/fern_gusto/types/child_support_data.rb +58 -0
  350. data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
  351. data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
  352. data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
  353. data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
  354. data/lib/fern_gusto/types/company_benefit.rb +135 -0
  355. data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
  356. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
  357. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
  358. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
  359. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
  360. data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
  361. data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
  362. data/lib/fern_gusto/types/contractor_body.rb +200 -0
  363. data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
  364. data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
  365. data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
  366. data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
  367. data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
  368. data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
  369. data/lib/fern_gusto/types/create_report.rb +77 -0
  370. data/lib/fern_gusto/types/department.rb +103 -0
  371. data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
  372. data/lib/fern_gusto/types/department_employees_item.rb +53 -0
  373. data/lib/fern_gusto/types/document_pdf.rb +63 -0
  374. data/lib/fern_gusto/types/employee_address.rb +139 -0
  375. data/lib/fern_gusto/types/employee_benefit.rb +220 -0
  376. data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
  377. data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
  378. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
  379. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
  380. data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
  381. data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
  382. data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
  383. data/lib/fern_gusto/types/employee_work_address.rb +137 -0
  384. data/lib/fern_gusto/types/entity_error_object.rb +102 -0
  385. data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
  386. data/lib/fern_gusto/types/event.rb +99 -0
  387. data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
  388. data/lib/fern_gusto/types/form_pdf.rb +63 -0
  389. data/lib/fern_gusto/types/garnishment.rb +172 -0
  390. data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
  391. data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
  392. data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
  393. data/lib/fern_gusto/types/generated_document.rb +70 -0
  394. data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
  395. data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
  396. data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
  397. data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
  398. data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
  399. data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
  400. data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
  401. data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
  402. data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
  403. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
  404. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
  405. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
  406. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
  407. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
  408. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
  409. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
  410. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
  411. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
  412. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
  413. data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
  414. data/lib/fern_gusto/types/invoice_data.rb +58 -0
  415. data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
  416. data/lib/fern_gusto/types/minimum_wage.rb +96 -0
  417. data/lib/fern_gusto/types/notification.rb +125 -0
  418. data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
  419. data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
  420. data/lib/fern_gusto/types/paid_holidays.rb +61 -0
  421. data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
  422. data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
  423. data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
  424. data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
  425. data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
  426. data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
  427. data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
  428. data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
  429. data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
  430. data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
  431. data/lib/fern_gusto/types/payroll_check.rb +84 -0
  432. data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
  433. data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
  434. data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
  435. data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
  436. data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
  437. data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
  438. data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
  439. data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
  440. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
  441. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
  442. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
  443. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
  444. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
  445. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
  446. data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
  447. data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
  448. data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
  449. data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
  450. data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
  451. data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
  452. data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
  453. data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
  454. data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
  455. data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
  456. data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
  457. data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
  458. data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
  459. data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
  460. data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
  461. data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
  462. data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
  463. data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
  464. data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
  465. data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
  466. data/lib/fern_gusto/types/recovery_case.rb +131 -0
  467. data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
  468. data/lib/fern_gusto/types/rehire.rb +116 -0
  469. data/lib/fern_gusto/types/rehire_body.rb +91 -0
  470. data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
  471. data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
  472. data/lib/fern_gusto/types/report.rb +72 -0
  473. data/lib/fern_gusto/types/report_template.rb +77 -0
  474. data/lib/fern_gusto/types/supported_benefit.rb +122 -0
  475. data/lib/fern_gusto/types/tax_requirement.rb +111 -0
  476. data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
  477. data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
  478. data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
  479. data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
  480. data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
  481. data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
  482. data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
  483. data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
  484. data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
  485. data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
  486. data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
  487. data/lib/fern_gusto/types/time_off_activity.rb +107 -0
  488. data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
  489. data/lib/fern_gusto/types/time_off_policy.rb +183 -0
  490. data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
  491. data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
  492. data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
  493. data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
  494. data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
  495. data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
  496. data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
  497. data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
  498. data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
  499. data/lib/fern_gusto/types/versionable.rb +57 -0
  500. data/lib/fern_gusto/types/versionable_required.rb +55 -0
  501. data/lib/fern_gusto/types/wire_in_request.rb +170 -0
  502. data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
  503. data/lib/fern_gusto/webhooks/client.rb +627 -0
  504. data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
  505. data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
  506. data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
  507. data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
  508. data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
  509. data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
  510. data/lib/fern_gusto.rb +310 -0
  511. data/lib/gemconfig.rb +13 -0
  512. data/lib/gusto_legacy.rb +19 -0
  513. data/lib/requests.rb +206 -0
  514. data/lib/types_export.rb +461 -0
  515. metadata +671 -0
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+ require_relative "tax_setup_update_state_taxes_request_states_item_questions_item_answers_item"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module Employees
8
+ module TaxSetup
9
+ class TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem
10
+ # @return [String]
11
+ attr_reader :key
12
+ # @return [Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem>]
13
+ attr_reader :answers
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param key [String]
23
+ # @param answers [Array<Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem>]
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem]
26
+ def initialize(key:, answers: OMIT, additional_properties: nil)
27
+ @key = key
28
+ @answers = answers if answers != OMIT
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "key": key, "answers": answers }.reject do | _k, v |
31
+ v == OMIT
32
+ end
33
+ end
34
+ # Deserialize a JSON object to an instance of
35
+ # TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ key = parsed_json["key"]
43
+ answers = parsed_json["answers"]&.map do | item |
44
+ item = item.to_json
45
+ Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem.from_json(json_object: item)
46
+ end
47
+ new(
48
+ key: key,
49
+ answers: answers,
50
+ additional_properties: struct
51
+ )
52
+ end
53
+ # Serialize an instance of TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItem
54
+ # to a JSON object
55
+ #
56
+ # @return [String]
57
+ def to_json
58
+ @_field_set&.to_json
59
+ end
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
68
+ obj.answers&.is_a?(Array) != false || raise("Passed value for field obj.answers is not the expected type, validation failed.")
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module Employees
7
+ module TaxSetup
8
+ class TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem
9
+ # @return [String]
10
+ attr_reader :value
11
+ # @return [String]
12
+ attr_reader :valid_from
13
+ # @return [Object]
14
+ attr_reader :valid_up_to
15
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
16
+ attr_reader :additional_properties
17
+ # @return [Object]
18
+ attr_reader :_field_set
19
+ protected :_field_set
20
+
21
+ OMIT = Object.new
22
+
23
+ # @param value [String]
24
+ # @param valid_from [String]
25
+ # @param valid_up_to [Object]
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem]
28
+ def initialize(value:, valid_from:, valid_up_to: OMIT, additional_properties: nil)
29
+ @value = value
30
+ @valid_from = valid_from
31
+ @valid_up_to = valid_up_to if valid_up_to != OMIT
32
+ @additional_properties = additional_properties
33
+ @_field_set = { "value": value, "valid_from": valid_from, "valid_up_to": valid_up_to }.reject do | _k, v |
34
+ v == OMIT
35
+ end
36
+ end
37
+ # Deserialize a JSON object to an instance of
38
+ # TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem
39
+ #
40
+ # @param json_object [String]
41
+ # @return [Gusto::Employees::TaxSetup::TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem]
42
+ def self.from_json(json_object:)
43
+ struct = JSON.parse(json_object, object_class: OpenStruct)
44
+ parsed_json = JSON.parse(json_object)
45
+ value = parsed_json["value"]
46
+ valid_from = parsed_json["valid_from"]
47
+ valid_up_to = parsed_json["valid_up_to"]
48
+ new(
49
+ value: value,
50
+ valid_from: valid_from,
51
+ valid_up_to: valid_up_to,
52
+ additional_properties: struct
53
+ )
54
+ end
55
+ # Serialize an instance of
56
+ # TaxSetupUpdateStateTaxesRequestStatesItemQuestionsItemAnswersItem to a JSON
57
+ # object
58
+ #
59
+ # @return [String]
60
+ def to_json
61
+ @_field_set&.to_json
62
+ end
63
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
64
+ # hash and check each fields type against the current object's property
65
+ # definitions.
66
+ #
67
+ # @param obj [Object]
68
+ # @return [Void]
69
+ def self.validate_raw(obj:)
70
+ obj.value.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
71
+ obj.valid_from.is_a?(String) != false || raise("Passed value for field obj.valid_from is not the expected type, validation failed.")
72
+ obj.valid_up_to&.is_a?(Object) != false || raise("Passed value for field obj.valid_up_to is not the expected type, validation failed.")
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,281 @@
1
+ # frozen_string_literal: true
2
+ require_relative "employee_onboarding_status"
3
+ require_relative "../../jobs_and_compensations/types/job"
4
+ require_relative "../../payrolls/types/paid_time_off"
5
+ require_relative "../../terminations/types/termination"
6
+ require_relative "../../types/garnishment"
7
+ require_relative "../../custom_fields/types/employee_custom_field"
8
+ require_relative "employee_payment_method"
9
+ require_relative "employee_current_employment_status"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module Gusto
14
+ module Employees
15
+ # The representation of an employee in Gusto.
16
+ class Employee
17
+ # @return [String] The UUID of the employee in Gusto.
18
+ attr_reader :uuid
19
+ # @return [String]
20
+ attr_reader :first_name
21
+ # @return [String]
22
+ attr_reader :middle_initial
23
+ # @return [String]
24
+ attr_reader :last_name
25
+ # @return [String] The personal email address of the employee. This is provided to support syncing
26
+ # users between our system and yours. You may not use this email address for any
27
+ # other purpose (e.g. marketing).
28
+ attr_reader :email
29
+ # @return [String] The UUID of the company the employee is employed by.
30
+ attr_reader :company_uuid
31
+ # @return [String] The UUID of the employee's manager.
32
+ attr_reader :manager_uuid
33
+ # @return [String] The current version of the employee. See the [versioning
34
+ # guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
35
+ # on how to use this field.
36
+ attr_reader :version
37
+ # @return [String] The employee's department in the company.
38
+ attr_reader :department
39
+ # @return [Boolean] Whether the employee is terminated.
40
+ attr_reader :terminated
41
+ # @return [Boolean] Whether the employee is a two percent shareholder of the company. This field
42
+ # only applies to companies with an S-Corp entity type.
43
+ attr_reader :two_percent_shareholder
44
+ # @return [Boolean] Whether the employee has completed onboarding.
45
+ attr_reader :onboarded
46
+ # @return [Gusto::Employees::EmployeeOnboardingStatus] The current onboarding status of the employee
47
+ attr_reader :onboarding_status
48
+ # @return [Array<Gusto::JobsAndCompensations::Job>]
49
+ attr_reader :jobs
50
+ # @return [Array<Gusto::Payrolls::PaidTimeOff>]
51
+ attr_reader :eligible_paid_time_off
52
+ # @return [Array<Gusto::Terminations::Termination>]
53
+ attr_reader :terminations
54
+ # @return [Array<Gusto::Garnishment>]
55
+ attr_reader :garnishments
56
+ # @return [Array<Gusto::CustomFields::EmployeeCustomField>] Custom fields are only included for the employee if the include param has the
57
+ # custom_fields value set
58
+ attr_reader :custom_fields
59
+ # @return [String]
60
+ attr_reader :date_of_birth
61
+ # @return [Boolean] Indicates whether the employee has an SSN in Gusto.
62
+ attr_reader :has_ssn
63
+ # @return [String] Deprecated. This field always returns an empty string.
64
+ attr_reader :ssn
65
+ # @return [String]
66
+ attr_reader :phone
67
+ # @return [String]
68
+ attr_reader :preferred_first_name
69
+ # @return [Gusto::Employees::EmployeePaymentMethod] The employee's payment method
70
+ attr_reader :payment_method
71
+ # @return [String] The work email address of the employee. This is provided to support syncing
72
+ # users between our system and yours. You may not use this email address for any
73
+ # other purpose (e.g. marketing).
74
+ attr_reader :work_email
75
+ # @return [Gusto::Employees::EmployeeCurrentEmploymentStatus] The current employment status of the employee. Full-time employees work 30+
76
+ # hours per week. Part-time employees are split into two groups: those that work
77
+ # 20-29 hours a week, and those that work under 20 hours a week. Variable
78
+ # employees have hours that vary each week. Seasonal employees are hired for 6
79
+ # months of the year or less.
80
+ attr_reader :current_employment_status
81
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
82
+ attr_reader :additional_properties
83
+ # @return [Object]
84
+ attr_reader :_field_set
85
+ protected :_field_set
86
+
87
+ OMIT = Object.new
88
+
89
+ # @param uuid [String] The UUID of the employee in Gusto.
90
+ # @param first_name [String]
91
+ # @param middle_initial [String]
92
+ # @param last_name [String]
93
+ # @param email [String] The personal email address of the employee. This is provided to support syncing
94
+ # users between our system and yours. You may not use this email address for any
95
+ # other purpose (e.g. marketing).
96
+ # @param company_uuid [String] The UUID of the company the employee is employed by.
97
+ # @param manager_uuid [String] The UUID of the employee's manager.
98
+ # @param version [String] The current version of the employee. See the [versioning
99
+ # guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
100
+ # on how to use this field.
101
+ # @param department [String] The employee's department in the company.
102
+ # @param terminated [Boolean] Whether the employee is terminated.
103
+ # @param two_percent_shareholder [Boolean] Whether the employee is a two percent shareholder of the company. This field
104
+ # only applies to companies with an S-Corp entity type.
105
+ # @param onboarded [Boolean] Whether the employee has completed onboarding.
106
+ # @param onboarding_status [Gusto::Employees::EmployeeOnboardingStatus] The current onboarding status of the employee
107
+ # @param jobs [Array<Gusto::JobsAndCompensations::Job>]
108
+ # @param eligible_paid_time_off [Array<Gusto::Payrolls::PaidTimeOff>]
109
+ # @param terminations [Array<Gusto::Terminations::Termination>]
110
+ # @param garnishments [Array<Gusto::Garnishment>]
111
+ # @param custom_fields [Array<Gusto::CustomFields::EmployeeCustomField>] Custom fields are only included for the employee if the include param has the
112
+ # custom_fields value set
113
+ # @param date_of_birth [String]
114
+ # @param has_ssn [Boolean] Indicates whether the employee has an SSN in Gusto.
115
+ # @param ssn [String] Deprecated. This field always returns an empty string.
116
+ # @param phone [String]
117
+ # @param preferred_first_name [String]
118
+ # @param payment_method [Gusto::Employees::EmployeePaymentMethod] The employee's payment method
119
+ # @param work_email [String] The work email address of the employee. This is provided to support syncing
120
+ # users between our system and yours. You may not use this email address for any
121
+ # other purpose (e.g. marketing).
122
+ # @param current_employment_status [Gusto::Employees::EmployeeCurrentEmploymentStatus] The current employment status of the employee. Full-time employees work 30+
123
+ # hours per week. Part-time employees are split into two groups: those that work
124
+ # 20-29 hours a week, and those that work under 20 hours a week. Variable
125
+ # employees have hours that vary each week. Seasonal employees are hired for 6
126
+ # months of the year or less.
127
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
128
+ # @return [Gusto::Employees::Employee]
129
+ def initialize(uuid:, first_name:, middle_initial: OMIT, last_name:, email: OMIT, company_uuid: OMIT, manager_uuid: OMIT, version: OMIT, department: OMIT, terminated: OMIT, two_percent_shareholder: OMIT, onboarded: OMIT, onboarding_status: OMIT, jobs: OMIT, eligible_paid_time_off: OMIT, terminations: OMIT, garnishments: OMIT, custom_fields: OMIT, date_of_birth: OMIT, has_ssn: OMIT, ssn: OMIT, phone: OMIT, preferred_first_name: OMIT, payment_method: OMIT, work_email: OMIT, current_employment_status: OMIT, additional_properties: nil)
130
+ @uuid = uuid
131
+ @first_name = first_name
132
+ @middle_initial = middle_initial if middle_initial != OMIT
133
+ @last_name = last_name
134
+ @email = email if email != OMIT
135
+ @company_uuid = company_uuid if company_uuid != OMIT
136
+ @manager_uuid = manager_uuid if manager_uuid != OMIT
137
+ @version = version if version != OMIT
138
+ @department = department if department != OMIT
139
+ @terminated = terminated if terminated != OMIT
140
+ @two_percent_shareholder = two_percent_shareholder if two_percent_shareholder != OMIT
141
+ @onboarded = onboarded if onboarded != OMIT
142
+ @onboarding_status = onboarding_status if onboarding_status != OMIT
143
+ @jobs = jobs if jobs != OMIT
144
+ @eligible_paid_time_off = eligible_paid_time_off if eligible_paid_time_off != OMIT
145
+ @terminations = terminations if terminations != OMIT
146
+ @garnishments = garnishments if garnishments != OMIT
147
+ @custom_fields = custom_fields if custom_fields != OMIT
148
+ @date_of_birth = date_of_birth if date_of_birth != OMIT
149
+ @has_ssn = has_ssn if has_ssn != OMIT
150
+ @ssn = ssn if ssn != OMIT
151
+ @phone = phone if phone != OMIT
152
+ @preferred_first_name = preferred_first_name if preferred_first_name != OMIT
153
+ @payment_method = payment_method if payment_method != OMIT
154
+ @work_email = work_email if work_email != OMIT
155
+ @current_employment_status = current_employment_status if current_employment_status != OMIT
156
+ @additional_properties = additional_properties
157
+ @_field_set = { "uuid": uuid, "first_name": first_name, "middle_initial": middle_initial, "last_name": last_name, "email": email, "company_uuid": company_uuid, "manager_uuid": manager_uuid, "version": version, "department": department, "terminated": terminated, "two_percent_shareholder": two_percent_shareholder, "onboarded": onboarded, "onboarding_status": onboarding_status, "jobs": jobs, "eligible_paid_time_off": eligible_paid_time_off, "terminations": terminations, "garnishments": garnishments, "custom_fields": custom_fields, "date_of_birth": date_of_birth, "has_ssn": has_ssn, "ssn": ssn, "phone": phone, "preferred_first_name": preferred_first_name, "payment_method": payment_method, "work_email": work_email, "current_employment_status": current_employment_status }.reject do | _k, v |
158
+ v == OMIT
159
+ end
160
+ end
161
+ # Deserialize a JSON object to an instance of Employee
162
+ #
163
+ # @param json_object [String]
164
+ # @return [Gusto::Employees::Employee]
165
+ def self.from_json(json_object:)
166
+ struct = JSON.parse(json_object, object_class: OpenStruct)
167
+ parsed_json = JSON.parse(json_object)
168
+ uuid = parsed_json["uuid"]
169
+ first_name = parsed_json["first_name"]
170
+ middle_initial = parsed_json["middle_initial"]
171
+ last_name = parsed_json["last_name"]
172
+ email = parsed_json["email"]
173
+ company_uuid = parsed_json["company_uuid"]
174
+ manager_uuid = parsed_json["manager_uuid"]
175
+ version = parsed_json["version"]
176
+ department = parsed_json["department"]
177
+ terminated = parsed_json["terminated"]
178
+ two_percent_shareholder = parsed_json["two_percent_shareholder"]
179
+ onboarded = parsed_json["onboarded"]
180
+ onboarding_status = parsed_json["onboarding_status"]
181
+ jobs = parsed_json["jobs"]&.map do | item |
182
+ item = item.to_json
183
+ Gusto::JobsAndCompensations::Job.from_json(json_object: item)
184
+ end
185
+ eligible_paid_time_off = parsed_json["eligible_paid_time_off"]&.map do | item |
186
+ item = item.to_json
187
+ Gusto::Payrolls::PaidTimeOff.from_json(json_object: item)
188
+ end
189
+ terminations = parsed_json["terminations"]&.map do | item |
190
+ item = item.to_json
191
+ Gusto::Terminations::Termination.from_json(json_object: item)
192
+ end
193
+ garnishments = parsed_json["garnishments"]&.map do | item |
194
+ item = item.to_json
195
+ Gusto::Garnishment.from_json(json_object: item)
196
+ end
197
+ custom_fields = parsed_json["custom_fields"]&.map do | item |
198
+ item = item.to_json
199
+ Gusto::CustomFields::EmployeeCustomField.from_json(json_object: item)
200
+ end
201
+ date_of_birth = parsed_json["date_of_birth"]
202
+ has_ssn = parsed_json["has_ssn"]
203
+ ssn = parsed_json["ssn"]
204
+ phone = parsed_json["phone"]
205
+ preferred_first_name = parsed_json["preferred_first_name"]
206
+ payment_method = parsed_json["payment_method"]
207
+ work_email = parsed_json["work_email"]
208
+ current_employment_status = parsed_json["current_employment_status"]
209
+ new(
210
+ uuid: uuid,
211
+ first_name: first_name,
212
+ middle_initial: middle_initial,
213
+ last_name: last_name,
214
+ email: email,
215
+ company_uuid: company_uuid,
216
+ manager_uuid: manager_uuid,
217
+ version: version,
218
+ department: department,
219
+ terminated: terminated,
220
+ two_percent_shareholder: two_percent_shareholder,
221
+ onboarded: onboarded,
222
+ onboarding_status: onboarding_status,
223
+ jobs: jobs,
224
+ eligible_paid_time_off: eligible_paid_time_off,
225
+ terminations: terminations,
226
+ garnishments: garnishments,
227
+ custom_fields: custom_fields,
228
+ date_of_birth: date_of_birth,
229
+ has_ssn: has_ssn,
230
+ ssn: ssn,
231
+ phone: phone,
232
+ preferred_first_name: preferred_first_name,
233
+ payment_method: payment_method,
234
+ work_email: work_email,
235
+ current_employment_status: current_employment_status,
236
+ additional_properties: struct
237
+ )
238
+ end
239
+ # Serialize an instance of Employee to a JSON object
240
+ #
241
+ # @return [String]
242
+ def to_json
243
+ @_field_set&.to_json
244
+ end
245
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
246
+ # hash and check each fields type against the current object's property
247
+ # definitions.
248
+ #
249
+ # @param obj [Object]
250
+ # @return [Void]
251
+ def self.validate_raw(obj:)
252
+ obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
253
+ obj.first_name.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
254
+ obj.middle_initial&.is_a?(String) != false || raise("Passed value for field obj.middle_initial is not the expected type, validation failed.")
255
+ obj.last_name.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
256
+ obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
257
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
258
+ obj.manager_uuid&.is_a?(String) != false || raise("Passed value for field obj.manager_uuid is not the expected type, validation failed.")
259
+ obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
260
+ obj.department&.is_a?(String) != false || raise("Passed value for field obj.department is not the expected type, validation failed.")
261
+ obj.terminated&.is_a?(Boolean) != false || raise("Passed value for field obj.terminated is not the expected type, validation failed.")
262
+ obj.two_percent_shareholder&.is_a?(Boolean) != false || raise("Passed value for field obj.two_percent_shareholder is not the expected type, validation failed.")
263
+ obj.onboarded&.is_a?(Boolean) != false || raise("Passed value for field obj.onboarded is not the expected type, validation failed.")
264
+ obj.onboarding_status&.is_a?(Gusto::Employees::EmployeeOnboardingStatus) != false || raise("Passed value for field obj.onboarding_status is not the expected type, validation failed.")
265
+ obj.jobs&.is_a?(Array) != false || raise("Passed value for field obj.jobs is not the expected type, validation failed.")
266
+ obj.eligible_paid_time_off&.is_a?(Array) != false || raise("Passed value for field obj.eligible_paid_time_off is not the expected type, validation failed.")
267
+ obj.terminations&.is_a?(Array) != false || raise("Passed value for field obj.terminations is not the expected type, validation failed.")
268
+ obj.garnishments&.is_a?(Array) != false || raise("Passed value for field obj.garnishments is not the expected type, validation failed.")
269
+ obj.custom_fields&.is_a?(Array) != false || raise("Passed value for field obj.custom_fields is not the expected type, validation failed.")
270
+ obj.date_of_birth&.is_a?(String) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
271
+ obj.has_ssn&.is_a?(Boolean) != false || raise("Passed value for field obj.has_ssn is not the expected type, validation failed.")
272
+ obj.ssn&.is_a?(String) != false || raise("Passed value for field obj.ssn is not the expected type, validation failed.")
273
+ obj.phone&.is_a?(String) != false || raise("Passed value for field obj.phone is not the expected type, validation failed.")
274
+ obj.preferred_first_name&.is_a?(String) != false || raise("Passed value for field obj.preferred_first_name is not the expected type, validation failed.")
275
+ obj.payment_method&.is_a?(Gusto::Employees::EmployeePaymentMethod) != false || raise("Passed value for field obj.payment_method is not the expected type, validation failed.")
276
+ obj.work_email&.is_a?(String) != false || raise("Passed value for field obj.work_email is not the expected type, validation failed.")
277
+ obj.current_employment_status&.is_a?(Gusto::Employees::EmployeeCurrentEmploymentStatus) != false || raise("Passed value for field obj.current_employment_status is not the expected type, validation failed.")
278
+ end
279
+ end
280
+ end
281
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module Employees
5
+ # The current employment status of the employee. Full-time employees work 30+
6
+ # hours per week. Part-time employees are split into two groups: those that work
7
+ # 20-29 hours a week, and those that work under 20 hours a week. Variable
8
+ # employees have hours that vary each week. Seasonal employees are hired for 6
9
+ # months of the year or less.
10
+ class EmployeeCurrentEmploymentStatus
11
+
12
+ FULL_TIME = "full_time"
13
+ PART_TIME_UNDER_TWENTY_HOURS = "part_time_under_twenty_hours"
14
+ PART_TIME_TWENTY_PLUS_HOURS = "part_time_twenty_plus_hours"
15
+ VARIABLE = "variable"
16
+ SEASONAL = "seasonal"
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+ require_relative "employee_onboarding_status_onboarding_steps_item"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module Employees
8
+ # The representation of an employee's onboarding status.
9
+ class EmployeeOnboardingInfo
10
+ # @return [String] Unique identifier for this employee.
11
+ attr_reader :uuid
12
+ # @return [String] One of the "onboarding_status" enum values.
13
+ attr_reader :onboarding_status
14
+ # @return [Array<Gusto::Employees::EmployeeOnboardingStatusOnboardingStepsItem>] List of steps required to onboard an employee.
15
+ attr_reader :onboarding_steps
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param uuid [String] Unique identifier for this employee.
25
+ # @param onboarding_status [String] One of the "onboarding_status" enum values.
26
+ # @param onboarding_steps [Array<Gusto::Employees::EmployeeOnboardingStatusOnboardingStepsItem>] List of steps required to onboard an employee.
27
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
+ # @return [Gusto::Employees::EmployeeOnboardingInfo]
29
+ def initialize(uuid:, onboarding_status: OMIT, onboarding_steps: OMIT, additional_properties: nil)
30
+ @uuid = uuid
31
+ @onboarding_status = onboarding_status if onboarding_status != OMIT
32
+ @onboarding_steps = onboarding_steps if onboarding_steps != OMIT
33
+ @additional_properties = additional_properties
34
+ @_field_set = { "uuid": uuid, "onboarding_status": onboarding_status, "onboarding_steps": onboarding_steps }.reject do | _k, v |
35
+ v == OMIT
36
+ end
37
+ end
38
+ # Deserialize a JSON object to an instance of EmployeeOnboardingInfo
39
+ #
40
+ # @param json_object [String]
41
+ # @return [Gusto::Employees::EmployeeOnboardingInfo]
42
+ def self.from_json(json_object:)
43
+ struct = JSON.parse(json_object, object_class: OpenStruct)
44
+ parsed_json = JSON.parse(json_object)
45
+ uuid = parsed_json["uuid"]
46
+ onboarding_status = parsed_json["onboarding_status"]
47
+ onboarding_steps = parsed_json["onboarding_steps"]&.map do | item |
48
+ item = item.to_json
49
+ Gusto::Employees::EmployeeOnboardingStatusOnboardingStepsItem.from_json(json_object: item)
50
+ end
51
+ new(
52
+ uuid: uuid,
53
+ onboarding_status: onboarding_status,
54
+ onboarding_steps: onboarding_steps,
55
+ additional_properties: struct
56
+ )
57
+ end
58
+ # Serialize an instance of EmployeeOnboardingInfo to a JSON object
59
+ #
60
+ # @return [String]
61
+ def to_json
62
+ @_field_set&.to_json
63
+ end
64
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
65
+ # hash and check each fields type against the current object's property
66
+ # definitions.
67
+ #
68
+ # @param obj [Object]
69
+ # @return [Void]
70
+ def self.validate_raw(obj:)
71
+ obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
72
+ obj.onboarding_status&.is_a?(String) != false || raise("Passed value for field obj.onboarding_status is not the expected type, validation failed.")
73
+ obj.onboarding_steps&.is_a?(Array) != false || raise("Passed value for field obj.onboarding_steps is not the expected type, validation failed.")
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module Employees
5
+ # The current onboarding status of the employee
6
+ class EmployeeOnboardingStatus
7
+
8
+ ONBOARDING_COMPLETED = "onboarding_completed"
9
+ ADMIN_ONBOARDING_INCOMPLETE = "admin_onboarding_incomplete"
10
+ SELF_ONBOARDING_PENDING_INVITE = "self_onboarding_pending_invite"
11
+ SELF_ONBOARDING_INVITED = "self_onboarding_invited"
12
+ SELF_ONBOARDING_INVITED_STARTED = "self_onboarding_invited_started"
13
+ SELF_ONBOARDING_INVITED_OVERDUE = "self_onboarding_invited_overdue"
14
+ SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE = "self_onboarding_completed_by_employee"
15
+ SELF_ONBOARDING_AWAITING_ADMIN_REVIEW = "self_onboarding_awaiting_admin_review"
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module Employees
7
+ class EmployeeOnboardingStatusOnboardingStepsItem
8
+ # @return [String] User-friendly description of the onboarding step.
9
+ attr_reader :title
10
+ # @return [String] String identifier for the onboarding step.
11
+ attr_reader :id
12
+ # @return [Boolean] When true, this step has been completed.
13
+ attr_reader :required
14
+ # @return [Boolean] When true, this step has been completed.
15
+ attr_reader :completed
16
+ # @return [Array<String>] A list of onboarding steps required to begin this step.
17
+ attr_reader :requirements
18
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
19
+ attr_reader :additional_properties
20
+ # @return [Object]
21
+ attr_reader :_field_set
22
+ protected :_field_set
23
+
24
+ OMIT = Object.new
25
+
26
+ # @param title [String] User-friendly description of the onboarding step.
27
+ # @param id [String] String identifier for the onboarding step.
28
+ # @param required [Boolean] When true, this step has been completed.
29
+ # @param completed [Boolean] When true, this step has been completed.
30
+ # @param requirements [Array<String>] A list of onboarding steps required to begin this step.
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [Gusto::Employees::EmployeeOnboardingStatusOnboardingStepsItem]
33
+ def initialize(title: OMIT, id: OMIT, required: OMIT, completed: OMIT, requirements: OMIT, additional_properties: nil)
34
+ @title = title if title != OMIT
35
+ @id = id if id != OMIT
36
+ @required = required if required != OMIT
37
+ @completed = completed if completed != OMIT
38
+ @requirements = requirements if requirements != OMIT
39
+ @additional_properties = additional_properties
40
+ @_field_set = { "title": title, "id": id, "required": required, "completed": completed, "requirements": requirements }.reject do | _k, v |
41
+ v == OMIT
42
+ end
43
+ end
44
+ # Deserialize a JSON object to an instance of
45
+ # EmployeeOnboardingStatusOnboardingStepsItem
46
+ #
47
+ # @param json_object [String]
48
+ # @return [Gusto::Employees::EmployeeOnboardingStatusOnboardingStepsItem]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ title = parsed_json["title"]
53
+ id = parsed_json["id"]
54
+ required = parsed_json["required"]
55
+ completed = parsed_json["completed"]
56
+ requirements = parsed_json["requirements"]
57
+ new(
58
+ title: title,
59
+ id: id,
60
+ required: required,
61
+ completed: completed,
62
+ requirements: requirements,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+ # Serialize an instance of EmployeeOnboardingStatusOnboardingStepsItem to a JSON
67
+ # object
68
+ #
69
+ # @return [String]
70
+ def to_json
71
+ @_field_set&.to_json
72
+ end
73
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
74
+ # hash and check each fields type against the current object's property
75
+ # definitions.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Void]
79
+ def self.validate_raw(obj:)
80
+ obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
81
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
82
+ obj.required&.is_a?(Boolean) != false || raise("Passed value for field obj.required is not the expected type, validation failed.")
83
+ obj.completed&.is_a?(Boolean) != false || raise("Passed value for field obj.completed is not the expected type, validation failed.")
84
+ obj.requirements&.is_a?(Array) != false || raise("Passed value for field obj.requirements is not the expected type, validation failed.")
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module Employees
5
+ # The employee's payment method
6
+ class EmployeePaymentMethod
7
+
8
+ DIRECT_DEPOSIT = "Direct Deposit"
9
+ CHECK = "Check"
10
+
11
+ end
12
+ end
13
+ end