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,78 @@
1
+ # frozen_string_literal: true
2
+ require_relative "contractor_onboarding_status_onboarding_status"
3
+ require_relative "contractor_onboarding_status_onboarding_steps_item"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Gusto
8
+ module Contractor
9
+ # The representation of an contractor's onboarding status.
10
+ class ContractorOnboardingInfo
11
+ # @return [String] Unique identifier for this contractor.
12
+ attr_reader :uuid
13
+ # @return [Gusto::Contractor::ContractorOnboardingStatusOnboardingStatus] One of the "onboarding_status" enum values.
14
+ attr_reader :onboarding_status
15
+ # @return [Array<Gusto::Contractor::ContractorOnboardingStatusOnboardingStepsItem>] List of steps required to onboard a contractor.
16
+ attr_reader :onboarding_steps
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param uuid [String] Unique identifier for this contractor.
26
+ # @param onboarding_status [Gusto::Contractor::ContractorOnboardingStatusOnboardingStatus] One of the "onboarding_status" enum values.
27
+ # @param onboarding_steps [Array<Gusto::Contractor::ContractorOnboardingStatusOnboardingStepsItem>] List of steps required to onboard a contractor.
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Gusto::Contractor::ContractorOnboardingInfo]
30
+ def initialize(uuid:, onboarding_status: OMIT, onboarding_steps: OMIT, additional_properties: nil)
31
+ @uuid = uuid
32
+ @onboarding_status = onboarding_status if onboarding_status != OMIT
33
+ @onboarding_steps = onboarding_steps if onboarding_steps != OMIT
34
+ @additional_properties = additional_properties
35
+ @_field_set = { "uuid": uuid, "onboarding_status": onboarding_status, "onboarding_steps": onboarding_steps }.reject do | _k, v |
36
+ v == OMIT
37
+ end
38
+ end
39
+ # Deserialize a JSON object to an instance of ContractorOnboardingInfo
40
+ #
41
+ # @param json_object [String]
42
+ # @return [Gusto::Contractor::ContractorOnboardingInfo]
43
+ def self.from_json(json_object:)
44
+ struct = JSON.parse(json_object, object_class: OpenStruct)
45
+ parsed_json = JSON.parse(json_object)
46
+ uuid = parsed_json["uuid"]
47
+ onboarding_status = parsed_json["onboarding_status"]
48
+ onboarding_steps = parsed_json["onboarding_steps"]&.map do | item |
49
+ item = item.to_json
50
+ Gusto::Contractor::ContractorOnboardingStatusOnboardingStepsItem.from_json(json_object: item)
51
+ end
52
+ new(
53
+ uuid: uuid,
54
+ onboarding_status: onboarding_status,
55
+ onboarding_steps: onboarding_steps,
56
+ additional_properties: struct
57
+ )
58
+ end
59
+ # Serialize an instance of ContractorOnboardingInfo to a JSON object
60
+ #
61
+ # @return [String]
62
+ def to_json
63
+ @_field_set&.to_json
64
+ end
65
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
66
+ # hash and check each fields type against the current object's property
67
+ # definitions.
68
+ #
69
+ # @param obj [Object]
70
+ # @return [Void]
71
+ def self.validate_raw(obj:)
72
+ obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
73
+ obj.onboarding_status&.is_a?(Gusto::Contractor::ContractorOnboardingStatusOnboardingStatus) != false || raise("Passed value for field obj.onboarding_status is not the expected type, validation failed.")
74
+ obj.onboarding_steps&.is_a?(Array) != false || raise("Passed value for field obj.onboarding_steps is not the expected type, validation failed.")
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module Contractor
5
+ # One of the "onboarding_status" enum values.
6
+ class ContractorOnboardingStatusOnboardingStatus
7
+
8
+ ONBOARDING_COMPLETED = "onboarding_completed"
9
+ ADMIN_ONBOARDING_REVIEW = "admin_onboarding_review"
10
+ ADMIN_ONBOARDING_INCOMPLETE = "admin_onboarding_incomplete"
11
+
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ module Contractor
7
+ class ContractorOnboardingStatusOnboardingStepsItem
8
+ # @return [String] User-friendly description of the onboarding step.
9
+ attr_reader :title
10
+ # @return [String] String identifier for the onboarding step.
11
+ attr_reader :id
12
+ # @return [Boolean] When true, this step is required.
13
+ attr_reader :required
14
+ # @return [Boolean] When true, this step has been completed.
15
+ attr_reader :completed
16
+ # @return [Array<String>] A list of onboarding steps required to begin this step.
17
+ attr_reader :requirements
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 title [String] User-friendly description of the onboarding step.
27
+ # @param id [String] String identifier for the onboarding step.
28
+ # @param required [Boolean] When true, this step is required.
29
+ # @param completed [Boolean] When true, this step has been completed.
30
+ # @param requirements [Array<String>] A list of onboarding steps required to begin this step.
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [Gusto::Contractor::ContractorOnboardingStatusOnboardingStepsItem]
33
+ def initialize(title: OMIT, id: OMIT, required: OMIT, completed: OMIT, requirements: OMIT, additional_properties: nil)
34
+ @title = title if title != OMIT
35
+ @id = id if id != OMIT
36
+ @required = required if required != OMIT
37
+ @completed = completed if completed != OMIT
38
+ @requirements = requirements if requirements != OMIT
39
+ @additional_properties = additional_properties
40
+ @_field_set = { "title": title, "id": id, "required": required, "completed": completed, "requirements": requirements }.reject do | _k, v |
41
+ v == OMIT
42
+ end
43
+ end
44
+ # Deserialize a JSON object to an instance of
45
+ # ContractorOnboardingStatusOnboardingStepsItem
46
+ #
47
+ # @param json_object [String]
48
+ # @return [Gusto::Contractor::ContractorOnboardingStatusOnboardingStepsItem]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ title = parsed_json["title"]
53
+ id = parsed_json["id"]
54
+ required = parsed_json["required"]
55
+ completed = parsed_json["completed"]
56
+ requirements = parsed_json["requirements"]
57
+ new(
58
+ title: title,
59
+ id: id,
60
+ required: required,
61
+ completed: completed,
62
+ requirements: requirements,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+ # Serialize an instance of ContractorOnboardingStatusOnboardingStepsItem to a JSON
67
+ # object
68
+ #
69
+ # @return [String]
70
+ def to_json
71
+ @_field_set&.to_json
72
+ end
73
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
74
+ # hash and check each fields type against the current object's property
75
+ # definitions.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Void]
79
+ def self.validate_raw(obj:)
80
+ obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
81
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
82
+ obj.required&.is_a?(Boolean) != false || raise("Passed value for field obj.required is not the expected type, validation failed.")
83
+ obj.completed&.is_a?(Boolean) != false || raise("Passed value for field obj.completed is not the expected type, validation failed.")
84
+ obj.requirements&.is_a?(Array) != false || raise("Passed value for field obj.requirements is not the expected type, validation failed.")
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,145 @@
1
+ # frozen_string_literal: true
2
+ require_relative "contractor_payment_for_group_payment_method"
3
+ require_relative "contractor_payment_for_group_status"
4
+ require_relative "contractor_payment_for_group_wage_type"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Gusto
9
+ module ContractorPaymentGroups
10
+ # The representation of a single contractor payment.
11
+ class ContractorPaymentForGroup
12
+ # @return [String] The unique identifier of the contractor payment in Gusto.
13
+ attr_reader :uuid
14
+ # @return [String] The UUID of the contractor.
15
+ attr_reader :contractor_uuid
16
+ # @return [String] The bonus amount in the payment.
17
+ attr_reader :bonus
18
+ # @return [String] The number of hours worked for the payment.
19
+ attr_reader :hours
20
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentForGroupPaymentMethod] The payment method.
21
+ attr_reader :payment_method
22
+ # @return [String] The reimbursement amount in the payment.
23
+ attr_reader :reimbursement
24
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentForGroupStatus] The status of the contractor payment. Will transition to `Funded` during
25
+ # payments processing if the payment should be funded, i.e. has `Direct Deposit`
26
+ # for payment method. Contractors payments with `Check` payment method will remain
27
+ # `Unfunded`.
28
+ attr_reader :status
29
+ # @return [String] The rate per hour worked for the payment.
30
+ attr_reader :hourly_rate
31
+ # @return [Boolean] Determine if the contractor payment can be cancelled.
32
+ attr_reader :may_cancel
33
+ # @return [String] The fixed wage of the payment, regardless of hours worked.
34
+ attr_reader :wage
35
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentForGroupWageType] The wage type for the payment.
36
+ attr_reader :wage_type
37
+ # @return [String] (hours \* hourly_rate) + wage + bonus
38
+ attr_reader :wage_total
39
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
40
+ attr_reader :additional_properties
41
+ # @return [Object]
42
+ attr_reader :_field_set
43
+ protected :_field_set
44
+
45
+ OMIT = Object.new
46
+
47
+ # @param uuid [String] The unique identifier of the contractor payment in Gusto.
48
+ # @param contractor_uuid [String] The UUID of the contractor.
49
+ # @param bonus [String] The bonus amount in the payment.
50
+ # @param hours [String] The number of hours worked for the payment.
51
+ # @param payment_method [Gusto::ContractorPaymentGroups::ContractorPaymentForGroupPaymentMethod] The payment method.
52
+ # @param reimbursement [String] The reimbursement amount in the payment.
53
+ # @param status [Gusto::ContractorPaymentGroups::ContractorPaymentForGroupStatus] The status of the contractor payment. Will transition to `Funded` during
54
+ # payments processing if the payment should be funded, i.e. has `Direct Deposit`
55
+ # for payment method. Contractors payments with `Check` payment method will remain
56
+ # `Unfunded`.
57
+ # @param hourly_rate [String] The rate per hour worked for the payment.
58
+ # @param may_cancel [Boolean] Determine if the contractor payment can be cancelled.
59
+ # @param wage [String] The fixed wage of the payment, regardless of hours worked.
60
+ # @param wage_type [Gusto::ContractorPaymentGroups::ContractorPaymentForGroupWageType] The wage type for the payment.
61
+ # @param wage_total [String] (hours \* hourly_rate) + wage + bonus
62
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
63
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentForGroup]
64
+ def initialize(uuid: OMIT, contractor_uuid: OMIT, bonus: OMIT, hours: OMIT, payment_method: OMIT, reimbursement: OMIT, status: OMIT, hourly_rate: OMIT, may_cancel: OMIT, wage: OMIT, wage_type: OMIT, wage_total: OMIT, additional_properties: nil)
65
+ @uuid = uuid if uuid != OMIT
66
+ @contractor_uuid = contractor_uuid if contractor_uuid != OMIT
67
+ @bonus = bonus if bonus != OMIT
68
+ @hours = hours if hours != OMIT
69
+ @payment_method = payment_method if payment_method != OMIT
70
+ @reimbursement = reimbursement if reimbursement != OMIT
71
+ @status = status if status != OMIT
72
+ @hourly_rate = hourly_rate if hourly_rate != OMIT
73
+ @may_cancel = may_cancel if may_cancel != OMIT
74
+ @wage = wage if wage != OMIT
75
+ @wage_type = wage_type if wage_type != OMIT
76
+ @wage_total = wage_total if wage_total != OMIT
77
+ @additional_properties = additional_properties
78
+ @_field_set = { "uuid": uuid, "contractor_uuid": contractor_uuid, "bonus": bonus, "hours": hours, "payment_method": payment_method, "reimbursement": reimbursement, "status": status, "hourly_rate": hourly_rate, "may_cancel": may_cancel, "wage": wage, "wage_type": wage_type, "wage_total": wage_total }.reject do | _k, v |
79
+ v == OMIT
80
+ end
81
+ end
82
+ # Deserialize a JSON object to an instance of ContractorPaymentForGroup
83
+ #
84
+ # @param json_object [String]
85
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentForGroup]
86
+ def self.from_json(json_object:)
87
+ struct = JSON.parse(json_object, object_class: OpenStruct)
88
+ parsed_json = JSON.parse(json_object)
89
+ uuid = parsed_json["uuid"]
90
+ contractor_uuid = parsed_json["contractor_uuid"]
91
+ bonus = parsed_json["bonus"]
92
+ hours = parsed_json["hours"]
93
+ payment_method = parsed_json["payment_method"]
94
+ reimbursement = parsed_json["reimbursement"]
95
+ status = parsed_json["status"]
96
+ hourly_rate = parsed_json["hourly_rate"]
97
+ may_cancel = parsed_json["may_cancel"]
98
+ wage = parsed_json["wage"]
99
+ wage_type = parsed_json["wage_type"]
100
+ wage_total = parsed_json["wage_total"]
101
+ new(
102
+ uuid: uuid,
103
+ contractor_uuid: contractor_uuid,
104
+ bonus: bonus,
105
+ hours: hours,
106
+ payment_method: payment_method,
107
+ reimbursement: reimbursement,
108
+ status: status,
109
+ hourly_rate: hourly_rate,
110
+ may_cancel: may_cancel,
111
+ wage: wage,
112
+ wage_type: wage_type,
113
+ wage_total: wage_total,
114
+ additional_properties: struct
115
+ )
116
+ end
117
+ # Serialize an instance of ContractorPaymentForGroup to a JSON object
118
+ #
119
+ # @return [String]
120
+ def to_json
121
+ @_field_set&.to_json
122
+ end
123
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
124
+ # hash and check each fields type against the current object's property
125
+ # definitions.
126
+ #
127
+ # @param obj [Object]
128
+ # @return [Void]
129
+ def self.validate_raw(obj:)
130
+ obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
131
+ obj.contractor_uuid&.is_a?(String) != false || raise("Passed value for field obj.contractor_uuid is not the expected type, validation failed.")
132
+ obj.bonus&.is_a?(String) != false || raise("Passed value for field obj.bonus is not the expected type, validation failed.")
133
+ obj.hours&.is_a?(String) != false || raise("Passed value for field obj.hours is not the expected type, validation failed.")
134
+ obj.payment_method&.is_a?(Gusto::ContractorPaymentGroups::ContractorPaymentForGroupPaymentMethod) != false || raise("Passed value for field obj.payment_method is not the expected type, validation failed.")
135
+ obj.reimbursement&.is_a?(String) != false || raise("Passed value for field obj.reimbursement is not the expected type, validation failed.")
136
+ obj.status&.is_a?(Gusto::ContractorPaymentGroups::ContractorPaymentForGroupStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
137
+ obj.hourly_rate&.is_a?(String) != false || raise("Passed value for field obj.hourly_rate is not the expected type, validation failed.")
138
+ obj.may_cancel&.is_a?(Boolean) != false || raise("Passed value for field obj.may_cancel is not the expected type, validation failed.")
139
+ obj.wage&.is_a?(String) != false || raise("Passed value for field obj.wage is not the expected type, validation failed.")
140
+ obj.wage_type&.is_a?(Gusto::ContractorPaymentGroups::ContractorPaymentForGroupWageType) != false || raise("Passed value for field obj.wage_type is not the expected type, validation failed.")
141
+ obj.wage_total&.is_a?(String) != false || raise("Passed value for field obj.wage_total is not the expected type, validation failed.")
142
+ end
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module ContractorPaymentGroups
5
+ # The payment method.
6
+ class ContractorPaymentForGroupPaymentMethod
7
+
8
+ DIRECT_DEPOSIT = "Direct Deposit"
9
+ CHECK = "Check"
10
+ HISTORICAL_PAYMENT = "Historical Payment"
11
+ CORRECTION_PAYMENT = "Correction Payment"
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module ContractorPaymentGroups
5
+ # The status of the contractor payment. Will transition to `Funded` during
6
+ # payments processing if the payment should be funded, i.e. has `Direct Deposit`
7
+ # for payment method. Contractors payments with `Check` payment method will remain
8
+ # `Unfunded`.
9
+ class ContractorPaymentForGroupStatus
10
+
11
+ FUNDED = "Funded"
12
+ UNFUNDED = "Unfunded"
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module ContractorPaymentGroups
5
+ # The wage type for the payment.
6
+ class ContractorPaymentForGroupWageType
7
+
8
+ HOURLY = "Hourly"
9
+ FIXED = "Fixed"
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,127 @@
1
+ # frozen_string_literal: true
2
+ require_relative "contractor_payment_group_status"
3
+ require_relative "contractor_payment_group_totals"
4
+ require_relative "contractor_payment_for_group"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Gusto
9
+ module ContractorPaymentGroups
10
+ # The full contractor payment group, including associated contractor payments.
11
+ class ContractorPaymentGroup
12
+ # @return [String] The unique identifier of the contractor payment group.
13
+ attr_reader :uuid
14
+ # @return [String] The UUID of the company.
15
+ attr_reader :company_uuid
16
+ # @return [String] The check date of the contractor payment group.
17
+ attr_reader :check_date
18
+ # @return [String] The debit date of the contractor payment group.
19
+ attr_reader :debit_date
20
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroupStatus] The status of the contractor payment group. Will be `Funded` if all payments
21
+ # that should be funded (i.e. have `Direct Deposit` for payment method) are
22
+ # funded. A group can have status `Funded` while having associated payments that
23
+ # have status `Unfunded`, i.e. payment with `Check` payment method.
24
+ attr_reader :status
25
+ # @return [String] Token used to make contractor payment group creation idempotent. Will error if
26
+ # attempting to create a group with a duplicate token.
27
+ attr_reader :creation_token
28
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroupTotals]
29
+ attr_reader :totals
30
+ # @return [Array<Gusto::ContractorPaymentGroups::ContractorPaymentForGroup>]
31
+ attr_reader :contractor_payments
32
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
33
+ attr_reader :additional_properties
34
+ # @return [Object]
35
+ attr_reader :_field_set
36
+ protected :_field_set
37
+
38
+ OMIT = Object.new
39
+
40
+ # @param uuid [String] The unique identifier of the contractor payment group.
41
+ # @param company_uuid [String] The UUID of the company.
42
+ # @param check_date [String] The check date of the contractor payment group.
43
+ # @param debit_date [String] The debit date of the contractor payment group.
44
+ # @param status [Gusto::ContractorPaymentGroups::ContractorPaymentGroupStatus] The status of the contractor payment group. Will be `Funded` if all payments
45
+ # that should be funded (i.e. have `Direct Deposit` for payment method) are
46
+ # funded. A group can have status `Funded` while having associated payments that
47
+ # have status `Unfunded`, i.e. payment with `Check` payment method.
48
+ # @param creation_token [String] Token used to make contractor payment group creation idempotent. Will error if
49
+ # attempting to create a group with a duplicate token.
50
+ # @param totals [Gusto::ContractorPaymentGroups::ContractorPaymentGroupTotals]
51
+ # @param contractor_payments [Array<Gusto::ContractorPaymentGroups::ContractorPaymentForGroup>]
52
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
53
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
54
+ def initialize(uuid: OMIT, company_uuid: OMIT, check_date: OMIT, debit_date: OMIT, status: OMIT, creation_token: OMIT, totals: OMIT, contractor_payments: OMIT, additional_properties: nil)
55
+ @uuid = uuid if uuid != OMIT
56
+ @company_uuid = company_uuid if company_uuid != OMIT
57
+ @check_date = check_date if check_date != OMIT
58
+ @debit_date = debit_date if debit_date != OMIT
59
+ @status = status if status != OMIT
60
+ @creation_token = creation_token if creation_token != OMIT
61
+ @totals = totals if totals != OMIT
62
+ @contractor_payments = contractor_payments if contractor_payments != OMIT
63
+ @additional_properties = additional_properties
64
+ @_field_set = { "uuid": uuid, "company_uuid": company_uuid, "check_date": check_date, "debit_date": debit_date, "status": status, "creation_token": creation_token, "totals": totals, "contractor_payments": contractor_payments }.reject do | _k, v |
65
+ v == OMIT
66
+ end
67
+ end
68
+ # Deserialize a JSON object to an instance of ContractorPaymentGroup
69
+ #
70
+ # @param json_object [String]
71
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
72
+ def self.from_json(json_object:)
73
+ struct = JSON.parse(json_object, object_class: OpenStruct)
74
+ parsed_json = JSON.parse(json_object)
75
+ uuid = parsed_json["uuid"]
76
+ company_uuid = parsed_json["company_uuid"]
77
+ check_date = parsed_json["check_date"]
78
+ debit_date = parsed_json["debit_date"]
79
+ status = parsed_json["status"]
80
+ creation_token = parsed_json["creation_token"]
81
+ unless parsed_json["totals"].nil?
82
+ totals = parsed_json["totals"].to_json
83
+ totals = Gusto::ContractorPaymentGroups::ContractorPaymentGroupTotals.from_json(json_object: totals)
84
+ else
85
+ totals = nil
86
+ end
87
+ contractor_payments = parsed_json["contractor_payments"]&.map do | item |
88
+ item = item.to_json
89
+ Gusto::ContractorPaymentGroups::ContractorPaymentForGroup.from_json(json_object: item)
90
+ end
91
+ new(
92
+ uuid: uuid,
93
+ company_uuid: company_uuid,
94
+ check_date: check_date,
95
+ debit_date: debit_date,
96
+ status: status,
97
+ creation_token: creation_token,
98
+ totals: totals,
99
+ contractor_payments: contractor_payments,
100
+ additional_properties: struct
101
+ )
102
+ end
103
+ # Serialize an instance of ContractorPaymentGroup to a JSON object
104
+ #
105
+ # @return [String]
106
+ def to_json
107
+ @_field_set&.to_json
108
+ end
109
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
110
+ # hash and check each fields type against the current object's property
111
+ # definitions.
112
+ #
113
+ # @param obj [Object]
114
+ # @return [Void]
115
+ def self.validate_raw(obj:)
116
+ obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
117
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
118
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
119
+ obj.debit_date&.is_a?(String) != false || raise("Passed value for field obj.debit_date is not the expected type, validation failed.")
120
+ obj.status&.is_a?(Gusto::ContractorPaymentGroups::ContractorPaymentGroupStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
121
+ obj.creation_token&.is_a?(String) != false || raise("Passed value for field obj.creation_token is not the expected type, validation failed.")
122
+ obj.totals.nil? || Gusto::ContractorPaymentGroups::ContractorPaymentGroupTotals.validate_raw(obj: obj.totals)
123
+ obj.contractor_payments&.is_a?(Array) != false || raise("Passed value for field obj.contractor_payments is not the expected type, validation failed.")
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+ require_relative "contractor_payment_group_minimal_status"
3
+ require_relative "contractor_payment_group_minimal_totals"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Gusto
8
+ module ContractorPaymentGroups
9
+ # The summary of a contractor payment group.
10
+ class ContractorPaymentGroupMinimal
11
+ # @return [String] The unique identifier of the contractor payment group.
12
+ attr_reader :uuid
13
+ # @return [String] The UUID of the company.
14
+ attr_reader :company_uuid
15
+ # @return [String] The check date of the contractor payment group.
16
+ attr_reader :check_date
17
+ # @return [String] The debit date of the contractor payment group.
18
+ attr_reader :debit_date
19
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalStatus] The status of the contractor payment group. Will be `Funded` if all payments
20
+ # that should be funded (i.e. have `Direct Deposit` for payment method) are
21
+ # funded. A group can have status `Funded` while having associated payments that
22
+ # have status `Unfunded`, i.e. payment with `Check` payment method.
23
+ attr_reader :status
24
+ # @return [String] Token used to make contractor payment group creation idempotent. Will error if
25
+ # attempting to create a group with a duplicate token.
26
+ attr_reader :creation_token
27
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalTotals]
28
+ attr_reader :totals
29
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
30
+ attr_reader :additional_properties
31
+ # @return [Object]
32
+ attr_reader :_field_set
33
+ protected :_field_set
34
+
35
+ OMIT = Object.new
36
+
37
+ # @param uuid [String] The unique identifier of the contractor payment group.
38
+ # @param company_uuid [String] The UUID of the company.
39
+ # @param check_date [String] The check date of the contractor payment group.
40
+ # @param debit_date [String] The debit date of the contractor payment group.
41
+ # @param status [Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalStatus] The status of the contractor payment group. Will be `Funded` if all payments
42
+ # that should be funded (i.e. have `Direct Deposit` for payment method) are
43
+ # funded. A group can have status `Funded` while having associated payments that
44
+ # have status `Unfunded`, i.e. payment with `Check` payment method.
45
+ # @param creation_token [String] Token used to make contractor payment group creation idempotent. Will error if
46
+ # attempting to create a group with a duplicate token.
47
+ # @param totals [Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalTotals]
48
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
49
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimal]
50
+ def initialize(uuid: OMIT, company_uuid: OMIT, check_date: OMIT, debit_date: OMIT, status: OMIT, creation_token: OMIT, totals: OMIT, additional_properties: nil)
51
+ @uuid = uuid if uuid != OMIT
52
+ @company_uuid = company_uuid if company_uuid != OMIT
53
+ @check_date = check_date if check_date != OMIT
54
+ @debit_date = debit_date if debit_date != OMIT
55
+ @status = status if status != OMIT
56
+ @creation_token = creation_token if creation_token != OMIT
57
+ @totals = totals if totals != OMIT
58
+ @additional_properties = additional_properties
59
+ @_field_set = { "uuid": uuid, "company_uuid": company_uuid, "check_date": check_date, "debit_date": debit_date, "status": status, "creation_token": creation_token, "totals": totals }.reject do | _k, v |
60
+ v == OMIT
61
+ end
62
+ end
63
+ # Deserialize a JSON object to an instance of ContractorPaymentGroupMinimal
64
+ #
65
+ # @param json_object [String]
66
+ # @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimal]
67
+ def self.from_json(json_object:)
68
+ struct = JSON.parse(json_object, object_class: OpenStruct)
69
+ parsed_json = JSON.parse(json_object)
70
+ uuid = parsed_json["uuid"]
71
+ company_uuid = parsed_json["company_uuid"]
72
+ check_date = parsed_json["check_date"]
73
+ debit_date = parsed_json["debit_date"]
74
+ status = parsed_json["status"]
75
+ creation_token = parsed_json["creation_token"]
76
+ unless parsed_json["totals"].nil?
77
+ totals = parsed_json["totals"].to_json
78
+ totals = Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalTotals.from_json(json_object: totals)
79
+ else
80
+ totals = nil
81
+ end
82
+ new(
83
+ uuid: uuid,
84
+ company_uuid: company_uuid,
85
+ check_date: check_date,
86
+ debit_date: debit_date,
87
+ status: status,
88
+ creation_token: creation_token,
89
+ totals: totals,
90
+ additional_properties: struct
91
+ )
92
+ end
93
+ # Serialize an instance of ContractorPaymentGroupMinimal to a JSON object
94
+ #
95
+ # @return [String]
96
+ def to_json
97
+ @_field_set&.to_json
98
+ end
99
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
100
+ # hash and check each fields type against the current object's property
101
+ # definitions.
102
+ #
103
+ # @param obj [Object]
104
+ # @return [Void]
105
+ def self.validate_raw(obj:)
106
+ obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
107
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
108
+ obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
109
+ obj.debit_date&.is_a?(String) != false || raise("Passed value for field obj.debit_date is not the expected type, validation failed.")
110
+ obj.status&.is_a?(Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
111
+ obj.creation_token&.is_a?(String) != false || raise("Passed value for field obj.creation_token is not the expected type, validation failed.")
112
+ obj.totals.nil? || Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimalTotals.validate_raw(obj: obj.totals)
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ module ContractorPaymentGroups
5
+ # The status of the contractor payment group. Will be `Funded` if all payments
6
+ # that should be funded (i.e. have `Direct Deposit` for payment method) are
7
+ # funded. A group can have status `Funded` while having associated payments that
8
+ # have status `Unfunded`, i.e. payment with `Check` payment method.
9
+ class ContractorPaymentGroupMinimalStatus
10
+
11
+ UNFUNDED = "Unfunded"
12
+ FUNDED = "Funded"
13
+
14
+ end
15
+ end
16
+ end