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,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module CompanyBankAccounts
5
+ # Bank account type
6
+ class CompanyBankAccountAccountType
7
+
8
+ CHECKING = "Checking"
9
+ SAVINGS = "Savings"
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module CompanyBankAccounts
5
+ # The Plaid connection status of the bank account. Only applies when verification
6
+ # type is Plaid.
7
+ class CompanyBankAccountPlaidStatus
8
+
9
+ CONNECTED = "connected"
10
+ DISCONNECTED = "disconnected"
11
+
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module CompanyBankAccounts
5
+ # The verification status of the bank account.
6
+ # 'awaiting_deposits' means the bank account is just created and money is being
7
+ # transferred.
8
+ # 'ready_for_verification' means the micro-deposits are completed and the
9
+ # verification process can begin by using the verify endpoint.
10
+ # 'verified' means the bank account is verified.
11
+ class CompanyBankAccountVerificationStatus
12
+
13
+ AWAITING_DEPOSITS = "awaiting_deposits"
14
+ READY_FOR_VERIFICATION = "ready_for_verification"
15
+ VERIFIED = "verified"
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module CompanyBankAccounts
5
+ # The verification type of the bank account.
6
+ # 'bank_deposits' means the bank account is connected by entering routing and
7
+ # accounting numbers and verifying through micro-deposits.
8
+ # 'plaid' means the bank account is connected through Plaid.
9
+ class CompanyBankAccountVerificationType
10
+
11
+ BANK_DEPOSITS = "bank_deposits"
12
+ PLAID = "plaid"
13
+ PLAID_EXTERNAL = "plaid_external"
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+ require_relative "benefit_summary_employees"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module CompanyBenefits
8
+
9
+ class BenefitSummary
10
+ # @return [String] The start date of benefit summary.
11
+ attr_reader :start_date
12
+ # @return [String] The end date of benefit summary.
13
+ attr_reader :end_date
14
+ # @return [String] Description of the benefit.
15
+ attr_reader :description
16
+ # @return [String] The aggregate of employee deduction for all employees given the period of time
17
+ # and benefit type.
18
+ attr_reader :company_benefit_deduction
19
+ # @return [String] The aggregate of company contribution for all employees given the period of time
20
+ # and benefit type.
21
+ attr_reader :company_benefit_contribution
22
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployees]
23
+ attr_reader :employees
24
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
25
+ attr_reader :additional_properties
26
+ # @return [Object]
27
+ attr_reader :_field_set
28
+ protected :_field_set
29
+
30
+ OMIT = Object.new
31
+
32
+ # @param start_date [String] The start date of benefit summary.
33
+ # @param end_date [String] The end date of benefit summary.
34
+ # @param description [String] Description of the benefit.
35
+ # @param company_benefit_deduction [String] The aggregate of employee deduction for all employees given the period of time
36
+ # and benefit type.
37
+ # @param company_benefit_contribution [String] The aggregate of company contribution for all employees given the period of time
38
+ # and benefit type.
39
+ # @param employees [Gusto::CompanyBenefits::BenefitSummaryEmployees]
40
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
+ # @return [Gusto::CompanyBenefits::BenefitSummary]
42
+ def initialize(start_date: OMIT, end_date: OMIT, description: OMIT, company_benefit_deduction: OMIT, company_benefit_contribution: OMIT, employees: OMIT, additional_properties: nil)
43
+ @start_date = start_date if start_date != OMIT
44
+ @end_date = end_date if end_date != OMIT
45
+ @description = description if description != OMIT
46
+ @company_benefit_deduction = company_benefit_deduction if company_benefit_deduction != OMIT
47
+ @company_benefit_contribution = company_benefit_contribution if company_benefit_contribution != OMIT
48
+ @employees = employees if employees != OMIT
49
+ @additional_properties = additional_properties
50
+ @_field_set = { "start_date": start_date, "end_date": end_date, "description": description, "company_benefit_deduction": company_benefit_deduction, "company_benefit_contribution": company_benefit_contribution, "employees": employees }.reject do | _k, v |
51
+ v == OMIT
52
+ end
53
+ end
54
+ # Deserialize a JSON object to an instance of BenefitSummary
55
+ #
56
+ # @param json_object [String]
57
+ # @return [Gusto::CompanyBenefits::BenefitSummary]
58
+ def self.from_json(json_object:)
59
+ struct = JSON.parse(json_object, object_class: OpenStruct)
60
+ parsed_json = JSON.parse(json_object)
61
+ start_date = parsed_json["start_date"]
62
+ end_date = parsed_json["end_date"]
63
+ description = parsed_json["description"]
64
+ company_benefit_deduction = parsed_json["company_benefit_deduction"]
65
+ company_benefit_contribution = parsed_json["company_benefit_contribution"]
66
+ unless parsed_json["employees"].nil?
67
+ employees = parsed_json["employees"].to_json
68
+ employees = Gusto::CompanyBenefits::BenefitSummaryEmployees.from_json(json_object: employees)
69
+ else
70
+ employees = nil
71
+ end
72
+ new(
73
+ start_date: start_date,
74
+ end_date: end_date,
75
+ description: description,
76
+ company_benefit_deduction: company_benefit_deduction,
77
+ company_benefit_contribution: company_benefit_contribution,
78
+ employees: employees,
79
+ additional_properties: struct
80
+ )
81
+ end
82
+ # Serialize an instance of BenefitSummary to a JSON object
83
+ #
84
+ # @return [String]
85
+ def to_json
86
+ @_field_set&.to_json
87
+ end
88
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
89
+ # hash and check each fields type against the current object's property
90
+ # definitions.
91
+ #
92
+ # @param obj [Object]
93
+ # @return [Void]
94
+ def self.validate_raw(obj:)
95
+ obj.start_date&.is_a?(String) != false || raise("Passed value for field obj.start_date is not the expected type, validation failed.")
96
+ obj.end_date&.is_a?(String) != false || raise("Passed value for field obj.end_date is not the expected type, validation failed.")
97
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
98
+ obj.company_benefit_deduction&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_deduction is not the expected type, validation failed.")
99
+ obj.company_benefit_contribution&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_contribution is not the expected type, validation failed.")
100
+ obj.employees.nil? || Gusto::CompanyBenefits::BenefitSummaryEmployees.validate_raw(obj: obj.employees)
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+ require_relative "benefit_summary_employees_payroll_benefits"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module CompanyBenefits
8
+
9
+ class BenefitSummaryEmployees
10
+ # @return [String] The UUID of the employee
11
+ attr_reader :uuid
12
+ # @return [String] The aggregate of employee deduction for all employees given the period of time
13
+ # and benefit type.
14
+ attr_reader :company_benefit_deduction
15
+ # @return [String] The aggregate of company contribution for all employees given the period of time
16
+ # and benefit type.
17
+ attr_reader :company_benefit_contribution
18
+ # @return [String] Sum of employee benefit deduction given the period of time for this specific
19
+ # employee.
20
+ attr_reader :benefit_deduction
21
+ # @return [String] Sum of company contribution given the period of time for this specific employee.
22
+ attr_reader :benefit_contribution
23
+ # @return [String] Gross pay of this pay check.
24
+ attr_reader :gross_pay
25
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefits]
26
+ attr_reader :payroll_benefits
27
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
28
+ attr_reader :additional_properties
29
+ # @return [Object]
30
+ attr_reader :_field_set
31
+ protected :_field_set
32
+
33
+ OMIT = Object.new
34
+
35
+ # @param uuid [String] The UUID of the employee
36
+ # @param company_benefit_deduction [String] The aggregate of employee deduction for all employees given the period of time
37
+ # and benefit type.
38
+ # @param company_benefit_contribution [String] The aggregate of company contribution for all employees given the period of time
39
+ # and benefit type.
40
+ # @param benefit_deduction [String] Sum of employee benefit deduction given the period of time for this specific
41
+ # employee.
42
+ # @param benefit_contribution [String] Sum of company contribution given the period of time for this specific employee.
43
+ # @param gross_pay [String] Gross pay of this pay check.
44
+ # @param payroll_benefits [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefits]
45
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
46
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployees]
47
+ def initialize(uuid: OMIT, company_benefit_deduction: OMIT, company_benefit_contribution: OMIT, benefit_deduction: OMIT, benefit_contribution: OMIT, gross_pay: OMIT, payroll_benefits: OMIT, additional_properties: nil)
48
+ @uuid = uuid if uuid != OMIT
49
+ @company_benefit_deduction = company_benefit_deduction if company_benefit_deduction != OMIT
50
+ @company_benefit_contribution = company_benefit_contribution if company_benefit_contribution != OMIT
51
+ @benefit_deduction = benefit_deduction if benefit_deduction != OMIT
52
+ @benefit_contribution = benefit_contribution if benefit_contribution != OMIT
53
+ @gross_pay = gross_pay if gross_pay != OMIT
54
+ @payroll_benefits = payroll_benefits if payroll_benefits != OMIT
55
+ @additional_properties = additional_properties
56
+ @_field_set = { "uuid": uuid, "company_benefit_deduction": company_benefit_deduction, "company_benefit_contribution": company_benefit_contribution, "benefit_deduction": benefit_deduction, "benefit_contribution": benefit_contribution, "gross_pay": gross_pay, "payroll_benefits": payroll_benefits }.reject do | _k, v |
57
+ v == OMIT
58
+ end
59
+ end
60
+ # Deserialize a JSON object to an instance of BenefitSummaryEmployees
61
+ #
62
+ # @param json_object [String]
63
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployees]
64
+ def self.from_json(json_object:)
65
+ struct = JSON.parse(json_object, object_class: OpenStruct)
66
+ parsed_json = JSON.parse(json_object)
67
+ uuid = parsed_json["uuid"]
68
+ company_benefit_deduction = parsed_json["company_benefit_deduction"]
69
+ company_benefit_contribution = parsed_json["company_benefit_contribution"]
70
+ benefit_deduction = parsed_json["benefit_deduction"]
71
+ benefit_contribution = parsed_json["benefit_contribution"]
72
+ gross_pay = parsed_json["gross_pay"]
73
+ unless parsed_json["payroll_benefits"].nil?
74
+ payroll_benefits = parsed_json["payroll_benefits"].to_json
75
+ payroll_benefits = Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefits.from_json(json_object: payroll_benefits)
76
+ else
77
+ payroll_benefits = nil
78
+ end
79
+ new(
80
+ uuid: uuid,
81
+ company_benefit_deduction: company_benefit_deduction,
82
+ company_benefit_contribution: company_benefit_contribution,
83
+ benefit_deduction: benefit_deduction,
84
+ benefit_contribution: benefit_contribution,
85
+ gross_pay: gross_pay,
86
+ payroll_benefits: payroll_benefits,
87
+ additional_properties: struct
88
+ )
89
+ end
90
+ # Serialize an instance of BenefitSummaryEmployees to a JSON object
91
+ #
92
+ # @return [String]
93
+ def to_json
94
+ @_field_set&.to_json
95
+ end
96
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
97
+ # hash and check each fields type against the current object's property
98
+ # definitions.
99
+ #
100
+ # @param obj [Object]
101
+ # @return [Void]
102
+ def self.validate_raw(obj:)
103
+ obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
104
+ obj.company_benefit_deduction&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_deduction is not the expected type, validation failed.")
105
+ obj.company_benefit_contribution&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_contribution is not the expected type, validation failed.")
106
+ obj.benefit_deduction&.is_a?(String) != false || raise("Passed value for field obj.benefit_deduction is not the expected type, validation failed.")
107
+ obj.benefit_contribution&.is_a?(String) != false || raise("Passed value for field obj.benefit_contribution is not the expected type, validation failed.")
108
+ obj.gross_pay&.is_a?(String) != false || raise("Passed value for field obj.gross_pay is not the expected type, validation failed.")
109
+ obj.payroll_benefits.nil? || Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefits.validate_raw(obj: obj.payroll_benefits)
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+ require_relative "benefit_summary_employees_payroll_benefits_pay_period"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module CompanyBenefits
8
+ class BenefitSummaryEmployeesPayrollBenefits
9
+ # @return [String]
10
+ attr_reader :payroll_uuid
11
+ # @return [String] Whether it is regular or bonus payroll
12
+ attr_reader :payroll_type
13
+ # @return [String]
14
+ attr_reader :check_date
15
+ # @return [String]
16
+ attr_reader :gross_pay
17
+ # @return [String]
18
+ attr_reader :company_benefit_deduction
19
+ # @return [String]
20
+ attr_reader :company_benefit_contribution
21
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefitsPayPeriod]
22
+ attr_reader :pay_period
23
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
24
+ attr_reader :additional_properties
25
+ # @return [Object]
26
+ attr_reader :_field_set
27
+ protected :_field_set
28
+
29
+ OMIT = Object.new
30
+
31
+ # @param payroll_uuid [String]
32
+ # @param payroll_type [String] Whether it is regular or bonus payroll
33
+ # @param check_date [String]
34
+ # @param gross_pay [String]
35
+ # @param company_benefit_deduction [String]
36
+ # @param company_benefit_contribution [String]
37
+ # @param pay_period [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefitsPayPeriod]
38
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefits]
40
+ def initialize(payroll_uuid: OMIT, payroll_type: OMIT, check_date: OMIT, gross_pay: OMIT, company_benefit_deduction: OMIT, company_benefit_contribution: OMIT, pay_period: OMIT, additional_properties: nil)
41
+ @payroll_uuid = payroll_uuid if payroll_uuid != OMIT
42
+ @payroll_type = payroll_type if payroll_type != OMIT
43
+ @check_date = check_date if check_date != OMIT
44
+ @gross_pay = gross_pay if gross_pay != OMIT
45
+ @company_benefit_deduction = company_benefit_deduction if company_benefit_deduction != OMIT
46
+ @company_benefit_contribution = company_benefit_contribution if company_benefit_contribution != OMIT
47
+ @pay_period = pay_period if pay_period != OMIT
48
+ @additional_properties = additional_properties
49
+ @_field_set = { "payroll_uuid": payroll_uuid, "payroll_type": payroll_type, "check_date": check_date, "gross_pay": gross_pay, "company_benefit_deduction": company_benefit_deduction, "company_benefit_contribution": company_benefit_contribution, "pay_period": pay_period }.reject do | _k, v |
50
+ v == OMIT
51
+ end
52
+ end
53
+ # Deserialize a JSON object to an instance of
54
+ # BenefitSummaryEmployeesPayrollBenefits
55
+ #
56
+ # @param json_object [String]
57
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefits]
58
+ def self.from_json(json_object:)
59
+ struct = JSON.parse(json_object, object_class: OpenStruct)
60
+ parsed_json = JSON.parse(json_object)
61
+ payroll_uuid = parsed_json["payroll_uuid"]
62
+ payroll_type = parsed_json["payroll_type"]
63
+ check_date = parsed_json["check_date"]
64
+ gross_pay = parsed_json["gross_pay"]
65
+ company_benefit_deduction = parsed_json["company_benefit_deduction"]
66
+ company_benefit_contribution = parsed_json["company_benefit_contribution"]
67
+ unless parsed_json["pay_period"].nil?
68
+ pay_period = parsed_json["pay_period"].to_json
69
+ pay_period = Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefitsPayPeriod.from_json(json_object: pay_period)
70
+ else
71
+ pay_period = nil
72
+ end
73
+ new(
74
+ payroll_uuid: payroll_uuid,
75
+ payroll_type: payroll_type,
76
+ check_date: check_date,
77
+ gross_pay: gross_pay,
78
+ company_benefit_deduction: company_benefit_deduction,
79
+ company_benefit_contribution: company_benefit_contribution,
80
+ pay_period: pay_period,
81
+ additional_properties: struct
82
+ )
83
+ end
84
+ # Serialize an instance of BenefitSummaryEmployeesPayrollBenefits to a JSON object
85
+ #
86
+ # @return [String]
87
+ def to_json
88
+ @_field_set&.to_json
89
+ end
90
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
91
+ # hash and check each fields type against the current object's property
92
+ # definitions.
93
+ #
94
+ # @param obj [Object]
95
+ # @return [Void]
96
+ def self.validate_raw(obj:)
97
+ obj.payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.payroll_uuid is not the expected type, validation failed.")
98
+ obj.payroll_type&.is_a?(String) != false || raise("Passed value for field obj.payroll_type is not the expected type, validation failed.")
99
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
100
+ obj.gross_pay&.is_a?(String) != false || raise("Passed value for field obj.gross_pay is not the expected type, validation failed.")
101
+ obj.company_benefit_deduction&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_deduction is not the expected type, validation failed.")
102
+ obj.company_benefit_contribution&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_contribution is not the expected type, validation failed.")
103
+ obj.pay_period.nil? || Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefitsPayPeriod.validate_raw(obj: obj.pay_period)
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module CompanyBenefits
7
+ class BenefitSummaryEmployeesPayrollBenefitsPayPeriod
8
+ # @return [String]
9
+ attr_reader :start_date
10
+ # @return [String]
11
+ attr_reader :end_date
12
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
13
+ attr_reader :additional_properties
14
+ # @return [Object]
15
+ attr_reader :_field_set
16
+ protected :_field_set
17
+
18
+ OMIT = Object.new
19
+
20
+ # @param start_date [String]
21
+ # @param end_date [String]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefitsPayPeriod]
24
+ def initialize(start_date: OMIT, end_date: OMIT, additional_properties: nil)
25
+ @start_date = start_date if start_date != OMIT
26
+ @end_date = end_date if end_date != OMIT
27
+ @additional_properties = additional_properties
28
+ @_field_set = { "start_date": start_date, "end_date": end_date }.reject do | _k, v |
29
+ v == OMIT
30
+ end
31
+ end
32
+ # Deserialize a JSON object to an instance of
33
+ # BenefitSummaryEmployeesPayrollBenefitsPayPeriod
34
+ #
35
+ # @param json_object [String]
36
+ # @return [Gusto::CompanyBenefits::BenefitSummaryEmployeesPayrollBenefitsPayPeriod]
37
+ def self.from_json(json_object:)
38
+ struct = JSON.parse(json_object, object_class: OpenStruct)
39
+ parsed_json = JSON.parse(json_object)
40
+ start_date = parsed_json["start_date"]
41
+ end_date = parsed_json["end_date"]
42
+ new(
43
+ start_date: start_date,
44
+ end_date: end_date,
45
+ additional_properties: struct
46
+ )
47
+ end
48
+ # Serialize an instance of BenefitSummaryEmployeesPayrollBenefitsPayPeriod to a
49
+ # JSON object
50
+ #
51
+ # @return [String]
52
+ def to_json
53
+ @_field_set&.to_json
54
+ end
55
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
56
+ # hash and check each fields type against the current object's property
57
+ # definitions.
58
+ #
59
+ # @param obj [Object]
60
+ # @return [Void]
61
+ def self.validate_raw(obj:)
62
+ obj.start_date&.is_a?(String) != false || raise("Passed value for field obj.start_date is not the expected type, validation failed.")
63
+ obj.end_date&.is_a?(String) != false || raise("Passed value for field obj.end_date is not the expected type, validation failed.")
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,156 @@
1
+ # frozen_string_literal: true
2
+ require_relative "benefit_type_requirements_employee_deduction"
3
+ require_relative "benefit_type_requirements_contribution"
4
+ require_relative "benefit_type_requirements_deduct_as_percentage"
5
+ require_relative "benefit_type_requirements_catch_up"
6
+ require_relative "benefit_type_requirements_limit_option"
7
+ require_relative "benefit_type_requirements_company_contribution_annual_maximum"
8
+ require_relative "benefit_type_requirements_coverage_salary_multiplier"
9
+ require_relative "benefit_type_requirements_coverage_amount"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module Gusto
14
+ module CompanyBenefits
15
+
16
+ class BenefitTypeRequirements
17
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsEmployeeDeduction]
18
+ attr_reader :employee_deduction
19
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsContribution]
20
+ attr_reader :contribution
21
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsDeductAsPercentage]
22
+ attr_reader :deduct_as_percentage
23
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsCatchUp]
24
+ attr_reader :catch_up
25
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsLimitOption]
26
+ attr_reader :limit_option
27
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsCompanyContributionAnnualMaximum]
28
+ attr_reader :company_contribution_annual_maximum
29
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageSalaryMultiplier]
30
+ attr_reader :coverage_salary_multiplier
31
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageAmount]
32
+ attr_reader :coverage_amount
33
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
34
+ attr_reader :additional_properties
35
+ # @return [Object]
36
+ attr_reader :_field_set
37
+ protected :_field_set
38
+
39
+ OMIT = Object.new
40
+
41
+ # @param employee_deduction [Gusto::CompanyBenefits::BenefitTypeRequirementsEmployeeDeduction]
42
+ # @param contribution [Gusto::CompanyBenefits::BenefitTypeRequirementsContribution]
43
+ # @param deduct_as_percentage [Gusto::CompanyBenefits::BenefitTypeRequirementsDeductAsPercentage]
44
+ # @param catch_up [Gusto::CompanyBenefits::BenefitTypeRequirementsCatchUp]
45
+ # @param limit_option [Gusto::CompanyBenefits::BenefitTypeRequirementsLimitOption]
46
+ # @param company_contribution_annual_maximum [Gusto::CompanyBenefits::BenefitTypeRequirementsCompanyContributionAnnualMaximum]
47
+ # @param coverage_salary_multiplier [Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageSalaryMultiplier]
48
+ # @param coverage_amount [Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageAmount]
49
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
50
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirements]
51
+ def initialize(employee_deduction: OMIT, contribution: OMIT, deduct_as_percentage: OMIT, catch_up: OMIT, limit_option: OMIT, company_contribution_annual_maximum: OMIT, coverage_salary_multiplier: OMIT, coverage_amount: OMIT, additional_properties: nil)
52
+ @employee_deduction = employee_deduction if employee_deduction != OMIT
53
+ @contribution = contribution if contribution != OMIT
54
+ @deduct_as_percentage = deduct_as_percentage if deduct_as_percentage != OMIT
55
+ @catch_up = catch_up if catch_up != OMIT
56
+ @limit_option = limit_option if limit_option != OMIT
57
+ @company_contribution_annual_maximum = company_contribution_annual_maximum if company_contribution_annual_maximum != OMIT
58
+ @coverage_salary_multiplier = coverage_salary_multiplier if coverage_salary_multiplier != OMIT
59
+ @coverage_amount = coverage_amount if coverage_amount != OMIT
60
+ @additional_properties = additional_properties
61
+ @_field_set = { "employee_deduction": employee_deduction, "contribution": contribution, "deduct_as_percentage": deduct_as_percentage, "catch_up": catch_up, "limit_option": limit_option, "company_contribution_annual_maximum": company_contribution_annual_maximum, "coverage_salary_multiplier": coverage_salary_multiplier, "coverage_amount": coverage_amount }.reject do | _k, v |
62
+ v == OMIT
63
+ end
64
+ end
65
+ # Deserialize a JSON object to an instance of BenefitTypeRequirements
66
+ #
67
+ # @param json_object [String]
68
+ # @return [Gusto::CompanyBenefits::BenefitTypeRequirements]
69
+ def self.from_json(json_object:)
70
+ struct = JSON.parse(json_object, object_class: OpenStruct)
71
+ parsed_json = JSON.parse(json_object)
72
+ unless parsed_json["employee_deduction"].nil?
73
+ employee_deduction = parsed_json["employee_deduction"].to_json
74
+ employee_deduction = Gusto::CompanyBenefits::BenefitTypeRequirementsEmployeeDeduction.from_json(json_object: employee_deduction)
75
+ else
76
+ employee_deduction = nil
77
+ end
78
+ unless parsed_json["contribution"].nil?
79
+ contribution = parsed_json["contribution"].to_json
80
+ contribution = Gusto::CompanyBenefits::BenefitTypeRequirementsContribution.from_json(json_object: contribution)
81
+ else
82
+ contribution = nil
83
+ end
84
+ unless parsed_json["deduct_as_percentage"].nil?
85
+ deduct_as_percentage = parsed_json["deduct_as_percentage"].to_json
86
+ deduct_as_percentage = Gusto::CompanyBenefits::BenefitTypeRequirementsDeductAsPercentage.from_json(json_object: deduct_as_percentage)
87
+ else
88
+ deduct_as_percentage = nil
89
+ end
90
+ unless parsed_json["catch_up"].nil?
91
+ catch_up = parsed_json["catch_up"].to_json
92
+ catch_up = Gusto::CompanyBenefits::BenefitTypeRequirementsCatchUp.from_json(json_object: catch_up)
93
+ else
94
+ catch_up = nil
95
+ end
96
+ unless parsed_json["limit_option"].nil?
97
+ limit_option = parsed_json["limit_option"].to_json
98
+ limit_option = Gusto::CompanyBenefits::BenefitTypeRequirementsLimitOption.from_json(json_object: limit_option)
99
+ else
100
+ limit_option = nil
101
+ end
102
+ unless parsed_json["company_contribution_annual_maximum"].nil?
103
+ company_contribution_annual_maximum = parsed_json["company_contribution_annual_maximum"].to_json
104
+ company_contribution_annual_maximum = Gusto::CompanyBenefits::BenefitTypeRequirementsCompanyContributionAnnualMaximum.from_json(json_object: company_contribution_annual_maximum)
105
+ else
106
+ company_contribution_annual_maximum = nil
107
+ end
108
+ unless parsed_json["coverage_salary_multiplier"].nil?
109
+ coverage_salary_multiplier = parsed_json["coverage_salary_multiplier"].to_json
110
+ coverage_salary_multiplier = Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageSalaryMultiplier.from_json(json_object: coverage_salary_multiplier)
111
+ else
112
+ coverage_salary_multiplier = nil
113
+ end
114
+ unless parsed_json["coverage_amount"].nil?
115
+ coverage_amount = parsed_json["coverage_amount"].to_json
116
+ coverage_amount = Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageAmount.from_json(json_object: coverage_amount)
117
+ else
118
+ coverage_amount = nil
119
+ end
120
+ new(
121
+ employee_deduction: employee_deduction,
122
+ contribution: contribution,
123
+ deduct_as_percentage: deduct_as_percentage,
124
+ catch_up: catch_up,
125
+ limit_option: limit_option,
126
+ company_contribution_annual_maximum: company_contribution_annual_maximum,
127
+ coverage_salary_multiplier: coverage_salary_multiplier,
128
+ coverage_amount: coverage_amount,
129
+ additional_properties: struct
130
+ )
131
+ end
132
+ # Serialize an instance of BenefitTypeRequirements to a JSON object
133
+ #
134
+ # @return [String]
135
+ def to_json
136
+ @_field_set&.to_json
137
+ end
138
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
139
+ # hash and check each fields type against the current object's property
140
+ # definitions.
141
+ #
142
+ # @param obj [Object]
143
+ # @return [Void]
144
+ def self.validate_raw(obj:)
145
+ obj.employee_deduction.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsEmployeeDeduction.validate_raw(obj: obj.employee_deduction)
146
+ obj.contribution.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsContribution.validate_raw(obj: obj.contribution)
147
+ obj.deduct_as_percentage.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsDeductAsPercentage.validate_raw(obj: obj.deduct_as_percentage)
148
+ obj.catch_up.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsCatchUp.validate_raw(obj: obj.catch_up)
149
+ obj.limit_option.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsLimitOption.validate_raw(obj: obj.limit_option)
150
+ obj.company_contribution_annual_maximum.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsCompanyContributionAnnualMaximum.validate_raw(obj: obj.company_contribution_annual_maximum)
151
+ obj.coverage_salary_multiplier.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageSalaryMultiplier.validate_raw(obj: obj.coverage_salary_multiplier)
152
+ obj.coverage_amount.nil? || Gusto::CompanyBenefits::BenefitTypeRequirementsCoverageAmount.validate_raw(obj: obj.coverage_amount)
153
+ end
154
+ end
155
+ end
156
+ end