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,177 @@
1
+ # frozen_string_literal: true
2
+ require_relative "payroll_receipt_totals"
3
+ require_relative "payroll_receipt_taxes_item"
4
+ require_relative "payroll_receipt_employee_compensations_item"
5
+ require_relative "payroll_receipt_licensee"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Gusto
10
+ class PayrollReceipt
11
+ # @return [String] A unique identifier of the payroll receipt.
12
+ attr_reader :payroll_uuid
13
+ # @return [String] A unique identifier of the company for the payroll.
14
+ attr_reader :company_uuid
15
+ # @return [String] The name of the company by whom the payroll was paid
16
+ attr_reader :name_of_sender
17
+ # @return [String] Always the fixed string "Payroll Recipients"
18
+ attr_reader :name_of_recipient
19
+ # @return [String] Always the fixed string "Payroll recipients include the employees listed below
20
+ # plus the tax agencies for the taxes listed below."
21
+ attr_reader :recipient_notice
22
+ # @return [String] The debit or funding date for the payroll
23
+ attr_reader :debit_date
24
+ # @return [String] Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money
25
+ # transmitter. For more about Gusto’s licenses and your state-specific rights to
26
+ # request information, submit complaints, dispute errors, or cancel transactions,
27
+ # visit our license page."
28
+ attr_reader :license
29
+ # @return [String] URL for the license information for the licensed payroll processor. Always the
30
+ # fixed string "https://gusto.com/about/licenses"
31
+ attr_reader :license_uri
32
+ # @return [String]
33
+ attr_reader :right_to_refund
34
+ # @return [String]
35
+ attr_reader :liability_of_licensee
36
+ # @return [Gusto::PayrollReceiptTotals] The subtotals for the payroll.
37
+ attr_reader :totals
38
+ # @return [Array<Gusto::PayrollReceiptTaxesItem>] An array of totaled employer and employee taxes for the pay period.
39
+ attr_reader :taxes
40
+ # @return [Array<Gusto::PayrollReceiptEmployeeCompensationsItem>] An array of employee compensations and withholdings for this payroll
41
+ attr_reader :employee_compensations
42
+ # @return [Gusto::PayrollReceiptLicensee] The licensed payroll processor
43
+ attr_reader :licensee
44
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
45
+ attr_reader :additional_properties
46
+ # @return [Object]
47
+ attr_reader :_field_set
48
+ protected :_field_set
49
+
50
+ OMIT = Object.new
51
+
52
+ # @param payroll_uuid [String] A unique identifier of the payroll receipt.
53
+ # @param company_uuid [String] A unique identifier of the company for the payroll.
54
+ # @param name_of_sender [String] The name of the company by whom the payroll was paid
55
+ # @param name_of_recipient [String] Always the fixed string "Payroll Recipients"
56
+ # @param recipient_notice [String] Always the fixed string "Payroll recipients include the employees listed below
57
+ # plus the tax agencies for the taxes listed below."
58
+ # @param debit_date [String] The debit or funding date for the payroll
59
+ # @param license [String] Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money
60
+ # transmitter. For more about Gusto’s licenses and your state-specific rights to
61
+ # request information, submit complaints, dispute errors, or cancel transactions,
62
+ # visit our license page."
63
+ # @param license_uri [String] URL for the license information for the licensed payroll processor. Always the
64
+ # fixed string "https://gusto.com/about/licenses"
65
+ # @param right_to_refund [String]
66
+ # @param liability_of_licensee [String]
67
+ # @param totals [Gusto::PayrollReceiptTotals] The subtotals for the payroll.
68
+ # @param taxes [Array<Gusto::PayrollReceiptTaxesItem>] An array of totaled employer and employee taxes for the pay period.
69
+ # @param employee_compensations [Array<Gusto::PayrollReceiptEmployeeCompensationsItem>] An array of employee compensations and withholdings for this payroll
70
+ # @param licensee [Gusto::PayrollReceiptLicensee] The licensed payroll processor
71
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
72
+ # @return [Gusto::PayrollReceipt]
73
+ def initialize(payroll_uuid: OMIT, company_uuid: OMIT, name_of_sender: OMIT, name_of_recipient: OMIT, recipient_notice: OMIT, debit_date: OMIT, license: OMIT, license_uri: OMIT, right_to_refund: OMIT, liability_of_licensee: OMIT, totals: OMIT, taxes: OMIT, employee_compensations: OMIT, licensee: OMIT, additional_properties: nil)
74
+ @payroll_uuid = payroll_uuid if payroll_uuid != OMIT
75
+ @company_uuid = company_uuid if company_uuid != OMIT
76
+ @name_of_sender = name_of_sender if name_of_sender != OMIT
77
+ @name_of_recipient = name_of_recipient if name_of_recipient != OMIT
78
+ @recipient_notice = recipient_notice if recipient_notice != OMIT
79
+ @debit_date = debit_date if debit_date != OMIT
80
+ @license = license if license != OMIT
81
+ @license_uri = license_uri if license_uri != OMIT
82
+ @right_to_refund = right_to_refund if right_to_refund != OMIT
83
+ @liability_of_licensee = liability_of_licensee if liability_of_licensee != OMIT
84
+ @totals = totals if totals != OMIT
85
+ @taxes = taxes if taxes != OMIT
86
+ @employee_compensations = employee_compensations if employee_compensations != OMIT
87
+ @licensee = licensee if licensee != OMIT
88
+ @additional_properties = additional_properties
89
+ @_field_set = { "payroll_uuid": payroll_uuid, "company_uuid": company_uuid, "name_of_sender": name_of_sender, "name_of_recipient": name_of_recipient, "recipient_notice": recipient_notice, "debit_date": debit_date, "license": license, "license_uri": license_uri, "right_to_refund": right_to_refund, "liability_of_licensee": liability_of_licensee, "totals": totals, "taxes": taxes, "employee_compensations": employee_compensations, "licensee": licensee }.reject do | _k, v |
90
+ v == OMIT
91
+ end
92
+ end
93
+ # Deserialize a JSON object to an instance of PayrollReceipt
94
+ #
95
+ # @param json_object [String]
96
+ # @return [Gusto::PayrollReceipt]
97
+ def self.from_json(json_object:)
98
+ struct = JSON.parse(json_object, object_class: OpenStruct)
99
+ parsed_json = JSON.parse(json_object)
100
+ payroll_uuid = parsed_json["payroll_uuid"]
101
+ company_uuid = parsed_json["company_uuid"]
102
+ name_of_sender = parsed_json["name_of_sender"]
103
+ name_of_recipient = parsed_json["name_of_recipient"]
104
+ recipient_notice = parsed_json["recipient_notice"]
105
+ debit_date = parsed_json["debit_date"]
106
+ license = parsed_json["license"]
107
+ license_uri = parsed_json["license_uri"]
108
+ right_to_refund = parsed_json["right_to_refund"]
109
+ liability_of_licensee = parsed_json["liability_of_licensee"]
110
+ unless parsed_json["totals"].nil?
111
+ totals = parsed_json["totals"].to_json
112
+ totals = Gusto::PayrollReceiptTotals.from_json(json_object: totals)
113
+ else
114
+ totals = nil
115
+ end
116
+ taxes = parsed_json["taxes"]&.map do | item |
117
+ item = item.to_json
118
+ Gusto::PayrollReceiptTaxesItem.from_json(json_object: item)
119
+ end
120
+ employee_compensations = parsed_json["employee_compensations"]&.map do | item |
121
+ item = item.to_json
122
+ Gusto::PayrollReceiptEmployeeCompensationsItem.from_json(json_object: item)
123
+ end
124
+ unless parsed_json["licensee"].nil?
125
+ licensee = parsed_json["licensee"].to_json
126
+ licensee = Gusto::PayrollReceiptLicensee.from_json(json_object: licensee)
127
+ else
128
+ licensee = nil
129
+ end
130
+ new(
131
+ payroll_uuid: payroll_uuid,
132
+ company_uuid: company_uuid,
133
+ name_of_sender: name_of_sender,
134
+ name_of_recipient: name_of_recipient,
135
+ recipient_notice: recipient_notice,
136
+ debit_date: debit_date,
137
+ license: license,
138
+ license_uri: license_uri,
139
+ right_to_refund: right_to_refund,
140
+ liability_of_licensee: liability_of_licensee,
141
+ totals: totals,
142
+ taxes: taxes,
143
+ employee_compensations: employee_compensations,
144
+ licensee: licensee,
145
+ additional_properties: struct
146
+ )
147
+ end
148
+ # Serialize an instance of PayrollReceipt to a JSON object
149
+ #
150
+ # @return [String]
151
+ def to_json
152
+ @_field_set&.to_json
153
+ end
154
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
155
+ # hash and check each fields type against the current object's property
156
+ # definitions.
157
+ #
158
+ # @param obj [Object]
159
+ # @return [Void]
160
+ def self.validate_raw(obj:)
161
+ obj.payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.payroll_uuid is not the expected type, validation failed.")
162
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
163
+ obj.name_of_sender&.is_a?(String) != false || raise("Passed value for field obj.name_of_sender is not the expected type, validation failed.")
164
+ obj.name_of_recipient&.is_a?(String) != false || raise("Passed value for field obj.name_of_recipient is not the expected type, validation failed.")
165
+ obj.recipient_notice&.is_a?(String) != false || raise("Passed value for field obj.recipient_notice is not the expected type, validation failed.")
166
+ obj.debit_date&.is_a?(String) != false || raise("Passed value for field obj.debit_date is not the expected type, validation failed.")
167
+ obj.license&.is_a?(String) != false || raise("Passed value for field obj.license is not the expected type, validation failed.")
168
+ obj.license_uri&.is_a?(String) != false || raise("Passed value for field obj.license_uri is not the expected type, validation failed.")
169
+ obj.right_to_refund&.is_a?(String) != false || raise("Passed value for field obj.right_to_refund is not the expected type, validation failed.")
170
+ obj.liability_of_licensee&.is_a?(String) != false || raise("Passed value for field obj.liability_of_licensee is not the expected type, validation failed.")
171
+ obj.totals.nil? || Gusto::PayrollReceiptTotals.validate_raw(obj: obj.totals)
172
+ obj.taxes&.is_a?(Array) != false || raise("Passed value for field obj.taxes is not the expected type, validation failed.")
173
+ obj.employee_compensations&.is_a?(Array) != false || raise("Passed value for field obj.employee_compensations is not the expected type, validation failed.")
174
+ obj.licensee.nil? || Gusto::PayrollReceiptLicensee.validate_raw(obj: obj.licensee)
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ class PayrollReceiptEmployeeCompensationsItem
7
+ # @return [String] The UUID of the employee.
8
+ attr_reader :employee_uuid
9
+ # @return [String] The first name of the employee.
10
+ attr_reader :employee_first_name
11
+ # @return [String] The last name of the employee.
12
+ attr_reader :employee_last_name
13
+ # @return [String] The employee's compensation payment method.\n\n`Check` `Direct Deposit`
14
+ attr_reader :payment_method
15
+ # @return [String] The employee's net pay. Net pay paid by check is available for reference but is
16
+ # not included in the `["totals"]["net_pay_debit"]` amount.
17
+ attr_reader :net_pay
18
+ # @return [String] The total of employer and employee taxes for the pay period.
19
+ attr_reader :total_tax
20
+ # @return [String] The total garnishments for the pay period.
21
+ attr_reader :total_garnishments
22
+ # @return [String] The total child support garnishment for the pay period.
23
+ attr_reader :child_support_garnishment
24
+ # @return [String] The total reimbursement for the pay period.
25
+ attr_reader :total_reimbursement
26
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
27
+ attr_reader :additional_properties
28
+ # @return [Object]
29
+ attr_reader :_field_set
30
+ protected :_field_set
31
+
32
+ OMIT = Object.new
33
+
34
+ # @param employee_uuid [String] The UUID of the employee.
35
+ # @param employee_first_name [String] The first name of the employee.
36
+ # @param employee_last_name [String] The last name of the employee.
37
+ # @param payment_method [String] The employee's compensation payment method.\n\n`Check` `Direct Deposit`
38
+ # @param net_pay [String] The employee's net pay. Net pay paid by check is available for reference but is
39
+ # not included in the `["totals"]["net_pay_debit"]` amount.
40
+ # @param total_tax [String] The total of employer and employee taxes for the pay period.
41
+ # @param total_garnishments [String] The total garnishments for the pay period.
42
+ # @param child_support_garnishment [String] The total child support garnishment for the pay period.
43
+ # @param total_reimbursement [String] The total reimbursement for the pay period.
44
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
45
+ # @return [Gusto::PayrollReceiptEmployeeCompensationsItem]
46
+ def initialize(employee_uuid: OMIT, employee_first_name: OMIT, employee_last_name: OMIT, payment_method: OMIT, net_pay: OMIT, total_tax: OMIT, total_garnishments: OMIT, child_support_garnishment: OMIT, total_reimbursement: OMIT, additional_properties: nil)
47
+ @employee_uuid = employee_uuid if employee_uuid != OMIT
48
+ @employee_first_name = employee_first_name if employee_first_name != OMIT
49
+ @employee_last_name = employee_last_name if employee_last_name != OMIT
50
+ @payment_method = payment_method if payment_method != OMIT
51
+ @net_pay = net_pay if net_pay != OMIT
52
+ @total_tax = total_tax if total_tax != OMIT
53
+ @total_garnishments = total_garnishments if total_garnishments != OMIT
54
+ @child_support_garnishment = child_support_garnishment if child_support_garnishment != OMIT
55
+ @total_reimbursement = total_reimbursement if total_reimbursement != OMIT
56
+ @additional_properties = additional_properties
57
+ @_field_set = { "employee_uuid": employee_uuid, "employee_first_name": employee_first_name, "employee_last_name": employee_last_name, "payment_method": payment_method, "net_pay": net_pay, "total_tax": total_tax, "total_garnishments": total_garnishments, "child_support_garnishment": child_support_garnishment, "total_reimbursement": total_reimbursement }.reject do | _k, v |
58
+ v == OMIT
59
+ end
60
+ end
61
+ # Deserialize a JSON object to an instance of
62
+ # PayrollReceiptEmployeeCompensationsItem
63
+ #
64
+ # @param json_object [String]
65
+ # @return [Gusto::PayrollReceiptEmployeeCompensationsItem]
66
+ def self.from_json(json_object:)
67
+ struct = JSON.parse(json_object, object_class: OpenStruct)
68
+ parsed_json = JSON.parse(json_object)
69
+ employee_uuid = parsed_json["employee_uuid"]
70
+ employee_first_name = parsed_json["employee_first_name"]
71
+ employee_last_name = parsed_json["employee_last_name"]
72
+ payment_method = parsed_json["payment_method"]
73
+ net_pay = parsed_json["net_pay"]
74
+ total_tax = parsed_json["total_tax"]
75
+ total_garnishments = parsed_json["total_garnishments"]
76
+ child_support_garnishment = parsed_json["child_support_garnishment"]
77
+ total_reimbursement = parsed_json["total_reimbursement"]
78
+ new(
79
+ employee_uuid: employee_uuid,
80
+ employee_first_name: employee_first_name,
81
+ employee_last_name: employee_last_name,
82
+ payment_method: payment_method,
83
+ net_pay: net_pay,
84
+ total_tax: total_tax,
85
+ total_garnishments: total_garnishments,
86
+ child_support_garnishment: child_support_garnishment,
87
+ total_reimbursement: total_reimbursement,
88
+ additional_properties: struct
89
+ )
90
+ end
91
+ # Serialize an instance of PayrollReceiptEmployeeCompensationsItem to a JSON
92
+ # object
93
+ #
94
+ # @return [String]
95
+ def to_json
96
+ @_field_set&.to_json
97
+ end
98
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
99
+ # hash and check each fields type against the current object's property
100
+ # definitions.
101
+ #
102
+ # @param obj [Object]
103
+ # @return [Void]
104
+ def self.validate_raw(obj:)
105
+ obj.employee_uuid&.is_a?(String) != false || raise("Passed value for field obj.employee_uuid is not the expected type, validation failed.")
106
+ obj.employee_first_name&.is_a?(String) != false || raise("Passed value for field obj.employee_first_name is not the expected type, validation failed.")
107
+ obj.employee_last_name&.is_a?(String) != false || raise("Passed value for field obj.employee_last_name is not the expected type, validation failed.")
108
+ obj.payment_method&.is_a?(String) != false || raise("Passed value for field obj.payment_method is not the expected type, validation failed.")
109
+ obj.net_pay&.is_a?(String) != false || raise("Passed value for field obj.net_pay is not the expected type, validation failed.")
110
+ obj.total_tax&.is_a?(String) != false || raise("Passed value for field obj.total_tax is not the expected type, validation failed.")
111
+ obj.total_garnishments&.is_a?(String) != false || raise("Passed value for field obj.total_garnishments is not the expected type, validation failed.")
112
+ obj.child_support_garnishment&.is_a?(String) != false || raise("Passed value for field obj.child_support_garnishment is not the expected type, validation failed.")
113
+ obj.total_reimbursement&.is_a?(String) != false || raise("Passed value for field obj.total_reimbursement is not the expected type, validation failed.")
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ # The licensed payroll processor
7
+ class PayrollReceiptLicensee
8
+ # @return [String] Always the fixed string "Gusto, Zenpayroll Inc."
9
+ attr_reader :name
10
+ # @return [String] Always the fixed string "525 20th St"
11
+ attr_reader :address
12
+ # @return [String] Always the fixed string "San Francisco"
13
+ attr_reader :city
14
+ # @return [String] Always the fixed string "CA"
15
+ attr_reader :state
16
+ # @return [String] Always the fixed string "94107"
17
+ attr_reader :postal_code
18
+ # @return [String] Always the fixed string "4157778888"
19
+ attr_reader :phone_number
20
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
21
+ attr_reader :additional_properties
22
+ # @return [Object]
23
+ attr_reader :_field_set
24
+ protected :_field_set
25
+
26
+ OMIT = Object.new
27
+
28
+ # @param name [String] Always the fixed string "Gusto, Zenpayroll Inc."
29
+ # @param address [String] Always the fixed string "525 20th St"
30
+ # @param city [String] Always the fixed string "San Francisco"
31
+ # @param state [String] Always the fixed string "CA"
32
+ # @param postal_code [String] Always the fixed string "94107"
33
+ # @param phone_number [String] Always the fixed string "4157778888"
34
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
35
+ # @return [Gusto::PayrollReceiptLicensee]
36
+ def initialize(name: OMIT, address: OMIT, city: OMIT, state: OMIT, postal_code: OMIT, phone_number: OMIT, additional_properties: nil)
37
+ @name = name if name != OMIT
38
+ @address = address if address != OMIT
39
+ @city = city if city != OMIT
40
+ @state = state if state != OMIT
41
+ @postal_code = postal_code if postal_code != OMIT
42
+ @phone_number = phone_number if phone_number != OMIT
43
+ @additional_properties = additional_properties
44
+ @_field_set = { "name": name, "address": address, "city": city, "state": state, "postal_code": postal_code, "phone_number": phone_number }.reject do | _k, v |
45
+ v == OMIT
46
+ end
47
+ end
48
+ # Deserialize a JSON object to an instance of PayrollReceiptLicensee
49
+ #
50
+ # @param json_object [String]
51
+ # @return [Gusto::PayrollReceiptLicensee]
52
+ def self.from_json(json_object:)
53
+ struct = JSON.parse(json_object, object_class: OpenStruct)
54
+ parsed_json = JSON.parse(json_object)
55
+ name = parsed_json["name"]
56
+ address = parsed_json["address"]
57
+ city = parsed_json["city"]
58
+ state = parsed_json["state"]
59
+ postal_code = parsed_json["postal_code"]
60
+ phone_number = parsed_json["phone_number"]
61
+ new(
62
+ name: name,
63
+ address: address,
64
+ city: city,
65
+ state: state,
66
+ postal_code: postal_code,
67
+ phone_number: phone_number,
68
+ additional_properties: struct
69
+ )
70
+ end
71
+ # Serialize an instance of PayrollReceiptLicensee to a JSON object
72
+ #
73
+ # @return [String]
74
+ def to_json
75
+ @_field_set&.to_json
76
+ end
77
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
78
+ # hash and check each fields type against the current object's property
79
+ # definitions.
80
+ #
81
+ # @param obj [Object]
82
+ # @return [Void]
83
+ def self.validate_raw(obj:)
84
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
85
+ obj.address&.is_a?(String) != false || raise("Passed value for field obj.address is not the expected type, validation failed.")
86
+ obj.city&.is_a?(String) != false || raise("Passed value for field obj.city is not the expected type, validation failed.")
87
+ obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
88
+ obj.postal_code&.is_a?(String) != false || raise("Passed value for field obj.postal_code is not the expected type, validation failed.")
89
+ obj.phone_number&.is_a?(String) != false || raise("Passed value for field obj.phone_number is not the expected type, validation failed.")
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ class PayrollReceiptTaxesItem
7
+ # @return [String] The amount paid for this tax.
8
+ attr_reader :name
9
+ # @return [String] The total amount paid by both employer and employee for this tax.
10
+ attr_reader :amount
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 name [String] The amount paid for this tax.
20
+ # @param amount [String] The total amount paid by both employer and employee for this tax.
21
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
+ # @return [Gusto::PayrollReceiptTaxesItem]
23
+ def initialize(name: OMIT, amount: OMIT, additional_properties: nil)
24
+ @name = name if name != OMIT
25
+ @amount = amount if amount != OMIT
26
+ @additional_properties = additional_properties
27
+ @_field_set = { "name": name, "amount": amount }.reject do | _k, v |
28
+ v == OMIT
29
+ end
30
+ end
31
+ # Deserialize a JSON object to an instance of PayrollReceiptTaxesItem
32
+ #
33
+ # @param json_object [String]
34
+ # @return [Gusto::PayrollReceiptTaxesItem]
35
+ def self.from_json(json_object:)
36
+ struct = JSON.parse(json_object, object_class: OpenStruct)
37
+ parsed_json = JSON.parse(json_object)
38
+ name = parsed_json["name"]
39
+ amount = parsed_json["amount"]
40
+ new(
41
+ name: name,
42
+ amount: amount,
43
+ additional_properties: struct
44
+ )
45
+ end
46
+ # Serialize an instance of PayrollReceiptTaxesItem to a JSON object
47
+ #
48
+ # @return [String]
49
+ def to_json
50
+ @_field_set&.to_json
51
+ end
52
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
53
+ # hash and check each fields type against the current object's property
54
+ # definitions.
55
+ #
56
+ # @param obj [Object]
57
+ # @return [Void]
58
+ def self.validate_raw(obj:)
59
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
60
+ obj.amount&.is_a?(String) != false || raise("Passed value for field obj.amount is not the expected type, validation failed.")
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ # The subtotals for the payroll.
7
+ class PayrollReceiptTotals
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 child support debit for the payroll.
13
+ attr_reader :child_support_debit
14
+ # @return [String] The total reimbursements for the payroll.
15
+ attr_reader :reimbursement_debit
16
+ # @return [String] The total tax debit for the payroll.
17
+ attr_reader :tax_debit
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 company_debit [String] The total company debit for the payroll.
27
+ # @param net_pay_debit [String] The total company net pay for the payroll.
28
+ # @param child_support_debit [String] The total child support debit for the payroll.
29
+ # @param reimbursement_debit [String] The total reimbursements for the payroll.
30
+ # @param tax_debit [String] The total tax debit for the payroll.
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [Gusto::PayrollReceiptTotals]
33
+ def initialize(company_debit: OMIT, net_pay_debit: OMIT, child_support_debit: OMIT, reimbursement_debit: OMIT, tax_debit: OMIT, additional_properties: nil)
34
+ @company_debit = company_debit if company_debit != OMIT
35
+ @net_pay_debit = net_pay_debit if net_pay_debit != OMIT
36
+ @child_support_debit = child_support_debit if child_support_debit != OMIT
37
+ @reimbursement_debit = reimbursement_debit if reimbursement_debit != OMIT
38
+ @tax_debit = tax_debit if tax_debit != OMIT
39
+ @additional_properties = additional_properties
40
+ @_field_set = { "company_debit": company_debit, "net_pay_debit": net_pay_debit, "child_support_debit": child_support_debit, "reimbursement_debit": reimbursement_debit, "tax_debit": tax_debit }.reject do | _k, v |
41
+ v == OMIT
42
+ end
43
+ end
44
+ # Deserialize a JSON object to an instance of PayrollReceiptTotals
45
+ #
46
+ # @param json_object [String]
47
+ # @return [Gusto::PayrollReceiptTotals]
48
+ def self.from_json(json_object:)
49
+ struct = JSON.parse(json_object, object_class: OpenStruct)
50
+ parsed_json = JSON.parse(json_object)
51
+ company_debit = parsed_json["company_debit"]
52
+ net_pay_debit = parsed_json["net_pay_debit"]
53
+ child_support_debit = parsed_json["child_support_debit"]
54
+ reimbursement_debit = parsed_json["reimbursement_debit"]
55
+ tax_debit = parsed_json["tax_debit"]
56
+ new(
57
+ company_debit: company_debit,
58
+ net_pay_debit: net_pay_debit,
59
+ child_support_debit: child_support_debit,
60
+ reimbursement_debit: reimbursement_debit,
61
+ tax_debit: tax_debit,
62
+ additional_properties: struct
63
+ )
64
+ end
65
+ # Serialize an instance of PayrollReceiptTotals 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.company_debit&.is_a?(String) != false || raise("Passed value for field obj.company_debit is not the expected type, validation failed.")
79
+ obj.net_pay_debit&.is_a?(String) != false || raise("Passed value for field obj.net_pay_debit is not the expected type, validation failed.")
80
+ obj.child_support_debit&.is_a?(String) != false || raise("Passed value for field obj.child_support_debit is not the expected type, validation failed.")
81
+ obj.reimbursement_debit&.is_a?(String) != false || raise("Passed value for field obj.reimbursement_debit is not the expected type, validation failed.")
82
+ obj.tax_debit&.is_a?(String) != false || raise("Passed value for field obj.tax_debit is not the expected type, validation failed.")
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ class PayrollReversal
7
+ # @return [String] The UUID for the payroll run being reversed.
8
+ attr_reader :reversed_payroll_uuid
9
+ # @return [String] The UUID of the payroll where the reversal was applied.
10
+ attr_reader :reversal_payroll_uuid
11
+ # @return [String] A reason provided by the admin who created the reversal.
12
+ attr_reader :reason
13
+ # @return [String] Timestamp of when the reversal was approved.
14
+ attr_reader :approved_at
15
+ # @return [String] Category chosen by the admin who requested the reversal.
16
+ attr_reader :category
17
+ # @return [Array<String>] Array of affected employee UUIDs.
18
+ attr_reader :reversed_employee_uuids
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 reversed_payroll_uuid [String] The UUID for the payroll run being reversed.
28
+ # @param reversal_payroll_uuid [String] The UUID of the payroll where the reversal was applied.
29
+ # @param reason [String] A reason provided by the admin who created the reversal.
30
+ # @param approved_at [String] Timestamp of when the reversal was approved.
31
+ # @param category [String] Category chosen by the admin who requested the reversal.
32
+ # @param reversed_employee_uuids [Array<String>] Array of affected employee UUIDs.
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [Gusto::PayrollReversal]
35
+ def initialize(reversed_payroll_uuid: OMIT, reversal_payroll_uuid: OMIT, reason: OMIT, approved_at: OMIT, category: OMIT, reversed_employee_uuids: OMIT, additional_properties: nil)
36
+ @reversed_payroll_uuid = reversed_payroll_uuid if reversed_payroll_uuid != OMIT
37
+ @reversal_payroll_uuid = reversal_payroll_uuid if reversal_payroll_uuid != OMIT
38
+ @reason = reason if reason != OMIT
39
+ @approved_at = approved_at if approved_at != OMIT
40
+ @category = category if category != OMIT
41
+ @reversed_employee_uuids = reversed_employee_uuids if reversed_employee_uuids != OMIT
42
+ @additional_properties = additional_properties
43
+ @_field_set = { "reversed_payroll_uuid": reversed_payroll_uuid, "reversal_payroll_uuid": reversal_payroll_uuid, "reason": reason, "approved_at": approved_at, "category": category, "reversed_employee_uuids": reversed_employee_uuids }.reject do | _k, v |
44
+ v == OMIT
45
+ end
46
+ end
47
+ # Deserialize a JSON object to an instance of PayrollReversal
48
+ #
49
+ # @param json_object [String]
50
+ # @return [Gusto::PayrollReversal]
51
+ def self.from_json(json_object:)
52
+ struct = JSON.parse(json_object, object_class: OpenStruct)
53
+ parsed_json = JSON.parse(json_object)
54
+ reversed_payroll_uuid = parsed_json["reversed_payroll_uuid"]
55
+ reversal_payroll_uuid = parsed_json["reversal_payroll_uuid"]
56
+ reason = parsed_json["reason"]
57
+ approved_at = parsed_json["approved_at"]
58
+ category = parsed_json["category"]
59
+ reversed_employee_uuids = parsed_json["reversed_employee_uuids"]
60
+ new(
61
+ reversed_payroll_uuid: reversed_payroll_uuid,
62
+ reversal_payroll_uuid: reversal_payroll_uuid,
63
+ reason: reason,
64
+ approved_at: approved_at,
65
+ category: category,
66
+ reversed_employee_uuids: reversed_employee_uuids,
67
+ additional_properties: struct
68
+ )
69
+ end
70
+ # Serialize an instance of PayrollReversal to a JSON object
71
+ #
72
+ # @return [String]
73
+ def to_json
74
+ @_field_set&.to_json
75
+ end
76
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
77
+ # hash and check each fields type against the current object's property
78
+ # definitions.
79
+ #
80
+ # @param obj [Object]
81
+ # @return [Void]
82
+ def self.validate_raw(obj:)
83
+ obj.reversed_payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.reversed_payroll_uuid is not the expected type, validation failed.")
84
+ obj.reversal_payroll_uuid&.is_a?(String) != false || raise("Passed value for field obj.reversal_payroll_uuid is not the expected type, validation failed.")
85
+ obj.reason&.is_a?(String) != false || raise("Passed value for field obj.reason is not the expected type, validation failed.")
86
+ obj.approved_at&.is_a?(String) != false || raise("Passed value for field obj.approved_at is not the expected type, validation failed.")
87
+ obj.category&.is_a?(String) != false || raise("Passed value for field obj.category is not the expected type, validation failed.")
88
+ obj.reversed_employee_uuids&.is_a?(Array) != false || raise("Passed value for field obj.reversed_employee_uuids is not the expected type, validation failed.")
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ require_relative "payroll_submission_blockers_type_item"
3
+
4
+ module Gusto
5
+ PAYROLL_SUBMISSION_BLOCKERS_TYPE = Array
6
+ end