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,89 @@
1
+ # frozen_string_literal: true
2
+ require_relative "payroll_submission_blockers_type_item_unblock_options_item"
3
+ require_relative "payroll_submission_blockers_type_item_status"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Gusto
8
+ class PayrollSubmissionBlockersTypeItem
9
+ # @return [String] The type of blocker that's blocking the payment submission.
10
+ attr_reader :blocker_type
11
+ # @return [String] The name of the submission blocker.
12
+ attr_reader :blocker_name
13
+ # @return [Array<Gusto::PayrollSubmissionBlockersTypeItemUnblockOptionsItem>] The available options to unblock a submission blocker.
14
+ attr_reader :unblock_options
15
+ # @return [String] The unblock option that's been selected to resolve the submission blocker.
16
+ attr_reader :selected_option
17
+ # @return [Gusto::PayrollSubmissionBlockersTypeItemStatus] The status of the submission blocker.
18
+ attr_reader :status
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 blocker_type [String] The type of blocker that's blocking the payment submission.
28
+ # @param blocker_name [String] The name of the submission blocker.
29
+ # @param unblock_options [Array<Gusto::PayrollSubmissionBlockersTypeItemUnblockOptionsItem>] The available options to unblock a submission blocker.
30
+ # @param selected_option [String] The unblock option that's been selected to resolve the submission blocker.
31
+ # @param status [Gusto::PayrollSubmissionBlockersTypeItemStatus] The status of the submission blocker.
32
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
+ # @return [Gusto::PayrollSubmissionBlockersTypeItem]
34
+ def initialize(blocker_type: OMIT, blocker_name: OMIT, unblock_options: OMIT, selected_option: OMIT, status: OMIT, additional_properties: nil)
35
+ @blocker_type = blocker_type if blocker_type != OMIT
36
+ @blocker_name = blocker_name if blocker_name != OMIT
37
+ @unblock_options = unblock_options if unblock_options != OMIT
38
+ @selected_option = selected_option if selected_option != OMIT
39
+ @status = status if status != OMIT
40
+ @additional_properties = additional_properties
41
+ @_field_set = { "blocker_type": blocker_type, "blocker_name": blocker_name, "unblock_options": unblock_options, "selected_option": selected_option, "status": status }.reject do | _k, v |
42
+ v == OMIT
43
+ end
44
+ end
45
+ # Deserialize a JSON object to an instance of PayrollSubmissionBlockersTypeItem
46
+ #
47
+ # @param json_object [String]
48
+ # @return [Gusto::PayrollSubmissionBlockersTypeItem]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ blocker_type = parsed_json["blocker_type"]
53
+ blocker_name = parsed_json["blocker_name"]
54
+ unblock_options = parsed_json["unblock_options"]&.map do | item |
55
+ item = item.to_json
56
+ Gusto::PayrollSubmissionBlockersTypeItemUnblockOptionsItem.from_json(json_object: item)
57
+ end
58
+ selected_option = parsed_json["selected_option"]
59
+ status = parsed_json["status"]
60
+ new(
61
+ blocker_type: blocker_type,
62
+ blocker_name: blocker_name,
63
+ unblock_options: unblock_options,
64
+ selected_option: selected_option,
65
+ status: status,
66
+ additional_properties: struct
67
+ )
68
+ end
69
+ # Serialize an instance of PayrollSubmissionBlockersTypeItem to a JSON object
70
+ #
71
+ # @return [String]
72
+ def to_json
73
+ @_field_set&.to_json
74
+ end
75
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
76
+ # hash and check each fields type against the current object's property
77
+ # definitions.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Void]
81
+ def self.validate_raw(obj:)
82
+ obj.blocker_type&.is_a?(String) != false || raise("Passed value for field obj.blocker_type is not the expected type, validation failed.")
83
+ obj.blocker_name&.is_a?(String) != false || raise("Passed value for field obj.blocker_name is not the expected type, validation failed.")
84
+ obj.unblock_options&.is_a?(Array) != false || raise("Passed value for field obj.unblock_options is not the expected type, validation failed.")
85
+ obj.selected_option&.is_a?(String) != false || raise("Passed value for field obj.selected_option is not the expected type, validation failed.")
86
+ obj.status&.is_a?(Gusto::PayrollSubmissionBlockersTypeItemStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # The status of the submission blocker.
5
+ class PayrollSubmissionBlockersTypeItemStatus
6
+
7
+ UNRESOLVED = "unresolved"
8
+ RESOLVED = "resolved"
9
+
10
+ end
11
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ class PayrollSubmissionBlockersTypeItemUnblockOptionsItem
7
+ # @return [String] The type of unblock option for the submission blocker.
8
+ attr_reader :unblock_type
9
+ # @return [String] The payment check date associated with the unblock option.
10
+ attr_reader :check_date
11
+ # @return [Hash{String => Object}] Additional data associated with the unblock option.
12
+ attr_reader :metadata
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param unblock_type [String] The type of unblock option for the submission blocker.
22
+ # @param check_date [String] The payment check date associated with the unblock option.
23
+ # @param metadata [Hash{String => Object}] Additional data associated with the unblock option.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Gusto::PayrollSubmissionBlockersTypeItemUnblockOptionsItem]
26
+ def initialize(unblock_type: OMIT, check_date: OMIT, metadata: OMIT, additional_properties: nil)
27
+ @unblock_type = unblock_type if unblock_type != OMIT
28
+ @check_date = check_date if check_date != OMIT
29
+ @metadata = metadata if metadata != OMIT
30
+ @additional_properties = additional_properties
31
+ @_field_set = { "unblock_type": unblock_type, "check_date": check_date, "metadata": metadata }.reject do | _k, v |
32
+ v == OMIT
33
+ end
34
+ end
35
+ # Deserialize a JSON object to an instance of
36
+ # PayrollSubmissionBlockersTypeItemUnblockOptionsItem
37
+ #
38
+ # @param json_object [String]
39
+ # @return [Gusto::PayrollSubmissionBlockersTypeItemUnblockOptionsItem]
40
+ def self.from_json(json_object:)
41
+ struct = JSON.parse(json_object, object_class: OpenStruct)
42
+ parsed_json = JSON.parse(json_object)
43
+ unblock_type = parsed_json["unblock_type"]
44
+ check_date = parsed_json["check_date"]
45
+ metadata = parsed_json["metadata"]
46
+ new(
47
+ unblock_type: unblock_type,
48
+ check_date: check_date,
49
+ metadata: metadata,
50
+ additional_properties: struct
51
+ )
52
+ end
53
+ # Serialize an instance of PayrollSubmissionBlockersTypeItemUnblockOptionsItem to
54
+ # 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.unblock_type&.is_a?(String) != false || raise("Passed value for field obj.unblock_type is not the expected type, validation failed.")
68
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
69
+ obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,199 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ # The subtotals for the payroll.
7
+ class PayrollTotalsType
8
+ # @return [String] The total company debit for the payroll.
9
+ attr_reader :company_debit
10
+ # @return [String] The total company net pay for the payroll.
11
+ attr_reader :net_pay_debit
12
+ # @return [String] The total tax debit for the payroll.
13
+ attr_reader :tax_debit
14
+ # @return [String] The total reimbursement debit for the payroll.
15
+ attr_reader :reimbursement_debit
16
+ # @return [String] The total child support debit for the payroll.
17
+ attr_reader :child_support_debit
18
+ # @return [String] The total reimbursements for the payroll.
19
+ attr_reader :reimbursements
20
+ # @return [String] The net pay amount for the payroll.
21
+ attr_reader :net_pay
22
+ # @return [String] The gross pay amount for the payroll.
23
+ attr_reader :gross_pay
24
+ # @return [String] The total employee bonuses amount for the payroll.
25
+ attr_reader :employee_bonuses
26
+ # @return [String] The total employee commissions amount for the payroll.
27
+ attr_reader :employee_commissions
28
+ # @return [String] The total employee cash tips amount for the payroll.
29
+ attr_reader :employee_cash_tips
30
+ # @return [String] The total employee paycheck tips amount for the payroll.
31
+ attr_reader :employee_paycheck_tips
32
+ # @return [String] The total additional earnings amount for the payroll.
33
+ attr_reader :additional_earnings
34
+ # @return [String] The total owner's draw for the payroll.
35
+ attr_reader :owners_draw
36
+ # @return [String] The total check amount for the payroll.
37
+ attr_reader :check_amount
38
+ # @return [String] The total amount of employer paid taxes for the payroll.
39
+ attr_reader :employer_taxes
40
+ # @return [String] The total amount of employee paid taxes for the payroll.
41
+ attr_reader :employee_taxes
42
+ # @return [String] The total amount of company contributed benefits for the payroll.
43
+ attr_reader :benefits
44
+ # @return [String] The total amount of employee deducted benefits for the payroll.
45
+ attr_reader :employee_benefits_deductions
46
+ # @return [String] The total amount of payroll taxes deferred for the payroll, such as allowed by
47
+ # the CARES act.
48
+ attr_reader :deferred_payroll_taxes
49
+ # @return [String] The total amount of deductions for the payroll.
50
+ attr_reader :other_deductions
51
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
52
+ attr_reader :additional_properties
53
+ # @return [Object]
54
+ attr_reader :_field_set
55
+ protected :_field_set
56
+
57
+ OMIT = Object.new
58
+
59
+ # @param company_debit [String] The total company debit for the payroll.
60
+ # @param net_pay_debit [String] The total company net pay for the payroll.
61
+ # @param tax_debit [String] The total tax debit for the payroll.
62
+ # @param reimbursement_debit [String] The total reimbursement debit for the payroll.
63
+ # @param child_support_debit [String] The total child support debit for the payroll.
64
+ # @param reimbursements [String] The total reimbursements for the payroll.
65
+ # @param net_pay [String] The net pay amount for the payroll.
66
+ # @param gross_pay [String] The gross pay amount for the payroll.
67
+ # @param employee_bonuses [String] The total employee bonuses amount for the payroll.
68
+ # @param employee_commissions [String] The total employee commissions amount for the payroll.
69
+ # @param employee_cash_tips [String] The total employee cash tips amount for the payroll.
70
+ # @param employee_paycheck_tips [String] The total employee paycheck tips amount for the payroll.
71
+ # @param additional_earnings [String] The total additional earnings amount for the payroll.
72
+ # @param owners_draw [String] The total owner's draw for the payroll.
73
+ # @param check_amount [String] The total check amount for the payroll.
74
+ # @param employer_taxes [String] The total amount of employer paid taxes for the payroll.
75
+ # @param employee_taxes [String] The total amount of employee paid taxes for the payroll.
76
+ # @param benefits [String] The total amount of company contributed benefits for the payroll.
77
+ # @param employee_benefits_deductions [String] The total amount of employee deducted benefits for the payroll.
78
+ # @param deferred_payroll_taxes [String] The total amount of payroll taxes deferred for the payroll, such as allowed by
79
+ # the CARES act.
80
+ # @param other_deductions [String] The total amount of deductions for the payroll.
81
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
82
+ # @return [Gusto::PayrollTotalsType]
83
+ def initialize(company_debit: OMIT, net_pay_debit: OMIT, tax_debit: OMIT, reimbursement_debit: OMIT, child_support_debit: OMIT, reimbursements: OMIT, net_pay: OMIT, gross_pay: OMIT, employee_bonuses: OMIT, employee_commissions: OMIT, employee_cash_tips: OMIT, employee_paycheck_tips: OMIT, additional_earnings: OMIT, owners_draw: OMIT, check_amount: OMIT, employer_taxes: OMIT, employee_taxes: OMIT, benefits: OMIT, employee_benefits_deductions: OMIT, deferred_payroll_taxes: OMIT, other_deductions: OMIT, additional_properties: nil)
84
+ @company_debit = company_debit if company_debit != OMIT
85
+ @net_pay_debit = net_pay_debit if net_pay_debit != OMIT
86
+ @tax_debit = tax_debit if tax_debit != OMIT
87
+ @reimbursement_debit = reimbursement_debit if reimbursement_debit != OMIT
88
+ @child_support_debit = child_support_debit if child_support_debit != OMIT
89
+ @reimbursements = reimbursements if reimbursements != OMIT
90
+ @net_pay = net_pay if net_pay != OMIT
91
+ @gross_pay = gross_pay if gross_pay != OMIT
92
+ @employee_bonuses = employee_bonuses if employee_bonuses != OMIT
93
+ @employee_commissions = employee_commissions if employee_commissions != OMIT
94
+ @employee_cash_tips = employee_cash_tips if employee_cash_tips != OMIT
95
+ @employee_paycheck_tips = employee_paycheck_tips if employee_paycheck_tips != OMIT
96
+ @additional_earnings = additional_earnings if additional_earnings != OMIT
97
+ @owners_draw = owners_draw if owners_draw != OMIT
98
+ @check_amount = check_amount if check_amount != OMIT
99
+ @employer_taxes = employer_taxes if employer_taxes != OMIT
100
+ @employee_taxes = employee_taxes if employee_taxes != OMIT
101
+ @benefits = benefits if benefits != OMIT
102
+ @employee_benefits_deductions = employee_benefits_deductions if employee_benefits_deductions != OMIT
103
+ @deferred_payroll_taxes = deferred_payroll_taxes if deferred_payroll_taxes != OMIT
104
+ @other_deductions = other_deductions if other_deductions != OMIT
105
+ @additional_properties = additional_properties
106
+ @_field_set = { "company_debit": company_debit, "net_pay_debit": net_pay_debit, "tax_debit": tax_debit, "reimbursement_debit": reimbursement_debit, "child_support_debit": child_support_debit, "reimbursements": reimbursements, "net_pay": net_pay, "gross_pay": gross_pay, "employee_bonuses": employee_bonuses, "employee_commissions": employee_commissions, "employee_cash_tips": employee_cash_tips, "employee_paycheck_tips": employee_paycheck_tips, "additional_earnings": additional_earnings, "owners_draw": owners_draw, "check_amount": check_amount, "employer_taxes": employer_taxes, "employee_taxes": employee_taxes, "benefits": benefits, "employee_benefits_deductions": employee_benefits_deductions, "deferred_payroll_taxes": deferred_payroll_taxes, "other_deductions": other_deductions }.reject do | _k, v |
107
+ v == OMIT
108
+ end
109
+ end
110
+ # Deserialize a JSON object to an instance of PayrollTotalsType
111
+ #
112
+ # @param json_object [String]
113
+ # @return [Gusto::PayrollTotalsType]
114
+ def self.from_json(json_object:)
115
+ struct = JSON.parse(json_object, object_class: OpenStruct)
116
+ parsed_json = JSON.parse(json_object)
117
+ company_debit = parsed_json["company_debit"]
118
+ net_pay_debit = parsed_json["net_pay_debit"]
119
+ tax_debit = parsed_json["tax_debit"]
120
+ reimbursement_debit = parsed_json["reimbursement_debit"]
121
+ child_support_debit = parsed_json["child_support_debit"]
122
+ reimbursements = parsed_json["reimbursements"]
123
+ net_pay = parsed_json["net_pay"]
124
+ gross_pay = parsed_json["gross_pay"]
125
+ employee_bonuses = parsed_json["employee_bonuses"]
126
+ employee_commissions = parsed_json["employee_commissions"]
127
+ employee_cash_tips = parsed_json["employee_cash_tips"]
128
+ employee_paycheck_tips = parsed_json["employee_paycheck_tips"]
129
+ additional_earnings = parsed_json["additional_earnings"]
130
+ owners_draw = parsed_json["owners_draw"]
131
+ check_amount = parsed_json["check_amount"]
132
+ employer_taxes = parsed_json["employer_taxes"]
133
+ employee_taxes = parsed_json["employee_taxes"]
134
+ benefits = parsed_json["benefits"]
135
+ employee_benefits_deductions = parsed_json["employee_benefits_deductions"]
136
+ deferred_payroll_taxes = parsed_json["deferred_payroll_taxes"]
137
+ other_deductions = parsed_json["other_deductions"]
138
+ new(
139
+ company_debit: company_debit,
140
+ net_pay_debit: net_pay_debit,
141
+ tax_debit: tax_debit,
142
+ reimbursement_debit: reimbursement_debit,
143
+ child_support_debit: child_support_debit,
144
+ reimbursements: reimbursements,
145
+ net_pay: net_pay,
146
+ gross_pay: gross_pay,
147
+ employee_bonuses: employee_bonuses,
148
+ employee_commissions: employee_commissions,
149
+ employee_cash_tips: employee_cash_tips,
150
+ employee_paycheck_tips: employee_paycheck_tips,
151
+ additional_earnings: additional_earnings,
152
+ owners_draw: owners_draw,
153
+ check_amount: check_amount,
154
+ employer_taxes: employer_taxes,
155
+ employee_taxes: employee_taxes,
156
+ benefits: benefits,
157
+ employee_benefits_deductions: employee_benefits_deductions,
158
+ deferred_payroll_taxes: deferred_payroll_taxes,
159
+ other_deductions: other_deductions,
160
+ additional_properties: struct
161
+ )
162
+ end
163
+ # Serialize an instance of PayrollTotalsType to a JSON object
164
+ #
165
+ # @return [String]
166
+ def to_json
167
+ @_field_set&.to_json
168
+ end
169
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
170
+ # hash and check each fields type against the current object's property
171
+ # definitions.
172
+ #
173
+ # @param obj [Object]
174
+ # @return [Void]
175
+ def self.validate_raw(obj:)
176
+ obj.company_debit&.is_a?(String) != false || raise("Passed value for field obj.company_debit is not the expected type, validation failed.")
177
+ obj.net_pay_debit&.is_a?(String) != false || raise("Passed value for field obj.net_pay_debit is not the expected type, validation failed.")
178
+ obj.tax_debit&.is_a?(String) != false || raise("Passed value for field obj.tax_debit is not the expected type, validation failed.")
179
+ obj.reimbursement_debit&.is_a?(String) != false || raise("Passed value for field obj.reimbursement_debit is not the expected type, validation failed.")
180
+ obj.child_support_debit&.is_a?(String) != false || raise("Passed value for field obj.child_support_debit is not the expected type, validation failed.")
181
+ obj.reimbursements&.is_a?(String) != false || raise("Passed value for field obj.reimbursements is not the expected type, validation failed.")
182
+ obj.net_pay&.is_a?(String) != false || raise("Passed value for field obj.net_pay is not the expected type, validation failed.")
183
+ obj.gross_pay&.is_a?(String) != false || raise("Passed value for field obj.gross_pay is not the expected type, validation failed.")
184
+ obj.employee_bonuses&.is_a?(String) != false || raise("Passed value for field obj.employee_bonuses is not the expected type, validation failed.")
185
+ obj.employee_commissions&.is_a?(String) != false || raise("Passed value for field obj.employee_commissions is not the expected type, validation failed.")
186
+ obj.employee_cash_tips&.is_a?(String) != false || raise("Passed value for field obj.employee_cash_tips is not the expected type, validation failed.")
187
+ obj.employee_paycheck_tips&.is_a?(String) != false || raise("Passed value for field obj.employee_paycheck_tips is not the expected type, validation failed.")
188
+ obj.additional_earnings&.is_a?(String) != false || raise("Passed value for field obj.additional_earnings is not the expected type, validation failed.")
189
+ obj.owners_draw&.is_a?(String) != false || raise("Passed value for field obj.owners_draw is not the expected type, validation failed.")
190
+ obj.check_amount&.is_a?(String) != false || raise("Passed value for field obj.check_amount is not the expected type, validation failed.")
191
+ obj.employer_taxes&.is_a?(String) != false || raise("Passed value for field obj.employer_taxes is not the expected type, validation failed.")
192
+ obj.employee_taxes&.is_a?(String) != false || raise("Passed value for field obj.employee_taxes is not the expected type, validation failed.")
193
+ obj.benefits&.is_a?(String) != false || raise("Passed value for field obj.benefits is not the expected type, validation failed.")
194
+ obj.employee_benefits_deductions&.is_a?(String) != false || raise("Passed value for field obj.employee_benefits_deductions is not the expected type, validation failed.")
195
+ obj.deferred_payroll_taxes&.is_a?(String) != false || raise("Passed value for field obj.deferred_payroll_taxes is not the expected type, validation failed.")
196
+ obj.other_deductions&.is_a?(String) != false || raise("Passed value for field obj.other_deductions is not the expected type, validation failed.")
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # The payment schedule tax rate the payroll is based on. Only included for
5
+ # off-cycle payrolls.
6
+ class PayrollWithholdingPayPeriodType
7
+
8
+ EVERY_WEEK = "Every week"
9
+ EVERY_OTHER_WEEK = "Every other week"
10
+ TWICE_PER_MONTH = "Twice per month"
11
+ MONTHLY = "Monthly"
12
+ QUARTERLY = "Quarterly"
13
+ SEMIANNUALLY = "Semiannually"
14
+ ANNUALLY = "Annually"
15
+
16
+ end
17
+ end
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+ require_relative "recovery_case_status"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ # Representation of a recovery case
8
+ class RecoveryCase
9
+ # @return [String] Unique identifier of an recovery case
10
+ attr_reader :uuid
11
+ # @return [String] Unique identifier of the company to which the recovery case belongs
12
+ attr_reader :company_uuid
13
+ # @return [Gusto::RecoveryCaseStatus] Status of the recovery case
14
+ attr_reader :status
15
+ # @return [String] The latest bank error code for the recovery case. See [this
16
+ # le](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/)
17
+ # for a complete list of ACH return codes.
18
+ attr_reader :latest_error_code
19
+ # @return [String] Date when funds were originally debited from the company's bank account
20
+ attr_reader :original_debit_date
21
+ # @return [String] Check date for the associated payroll or contractor payments
22
+ attr_reader :check_date
23
+ # @return [String] The uuid of the associated payroll for which the recovery case was created. If
24
+ # the recovery case was created for a contractor payment, this field will be null.
25
+ attr_reader :payroll_uuid
26
+ # @return [Array<String>] The uuids of the associated contractor payments for which the recovery case was
27
+ # created. If the recovery case was created for a payroll, this field will be
28
+ # null.
29
+ attr_reader :contractor_payment_uuids
30
+ # @return [String] Amount outstanding for the recovery case
31
+ attr_reader :amount_outstanding
32
+ # @return [String] Total amount to be debited from the payroll or contractor payments
33
+ attr_reader :event_total_amount
34
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
35
+ attr_reader :additional_properties
36
+ # @return [Object]
37
+ attr_reader :_field_set
38
+ protected :_field_set
39
+
40
+ OMIT = Object.new
41
+
42
+ # @param uuid [String] Unique identifier of an recovery case
43
+ # @param company_uuid [String] Unique identifier of the company to which the recovery case belongs
44
+ # @param status [Gusto::RecoveryCaseStatus] Status of the recovery case
45
+ # @param latest_error_code [String] The latest bank error code for the recovery case. See [this
46
+ # le](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/)
47
+ # for a complete list of ACH return codes.
48
+ # @param original_debit_date [String] Date when funds were originally debited from the company's bank account
49
+ # @param check_date [String] Check date for the associated payroll or contractor payments
50
+ # @param payroll_uuid [String] The uuid of the associated payroll for which the recovery case was created. If
51
+ # the recovery case was created for a contractor payment, this field will be null.
52
+ # @param contractor_payment_uuids [Array<String>] The uuids of the associated contractor payments for which the recovery case was
53
+ # created. If the recovery case was created for a payroll, this field will be
54
+ # null.
55
+ # @param amount_outstanding [String] Amount outstanding for the recovery case
56
+ # @param event_total_amount [String] Total amount to be debited from the payroll or contractor payments
57
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
58
+ # @return [Gusto::RecoveryCase]
59
+ def initialize(uuid:, company_uuid: OMIT, status: OMIT, latest_error_code: OMIT, original_debit_date: OMIT, check_date: OMIT, payroll_uuid: OMIT, contractor_payment_uuids: OMIT, amount_outstanding: OMIT, event_total_amount: OMIT, additional_properties: nil)
60
+ @uuid = uuid
61
+ @company_uuid = company_uuid if company_uuid != OMIT
62
+ @status = status if status != OMIT
63
+ @latest_error_code = latest_error_code if latest_error_code != OMIT
64
+ @original_debit_date = original_debit_date if original_debit_date != OMIT
65
+ @check_date = check_date if check_date != OMIT
66
+ @payroll_uuid = payroll_uuid if payroll_uuid != OMIT
67
+ @contractor_payment_uuids = contractor_payment_uuids if contractor_payment_uuids != OMIT
68
+ @amount_outstanding = amount_outstanding if amount_outstanding != OMIT
69
+ @event_total_amount = event_total_amount if event_total_amount != OMIT
70
+ @additional_properties = additional_properties
71
+ @_field_set = { "uuid": uuid, "company_uuid": company_uuid, "status": status, "latest_error_code": latest_error_code, "original_debit_date": original_debit_date, "check_date": check_date, "payroll_uuid": payroll_uuid, "contractor_payment_uuids": contractor_payment_uuids, "amount_outstanding": amount_outstanding, "event_total_amount": event_total_amount }.reject do | _k, v |
72
+ v == OMIT
73
+ end
74
+ end
75
+ # Deserialize a JSON object to an instance of RecoveryCase
76
+ #
77
+ # @param json_object [String]
78
+ # @return [Gusto::RecoveryCase]
79
+ def self.from_json(json_object:)
80
+ struct = JSON.parse(json_object, object_class: OpenStruct)
81
+ parsed_json = JSON.parse(json_object)
82
+ uuid = parsed_json["uuid"]
83
+ company_uuid = parsed_json["company_uuid"]
84
+ status = parsed_json["status"]
85
+ latest_error_code = parsed_json["latest_error_code"]
86
+ original_debit_date = parsed_json["original_debit_date"]
87
+ check_date = parsed_json["check_date"]
88
+ payroll_uuid = parsed_json["payroll_uuid"]
89
+ contractor_payment_uuids = parsed_json["contractor_payment_uuids"]
90
+ amount_outstanding = parsed_json["amount_outstanding"]
91
+ event_total_amount = parsed_json["event_total_amount"]
92
+ new(
93
+ uuid: uuid,
94
+ company_uuid: company_uuid,
95
+ status: status,
96
+ latest_error_code: latest_error_code,
97
+ original_debit_date: original_debit_date,
98
+ check_date: check_date,
99
+ payroll_uuid: payroll_uuid,
100
+ contractor_payment_uuids: contractor_payment_uuids,
101
+ amount_outstanding: amount_outstanding,
102
+ event_total_amount: event_total_amount,
103
+ additional_properties: struct
104
+ )
105
+ end
106
+ # Serialize an instance of RecoveryCase to a JSON object
107
+ #
108
+ # @return [String]
109
+ def to_json
110
+ @_field_set&.to_json
111
+ end
112
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
113
+ # hash and check each fields type against the current object's property
114
+ # definitions.
115
+ #
116
+ # @param obj [Object]
117
+ # @return [Void]
118
+ def self.validate_raw(obj:)
119
+ obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
120
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
121
+ obj.status&.is_a?(Gusto::RecoveryCaseStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
122
+ obj.latest_error_code&.is_a?(String) != false || raise("Passed value for field obj.latest_error_code is not the expected type, validation failed.")
123
+ obj.original_debit_date&.is_a?(String) != false || raise("Passed value for field obj.original_debit_date is not the expected type, validation failed.")
124
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
125
+ obj.payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.payroll_uuid is not the expected type, validation failed.")
126
+ obj.contractor_payment_uuids&.is_a?(Array) != false || raise("Passed value for field obj.contractor_payment_uuids is not the expected type, validation failed.")
127
+ obj.amount_outstanding&.is_a?(String) != false || raise("Passed value for field obj.amount_outstanding is not the expected type, validation failed.")
128
+ obj.event_total_amount&.is_a?(String) != false || raise("Passed value for field obj.event_total_amount is not the expected type, validation failed.")
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # Status of the recovery case
5
+ class RecoveryCaseStatus
6
+
7
+ OPEN = "open"
8
+ REDEBIT_INITIATED = "redebit_initiated"
9
+ WIRE_INITIATED = "wire_initiated"
10
+ RECOVERED = "recovered"
11
+ LOST = "lost"
12
+
13
+ end
14
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+ require_relative "rehire_employment_status"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ class Rehire
8
+ # @return [String] The current version of the object. See the [versioning
9
+ # guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
10
+ # information on how to use this field.
11
+ attr_reader :version
12
+ # @return [String] The day when the employee returns to work.
13
+ attr_reader :effective_date
14
+ # @return [Boolean] The boolean flag indicating whether Gusto will file a new hire report for the
15
+ # employee.
16
+ attr_reader :file_new_hire_report
17
+ # @return [String] The uuid of the employee's work location.
18
+ attr_reader :work_location_uuid
19
+ # @return [Gusto::RehireEmploymentStatus] The employee's employment status. Supplying an invalid option will set the
20
+ # employment_status to _not_set_.
21
+ attr_reader :employment_status
22
+ # @return [Boolean] Whether the employee is a two percent shareholder of the company. This field
23
+ # only applies to companies with an S-Corp entity type.
24
+ attr_reader :two_percent_shareholder
25
+ # @return [String] The UUID of the employee.
26
+ attr_reader :employee_uuid
27
+ # @return [Boolean] Whether the employee's rehire has gone into effect.
28
+ attr_reader :active
29
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
30
+ attr_reader :additional_properties
31
+ # @return [Object]
32
+ attr_reader :_field_set
33
+ protected :_field_set
34
+
35
+ OMIT = Object.new
36
+
37
+ # @param version [String] The current version of the object. See the [versioning
38
+ # guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
39
+ # information on how to use this field.
40
+ # @param effective_date [String] The day when the employee returns to work.
41
+ # @param file_new_hire_report [Boolean] The boolean flag indicating whether Gusto will file a new hire report for the
42
+ # employee.
43
+ # @param work_location_uuid [String] The uuid of the employee's work location.
44
+ # @param employment_status [Gusto::RehireEmploymentStatus] The employee's employment status. Supplying an invalid option will set the
45
+ # employment_status to _not_set_.
46
+ # @param two_percent_shareholder [Boolean] Whether the employee is a two percent shareholder of the company. This field
47
+ # only applies to companies with an S-Corp entity type.
48
+ # @param employee_uuid [String] The UUID of the employee.
49
+ # @param active [Boolean] Whether the employee's rehire has gone into effect.
50
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
51
+ # @return [Gusto::Rehire]
52
+ def initialize(version: OMIT, effective_date: OMIT, file_new_hire_report: OMIT, work_location_uuid: OMIT, employment_status: OMIT, two_percent_shareholder: OMIT, employee_uuid: OMIT, active: OMIT, additional_properties: nil)
53
+ @version = version if version != OMIT
54
+ @effective_date = effective_date if effective_date != OMIT
55
+ @file_new_hire_report = file_new_hire_report if file_new_hire_report != OMIT
56
+ @work_location_uuid = work_location_uuid if work_location_uuid != OMIT
57
+ @employment_status = employment_status if employment_status != OMIT
58
+ @two_percent_shareholder = two_percent_shareholder if two_percent_shareholder != OMIT
59
+ @employee_uuid = employee_uuid if employee_uuid != OMIT
60
+ @active = active if active != OMIT
61
+ @additional_properties = additional_properties
62
+ @_field_set = { "version": version, "effective_date": effective_date, "file_new_hire_report": file_new_hire_report, "work_location_uuid": work_location_uuid, "employment_status": employment_status, "two_percent_shareholder": two_percent_shareholder, "employee_uuid": employee_uuid, "active": active }.reject do | _k, v |
63
+ v == OMIT
64
+ end
65
+ end
66
+ # Deserialize a JSON object to an instance of Rehire
67
+ #
68
+ # @param json_object [String]
69
+ # @return [Gusto::Rehire]
70
+ def self.from_json(json_object:)
71
+ struct = JSON.parse(json_object, object_class: OpenStruct)
72
+ parsed_json = JSON.parse(json_object)
73
+ version = parsed_json["version"]
74
+ effective_date = parsed_json["effective_date"]
75
+ file_new_hire_report = parsed_json["file_new_hire_report"]
76
+ work_location_uuid = parsed_json["work_location_uuid"]
77
+ employment_status = parsed_json["employment_status"]
78
+ two_percent_shareholder = parsed_json["two_percent_shareholder"]
79
+ employee_uuid = parsed_json["employee_uuid"]
80
+ active = parsed_json["active"]
81
+ new(
82
+ version: version,
83
+ effective_date: effective_date,
84
+ file_new_hire_report: file_new_hire_report,
85
+ work_location_uuid: work_location_uuid,
86
+ employment_status: employment_status,
87
+ two_percent_shareholder: two_percent_shareholder,
88
+ employee_uuid: employee_uuid,
89
+ active: active,
90
+ additional_properties: struct
91
+ )
92
+ end
93
+ # Serialize an instance of Rehire to a JSON object
94
+ #
95
+ # @return [String]
96
+ def to_json
97
+ @_field_set&.to_json
98
+ end
99
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
100
+ # hash and check each fields type against the current object's property
101
+ # definitions.
102
+ #
103
+ # @param obj [Object]
104
+ # @return [Void]
105
+ def self.validate_raw(obj:)
106
+ obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
107
+ obj.effective_date&.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
108
+ obj.file_new_hire_report&.is_a?(Boolean) != false || raise("Passed value for field obj.file_new_hire_report is not the expected type, validation failed.")
109
+ obj.work_location_uuid&.is_a?(String) != false || raise("Passed value for field obj.work_location_uuid is not the expected type, validation failed.")
110
+ obj.employment_status&.is_a?(Gusto::RehireEmploymentStatus) != false || raise("Passed value for field obj.employment_status is not the expected type, validation failed.")
111
+ obj.two_percent_shareholder&.is_a?(Boolean) != false || raise("Passed value for field obj.two_percent_shareholder is not the expected type, validation failed.")
112
+ obj.employee_uuid&.is_a?(String) != false || raise("Passed value for field obj.employee_uuid is not the expected type, validation failed.")
113
+ obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
114
+ end
115
+ end
116
+ end