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,60 @@
1
+ # frozen_string_literal: true
2
+ require_relative "company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ class CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiers
8
+ # @return [Array<Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem>]
9
+ attr_reader :tiers
10
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
11
+ attr_reader :additional_properties
12
+ # @return [Object]
13
+ attr_reader :_field_set
14
+ protected :_field_set
15
+
16
+ OMIT = Object.new
17
+
18
+ # @param tiers [Array<Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem>]
19
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
+ # @return [Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiers]
21
+ def initialize(tiers: OMIT, additional_properties: nil)
22
+ @tiers = tiers if tiers != OMIT
23
+ @additional_properties = additional_properties
24
+ @_field_set = { "tiers": tiers }.reject do | _k, v |
25
+ v == OMIT
26
+ end
27
+ end
28
+ # Deserialize a JSON object to an instance of
29
+ # CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiers
30
+ #
31
+ # @param json_object [String]
32
+ # @return [Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiers]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ tiers = parsed_json["tiers"]&.map do | item |
37
+ item = item.to_json
38
+ Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem.from_json(json_object: item)
39
+ end
40
+ new(tiers: tiers, additional_properties: struct)
41
+ end
42
+ # Serialize an instance of
43
+ # CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiers to
44
+ # a JSON object
45
+ #
46
+ # @return [String]
47
+ def to_json
48
+ @_field_set&.to_json
49
+ end
50
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
51
+ # hash and check each fields type against the current object's property
52
+ # definitions.
53
+ #
54
+ # @param obj [Object]
55
+ # @return [Void]
56
+ def self.validate_raw(obj:)
57
+ obj.tiers&.is_a?(Array) != false || raise("Passed value for field obj.tiers is not the expected type, validation failed.")
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ # A single tier of a tiered matching scheme.
7
+ class CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem
8
+ # @return [String] The percentage of employee deduction within this tier the company contribution
9
+ # will match.
10
+ attr_reader :rate
11
+ # @return [String] The percentage threshold at which this tier ends (inclusive).
12
+ # For example, a value of "5" means the company contribution will match employee
13
+ # deductions from the previous tier's threshold up to and including 5% of payroll.
14
+ # If this is the first tier, a value of "5" means the company contribution will
15
+ # match employee deductions from 0% up to and including 5% of payroll.
16
+ attr_reader :threshold
17
+ # @return [String] The step up difference between this tier's threshold and the previous tier's
18
+ # threshold. In the first tier, this is equivalent to threshold.
19
+ attr_reader :threshold_delta
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 rate [String] The percentage of employee deduction within this tier the company contribution
29
+ # will match.
30
+ # @param threshold [String] The percentage threshold at which this tier ends (inclusive).
31
+ # For example, a value of "5" means the company contribution will match employee
32
+ # deductions from the previous tier's threshold up to and including 5% of payroll.
33
+ # If this is the first tier, a value of "5" means the company contribution will
34
+ # match employee deductions from 0% up to and including 5% of payroll.
35
+ # @param threshold_delta [String] The step up difference between this tier's threshold and the previous tier's
36
+ # threshold. In the first tier, this is equivalent to threshold.
37
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
38
+ # @return [Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem]
39
+ def initialize(rate: OMIT, threshold: OMIT, threshold_delta: OMIT, additional_properties: nil)
40
+ @rate = rate if rate != OMIT
41
+ @threshold = threshold if threshold != OMIT
42
+ @threshold_delta = threshold_delta if threshold_delta != OMIT
43
+ @additional_properties = additional_properties
44
+ @_field_set = { "rate": rate, "threshold": threshold, "threshold_delta": threshold_delta }.reject do | _k, v |
45
+ v == OMIT
46
+ end
47
+ end
48
+ # Deserialize a JSON object to an instance of
49
+ # nyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem
50
+ #
51
+ # @param json_object [String]
52
+ # @return [Gusto::CompanyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem]
53
+ def self.from_json(json_object:)
54
+ struct = JSON.parse(json_object, object_class: OpenStruct)
55
+ parsed_json = JSON.parse(json_object)
56
+ rate = parsed_json["rate"]
57
+ threshold = parsed_json["threshold"]
58
+ threshold_delta = parsed_json["threshold_delta"]
59
+ new(
60
+ rate: rate,
61
+ threshold: threshold,
62
+ threshold_delta: threshold_delta,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+ # Serialize an instance of
67
+ # nyBenefitWithEmployeeBenefitsEmployeeBenefitsItemContributionValueTiersTiersItem
68
+ # to a JSON object
69
+ #
70
+ # @return [String]
71
+ def to_json
72
+ @_field_set&.to_json
73
+ end
74
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
75
+ # hash and check each fields type against the current object's property
76
+ # definitions.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.rate&.is_a?(String) != false || raise("Passed value for field obj.rate is not the expected type, validation failed.")
82
+ obj.threshold&.is_a?(String) != false || raise("Passed value for field obj.threshold is not the expected type, validation failed.")
83
+ obj.threshold_delta&.is_a?(String) != false || raise("Passed value for field obj.threshold_delta is not the expected type, validation failed.")
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ class ContractorAddressInfo
7
+ # @return [Integer] The UUID of the contractor
8
+ attr_reader :contractor_uuid
9
+ # @return [String]
10
+ attr_reader :street1
11
+ # @return [String]
12
+ attr_reader :street2
13
+ # @return [String]
14
+ attr_reader :city
15
+ # @return [String]
16
+ attr_reader :state
17
+ # @return [String]
18
+ attr_reader :zip
19
+ # @return [String]
20
+ attr_reader :country
21
+ # @return [Boolean] The status of the location. Inactive locations have been deleted, but may still
22
+ # have historical data associated with them.
23
+ attr_reader :active
24
+ # @return [String] The current version of the object. See the [versioning
25
+ # guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
26
+ # on how to use this field.
27
+ attr_reader :version
28
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
29
+ attr_reader :additional_properties
30
+ # @return [Object]
31
+ attr_reader :_field_set
32
+ protected :_field_set
33
+
34
+ OMIT = Object.new
35
+
36
+ # @param contractor_uuid [Integer] The UUID of the contractor
37
+ # @param street1 [String]
38
+ # @param street2 [String]
39
+ # @param city [String]
40
+ # @param state [String]
41
+ # @param zip [String]
42
+ # @param country [String]
43
+ # @param active [Boolean] The status of the location. Inactive locations have been deleted, but may still
44
+ # have historical data associated with them.
45
+ # @param version [String] The current version of the object. See the [versioning
46
+ # guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
47
+ # on how to use this field.
48
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
49
+ # @return [Gusto::ContractorAddressInfo]
50
+ def initialize(contractor_uuid: OMIT, street1: OMIT, street2: OMIT, city: OMIT, state: OMIT, zip: OMIT, country: OMIT, active: OMIT, version: OMIT, additional_properties: nil)
51
+ @contractor_uuid = contractor_uuid if contractor_uuid != OMIT
52
+ @street1 = street1 if street1 != OMIT
53
+ @street2 = street2 if street2 != OMIT
54
+ @city = city if city != OMIT
55
+ @state = state if state != OMIT
56
+ @zip = zip if zip != OMIT
57
+ @country = country if country != OMIT
58
+ @active = active if active != OMIT
59
+ @version = version if version != OMIT
60
+ @additional_properties = additional_properties
61
+ @_field_set = { "contractor_uuid": contractor_uuid, "street_1": street1, "street_2": street2, "city": city, "state": state, "zip": zip, "country": country, "active": active, "version": version }.reject do | _k, v |
62
+ v == OMIT
63
+ end
64
+ end
65
+ # Deserialize a JSON object to an instance of ContractorAddressInfo
66
+ #
67
+ # @param json_object [String]
68
+ # @return [Gusto::ContractorAddressInfo]
69
+ def self.from_json(json_object:)
70
+ struct = JSON.parse(json_object, object_class: OpenStruct)
71
+ parsed_json = JSON.parse(json_object)
72
+ contractor_uuid = parsed_json["contractor_uuid"]
73
+ street1 = parsed_json["street_1"]
74
+ street2 = parsed_json["street_2"]
75
+ city = parsed_json["city"]
76
+ state = parsed_json["state"]
77
+ zip = parsed_json["zip"]
78
+ country = parsed_json["country"]
79
+ active = parsed_json["active"]
80
+ version = parsed_json["version"]
81
+ new(
82
+ contractor_uuid: contractor_uuid,
83
+ street1: street1,
84
+ street2: street2,
85
+ city: city,
86
+ state: state,
87
+ zip: zip,
88
+ country: country,
89
+ active: active,
90
+ version: version,
91
+ additional_properties: struct
92
+ )
93
+ end
94
+ # Serialize an instance of ContractorAddressInfo to a JSON object
95
+ #
96
+ # @return [String]
97
+ def to_json
98
+ @_field_set&.to_json
99
+ end
100
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
101
+ # hash and check each fields type against the current object's property
102
+ # definitions.
103
+ #
104
+ # @param obj [Object]
105
+ # @return [Void]
106
+ def self.validate_raw(obj:)
107
+ obj.contractor_uuid&.is_a?(Integer) != false || raise("Passed value for field obj.contractor_uuid is not the expected type, validation failed.")
108
+ obj.street1&.is_a?(String) != false || raise("Passed value for field obj.street1 is not the expected type, validation failed.")
109
+ obj.street2&.is_a?(String) != false || raise("Passed value for field obj.street2 is not the expected type, validation failed.")
110
+ obj.city&.is_a?(String) != false || raise("Passed value for field obj.city is not the expected type, validation failed.")
111
+ obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
112
+ obj.zip&.is_a?(String) != false || raise("Passed value for field obj.zip is not the expected type, validation failed.")
113
+ obj.country&.is_a?(String) != false || raise("Passed value for field obj.country is not the expected type, validation failed.")
114
+ obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
115
+ obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,200 @@
1
+ # frozen_string_literal: true
2
+ require_relative "contractor_body_type"
3
+ require_relative "contractor_body_wage_type"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Gusto
8
+ class ContractorBody
9
+ # @return [Gusto::ContractorBodyType] The contractor type.
10
+ attr_reader :type
11
+ # @return [Gusto::ContractorBodyWageType] The contractor’s wage type.
12
+ attr_reader :wage_type
13
+ # @return [String] The day when the contractor will start working for the company.
14
+ attr_reader :start_date
15
+ # @return [String] The contractor’s hourly rate. This attribute is required if the wage_type is
16
+ # `Hourly`.
17
+ attr_reader :hourly_rate
18
+ # @return [Boolean] Whether the contractor or the payroll admin will complete onboarding in Gusto.
19
+ # Self-onboarding is recommended so that contractors receive Gusto accounts.
20
+ # If self_onboarding is true, then email is required.
21
+ attr_reader :self_onboarding
22
+ # @return [String] The contractor’s email address.
23
+ attr_reader :email
24
+ # @return [String] The contractor’s first name.
25
+ # This attribute is required for `Individual` contractors and will be ignored for
26
+ # `Business` contractors.
27
+ attr_reader :first_name
28
+ # @return [String] The contractor’s last name.
29
+ # This attribute is required for `Individual` contractors and will be ignored for
30
+ # `Business` contractors.
31
+ attr_reader :last_name
32
+ # @return [String] The contractor’s middle initial.
33
+ # This attribute is optional for `Individual` contractors and will be ignored for
34
+ # `Business` contractors.
35
+ attr_reader :middle_initial
36
+ # @return [Boolean] The boolean flag indicating whether Gusto will file a new hire report for the
37
+ # contractor.
38
+ # This attribute is optional for `Individual` contractors and will be ignored for
39
+ # `Business` contractors.
40
+ attr_reader :file_new_hire_report
41
+ # @return [String] State where the contractor will be conducting the majority of their work for the
42
+ # company.
43
+ # This value is used when generating the new hire report.
44
+ # This attribute is required for `Individual` contractors if
45
+ # `file_new_hire_report` is true and will be ignored for `Business` contractors.
46
+ attr_reader :work_state
47
+ # @return [String] This attribute is optional for `Individual` contractors and will be ignored for
48
+ # `Business` contractors.
49
+ # Social security number is needed to file the annual 1099 tax form.
50
+ attr_reader :ssn
51
+ # @return [String] The name of the contractor business. This attribute is required for `Business`
52
+ # contractors and will be ignored for `Individual` contractors.
53
+ attr_reader :business_name
54
+ # @return [String] The employer identification number of the contractor business.
55
+ # This attribute is optional for `Business` contractors and will be ignored for
56
+ # `Individual` contractors.
57
+ attr_reader :ein
58
+ # @return [Boolean] The status of the contractor. If the contractor's start date is in the future,
59
+ # updating this field to true means we are setting the start date to today.
60
+ attr_reader :is_active
61
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
62
+ attr_reader :additional_properties
63
+ # @return [Object]
64
+ attr_reader :_field_set
65
+ protected :_field_set
66
+
67
+ OMIT = Object.new
68
+
69
+ # @param type [Gusto::ContractorBodyType] The contractor type.
70
+ # @param wage_type [Gusto::ContractorBodyWageType] The contractor’s wage type.
71
+ # @param start_date [String] The day when the contractor will start working for the company.
72
+ # @param hourly_rate [String] The contractor’s hourly rate. This attribute is required if the wage_type is
73
+ # `Hourly`.
74
+ # @param self_onboarding [Boolean] Whether the contractor or the payroll admin will complete onboarding in Gusto.
75
+ # Self-onboarding is recommended so that contractors receive Gusto accounts.
76
+ # If self_onboarding is true, then email is required.
77
+ # @param email [String] The contractor’s email address.
78
+ # @param first_name [String] The contractor’s first name.
79
+ # This attribute is required for `Individual` contractors and will be ignored for
80
+ # `Business` contractors.
81
+ # @param last_name [String] The contractor’s last name.
82
+ # This attribute is required for `Individual` contractors and will be ignored for
83
+ # `Business` contractors.
84
+ # @param middle_initial [String] The contractor’s middle initial.
85
+ # This attribute is optional for `Individual` contractors and will be ignored for
86
+ # `Business` contractors.
87
+ # @param file_new_hire_report [Boolean] The boolean flag indicating whether Gusto will file a new hire report for the
88
+ # contractor.
89
+ # This attribute is optional for `Individual` contractors and will be ignored for
90
+ # `Business` contractors.
91
+ # @param work_state [String] State where the contractor will be conducting the majority of their work for the
92
+ # company.
93
+ # This value is used when generating the new hire report.
94
+ # This attribute is required for `Individual` contractors if
95
+ # `file_new_hire_report` is true and will be ignored for `Business` contractors.
96
+ # @param ssn [String] This attribute is optional for `Individual` contractors and will be ignored for
97
+ # `Business` contractors.
98
+ # Social security number is needed to file the annual 1099 tax form.
99
+ # @param business_name [String] The name of the contractor business. This attribute is required for `Business`
100
+ # contractors and will be ignored for `Individual` contractors.
101
+ # @param ein [String] The employer identification number of the contractor business.
102
+ # This attribute is optional for `Business` contractors and will be ignored for
103
+ # `Individual` contractors.
104
+ # @param is_active [Boolean] The status of the contractor. If the contractor's start date is in the future,
105
+ # updating this field to true means we are setting the start date to today.
106
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
107
+ # @return [Gusto::ContractorBody]
108
+ def initialize(type: OMIT, wage_type: OMIT, start_date: OMIT, hourly_rate: OMIT, self_onboarding: OMIT, email: OMIT, first_name: OMIT, last_name: OMIT, middle_initial: OMIT, file_new_hire_report: OMIT, work_state: OMIT, ssn: OMIT, business_name: OMIT, ein: OMIT, is_active: OMIT, additional_properties: nil)
109
+ @type = type if type != OMIT
110
+ @wage_type = wage_type if wage_type != OMIT
111
+ @start_date = start_date if start_date != OMIT
112
+ @hourly_rate = hourly_rate if hourly_rate != OMIT
113
+ @self_onboarding = self_onboarding if self_onboarding != OMIT
114
+ @email = email if email != OMIT
115
+ @first_name = first_name if first_name != OMIT
116
+ @last_name = last_name if last_name != OMIT
117
+ @middle_initial = middle_initial if middle_initial != OMIT
118
+ @file_new_hire_report = file_new_hire_report if file_new_hire_report != OMIT
119
+ @work_state = work_state if work_state != OMIT
120
+ @ssn = ssn if ssn != OMIT
121
+ @business_name = business_name if business_name != OMIT
122
+ @ein = ein if ein != OMIT
123
+ @is_active = is_active if is_active != OMIT
124
+ @additional_properties = additional_properties
125
+ @_field_set = { "type": type, "wage_type": wage_type, "start_date": start_date, "hourly_rate": hourly_rate, "self_onboarding": self_onboarding, "email": email, "first_name": first_name, "last_name": last_name, "middle_initial": middle_initial, "file_new_hire_report": file_new_hire_report, "work_state": work_state, "ssn": ssn, "business_name": business_name, "ein": ein, "is_active": is_active }.reject do | _k, v |
126
+ v == OMIT
127
+ end
128
+ end
129
+ # Deserialize a JSON object to an instance of ContractorBody
130
+ #
131
+ # @param json_object [String]
132
+ # @return [Gusto::ContractorBody]
133
+ def self.from_json(json_object:)
134
+ struct = JSON.parse(json_object, object_class: OpenStruct)
135
+ parsed_json = JSON.parse(json_object)
136
+ type = parsed_json["type"]
137
+ wage_type = parsed_json["wage_type"]
138
+ start_date = parsed_json["start_date"]
139
+ hourly_rate = parsed_json["hourly_rate"]
140
+ self_onboarding = parsed_json["self_onboarding"]
141
+ email = parsed_json["email"]
142
+ first_name = parsed_json["first_name"]
143
+ last_name = parsed_json["last_name"]
144
+ middle_initial = parsed_json["middle_initial"]
145
+ file_new_hire_report = parsed_json["file_new_hire_report"]
146
+ work_state = parsed_json["work_state"]
147
+ ssn = parsed_json["ssn"]
148
+ business_name = parsed_json["business_name"]
149
+ ein = parsed_json["ein"]
150
+ is_active = parsed_json["is_active"]
151
+ new(
152
+ type: type,
153
+ wage_type: wage_type,
154
+ start_date: start_date,
155
+ hourly_rate: hourly_rate,
156
+ self_onboarding: self_onboarding,
157
+ email: email,
158
+ first_name: first_name,
159
+ last_name: last_name,
160
+ middle_initial: middle_initial,
161
+ file_new_hire_report: file_new_hire_report,
162
+ work_state: work_state,
163
+ ssn: ssn,
164
+ business_name: business_name,
165
+ ein: ein,
166
+ is_active: is_active,
167
+ additional_properties: struct
168
+ )
169
+ end
170
+ # Serialize an instance of ContractorBody to a JSON object
171
+ #
172
+ # @return [String]
173
+ def to_json
174
+ @_field_set&.to_json
175
+ end
176
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
177
+ # hash and check each fields type against the current object's property
178
+ # definitions.
179
+ #
180
+ # @param obj [Object]
181
+ # @return [Void]
182
+ def self.validate_raw(obj:)
183
+ obj.type&.is_a?(Gusto::ContractorBodyType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
184
+ obj.wage_type&.is_a?(Gusto::ContractorBodyWageType) != false || raise("Passed value for field obj.wage_type is not the expected type, validation failed.")
185
+ obj.start_date&.is_a?(String) != false || raise("Passed value for field obj.start_date is not the expected type, validation failed.")
186
+ obj.hourly_rate&.is_a?(String) != false || raise("Passed value for field obj.hourly_rate is not the expected type, validation failed.")
187
+ obj.self_onboarding&.is_a?(Boolean) != false || raise("Passed value for field obj.self_onboarding is not the expected type, validation failed.")
188
+ obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
189
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
190
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
191
+ obj.middle_initial&.is_a?(String) != false || raise("Passed value for field obj.middle_initial is not the expected type, validation failed.")
192
+ 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.")
193
+ obj.work_state&.is_a?(String) != false || raise("Passed value for field obj.work_state is not the expected type, validation failed.")
194
+ obj.ssn&.is_a?(String) != false || raise("Passed value for field obj.ssn is not the expected type, validation failed.")
195
+ obj.business_name&.is_a?(String) != false || raise("Passed value for field obj.business_name is not the expected type, validation failed.")
196
+ obj.ein&.is_a?(String) != false || raise("Passed value for field obj.ein is not the expected type, validation failed.")
197
+ obj.is_active&.is_a?(Boolean) != false || raise("Passed value for field obj.is_active is not the expected type, validation failed.")
198
+ end
199
+ end
200
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # The contractor type.
5
+ class ContractorBodyType
6
+
7
+ INDIVIDUAL = "Individual"
8
+ BUSINESS = "Business"
9
+
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # The contractor’s wage type.
5
+ class ContractorBodyWageType
6
+
7
+ FIXED = "Fixed"
8
+ HOURLY = "Hourly"
9
+
10
+ end
11
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+ require_relative "contractor_payment_receipt_totals"
3
+ require_relative "contractor_payment_receipt_contractor_payments_item"
4
+ require_relative "contractor_payment_receipt_licensee"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Gusto
9
+ class ContractorPaymentReceipt
10
+ # @return [String] A unique identifier of the contractor payment receipt.
11
+ attr_reader :contractor_payment_uuid
12
+ # @return [String] A unique identifier of the company making the contractor payment.
13
+ attr_reader :company_uuid
14
+ # @return [String] The name of the company making the contractor payment.
15
+ attr_reader :name_of_sender
16
+ # @return [String] The individual or company name of the contractor receiving payment.
17
+ attr_reader :name_of_recipient
18
+ # @return [String] The debit date for the contractor payment.
19
+ attr_reader :debit_date
20
+ # @return [String] Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money
21
+ # transmitter. For more about Gusto’s licenses and your state-specific rights to
22
+ # request information, submit complaints, dispute errors, or cancel transactions,
23
+ # visit our license page."
24
+ attr_reader :license
25
+ # @return [String] URL for the license information for the licensed payroll processor. Always the
26
+ # fixed string "https://gusto.com/about/licenses"
27
+ attr_reader :license_uri
28
+ # @return [String] URL for information related to right to refund. Always the fixed string
29
+ # "https://gusto.com/about/licenses"
30
+ attr_reader :right_to_refund
31
+ # @return [String] URL for information related to right to liability of licensee. Always the fixed
32
+ # string "https://gusto.com/about/licenses"
33
+ attr_reader :liability_of_licensee
34
+ # @return [Gusto::ContractorPaymentReceiptTotals] The subtotals for the contractor payment.
35
+ attr_reader :totals
36
+ # @return [Array<Gusto::ContractorPaymentReceiptContractorPaymentsItem>] An array of contractor payments for this contractor payment.
37
+ attr_reader :contractor_payments
38
+ # @return [Gusto::ContractorPaymentReceiptLicensee] The licensed payroll processor
39
+ attr_reader :licensee
40
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
41
+ attr_reader :additional_properties
42
+ # @return [Object]
43
+ attr_reader :_field_set
44
+ protected :_field_set
45
+
46
+ OMIT = Object.new
47
+
48
+ # @param contractor_payment_uuid [String] A unique identifier of the contractor payment receipt.
49
+ # @param company_uuid [String] A unique identifier of the company making the contractor payment.
50
+ # @param name_of_sender [String] The name of the company making the contractor payment.
51
+ # @param name_of_recipient [String] The individual or company name of the contractor receiving payment.
52
+ # @param debit_date [String] The debit date for the contractor payment.
53
+ # @param license [String] Always the fixed string "ZenPayroll, Inc., dba Gusto is a licensed money
54
+ # transmitter. For more about Gusto’s licenses and your state-specific rights to
55
+ # request information, submit complaints, dispute errors, or cancel transactions,
56
+ # visit our license page."
57
+ # @param license_uri [String] URL for the license information for the licensed payroll processor. Always the
58
+ # fixed string "https://gusto.com/about/licenses"
59
+ # @param right_to_refund [String] URL for information related to right to refund. Always the fixed string
60
+ # "https://gusto.com/about/licenses"
61
+ # @param liability_of_licensee [String] URL for information related to right to liability of licensee. Always the fixed
62
+ # string "https://gusto.com/about/licenses"
63
+ # @param totals [Gusto::ContractorPaymentReceiptTotals] The subtotals for the contractor payment.
64
+ # @param contractor_payments [Array<Gusto::ContractorPaymentReceiptContractorPaymentsItem>] An array of contractor payments for this contractor payment.
65
+ # @param licensee [Gusto::ContractorPaymentReceiptLicensee] The licensed payroll processor
66
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
67
+ # @return [Gusto::ContractorPaymentReceipt]
68
+ def initialize(contractor_payment_uuid: OMIT, company_uuid: OMIT, name_of_sender: OMIT, name_of_recipient: OMIT, debit_date: OMIT, license: OMIT, license_uri: OMIT, right_to_refund: OMIT, liability_of_licensee: OMIT, totals: OMIT, contractor_payments: OMIT, licensee: OMIT, additional_properties: nil)
69
+ @contractor_payment_uuid = contractor_payment_uuid if contractor_payment_uuid != OMIT
70
+ @company_uuid = company_uuid if company_uuid != OMIT
71
+ @name_of_sender = name_of_sender if name_of_sender != OMIT
72
+ @name_of_recipient = name_of_recipient if name_of_recipient != OMIT
73
+ @debit_date = debit_date if debit_date != OMIT
74
+ @license = license if license != OMIT
75
+ @license_uri = license_uri if license_uri != OMIT
76
+ @right_to_refund = right_to_refund if right_to_refund != OMIT
77
+ @liability_of_licensee = liability_of_licensee if liability_of_licensee != OMIT
78
+ @totals = totals if totals != OMIT
79
+ @contractor_payments = contractor_payments if contractor_payments != OMIT
80
+ @licensee = licensee if licensee != OMIT
81
+ @additional_properties = additional_properties
82
+ @_field_set = { "contractor_payment_uuid": contractor_payment_uuid, "company_uuid": company_uuid, "name_of_sender": name_of_sender, "name_of_recipient": name_of_recipient, "debit_date": debit_date, "license": license, "license_uri": license_uri, "right_to_refund": right_to_refund, "liability_of_licensee": liability_of_licensee, "totals": totals, "contractor_payments": contractor_payments, "licensee": licensee }.reject do | _k, v |
83
+ v == OMIT
84
+ end
85
+ end
86
+ # Deserialize a JSON object to an instance of ContractorPaymentReceipt
87
+ #
88
+ # @param json_object [String]
89
+ # @return [Gusto::ContractorPaymentReceipt]
90
+ def self.from_json(json_object:)
91
+ struct = JSON.parse(json_object, object_class: OpenStruct)
92
+ parsed_json = JSON.parse(json_object)
93
+ contractor_payment_uuid = parsed_json["contractor_payment_uuid"]
94
+ company_uuid = parsed_json["company_uuid"]
95
+ name_of_sender = parsed_json["name_of_sender"]
96
+ name_of_recipient = parsed_json["name_of_recipient"]
97
+ debit_date = parsed_json["debit_date"]
98
+ license = parsed_json["license"]
99
+ license_uri = parsed_json["license_uri"]
100
+ right_to_refund = parsed_json["right_to_refund"]
101
+ liability_of_licensee = parsed_json["liability_of_licensee"]
102
+ unless parsed_json["totals"].nil?
103
+ totals = parsed_json["totals"].to_json
104
+ totals = Gusto::ContractorPaymentReceiptTotals.from_json(json_object: totals)
105
+ else
106
+ totals = nil
107
+ end
108
+ contractor_payments = parsed_json["contractor_payments"]&.map do | item |
109
+ item = item.to_json
110
+ Gusto::ContractorPaymentReceiptContractorPaymentsItem.from_json(json_object: item)
111
+ end
112
+ unless parsed_json["licensee"].nil?
113
+ licensee = parsed_json["licensee"].to_json
114
+ licensee = Gusto::ContractorPaymentReceiptLicensee.from_json(json_object: licensee)
115
+ else
116
+ licensee = nil
117
+ end
118
+ new(
119
+ contractor_payment_uuid: contractor_payment_uuid,
120
+ company_uuid: company_uuid,
121
+ name_of_sender: name_of_sender,
122
+ name_of_recipient: name_of_recipient,
123
+ debit_date: debit_date,
124
+ license: license,
125
+ license_uri: license_uri,
126
+ right_to_refund: right_to_refund,
127
+ liability_of_licensee: liability_of_licensee,
128
+ totals: totals,
129
+ contractor_payments: contractor_payments,
130
+ licensee: licensee,
131
+ additional_properties: struct
132
+ )
133
+ end
134
+ # Serialize an instance of ContractorPaymentReceipt to a JSON object
135
+ #
136
+ # @return [String]
137
+ def to_json
138
+ @_field_set&.to_json
139
+ end
140
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
141
+ # hash and check each fields type against the current object's property
142
+ # definitions.
143
+ #
144
+ # @param obj [Object]
145
+ # @return [Void]
146
+ def self.validate_raw(obj:)
147
+ obj.contractor_payment_uuid&.is_a?(String) != false || raise("Passed value for field obj.contractor_payment_uuid is not the expected type, validation failed.")
148
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
149
+ obj.name_of_sender&.is_a?(String) != false || raise("Passed value for field obj.name_of_sender is not the expected type, validation failed.")
150
+ obj.name_of_recipient&.is_a?(String) != false || raise("Passed value for field obj.name_of_recipient is not the expected type, validation failed.")
151
+ obj.debit_date&.is_a?(String) != false || raise("Passed value for field obj.debit_date is not the expected type, validation failed.")
152
+ obj.license&.is_a?(String) != false || raise("Passed value for field obj.license is not the expected type, validation failed.")
153
+ obj.license_uri&.is_a?(String) != false || raise("Passed value for field obj.license_uri is not the expected type, validation failed.")
154
+ obj.right_to_refund&.is_a?(String) != false || raise("Passed value for field obj.right_to_refund is not the expected type, validation failed.")
155
+ obj.liability_of_licensee&.is_a?(String) != false || raise("Passed value for field obj.liability_of_licensee is not the expected type, validation failed.")
156
+ obj.totals.nil? || Gusto::ContractorPaymentReceiptTotals.validate_raw(obj: obj.totals)
157
+ obj.contractor_payments&.is_a?(Array) != false || raise("Passed value for field obj.contractor_payments is not the expected type, validation failed.")
158
+ obj.licensee.nil? || Gusto::ContractorPaymentReceiptLicensee.validate_raw(obj: obj.licensee)
159
+ end
160
+ end
161
+ end