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,59 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../custom_fields/types/employee_custom_field"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ module Employees
8
+ class EmployeesGetCustomFieldsResponse
9
+ # @return [Array<Gusto::CustomFields::EmployeeCustomField>]
10
+ attr_reader :custom_fields
11
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
12
+ attr_reader :additional_properties
13
+ # @return [Object]
14
+ attr_reader :_field_set
15
+ protected :_field_set
16
+
17
+ OMIT = Object.new
18
+
19
+ # @param custom_fields [Array<Gusto::CustomFields::EmployeeCustomField>]
20
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
21
+ # @return [Gusto::Employees::EmployeesGetCustomFieldsResponse]
22
+ def initialize(custom_fields: OMIT, additional_properties: nil)
23
+ @custom_fields = custom_fields if custom_fields != OMIT
24
+ @additional_properties = additional_properties
25
+ @_field_set = { "custom_fields": custom_fields }.reject do | _k, v |
26
+ v == OMIT
27
+ end
28
+ end
29
+ # Deserialize a JSON object to an instance of EmployeesGetCustomFieldsResponse
30
+ #
31
+ # @param json_object [String]
32
+ # @return [Gusto::Employees::EmployeesGetCustomFieldsResponse]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ custom_fields = parsed_json["custom_fields"]&.map do | item |
37
+ item = item.to_json
38
+ Gusto::CustomFields::EmployeeCustomField.from_json(json_object: item)
39
+ end
40
+ new(custom_fields: custom_fields, additional_properties: struct)
41
+ end
42
+ # Serialize an instance of EmployeesGetCustomFieldsResponse to a JSON object
43
+ #
44
+ # @return [String]
45
+ def to_json
46
+ @_field_set&.to_json
47
+ end
48
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
49
+ # hash and check each fields type against the current object's property
50
+ # definitions.
51
+ #
52
+ # @param obj [Object]
53
+ # @return [Void]
54
+ def self.validate_raw(obj:)
55
+ obj.custom_fields&.is_a?(Array) != false || raise("Passed value for field obj.custom_fields is not the expected type, validation failed.")
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module Employees
5
+ class EmployeesGetRequestInclude
6
+
7
+ ALL_COMPENSATIONS = "all_compensations"
8
+ CUSTOM_FIELDS = "custom_fields"
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../requests"
3
+ require_relative "types/events_list_request_sort_order"
4
+ require_relative "../types/event"
5
+ require "json"
6
+ require "async"
7
+ require_relative "../../requests"
8
+
9
+ module Gusto
10
+ class EventsClient
11
+ # @return [Gusto::RequestClient]
12
+ attr_reader :request_client
13
+
14
+
15
+ # @param request_client [Gusto::RequestClient]
16
+ # @return [Gusto::EventsClient]
17
+ def initialize(request_client:)
18
+ @request_client = request_client
19
+ end
20
+ # Fetch all events, going back up to 30 days, that your partner application has
21
+ # the required scopes for. Note that a partner does NOT have to have verified
22
+ # webhook subscriptions in order to utilize this endpoint.
23
+ # > 📘 System Access Authentication
24
+ # >
25
+ # > This endpoint uses the [Bearer Auth scheme with the system-level access token
26
+ # in the HTTP Authorization
27
+ # header](https://docs.gusto.com/embedded-payroll/docs/system-access).
28
+ # scope: `events:read`
29
+ #
30
+ # @param starting_after_uuid [String] A cursor for pagination. Returns all events occuring after the specified UUID
31
+ # (exclusive). Events are sorted according to the provided sort_order param.
32
+ # @param resource_uuid [String] The UUID of the company. If not specified, will return all events for all
33
+ # companies.
34
+ # @param limit [String] Limits the number of objects returned in a single response, between 1 and 100.
35
+ # The default is 25
36
+ # @param event_type [String] A string containing the exact event name (e.g. `employee.created`), or use a
37
+ # wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`,
38
+ # `notification.*.created` etc.)
39
+ # @param sort_order [Gusto::Events::EventsListRequestSortOrder] A string indicating whether to sort resulting events in ascending (asc) or
40
+ # descending (desc) chronological order. Events are sorted by their `timestamp`.
41
+ # Defaults to asc if left empty.
42
+ # @param request_options [Gusto::RequestOptions]
43
+ # @return [Array<Gusto::Event>]
44
+ # @example
45
+ # api = Gusto::Client.new(
46
+ # base_url: "https://api.example.com",
47
+ # environment: Gusto::Environment::DEMO,
48
+ # token: "YOUR_AUTH_TOKEN"
49
+ # )
50
+ # api.events.list
51
+ def list(starting_after_uuid: nil, resource_uuid: nil, limit: nil, event_type: nil, sort_order: nil, request_options: nil)
52
+ response = @request_client.conn.get do | req |
53
+ unless request_options&.timeout_in_seconds.nil?
54
+ req.options.timeout = request_options.timeout_in_seconds
55
+ end
56
+ unless request_options&.token.nil?
57
+ req.headers["Authorization"] = request_options.token
58
+ end
59
+ unless request_options&.gusto_api_version.nil?
60
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
61
+ end
62
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
63
+ req.params = { **(request_options&.additional_query_parameters || {}), "starting_after_uuid": starting_after_uuid, "resource_uuid": resource_uuid, "limit": limit, "event_type": event_type, "sort_order": sort_order }.compact
64
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
65
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
66
+ end
67
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/events"
68
+ end
69
+ parsed_json = JSON.parse(response.body)
70
+ parsed_json&.map do | item |
71
+ item = item.to_json
72
+ Gusto::Event.from_json(json_object: item)
73
+ end
74
+ end
75
+ end
76
+ class AsyncEventsClient
77
+ # @return [Gusto::AsyncRequestClient]
78
+ attr_reader :request_client
79
+
80
+
81
+ # @param request_client [Gusto::RequestClient]
82
+ # @return [Gusto::AsyncEventsClient]
83
+ def initialize(request_client:)
84
+ @request_client = request_client
85
+ end
86
+ # Fetch all events, going back up to 30 days, that your partner application has
87
+ # the required scopes for. Note that a partner does NOT have to have verified
88
+ # webhook subscriptions in order to utilize this endpoint.
89
+ # > 📘 System Access Authentication
90
+ # >
91
+ # > This endpoint uses the [Bearer Auth scheme with the system-level access token
92
+ # in the HTTP Authorization
93
+ # header](https://docs.gusto.com/embedded-payroll/docs/system-access).
94
+ # scope: `events:read`
95
+ #
96
+ # @param starting_after_uuid [String] A cursor for pagination. Returns all events occuring after the specified UUID
97
+ # (exclusive). Events are sorted according to the provided sort_order param.
98
+ # @param resource_uuid [String] The UUID of the company. If not specified, will return all events for all
99
+ # companies.
100
+ # @param limit [String] Limits the number of objects returned in a single response, between 1 and 100.
101
+ # The default is 25
102
+ # @param event_type [String] A string containing the exact event name (e.g. `employee.created`), or use a
103
+ # wildcard match to filter for a group of events (e.g. `employee.*`, `*.created`,
104
+ # `notification.*.created` etc.)
105
+ # @param sort_order [Gusto::Events::EventsListRequestSortOrder] A string indicating whether to sort resulting events in ascending (asc) or
106
+ # descending (desc) chronological order. Events are sorted by their `timestamp`.
107
+ # Defaults to asc if left empty.
108
+ # @param request_options [Gusto::RequestOptions]
109
+ # @return [Array<Gusto::Event>]
110
+ # @example
111
+ # api = Gusto::Client.new(
112
+ # base_url: "https://api.example.com",
113
+ # environment: Gusto::Environment::DEMO,
114
+ # token: "YOUR_AUTH_TOKEN"
115
+ # )
116
+ # api.events.list
117
+ def list(starting_after_uuid: nil, resource_uuid: nil, limit: nil, event_type: nil, sort_order: nil, request_options: nil)
118
+ Async do
119
+ response = @request_client.conn.get do | req |
120
+ unless request_options&.timeout_in_seconds.nil?
121
+ req.options.timeout = request_options.timeout_in_seconds
122
+ end
123
+ unless request_options&.token.nil?
124
+ req.headers["Authorization"] = request_options.token
125
+ end
126
+ unless request_options&.gusto_api_version.nil?
127
+ req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
128
+ end
129
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
130
+ req.params = { **(request_options&.additional_query_parameters || {}), "starting_after_uuid": starting_after_uuid, "resource_uuid": resource_uuid, "limit": limit, "event_type": event_type, "sort_order": sort_order }.compact
131
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
132
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
133
+ end
134
+ req.url "#{@request_client.get_url(request_options: request_options)}/v1/events"
135
+ end
136
+ parsed_json = JSON.parse(response.body)
137
+ parsed_json&.map do | item |
138
+ item = item.to_json
139
+ Gusto::Event.from_json(json_object: item)
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module Events
5
+ class EventsListRequestSortOrder
6
+
7
+ ASC = "asc"
8
+ DESC = "desc"
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+ require_relative "external_payroll_status"
3
+ require_relative "external_payroll_external_payroll_items_item"
4
+ require_relative "external_payroll_applicable_earnings_item"
5
+ require_relative "external_payroll_applicable_benefits_item"
6
+ require_relative "external_payroll_applicable_taxes_item"
7
+ require_relative "external_payroll_metadata"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module Gusto
12
+ module ExternalPayrolls
13
+ # The representation of an external payroll.
14
+ class ExternalPayroll
15
+ # @return [String] The UUID of the external payroll.
16
+ attr_reader :uuid
17
+ # @return [String] The UUID of the company.
18
+ attr_reader :company_uuid
19
+ # @return [String] External payroll's check date.
20
+ attr_reader :check_date
21
+ # @return [String] External payroll's pay period start date.
22
+ attr_reader :payment_period_start_date
23
+ # @return [String] External payroll's pay period end date.
24
+ attr_reader :payment_period_end_date
25
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollStatus] The status of the external payroll. The status will be `unprocessed` when the
26
+ # external payroll is created and transition to `processed` once tax liabilities
27
+ # are entered and finalized. Once in the `processed` status all actions that can
28
+ # edit an external payroll will be disabled.
29
+ attr_reader :status
30
+ # @return [Array<Gusto::ExternalPayrolls::ExternalPayrollExternalPayrollItemsItem>] External payroll items for employees
31
+ attr_reader :external_payroll_items
32
+ # @return [Array<Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem>] Applicable earnings based on company provisioning.
33
+ attr_reader :applicable_earnings
34
+ # @return [Array<Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem>] Applicable benefits based on company provisioning.
35
+ attr_reader :applicable_benefits
36
+ # @return [Array<Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem>] Applicable taxes based on company provisioning.
37
+ attr_reader :applicable_taxes
38
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollMetadata] Stores metadata of the external payroll.
39
+ attr_reader :metadata
40
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
41
+ attr_reader :additional_properties
42
+ # @return [Object]
43
+ attr_reader :_field_set
44
+ protected :_field_set
45
+
46
+ OMIT = Object.new
47
+
48
+ # @param uuid [String] The UUID of the external payroll.
49
+ # @param company_uuid [String] The UUID of the company.
50
+ # @param check_date [String] External payroll's check date.
51
+ # @param payment_period_start_date [String] External payroll's pay period start date.
52
+ # @param payment_period_end_date [String] External payroll's pay period end date.
53
+ # @param status [Gusto::ExternalPayrolls::ExternalPayrollStatus] The status of the external payroll. The status will be `unprocessed` when the
54
+ # external payroll is created and transition to `processed` once tax liabilities
55
+ # are entered and finalized. Once in the `processed` status all actions that can
56
+ # edit an external payroll will be disabled.
57
+ # @param external_payroll_items [Array<Gusto::ExternalPayrolls::ExternalPayrollExternalPayrollItemsItem>] External payroll items for employees
58
+ # @param applicable_earnings [Array<Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem>] Applicable earnings based on company provisioning.
59
+ # @param applicable_benefits [Array<Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem>] Applicable benefits based on company provisioning.
60
+ # @param applicable_taxes [Array<Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem>] Applicable taxes based on company provisioning.
61
+ # @param metadata [Gusto::ExternalPayrolls::ExternalPayrollMetadata] Stores metadata of the external payroll.
62
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
63
+ # @return [Gusto::ExternalPayrolls::ExternalPayroll]
64
+ def initialize(uuid:, company_uuid: OMIT, check_date: OMIT, payment_period_start_date: OMIT, payment_period_end_date: OMIT, status: OMIT, external_payroll_items: OMIT, applicable_earnings: OMIT, applicable_benefits: OMIT, applicable_taxes: OMIT, metadata: OMIT, additional_properties: nil)
65
+ @uuid = uuid
66
+ @company_uuid = company_uuid if company_uuid != OMIT
67
+ @check_date = check_date if check_date != OMIT
68
+ @payment_period_start_date = payment_period_start_date if payment_period_start_date != OMIT
69
+ @payment_period_end_date = payment_period_end_date if payment_period_end_date != OMIT
70
+ @status = status if status != OMIT
71
+ @external_payroll_items = external_payroll_items if external_payroll_items != OMIT
72
+ @applicable_earnings = applicable_earnings if applicable_earnings != OMIT
73
+ @applicable_benefits = applicable_benefits if applicable_benefits != OMIT
74
+ @applicable_taxes = applicable_taxes if applicable_taxes != OMIT
75
+ @metadata = metadata if metadata != OMIT
76
+ @additional_properties = additional_properties
77
+ @_field_set = { "uuid": uuid, "company_uuid": company_uuid, "check_date": check_date, "payment_period_start_date": payment_period_start_date, "payment_period_end_date": payment_period_end_date, "status": status, "external_payroll_items": external_payroll_items, "applicable_earnings": applicable_earnings, "applicable_benefits": applicable_benefits, "applicable_taxes": applicable_taxes, "metadata": metadata }.reject do | _k, v |
78
+ v == OMIT
79
+ end
80
+ end
81
+ # Deserialize a JSON object to an instance of ExternalPayroll
82
+ #
83
+ # @param json_object [String]
84
+ # @return [Gusto::ExternalPayrolls::ExternalPayroll]
85
+ def self.from_json(json_object:)
86
+ struct = JSON.parse(json_object, object_class: OpenStruct)
87
+ parsed_json = JSON.parse(json_object)
88
+ uuid = parsed_json["uuid"]
89
+ company_uuid = parsed_json["company_uuid"]
90
+ check_date = parsed_json["check_date"]
91
+ payment_period_start_date = parsed_json["payment_period_start_date"]
92
+ payment_period_end_date = parsed_json["payment_period_end_date"]
93
+ status = parsed_json["status"]
94
+ external_payroll_items = parsed_json["external_payroll_items"]&.map do | item |
95
+ item = item.to_json
96
+ Gusto::ExternalPayrolls::ExternalPayrollExternalPayrollItemsItem.from_json(json_object: item)
97
+ end
98
+ applicable_earnings = parsed_json["applicable_earnings"]&.map do | item |
99
+ item = item.to_json
100
+ Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem.from_json(json_object: item)
101
+ end
102
+ applicable_benefits = parsed_json["applicable_benefits"]&.map do | item |
103
+ item = item.to_json
104
+ Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem.from_json(json_object: item)
105
+ end
106
+ applicable_taxes = parsed_json["applicable_taxes"]&.map do | item |
107
+ item = item.to_json
108
+ Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem.from_json(json_object: item)
109
+ end
110
+ unless parsed_json["metadata"].nil?
111
+ metadata = parsed_json["metadata"].to_json
112
+ metadata = Gusto::ExternalPayrolls::ExternalPayrollMetadata.from_json(json_object: metadata)
113
+ else
114
+ metadata = nil
115
+ end
116
+ new(
117
+ uuid: uuid,
118
+ company_uuid: company_uuid,
119
+ check_date: check_date,
120
+ payment_period_start_date: payment_period_start_date,
121
+ payment_period_end_date: payment_period_end_date,
122
+ status: status,
123
+ external_payroll_items: external_payroll_items,
124
+ applicable_earnings: applicable_earnings,
125
+ applicable_benefits: applicable_benefits,
126
+ applicable_taxes: applicable_taxes,
127
+ metadata: metadata,
128
+ additional_properties: struct
129
+ )
130
+ end
131
+ # Serialize an instance of ExternalPayroll to a JSON object
132
+ #
133
+ # @return [String]
134
+ def to_json
135
+ @_field_set&.to_json
136
+ end
137
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
138
+ # hash and check each fields type against the current object's property
139
+ # definitions.
140
+ #
141
+ # @param obj [Object]
142
+ # @return [Void]
143
+ def self.validate_raw(obj:)
144
+ obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
145
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
146
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
147
+ obj.payment_period_start_date&.is_a?(String) != false || raise("Passed value for field obj.payment_period_start_date is not the expected type, validation failed.")
148
+ obj.payment_period_end_date&.is_a?(String) != false || raise("Passed value for field obj.payment_period_end_date is not the expected type, validation failed.")
149
+ obj.status&.is_a?(Gusto::ExternalPayrolls::ExternalPayrollStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
150
+ obj.external_payroll_items&.is_a?(Array) != false || raise("Passed value for field obj.external_payroll_items is not the expected type, validation failed.")
151
+ obj.applicable_earnings&.is_a?(Array) != false || raise("Passed value for field obj.applicable_earnings is not the expected type, validation failed.")
152
+ obj.applicable_benefits&.is_a?(Array) != false || raise("Passed value for field obj.applicable_benefits is not the expected type, validation failed.")
153
+ obj.applicable_taxes&.is_a?(Array) != false || raise("Passed value for field obj.applicable_taxes is not the expected type, validation failed.")
154
+ obj.metadata.nil? || Gusto::ExternalPayrolls::ExternalPayrollMetadata.validate_raw(obj: obj.metadata)
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module ExternalPayrolls
7
+ class ExternalPayrollApplicableBenefitsItem
8
+ # @return [Integer]
9
+ attr_reader :id
10
+ # @return [String]
11
+ attr_reader :description
12
+ # @return [Boolean]
13
+ attr_reader :active
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 id [Integer]
23
+ # @param description [String]
24
+ # @param active [Boolean]
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem]
27
+ def initialize(id: OMIT, description: OMIT, active: OMIT, additional_properties: nil)
28
+ @id = id if id != OMIT
29
+ @description = description if description != OMIT
30
+ @active = active if active != OMIT
31
+ @additional_properties = additional_properties
32
+ @_field_set = { "id": id, "description": description, "active": active }.reject do | _k, v |
33
+ v == OMIT
34
+ end
35
+ end
36
+ # Deserialize a JSON object to an instance of
37
+ # ExternalPayrollApplicableBenefitsItem
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ id = parsed_json["id"]
45
+ description = parsed_json["description"]
46
+ active = parsed_json["active"]
47
+ new(
48
+ id: id,
49
+ description: description,
50
+ active: active,
51
+ additional_properties: struct
52
+ )
53
+ end
54
+ # Serialize an instance of ExternalPayrollApplicableBenefitsItem 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.id&.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
68
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
69
+ obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module ExternalPayrolls
7
+ class ExternalPayrollApplicableEarningsItem
8
+ # @return [String]
9
+ attr_reader :earning_type
10
+ # @return [Float]
11
+ attr_reader :earning_id
12
+ # @return [String]
13
+ attr_reader :name
14
+ # @return [String]
15
+ attr_reader :input_type
16
+ # @return [String]
17
+ attr_reader :category
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 earning_type [String]
27
+ # @param earning_id [Float]
28
+ # @param name [String]
29
+ # @param input_type [String]
30
+ # @param category [String]
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem]
33
+ def initialize(earning_type: OMIT, earning_id: OMIT, name: OMIT, input_type: OMIT, category: OMIT, additional_properties: nil)
34
+ @earning_type = earning_type if earning_type != OMIT
35
+ @earning_id = earning_id if earning_id != OMIT
36
+ @name = name if name != OMIT
37
+ @input_type = input_type if input_type != OMIT
38
+ @category = category if category != OMIT
39
+ @additional_properties = additional_properties
40
+ @_field_set = { "earning_type": earning_type, "earning_id": earning_id, "name": name, "input_type": input_type, "category": category }.reject do | _k, v |
41
+ v == OMIT
42
+ end
43
+ end
44
+ # Deserialize a JSON object to an instance of
45
+ # ExternalPayrollApplicableEarningsItem
46
+ #
47
+ # @param json_object [String]
48
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ earning_type = parsed_json["earning_type"]
53
+ earning_id = parsed_json["earning_id"]
54
+ name = parsed_json["name"]
55
+ input_type = parsed_json["input_type"]
56
+ category = parsed_json["category"]
57
+ new(
58
+ earning_type: earning_type,
59
+ earning_id: earning_id,
60
+ name: name,
61
+ input_type: input_type,
62
+ category: category,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+ # Serialize an instance of ExternalPayrollApplicableEarningsItem to a JSON object
67
+ #
68
+ # @return [String]
69
+ def to_json
70
+ @_field_set&.to_json
71
+ end
72
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
73
+ # hash and check each fields type against the current object's property
74
+ # definitions.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Void]
78
+ def self.validate_raw(obj:)
79
+ obj.earning_type&.is_a?(String) != false || raise("Passed value for field obj.earning_type is not the expected type, validation failed.")
80
+ obj.earning_id&.is_a?(Float) != false || raise("Passed value for field obj.earning_id is not the expected type, validation failed.")
81
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
82
+ obj.input_type&.is_a?(String) != false || raise("Passed value for field obj.input_type is not the expected type, validation failed.")
83
+ obj.category&.is_a?(String) != false || raise("Passed value for field obj.category is not the expected type, validation failed.")
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module ExternalPayrolls
7
+ class ExternalPayrollApplicableTaxesItem
8
+ # @return [Integer]
9
+ attr_reader :id
10
+ # @return [String]
11
+ attr_reader :name
12
+ # @return [Boolean] Some taxes may have an amount withheld from the employee and an amount withheld
13
+ # from the employer, e.g. Social Security. A `true` value indicates this is the
14
+ # employer's amount.
15
+ attr_reader :employer_tax
16
+ # @return [Boolean] Some taxes may have different rates or reporting requirements depending on if
17
+ # the employee is a resident or non-resident of the tax jurisdiction.
18
+ attr_reader :resident_tax
19
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
20
+ attr_reader :additional_properties
21
+ # @return [Object]
22
+ attr_reader :_field_set
23
+ protected :_field_set
24
+
25
+ OMIT = Object.new
26
+
27
+ # @param id [Integer]
28
+ # @param name [String]
29
+ # @param employer_tax [Boolean] Some taxes may have an amount withheld from the employee and an amount withheld
30
+ # from the employer, e.g. Social Security. A `true` value indicates this is the
31
+ # employer's amount.
32
+ # @param resident_tax [Boolean] Some taxes may have different rates or reporting requirements depending on if
33
+ # the employee is a resident or non-resident of the tax jurisdiction.
34
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
35
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem]
36
+ def initialize(id: OMIT, name: OMIT, employer_tax: OMIT, resident_tax: OMIT, additional_properties: nil)
37
+ @id = id if id != OMIT
38
+ @name = name if name != OMIT
39
+ @employer_tax = employer_tax if employer_tax != OMIT
40
+ @resident_tax = resident_tax if resident_tax != OMIT
41
+ @additional_properties = additional_properties
42
+ @_field_set = { "id": id, "name": name, "employer_tax": employer_tax, "resident_tax": resident_tax }.reject do | _k, v |
43
+ v == OMIT
44
+ end
45
+ end
46
+ # Deserialize a JSON object to an instance of ExternalPayrollApplicableTaxesItem
47
+ #
48
+ # @param json_object [String]
49
+ # @return [Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem]
50
+ def self.from_json(json_object:)
51
+ struct = JSON.parse(json_object, object_class: OpenStruct)
52
+ parsed_json = JSON.parse(json_object)
53
+ id = parsed_json["id"]
54
+ name = parsed_json["name"]
55
+ employer_tax = parsed_json["employer_tax"]
56
+ resident_tax = parsed_json["resident_tax"]
57
+ new(
58
+ id: id,
59
+ name: name,
60
+ employer_tax: employer_tax,
61
+ resident_tax: resident_tax,
62
+ additional_properties: struct
63
+ )
64
+ end
65
+ # Serialize an instance of ExternalPayrollApplicableTaxesItem to a JSON object
66
+ #
67
+ # @return [String]
68
+ def to_json
69
+ @_field_set&.to_json
70
+ end
71
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
72
+ # hash and check each fields type against the current object's property
73
+ # definitions.
74
+ #
75
+ # @param obj [Object]
76
+ # @return [Void]
77
+ def self.validate_raw(obj:)
78
+ obj.id&.is_a?(Integer) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
79
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
80
+ obj.employer_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.employer_tax is not the expected type, validation failed.")
81
+ obj.resident_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.resident_tax is not the expected type, validation failed.")
82
+ end
83
+ end
84
+ end
85
+ end