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,182 @@
1
+ # frozen_string_literal: true
2
+ require_relative "tax_requirement_metadata_type"
3
+ require_relative "tax_requirement_metadata_options_item"
4
+ require_relative "tax_requirement_metadata_rate_type"
5
+ require_relative "tax_requirement_metadata_validation"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Gusto
10
+
11
+ class TaxRequirementMetadata
12
+ # @return [Gusto::TaxRequirementMetadataType] Describes the type of requirement - each type may have additional metadata
13
+ # properties to describe possible values, formats, etc.
14
+ # - `text`: free-text input, no additional requirements
15
+ # - `currency`: a value representing a dollar amount, e.g. `374.55` representing
16
+ # `$374.55`
17
+ # - `radio`: choose one of options provided, see `options`
18
+ # - `select`: choose one of options provided, see `options`
19
+ # - `percent`: A decimal value representing a percentage, e.g. `0.034`
20
+ # representing `3.4%`
21
+ # - `account_number`: An account number for a tax agency, more information
22
+ # provided by `mask` and `prefix`
23
+ # - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing
24
+ # a tax rate of `3.4%`, see `validation` for additional validation guidance
25
+ # - `workers_compensation_rate`: A decimal value representing a percentage, see
26
+ # `risk_class_code`, `risk_class_description`, and `rate_type`
27
+ attr_reader :type
28
+ # @return [Array<Gusto::TaxRequirementMetadataOptionsItem>] [for `select` or `radio`] An array of objects describing the possible values.
29
+ attr_reader :options
30
+ # @return [String] [for `workers_compensation_rate`] The industry risk class code for the rate
31
+ # being requested
32
+ attr_reader :risk_class_code
33
+ # @return [String] [for `workers_compensation_rate`] A description of the industry risk class for
34
+ # the rate being requested
35
+ attr_reader :risk_class_description
36
+ # @return [Gusto::TaxRequirementMetadataRateType] [for `workers_compensation_rate`] The type of rate being collected. Either:
37
+ # - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1%
38
+ # - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr
39
+ attr_reader :rate_type
40
+ # @return [String] [for `account_number`] A pattern describing the format of the account number
41
+ # The mask is a sequence of characters representing the requirements of the actual
42
+ # account number. Each character in the mask represents a single character in the
43
+ # account number as follows:
44
+ # - `#`: a digit (`\d`)
45
+ # - `@`: a upper or lower case letter (`[a-zA-Z]`)
46
+ # - `^`: an uppercase letter (`[A-Z]`)
47
+ # - `%`: a digit or uppercase letter (`[0-9A-Z]`)
48
+ # - any other character represents the literal character
49
+ # Examples:
50
+ # - mask: `WHT-######` represents `WHT-` followed by 5 digits, e.g. `WHT-33421`
51
+ # - mask: `%####-^^` supports values of `75544-AB` and `Z7654-HK`
52
+ attr_reader :mask
53
+ # @return [String] [for `account_number`] A value that precedes the value to be collected - useful
54
+ # for display, but should not be submitted as part of the value. E.g. some tax
55
+ # agencies use an account number that is a company's federal ein plus two digits.
56
+ # In that case the mask would be `##` and the prefix `XXXXX1234`.
57
+ attr_reader :prefix
58
+ # @return [Gusto::TaxRequirementMetadataValidation] [for `tax_rate`] Describes the validation required for the tax rate
59
+ attr_reader :validation
60
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
61
+ attr_reader :additional_properties
62
+ # @return [Object]
63
+ attr_reader :_field_set
64
+ protected :_field_set
65
+
66
+ OMIT = Object.new
67
+
68
+ # @param type [Gusto::TaxRequirementMetadataType] Describes the type of requirement - each type may have additional metadata
69
+ # properties to describe possible values, formats, etc.
70
+ # - `text`: free-text input, no additional requirements
71
+ # - `currency`: a value representing a dollar amount, e.g. `374.55` representing
72
+ # `$374.55`
73
+ # - `radio`: choose one of options provided, see `options`
74
+ # - `select`: choose one of options provided, see `options`
75
+ # - `percent`: A decimal value representing a percentage, e.g. `0.034`
76
+ # representing `3.4%`
77
+ # - `account_number`: An account number for a tax agency, more information
78
+ # provided by `mask` and `prefix`
79
+ # - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing
80
+ # a tax rate of `3.4%`, see `validation` for additional validation guidance
81
+ # - `workers_compensation_rate`: A decimal value representing a percentage, see
82
+ # `risk_class_code`, `risk_class_description`, and `rate_type`
83
+ # @param options [Array<Gusto::TaxRequirementMetadataOptionsItem>] [for `select` or `radio`] An array of objects describing the possible values.
84
+ # @param risk_class_code [String] [for `workers_compensation_rate`] The industry risk class code for the rate
85
+ # being requested
86
+ # @param risk_class_description [String] [for `workers_compensation_rate`] A description of the industry risk class for
87
+ # the rate being requested
88
+ # @param rate_type [Gusto::TaxRequirementMetadataRateType] [for `workers_compensation_rate`] The type of rate being collected. Either:
89
+ # - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1%
90
+ # - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr
91
+ # @param mask [String] [for `account_number`] A pattern describing the format of the account number
92
+ # The mask is a sequence of characters representing the requirements of the actual
93
+ # account number. Each character in the mask represents a single character in the
94
+ # account number as follows:
95
+ # - `#`: a digit (`\d`)
96
+ # - `@`: a upper or lower case letter (`[a-zA-Z]`)
97
+ # - `^`: an uppercase letter (`[A-Z]`)
98
+ # - `%`: a digit or uppercase letter (`[0-9A-Z]`)
99
+ # - any other character represents the literal character
100
+ # Examples:
101
+ # - mask: `WHT-######` represents `WHT-` followed by 5 digits, e.g. `WHT-33421`
102
+ # - mask: `%####-^^` supports values of `75544-AB` and `Z7654-HK`
103
+ # @param prefix [String] [for `account_number`] A value that precedes the value to be collected - useful
104
+ # for display, but should not be submitted as part of the value. E.g. some tax
105
+ # agencies use an account number that is a company's federal ein plus two digits.
106
+ # In that case the mask would be `##` and the prefix `XXXXX1234`.
107
+ # @param validation [Gusto::TaxRequirementMetadataValidation] [for `tax_rate`] Describes the validation required for the tax rate
108
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
109
+ # @return [Gusto::TaxRequirementMetadata]
110
+ def initialize(type:, options: OMIT, risk_class_code: OMIT, risk_class_description: OMIT, rate_type: OMIT, mask: OMIT, prefix: OMIT, validation: OMIT, additional_properties: nil)
111
+ @type = type
112
+ @options = options if options != OMIT
113
+ @risk_class_code = risk_class_code if risk_class_code != OMIT
114
+ @risk_class_description = risk_class_description if risk_class_description != OMIT
115
+ @rate_type = rate_type if rate_type != OMIT
116
+ @mask = mask if mask != OMIT
117
+ @prefix = prefix if prefix != OMIT
118
+ @validation = validation if validation != OMIT
119
+ @additional_properties = additional_properties
120
+ @_field_set = { "type": type, "options": options, "risk_class_code": risk_class_code, "risk_class_description": risk_class_description, "rate_type": rate_type, "mask": mask, "prefix": prefix, "validation": validation }.reject do | _k, v |
121
+ v == OMIT
122
+ end
123
+ end
124
+ # Deserialize a JSON object to an instance of TaxRequirementMetadata
125
+ #
126
+ # @param json_object [String]
127
+ # @return [Gusto::TaxRequirementMetadata]
128
+ def self.from_json(json_object:)
129
+ struct = JSON.parse(json_object, object_class: OpenStruct)
130
+ parsed_json = JSON.parse(json_object)
131
+ type = parsed_json["type"]
132
+ options = parsed_json["options"]&.map do | item |
133
+ item = item.to_json
134
+ Gusto::TaxRequirementMetadataOptionsItem.from_json(json_object: item)
135
+ end
136
+ risk_class_code = parsed_json["risk_class_code"]
137
+ risk_class_description = parsed_json["risk_class_description"]
138
+ rate_type = parsed_json["rate_type"]
139
+ mask = parsed_json["mask"]
140
+ prefix = parsed_json["prefix"]
141
+ unless parsed_json["validation"].nil?
142
+ validation = parsed_json["validation"].to_json
143
+ validation = Gusto::TaxRequirementMetadataValidation.from_json(json_object: validation)
144
+ else
145
+ validation = nil
146
+ end
147
+ new(
148
+ type: type,
149
+ options: options,
150
+ risk_class_code: risk_class_code,
151
+ risk_class_description: risk_class_description,
152
+ rate_type: rate_type,
153
+ mask: mask,
154
+ prefix: prefix,
155
+ validation: validation,
156
+ additional_properties: struct
157
+ )
158
+ end
159
+ # Serialize an instance of TaxRequirementMetadata to a JSON object
160
+ #
161
+ # @return [String]
162
+ def to_json
163
+ @_field_set&.to_json
164
+ end
165
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
166
+ # hash and check each fields type against the current object's property
167
+ # definitions.
168
+ #
169
+ # @param obj [Object]
170
+ # @return [Void]
171
+ def self.validate_raw(obj:)
172
+ obj.type.is_a?(Gusto::TaxRequirementMetadataType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
173
+ obj.options&.is_a?(Array) != false || raise("Passed value for field obj.options is not the expected type, validation failed.")
174
+ obj.risk_class_code&.is_a?(String) != false || raise("Passed value for field obj.risk_class_code is not the expected type, validation failed.")
175
+ obj.risk_class_description&.is_a?(String) != false || raise("Passed value for field obj.risk_class_description is not the expected type, validation failed.")
176
+ obj.rate_type&.is_a?(Gusto::TaxRequirementMetadataRateType) != false || raise("Passed value for field obj.rate_type is not the expected type, validation failed.")
177
+ obj.mask&.is_a?(String) != false || raise("Passed value for field obj.mask is not the expected type, validation failed.")
178
+ obj.prefix&.is_a?(String) != false || raise("Passed value for field obj.prefix is not the expected type, validation failed.")
179
+ obj.validation.nil? || Gusto::TaxRequirementMetadataValidation.validate_raw(obj: obj.validation)
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Gusto
6
+ class TaxRequirementMetadataOptionsItem
7
+ # @return [String] A customer facing label for the answer
8
+ attr_reader :label
9
+ # @return [String] The actual value to be submitted
10
+ attr_reader :value
11
+ # @return [String] A less verbose label that may sometimes be available
12
+ attr_reader :short_label
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param label [String] A customer facing label for the answer
22
+ # @param value [String] The actual value to be submitted
23
+ # @param short_label [String] A less verbose label that may sometimes be available
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Gusto::TaxRequirementMetadataOptionsItem]
26
+ def initialize(label:, value:, short_label: OMIT, additional_properties: nil)
27
+ @label = label
28
+ @value = value
29
+ @short_label = short_label if short_label != OMIT
30
+ @additional_properties = additional_properties
31
+ @_field_set = { "label": label, "value": value, "short_label": short_label }.reject do | _k, v |
32
+ v == OMIT
33
+ end
34
+ end
35
+ # Deserialize a JSON object to an instance of TaxRequirementMetadataOptionsItem
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Gusto::TaxRequirementMetadataOptionsItem]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ label = parsed_json["label"]
43
+ value = parsed_json["value"]
44
+ short_label = parsed_json["short_label"]
45
+ new(
46
+ label: label,
47
+ value: value,
48
+ short_label: short_label,
49
+ additional_properties: struct
50
+ )
51
+ end
52
+ # Serialize an instance of TaxRequirementMetadataOptionsItem to a JSON object
53
+ #
54
+ # @return [String]
55
+ def to_json
56
+ @_field_set&.to_json
57
+ end
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.label.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
66
+ obj.value.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
67
+ obj.short_label&.is_a?(String) != false || raise("Passed value for field obj.short_label is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # [for `workers_compensation_rate`] The type of rate being collected. Either:
5
+ # - `percent`: A percentage formatted as a decimal, e.g. `0.01` for 1%
6
+ # - `currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr
7
+ class TaxRequirementMetadataRateType
8
+
9
+ PERCENT = "percent"
10
+ CURRENCY_PER_HOUR = "currency_per_hour"
11
+
12
+ end
13
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # Describes the type of requirement - each type may have additional metadata
5
+ # properties to describe possible values, formats, etc.
6
+ # - `text`: free-text input, no additional requirements
7
+ # - `currency`: a value representing a dollar amount, e.g. `374.55` representing
8
+ # `$374.55`
9
+ # - `radio`: choose one of options provided, see `options`
10
+ # - `select`: choose one of options provided, see `options`
11
+ # - `percent`: A decimal value representing a percentage, e.g. `0.034`
12
+ # representing `3.4%`
13
+ # - `account_number`: An account number for a tax agency, more information
14
+ # provided by `mask` and `prefix`
15
+ # - `tax_rate`: A decimal value representing a tax rate, e.g. `0.034` representing
16
+ # a tax rate of `3.4%`, see `validation` for additional validation guidance
17
+ # - `workers_compensation_rate`: A decimal value representing a percentage, see
18
+ # `risk_class_code`, `risk_class_description`, and `rate_type`
19
+ class TaxRequirementMetadataType
20
+
21
+ TEXT = "text"
22
+ CURRENCY = "currency"
23
+ RADIO = "radio"
24
+ SELECT = "select"
25
+ PERCENT = "percent"
26
+ ACCOUNT_NUMBER = "account_number"
27
+ TAX_RATE = "tax_rate"
28
+ WORKERS_COMPENSATION_RATE = "workers_compensation_rate"
29
+
30
+ end
31
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+ require_relative "tax_requirement_metadata_validation_type"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ # [for `tax_rate`] Describes the validation required for the tax rate
8
+ class TaxRequirementMetadataValidation
9
+ # @return [Gusto::TaxRequirementMetadataValidationType] Describes the type of tax_rate validation rule
10
+ attr_reader :type
11
+ # @return [String] [for `min_max`] The inclusive lower bound of the tax rate
12
+ attr_reader :min
13
+ # @return [String] [for `min_max`] The inclusive upper bound of the tax rate
14
+ attr_reader :max
15
+ # @return [Array<String>] [for `one_of`] The possible, unformatted tax rates for selection.
16
+ # - e.g. ["0.0", "0.001"] representing 0% and 0.1%
17
+ attr_reader :rates
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 type [Gusto::TaxRequirementMetadataValidationType] Describes the type of tax_rate validation rule
27
+ # @param min [String] [for `min_max`] The inclusive lower bound of the tax rate
28
+ # @param max [String] [for `min_max`] The inclusive upper bound of the tax rate
29
+ # @param rates [Array<String>] [for `one_of`] The possible, unformatted tax rates for selection.
30
+ # - e.g. ["0.0", "0.001"] representing 0% and 0.1%
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [Gusto::TaxRequirementMetadataValidation]
33
+ def initialize(type:, min: OMIT, max: OMIT, rates: OMIT, additional_properties: nil)
34
+ @type = type
35
+ @min = min if min != OMIT
36
+ @max = max if max != OMIT
37
+ @rates = rates if rates != OMIT
38
+ @additional_properties = additional_properties
39
+ @_field_set = { "type": type, "min": min, "max": max, "rates": rates }.reject do | _k, v |
40
+ v == OMIT
41
+ end
42
+ end
43
+ # Deserialize a JSON object to an instance of TaxRequirementMetadataValidation
44
+ #
45
+ # @param json_object [String]
46
+ # @return [Gusto::TaxRequirementMetadataValidation]
47
+ def self.from_json(json_object:)
48
+ struct = JSON.parse(json_object, object_class: OpenStruct)
49
+ parsed_json = JSON.parse(json_object)
50
+ type = parsed_json["type"]
51
+ min = parsed_json["min"]
52
+ max = parsed_json["max"]
53
+ rates = parsed_json["rates"]
54
+ new(
55
+ type: type,
56
+ min: min,
57
+ max: max,
58
+ rates: rates,
59
+ additional_properties: struct
60
+ )
61
+ end
62
+ # Serialize an instance of TaxRequirementMetadataValidation to a JSON object
63
+ #
64
+ # @return [String]
65
+ def to_json
66
+ @_field_set&.to_json
67
+ end
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ obj.type.is_a?(Gusto::TaxRequirementMetadataValidationType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
76
+ obj.min&.is_a?(String) != false || raise("Passed value for field obj.min is not the expected type, validation failed.")
77
+ obj.max&.is_a?(String) != false || raise("Passed value for field obj.max is not the expected type, validation failed.")
78
+ obj.rates&.is_a?(Array) != false || raise("Passed value for field obj.rates is not the expected type, validation failed.")
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gusto
4
+ # Describes the type of tax_rate validation rule
5
+ class TaxRequirementMetadataValidationType
6
+
7
+ ONE_OF = "one_of"
8
+ MIN_MAX = "min_max"
9
+
10
+ end
11
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+ require_relative "tax_requirement_effective_from"
3
+ require_relative "tax_requirement"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Gusto
8
+
9
+ class TaxRequirementSet
10
+ # @return [String]
11
+ attr_reader :state
12
+ # @return [String]
13
+ attr_reader :key
14
+ # @return [String] Customer facing label for the requirement set, e.g. "Registrations"
15
+ attr_reader :label
16
+ # @return [Gusto::TAX_REQUIREMENT_EFFECTIVE_FROM]
17
+ attr_reader :effective_from
18
+ # @return [Array<Gusto::TaxRequirement>]
19
+ attr_reader :requirements
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 state [String]
29
+ # @param key [String]
30
+ # @param label [String] Customer facing label for the requirement set, e.g. "Registrations"
31
+ # @param effective_from [Gusto::TAX_REQUIREMENT_EFFECTIVE_FROM]
32
+ # @param requirements [Array<Gusto::TaxRequirement>]
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [Gusto::TaxRequirementSet]
35
+ def initialize(state: OMIT, key: OMIT, label: OMIT, effective_from: OMIT, requirements: OMIT, additional_properties: nil)
36
+ @state = state if state != OMIT
37
+ @key = key if key != OMIT
38
+ @label = label if label != OMIT
39
+ @effective_from = effective_from if effective_from != OMIT
40
+ @requirements = requirements if requirements != OMIT
41
+ @additional_properties = additional_properties
42
+ @_field_set = { "state": state, "key": key, "label": label, "effective_from": effective_from, "requirements": requirements }.reject do | _k, v |
43
+ v == OMIT
44
+ end
45
+ end
46
+ # Deserialize a JSON object to an instance of TaxRequirementSet
47
+ #
48
+ # @param json_object [String]
49
+ # @return [Gusto::TaxRequirementSet]
50
+ def self.from_json(json_object:)
51
+ struct = JSON.parse(json_object, object_class: OpenStruct)
52
+ parsed_json = JSON.parse(json_object)
53
+ state = parsed_json["state"]
54
+ key = parsed_json["key"]
55
+ label = parsed_json["label"]
56
+ effective_from = parsed_json["effective_from"]
57
+ requirements = parsed_json["requirements"]&.map do | item |
58
+ item = item.to_json
59
+ Gusto::TaxRequirement.from_json(json_object: item)
60
+ end
61
+ new(
62
+ state: state,
63
+ key: key,
64
+ label: label,
65
+ effective_from: effective_from,
66
+ requirements: requirements,
67
+ additional_properties: struct
68
+ )
69
+ end
70
+ # Serialize an instance of TaxRequirementSet to a JSON object
71
+ #
72
+ # @return [String]
73
+ def to_json
74
+ @_field_set&.to_json
75
+ end
76
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
77
+ # hash and check each fields type against the current object's property
78
+ # definitions.
79
+ #
80
+ # @param obj [Object]
81
+ # @return [Void]
82
+ def self.validate_raw(obj:)
83
+ obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
84
+ obj.key&.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.")
85
+ obj.label&.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
86
+ obj.effective_from&.is_a?(String) != false || raise("Passed value for field obj.effective_from is not the expected type, validation failed.")
87
+ obj.requirements&.is_a?(Array) != false || raise("Passed value for field obj.requirements is not the expected type, validation failed.")
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+ require_relative "tax_requirement_set"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+
8
+ class TaxRequirementsState
9
+ # @return [String]
10
+ attr_reader :company_uuid
11
+ # @return [String]
12
+ attr_reader :state
13
+ # @return [Array<Gusto::TaxRequirementSet>]
14
+ attr_reader :requirement_sets
15
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
16
+ attr_reader :additional_properties
17
+ # @return [Object]
18
+ attr_reader :_field_set
19
+ protected :_field_set
20
+
21
+ OMIT = Object.new
22
+
23
+ # @param company_uuid [String]
24
+ # @param state [String]
25
+ # @param requirement_sets [Array<Gusto::TaxRequirementSet>]
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Gusto::TaxRequirementsState]
28
+ def initialize(company_uuid: OMIT, state: OMIT, requirement_sets: OMIT, additional_properties: nil)
29
+ @company_uuid = company_uuid if company_uuid != OMIT
30
+ @state = state if state != OMIT
31
+ @requirement_sets = requirement_sets if requirement_sets != OMIT
32
+ @additional_properties = additional_properties
33
+ @_field_set = { "company_uuid": company_uuid, "state": state, "requirement_sets": requirement_sets }.reject do | _k, v |
34
+ v == OMIT
35
+ end
36
+ end
37
+ # Deserialize a JSON object to an instance of TaxRequirementsState
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Gusto::TaxRequirementsState]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ company_uuid = parsed_json["company_uuid"]
45
+ state = parsed_json["state"]
46
+ requirement_sets = parsed_json["requirement_sets"]&.map do | item |
47
+ item = item.to_json
48
+ Gusto::TaxRequirementSet.from_json(json_object: item)
49
+ end
50
+ new(
51
+ company_uuid: company_uuid,
52
+ state: state,
53
+ requirement_sets: requirement_sets,
54
+ additional_properties: struct
55
+ )
56
+ end
57
+ # Serialize an instance of TaxRequirementsState to a JSON object
58
+ #
59
+ # @return [String]
60
+ def to_json
61
+ @_field_set&.to_json
62
+ end
63
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
64
+ # hash and check each fields type against the current object's property
65
+ # definitions.
66
+ #
67
+ # @param obj [Object]
68
+ # @return [Void]
69
+ def self.validate_raw(obj:)
70
+ obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
71
+ obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
72
+ obj.requirement_sets&.is_a?(Array) != false || raise("Passed value for field obj.requirement_sets is not the expected type, validation failed.")
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+ require_relative "time_off_activity_time_off_type"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Gusto
7
+ # Representation of a Time Off Activity
8
+ class TimeOffActivity
9
+ # @return [String] unique identifier of a time off policy
10
+ attr_reader :policy_uuid
11
+ # @return [Gusto::TimeOffActivityTimeOffType] Type of the time off activity
12
+ attr_reader :time_off_type
13
+ # @return [String] The name of the time off policy for this activity
14
+ attr_reader :policy_name
15
+ # @return [String] The type of the time off event/activity
16
+ attr_reader :event_type
17
+ # @return [String] A description for the time off event/activity
18
+ attr_reader :event_description
19
+ # @return [String] The datetime of the time off activity
20
+ attr_reader :effective_time
21
+ # @return [String] The time off balance at the time of the activity
22
+ attr_reader :balance
23
+ # @return [String] The amount the time off balance changed as a result of the activity
24
+ attr_reader :balance_change
25
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
26
+ attr_reader :additional_properties
27
+ # @return [Object]
28
+ attr_reader :_field_set
29
+ protected :_field_set
30
+
31
+ OMIT = Object.new
32
+
33
+ # @param policy_uuid [String] unique identifier of a time off policy
34
+ # @param time_off_type [Gusto::TimeOffActivityTimeOffType] Type of the time off activity
35
+ # @param policy_name [String] The name of the time off policy for this activity
36
+ # @param event_type [String] The type of the time off event/activity
37
+ # @param event_description [String] A description for the time off event/activity
38
+ # @param effective_time [String] The datetime of the time off activity
39
+ # @param balance [String] The time off balance at the time of the activity
40
+ # @param balance_change [String] The amount the time off balance changed as a result of the activity
41
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
42
+ # @return [Gusto::TimeOffActivity]
43
+ def initialize(policy_uuid: OMIT, time_off_type: OMIT, policy_name: OMIT, event_type: OMIT, event_description: OMIT, effective_time: OMIT, balance: OMIT, balance_change: OMIT, additional_properties: nil)
44
+ @policy_uuid = policy_uuid if policy_uuid != OMIT
45
+ @time_off_type = time_off_type if time_off_type != OMIT
46
+ @policy_name = policy_name if policy_name != OMIT
47
+ @event_type = event_type if event_type != OMIT
48
+ @event_description = event_description if event_description != OMIT
49
+ @effective_time = effective_time if effective_time != OMIT
50
+ @balance = balance if balance != OMIT
51
+ @balance_change = balance_change if balance_change != OMIT
52
+ @additional_properties = additional_properties
53
+ @_field_set = { "policy_uuid": policy_uuid, "time_off_type": time_off_type, "policy_name": policy_name, "event_type": event_type, "event_description": event_description, "effective_time": effective_time, "balance": balance, "balance_change": balance_change }.reject do | _k, v |
54
+ v == OMIT
55
+ end
56
+ end
57
+ # Deserialize a JSON object to an instance of TimeOffActivity
58
+ #
59
+ # @param json_object [String]
60
+ # @return [Gusto::TimeOffActivity]
61
+ def self.from_json(json_object:)
62
+ struct = JSON.parse(json_object, object_class: OpenStruct)
63
+ parsed_json = JSON.parse(json_object)
64
+ policy_uuid = parsed_json["policy_uuid"]
65
+ time_off_type = parsed_json["time_off_type"]
66
+ policy_name = parsed_json["policy_name"]
67
+ event_type = parsed_json["event_type"]
68
+ event_description = parsed_json["event_description"]
69
+ effective_time = parsed_json["effective_time"]
70
+ balance = parsed_json["balance"]
71
+ balance_change = parsed_json["balance_change"]
72
+ new(
73
+ policy_uuid: policy_uuid,
74
+ time_off_type: time_off_type,
75
+ policy_name: policy_name,
76
+ event_type: event_type,
77
+ event_description: event_description,
78
+ effective_time: effective_time,
79
+ balance: balance,
80
+ balance_change: balance_change,
81
+ additional_properties: struct
82
+ )
83
+ end
84
+ # Serialize an instance of TimeOffActivity to a JSON object
85
+ #
86
+ # @return [String]
87
+ def to_json
88
+ @_field_set&.to_json
89
+ end
90
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
91
+ # hash and check each fields type against the current object's property
92
+ # definitions.
93
+ #
94
+ # @param obj [Object]
95
+ # @return [Void]
96
+ def self.validate_raw(obj:)
97
+ obj.policy_uuid&.is_a?(String) != false || raise("Passed value for field obj.policy_uuid is not the expected type, validation failed.")
98
+ obj.time_off_type&.is_a?(Gusto::TimeOffActivityTimeOffType) != false || raise("Passed value for field obj.time_off_type is not the expected type, validation failed.")
99
+ obj.policy_name&.is_a?(String) != false || raise("Passed value for field obj.policy_name is not the expected type, validation failed.")
100
+ obj.event_type&.is_a?(String) != false || raise("Passed value for field obj.event_type is not the expected type, validation failed.")
101
+ obj.event_description&.is_a?(String) != false || raise("Passed value for field obj.event_description is not the expected type, validation failed.")
102
+ obj.effective_time&.is_a?(String) != false || raise("Passed value for field obj.effective_time is not the expected type, validation failed.")
103
+ obj.balance&.is_a?(String) != false || raise("Passed value for field obj.balance is not the expected type, validation failed.")
104
+ obj.balance_change&.is_a?(String) != false || raise("Passed value for field obj.balance_change is not the expected type, validation failed.")
105
+ end
106
+ end
107
+ end