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.
- checksums.yaml +7 -0
- data/lib/base_gusto.rb +175 -0
- data/lib/core/file_utilities.rb +27 -0
- data/lib/environment.rb +9 -0
- data/lib/fern_gusto/ach_transactions/client.rb +119 -0
- data/lib/fern_gusto/admins/types/admin.rb +82 -0
- data/lib/fern_gusto/companies/attachments/client.rb +335 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
- data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
- data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
- data/lib/fern_gusto/companies/benefits/client.rb +862 -0
- data/lib/fern_gusto/companies/client.rb +1104 -0
- data/lib/fern_gusto/companies/departments/client.rb +587 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/employees/client.rb +376 -0
- data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
- data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
- data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
- data/lib/fern_gusto/companies/forms/client.rb +345 -0
- data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
- data/lib/fern_gusto/companies/locations/client.rb +417 -0
- data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
- data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
- data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
- data/lib/fern_gusto/companies/signatories/client.rb +513 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
- data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
- data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
- data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
- data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
- data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/company.rb +223 -0
- data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
- data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
- data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
- data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
- data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
- data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
- data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
- data/lib/fern_gusto/contractors/client.rb +1025 -0
- data/lib/fern_gusto/contractors/documents/client.rb +269 -0
- data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
- data/lib/fern_gusto/contractors/forms/client.rb +343 -0
- data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
- data/lib/fern_gusto/contractors/payments/client.rb +558 -0
- data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
- data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
- data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
- data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
- data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
- data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
- data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
- data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
- data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
- data/lib/fern_gusto/documents/types/document.rb +167 -0
- data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
- data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
- data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
- data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
- data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
- data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
- data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
- data/lib/fern_gusto/employees/adresses/client.rb +885 -0
- data/lib/fern_gusto/employees/benefits/client.rb +656 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/client.rb +822 -0
- data/lib/fern_gusto/employees/employments/client.rb +799 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/forms/client.rb +433 -0
- data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
- data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
- data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
- data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
- data/lib/fern_gusto/employees/types/employee.rb +281 -0
- data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
- data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
- data/lib/fern_gusto/events/client.rb +144 -0
- data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
- data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
- data/lib/fern_gusto/flows/client.rb +113 -0
- data/lib/fern_gusto/flows/types/flow.rb +66 -0
- data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
- data/lib/fern_gusto/forms/types/form.rb +123 -0
- data/lib/fern_gusto/forms/types/form1099.rb +126 -0
- data/lib/fern_gusto/generated_documents/client.rb +106 -0
- data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/industry/types/industry.rb +87 -0
- data/lib/fern_gusto/invoices/client.rb +132 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
- data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
- data/lib/fern_gusto/locations/types/company_address.rb +103 -0
- data/lib/fern_gusto/locations/types/location.rb +171 -0
- data/lib/fern_gusto/notifications/client.rb +120 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
- data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
- data/lib/fern_gusto/payroll/client.rb +1644 -0
- data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
- data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
- data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
- data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
- data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
- data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
- data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
- data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
- data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
- data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
- data/lib/fern_gusto/recovery_cases/client.rb +198 -0
- data/lib/fern_gusto/reports/client.rb +306 -0
- data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
- data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
- data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
- data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
- data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
- data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
- data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
- data/lib/fern_gusto/terminations/types/termination.rb +109 -0
- data/lib/fern_gusto/time_off_policies/client.rb +863 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
- data/lib/fern_gusto/token/client.rb +270 -0
- data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
- data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
- data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
- data/lib/fern_gusto/types/ach_transaction.rb +162 -0
- data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
- data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
- data/lib/fern_gusto/types/address.rb +111 -0
- data/lib/fern_gusto/types/authentication.rb +96 -0
- data/lib/fern_gusto/types/child_support_data.rb +58 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
- data/lib/fern_gusto/types/company_benefit.rb +135 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
- data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
- data/lib/fern_gusto/types/contractor_body.rb +200 -0
- data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
- data/lib/fern_gusto/types/create_report.rb +77 -0
- data/lib/fern_gusto/types/department.rb +103 -0
- data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
- data/lib/fern_gusto/types/department_employees_item.rb +53 -0
- data/lib/fern_gusto/types/document_pdf.rb +63 -0
- data/lib/fern_gusto/types/employee_address.rb +139 -0
- data/lib/fern_gusto/types/employee_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
- data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_work_address.rb +137 -0
- data/lib/fern_gusto/types/entity_error_object.rb +102 -0
- data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
- data/lib/fern_gusto/types/event.rb +99 -0
- data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
- data/lib/fern_gusto/types/form_pdf.rb +63 -0
- data/lib/fern_gusto/types/garnishment.rb +172 -0
- data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
- data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
- data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
- data/lib/fern_gusto/types/generated_document.rb +70 -0
- data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
- data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
- data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
- data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
- data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
- data/lib/fern_gusto/types/invoice_data.rb +58 -0
- data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
- data/lib/fern_gusto/types/minimum_wage.rb +96 -0
- data/lib/fern_gusto/types/notification.rb +125 -0
- data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
- data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
- data/lib/fern_gusto/types/paid_holidays.rb +61 -0
- data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
- data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
- data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
- data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
- data/lib/fern_gusto/types/payroll_check.rb +84 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
- data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
- data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
- data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
- data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
- data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
- data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
- data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
- data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
- data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
- data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
- data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
- data/lib/fern_gusto/types/recovery_case.rb +131 -0
- data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
- data/lib/fern_gusto/types/rehire.rb +116 -0
- data/lib/fern_gusto/types/rehire_body.rb +91 -0
- data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
- data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
- data/lib/fern_gusto/types/report.rb +72 -0
- data/lib/fern_gusto/types/report_template.rb +77 -0
- data/lib/fern_gusto/types/supported_benefit.rb +122 -0
- data/lib/fern_gusto/types/tax_requirement.rb +111 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
- data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
- data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
- data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
- data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
- data/lib/fern_gusto/types/time_off_activity.rb +107 -0
- data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
- data/lib/fern_gusto/types/time_off_policy.rb +183 -0
- data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
- data/lib/fern_gusto/types/versionable.rb +57 -0
- data/lib/fern_gusto/types/versionable_required.rb +55 -0
- data/lib/fern_gusto/types/wire_in_request.rb +170 -0
- data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
- data/lib/fern_gusto/webhooks/client.rb +627 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
- data/lib/fern_gusto.rb +310 -0
- data/lib/gemconfig.rb +13 -0
- data/lib/gusto_legacy.rb +19 -0
- data/lib/requests.rb +206 -0
- data/lib/types_export.rb +461 -0
- metadata +671 -0
@@ -0,0 +1,584 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../../requests"
|
3
|
+
require_relative "../../pay_schedules/types/pay_schedule"
|
4
|
+
require_relative "types/pay_schedules_create_request_frequency"
|
5
|
+
require_relative "types/pay_schedules_preview_request_frequency"
|
6
|
+
require_relative "types/pay_schedules_preview_response"
|
7
|
+
require_relative "types/pay_schedules_update_request_frequency"
|
8
|
+
require_relative "../../payrolls/types/pay_period"
|
9
|
+
require "json"
|
10
|
+
require "async"
|
11
|
+
require "async"
|
12
|
+
require "async"
|
13
|
+
require "async"
|
14
|
+
require "async"
|
15
|
+
require_relative "../../../requests"
|
16
|
+
|
17
|
+
module Gusto
|
18
|
+
module Payroll
|
19
|
+
class PaySchedulesClient
|
20
|
+
# @return [Gusto::RequestClient]
|
21
|
+
attr_reader :request_client
|
22
|
+
|
23
|
+
|
24
|
+
# @param request_client [Gusto::RequestClient]
|
25
|
+
# @return [Gusto::Payroll::PaySchedulesClient]
|
26
|
+
def initialize(request_client:)
|
27
|
+
@request_client = request_client
|
28
|
+
end
|
29
|
+
# The pay schedule object in Gusto captures the details of when employees work and
|
30
|
+
# when they should be paid. A company can have multiple pay schedules.
|
31
|
+
# scope: `pay_schedules:read`
|
32
|
+
#
|
33
|
+
# @param company_id [String] The UUID of the company
|
34
|
+
# @param pay_schedule_id [String] The UUID of the pay schedule
|
35
|
+
# @param request_options [Gusto::RequestOptions]
|
36
|
+
# @return [Gusto::PaySchedules::PaySchedule]
|
37
|
+
# @example
|
38
|
+
# api = Gusto::Client.new(
|
39
|
+
# base_url: "https://api.example.com",
|
40
|
+
# environment: Gusto::Environment::DEMO,
|
41
|
+
# token: "YOUR_AUTH_TOKEN"
|
42
|
+
# )
|
43
|
+
# api.payroll.pay_schedules.get(company_id: "company_id", pay_schedule_id: "pay_schedule_id")
|
44
|
+
def get(company_id:, pay_schedule_id:, request_options: nil)
|
45
|
+
response = @request_client.conn.get do | req |
|
46
|
+
unless request_options&.timeout_in_seconds.nil?
|
47
|
+
req.options.timeout = request_options.timeout_in_seconds
|
48
|
+
end
|
49
|
+
unless request_options&.token.nil?
|
50
|
+
req.headers["Authorization"] = request_options.token
|
51
|
+
end
|
52
|
+
unless request_options&.gusto_api_version.nil?
|
53
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
54
|
+
end
|
55
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
56
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
57
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
58
|
+
end
|
59
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
60
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
61
|
+
end
|
62
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules/#{pay_schedule_id}"
|
63
|
+
end
|
64
|
+
Gusto::PaySchedules::PaySchedule.from_json(json_object: response.body)
|
65
|
+
end
|
66
|
+
# If a company does not have any pay schedules, this endpoint will create a single
|
67
|
+
# pay schedule and assign it to all employees. This is a common use case during
|
68
|
+
# company onboarding.
|
69
|
+
# If a company has an existing active pay schedule and want to support multiple
|
70
|
+
# pay schedules, this endpoint will create a pay schedule that is not assigned to
|
71
|
+
# any employee.
|
72
|
+
# Be sure to **[check state laws](https://www.dol.gov/agencies/whd/state/payday)**
|
73
|
+
# to know what schedule is right for your customers.
|
74
|
+
#
|
75
|
+
# @param company_id [String] The UUID of the company
|
76
|
+
# @param frequency [Gusto::Payroll::PaySchedules::PaySchedulesCreateRequestFrequency] The frequency that employees on this pay schedule are paid with Gusto.
|
77
|
+
# @param anchor_pay_date [String] The first date that employees on this pay schedule are paid with Gusto.
|
78
|
+
# @param anchor_end_of_pay_period [String] The last date of the first pay period. This can be the same date as the anchor
|
79
|
+
# pay date.
|
80
|
+
# @param day1 [Integer] An integer between 1 and 31 indicating the first day of the month that employees
|
81
|
+
# are paid. This field is only relevant for pay schedules with the “Twice per
|
82
|
+
# month” and “Monthly” frequencies. It will be null for pay schedules with other
|
83
|
+
# frequencies.
|
84
|
+
# @param day2 [Integer] An integer between 1 and 31 indicating the second day of the month that
|
85
|
+
# employees are paid. This field is the second pay date for pay schedules with the
|
86
|
+
# "Twice per month" frequency. For semi-monthly pay schedules, set this field to
|
87
|
+
# 31. For months shorter than 31 days, we will set the second pay date to the last
|
88
|
+
# day of the month. It will be null for pay schedules with other frequencies.
|
89
|
+
# @param custom_name [String] A custom pay schedule name, defaults to the pay frequency description.
|
90
|
+
# @param request_options [Gusto::RequestOptions]
|
91
|
+
# @return [Gusto::PaySchedules::PaySchedule]
|
92
|
+
# @example
|
93
|
+
# api = Gusto::Client.new(
|
94
|
+
# base_url: "https://api.example.com",
|
95
|
+
# environment: Gusto::Environment::DEMO,
|
96
|
+
# token: "YOUR_AUTH_TOKEN"
|
97
|
+
# )
|
98
|
+
# api.payroll.pay_schedules.create(
|
99
|
+
# company_id: "company_id",
|
100
|
+
# frequency: TWICE_PER_MONTH,
|
101
|
+
# anchor_pay_date: "2021-10-15",
|
102
|
+
# anchor_end_of_pay_period: "2021-10-15",
|
103
|
+
# day1: 15,
|
104
|
+
# day2: 31,
|
105
|
+
# custom_name: "demo pay schedule"
|
106
|
+
# )
|
107
|
+
def create(company_id:, frequency:, anchor_pay_date:, anchor_end_of_pay_period:, day1: nil, day2: nil, custom_name: nil, request_options: nil)
|
108
|
+
response = @request_client.conn.post do | req |
|
109
|
+
unless request_options&.timeout_in_seconds.nil?
|
110
|
+
req.options.timeout = request_options.timeout_in_seconds
|
111
|
+
end
|
112
|
+
unless request_options&.token.nil?
|
113
|
+
req.headers["Authorization"] = request_options.token
|
114
|
+
end
|
115
|
+
unless request_options&.gusto_api_version.nil?
|
116
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
117
|
+
end
|
118
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
119
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
120
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
121
|
+
end
|
122
|
+
req.body = { **(request_options&.additional_body_parameters || {}), frequency: frequency, anchor_pay_date: anchor_pay_date, anchor_end_of_pay_period: anchor_end_of_pay_period, day_1: day1, day_2: day2, custom_name: custom_name }.compact
|
123
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules"
|
124
|
+
end
|
125
|
+
Gusto::PaySchedules::PaySchedule.from_json(json_object: response.body)
|
126
|
+
end
|
127
|
+
# Provides a preview of a pay schedule with the specified parameters
|
128
|
+
# scope: `pay_schedules:write`
|
129
|
+
#
|
130
|
+
# @param company_id [String] The UUID of the company
|
131
|
+
# @param frequency [Gusto::Payroll::PaySchedules::PaySchedulesPreviewRequestFrequency] The frequency that employees on this pay schedule are paid with Gusto.
|
132
|
+
# @param anchor_pay_date [String] The first date that employees on this pay schedule are paid with Gusto.
|
133
|
+
# @param anchor_end_of_pay_period [String] The last date of the first pay period. This can be the same date as the anchor
|
134
|
+
# pay date.
|
135
|
+
# @param day1 [Integer] An integer between 1 and 31 indicating the first day of the month that employees
|
136
|
+
# are paid. This field is only relevant for pay schedules with the “Twice per
|
137
|
+
# month” and “Monthly” frequencies. It will be null for pay schedules with other
|
138
|
+
# frequencies.
|
139
|
+
# @param day2 [Integer] An integer between 1 and 31 indicating the second day of the month that
|
140
|
+
# employees are paid. This field is the second pay date for pay schedules with the
|
141
|
+
# "Twice per month" frequency. For semi-monthly pay schedules, set this field to
|
142
|
+
# 31. For months shorter than 31 days, we will set the second pay date to the last
|
143
|
+
# day of the month. It will be null for pay schedules with other frequencies.
|
144
|
+
# @param request_options [Gusto::RequestOptions]
|
145
|
+
# @return [Gusto::Payroll::PaySchedules::PaySchedulesPreviewResponse]
|
146
|
+
# @example
|
147
|
+
# api = Gusto::Client.new(
|
148
|
+
# base_url: "https://api.example.com",
|
149
|
+
# environment: Gusto::Environment::DEMO,
|
150
|
+
# token: "YOUR_AUTH_TOKEN"
|
151
|
+
# )
|
152
|
+
# api.payroll.pay_schedules.preview(
|
153
|
+
# company_id: "company_id",
|
154
|
+
# anchor_pay_date: "2020-05-15",
|
155
|
+
# anchor_end_of_pay_period: "2020-05-08"
|
156
|
+
# )
|
157
|
+
def preview(company_id:, frequency: nil, anchor_pay_date: nil, anchor_end_of_pay_period: nil, day1: nil, day2: nil, request_options: nil)
|
158
|
+
response = @request_client.conn.get do | req |
|
159
|
+
unless request_options&.timeout_in_seconds.nil?
|
160
|
+
req.options.timeout = request_options.timeout_in_seconds
|
161
|
+
end
|
162
|
+
unless request_options&.token.nil?
|
163
|
+
req.headers["Authorization"] = request_options.token
|
164
|
+
end
|
165
|
+
unless request_options&.gusto_api_version.nil?
|
166
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
167
|
+
end
|
168
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
169
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "frequency": frequency, "anchor_pay_date": anchor_pay_date, "anchor_end_of_pay_period": anchor_end_of_pay_period, "day_1": day1, "day_2": day2 }.compact
|
170
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
171
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
172
|
+
end
|
173
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules/preview"
|
174
|
+
end
|
175
|
+
Gusto::Payroll::PaySchedules::PaySchedulesPreviewResponse.from_json(json_object: response.body)
|
176
|
+
end
|
177
|
+
# Updates a pay schedule.
|
178
|
+
# scope: `pay_schedules:write`
|
179
|
+
#
|
180
|
+
# @param company_id [String] The UUID of the company
|
181
|
+
# @param pay_schedule_id [String] The UUID of the pay schedule
|
182
|
+
# @param version [String] The current version of the object. See the [versioning
|
183
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
|
184
|
+
# information on how to use this field.
|
185
|
+
# @param frequency [Gusto::Payroll::PaySchedules::PaySchedulesUpdateRequestFrequency] The frequency that employees on this pay schedule are paid with Gusto.
|
186
|
+
# @param anchor_pay_date [String] The first date that employees on this pay schedule are paid with Gusto.
|
187
|
+
# @param anchor_end_of_pay_period [String] The last date of the first pay period. This can be the same date as the anchor
|
188
|
+
# pay date.
|
189
|
+
# @param day1 [Integer] An integer between 1 and 31 indicating the first day of the month that employees
|
190
|
+
# are paid. This field is only relevant for pay schedules with the “Twice per
|
191
|
+
# month” and “Monthly” frequencies. It will be null for pay schedules with other
|
192
|
+
# frequencies.
|
193
|
+
# @param day2 [Integer] An integer between 1 and 31 indicating the second day of the month that
|
194
|
+
# employees are paid. This field is the second pay date for pay schedules with the
|
195
|
+
# "Twice per month" frequency. For semi-monthly pay schedules, set this field to
|
196
|
+
# 31. For months shorter than 31 days, we will set the second pay date to the last
|
197
|
+
# day of the month. It will be null for pay schedules with other frequencies.
|
198
|
+
# @param custom_name [String] A custom pay schedule name.
|
199
|
+
# @param auto_pilot [Boolean] With Autopilot® enabled, payroll will run automatically one day before your
|
200
|
+
# payroll deadlines.
|
201
|
+
# @param request_options [Gusto::RequestOptions]
|
202
|
+
# @return [Gusto::PaySchedules::PaySchedule]
|
203
|
+
# @example
|
204
|
+
# api = Gusto::Client.new(
|
205
|
+
# base_url: "https://api.example.com",
|
206
|
+
# environment: Gusto::Environment::DEMO,
|
207
|
+
# token: "YOUR_AUTH_TOKEN"
|
208
|
+
# )
|
209
|
+
# api.payroll.pay_schedules.update(
|
210
|
+
# company_id: "company_id",
|
211
|
+
# pay_schedule_id: "pay_schedule_id",
|
212
|
+
# version: "68934a3e9455fa72420237eb05902327",
|
213
|
+
# frequency: TWICE_PER_MONTH,
|
214
|
+
# anchor_pay_date: "2021-10-15",
|
215
|
+
# anchor_end_of_pay_period: "2021-10-15",
|
216
|
+
# day1: 15,
|
217
|
+
# day2: 31,
|
218
|
+
# custom_name: "demo pay schedule",
|
219
|
+
# auto_pilot: true
|
220
|
+
# )
|
221
|
+
def update(company_id:, pay_schedule_id:, version:, frequency: nil, anchor_pay_date: nil, anchor_end_of_pay_period: nil, day1: nil, day2: nil, custom_name: nil, auto_pilot: nil, request_options: nil)
|
222
|
+
response = @request_client.conn.put do | req |
|
223
|
+
unless request_options&.timeout_in_seconds.nil?
|
224
|
+
req.options.timeout = request_options.timeout_in_seconds
|
225
|
+
end
|
226
|
+
unless request_options&.token.nil?
|
227
|
+
req.headers["Authorization"] = request_options.token
|
228
|
+
end
|
229
|
+
unless request_options&.gusto_api_version.nil?
|
230
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
231
|
+
end
|
232
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
233
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
234
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
235
|
+
end
|
236
|
+
req.body = { **(request_options&.additional_body_parameters || {}), version: version, frequency: frequency, anchor_pay_date: anchor_pay_date, anchor_end_of_pay_period: anchor_end_of_pay_period, day_1: day1, day_2: day2, custom_name: custom_name, auto_pilot: auto_pilot }.compact
|
237
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules/#{pay_schedule_id}"
|
238
|
+
end
|
239
|
+
Gusto::PaySchedules::PaySchedule.from_json(json_object: response.body)
|
240
|
+
end
|
241
|
+
# Pay periods are the foundation of payroll. Compensation, time & attendance,
|
242
|
+
# taxes, and expense reports all rely on when they happened. To begin submitting
|
243
|
+
# information for a given payroll, we need to agree on the time period.
|
244
|
+
# By default, this endpoint returns pay periods starting from 6 months ago to the
|
245
|
+
# date today. Use the `start_date` and `end_date` parameters to change the scope
|
246
|
+
# of the response. End dates can be up to 3 months in the future and there is no
|
247
|
+
# limit on start dates.
|
248
|
+
# Starting in version '2023-04-01', the eligible_employees attribute was removed
|
249
|
+
# from the response. The eligible employees for a payroll are determined by the
|
250
|
+
# employee_compensations returned from the payrolls#prepare endpoint.
|
251
|
+
# scope: `payrolls:read`
|
252
|
+
#
|
253
|
+
# @param company_id [String] The UUID of the company
|
254
|
+
# @param start_date [String]
|
255
|
+
# @param end_date [String] If left empty, defaults to today's date.
|
256
|
+
# @param payroll_types [String] regular and/or transition. Multiple options are comma separated. The default is
|
257
|
+
# regular pay periods if nothing is passed in.
|
258
|
+
# @param request_options [Gusto::RequestOptions]
|
259
|
+
# @return [Array<Gusto::Payrolls::PayPeriod>]
|
260
|
+
# @example
|
261
|
+
# api = Gusto::Client.new(
|
262
|
+
# base_url: "https://api.example.com",
|
263
|
+
# environment: Gusto::Environment::DEMO,
|
264
|
+
# token: "YOUR_AUTH_TOKEN"
|
265
|
+
# )
|
266
|
+
# api.payroll.pay_schedules.get_pay_periods(
|
267
|
+
# company_id: "company_id",
|
268
|
+
# start_date: "2020-01-01",
|
269
|
+
# end_date: "2020-01-31"
|
270
|
+
# )
|
271
|
+
def get_pay_periods(company_id:, start_date: nil, end_date: nil, payroll_types: nil, request_options: nil)
|
272
|
+
response = @request_client.conn.get do | req |
|
273
|
+
unless request_options&.timeout_in_seconds.nil?
|
274
|
+
req.options.timeout = request_options.timeout_in_seconds
|
275
|
+
end
|
276
|
+
unless request_options&.token.nil?
|
277
|
+
req.headers["Authorization"] = request_options.token
|
278
|
+
end
|
279
|
+
unless request_options&.gusto_api_version.nil?
|
280
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
281
|
+
end
|
282
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
283
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "start_date": start_date, "end_date": end_date, "payroll_types": payroll_types }.compact
|
284
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
285
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
286
|
+
end
|
287
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_periods"
|
288
|
+
end
|
289
|
+
parsed_json = JSON.parse(response.body)
|
290
|
+
parsed_json&.map do | item |
|
291
|
+
item = item.to_json
|
292
|
+
Gusto::Payrolls::PayPeriod.from_json(json_object: item)
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
296
|
+
class AsyncPaySchedulesClient
|
297
|
+
# @return [Gusto::AsyncRequestClient]
|
298
|
+
attr_reader :request_client
|
299
|
+
|
300
|
+
|
301
|
+
# @param request_client [Gusto::RequestClient]
|
302
|
+
# @return [Gusto::Payroll::AsyncPaySchedulesClient]
|
303
|
+
def initialize(request_client:)
|
304
|
+
@request_client = request_client
|
305
|
+
end
|
306
|
+
# The pay schedule object in Gusto captures the details of when employees work and
|
307
|
+
# when they should be paid. A company can have multiple pay schedules.
|
308
|
+
# scope: `pay_schedules:read`
|
309
|
+
#
|
310
|
+
# @param company_id [String] The UUID of the company
|
311
|
+
# @param pay_schedule_id [String] The UUID of the pay schedule
|
312
|
+
# @param request_options [Gusto::RequestOptions]
|
313
|
+
# @return [Gusto::PaySchedules::PaySchedule]
|
314
|
+
# @example
|
315
|
+
# api = Gusto::Client.new(
|
316
|
+
# base_url: "https://api.example.com",
|
317
|
+
# environment: Gusto::Environment::DEMO,
|
318
|
+
# token: "YOUR_AUTH_TOKEN"
|
319
|
+
# )
|
320
|
+
# api.payroll.pay_schedules.get(company_id: "company_id", pay_schedule_id: "pay_schedule_id")
|
321
|
+
def get(company_id:, pay_schedule_id:, request_options: nil)
|
322
|
+
Async do
|
323
|
+
response = @request_client.conn.get do | req |
|
324
|
+
unless request_options&.timeout_in_seconds.nil?
|
325
|
+
req.options.timeout = request_options.timeout_in_seconds
|
326
|
+
end
|
327
|
+
unless request_options&.token.nil?
|
328
|
+
req.headers["Authorization"] = request_options.token
|
329
|
+
end
|
330
|
+
unless request_options&.gusto_api_version.nil?
|
331
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
332
|
+
end
|
333
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
334
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
335
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
336
|
+
end
|
337
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
338
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
339
|
+
end
|
340
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules/#{pay_schedule_id}"
|
341
|
+
end
|
342
|
+
Gusto::PaySchedules::PaySchedule.from_json(json_object: response.body)
|
343
|
+
end
|
344
|
+
end
|
345
|
+
# If a company does not have any pay schedules, this endpoint will create a single
|
346
|
+
# pay schedule and assign it to all employees. This is a common use case during
|
347
|
+
# company onboarding.
|
348
|
+
# If a company has an existing active pay schedule and want to support multiple
|
349
|
+
# pay schedules, this endpoint will create a pay schedule that is not assigned to
|
350
|
+
# any employee.
|
351
|
+
# Be sure to **[check state laws](https://www.dol.gov/agencies/whd/state/payday)**
|
352
|
+
# to know what schedule is right for your customers.
|
353
|
+
#
|
354
|
+
# @param company_id [String] The UUID of the company
|
355
|
+
# @param frequency [Gusto::Payroll::PaySchedules::PaySchedulesCreateRequestFrequency] The frequency that employees on this pay schedule are paid with Gusto.
|
356
|
+
# @param anchor_pay_date [String] The first date that employees on this pay schedule are paid with Gusto.
|
357
|
+
# @param anchor_end_of_pay_period [String] The last date of the first pay period. This can be the same date as the anchor
|
358
|
+
# pay date.
|
359
|
+
# @param day1 [Integer] An integer between 1 and 31 indicating the first day of the month that employees
|
360
|
+
# are paid. This field is only relevant for pay schedules with the “Twice per
|
361
|
+
# month” and “Monthly” frequencies. It will be null for pay schedules with other
|
362
|
+
# frequencies.
|
363
|
+
# @param day2 [Integer] An integer between 1 and 31 indicating the second day of the month that
|
364
|
+
# employees are paid. This field is the second pay date for pay schedules with the
|
365
|
+
# "Twice per month" frequency. For semi-monthly pay schedules, set this field to
|
366
|
+
# 31. For months shorter than 31 days, we will set the second pay date to the last
|
367
|
+
# day of the month. It will be null for pay schedules with other frequencies.
|
368
|
+
# @param custom_name [String] A custom pay schedule name, defaults to the pay frequency description.
|
369
|
+
# @param request_options [Gusto::RequestOptions]
|
370
|
+
# @return [Gusto::PaySchedules::PaySchedule]
|
371
|
+
# @example
|
372
|
+
# api = Gusto::Client.new(
|
373
|
+
# base_url: "https://api.example.com",
|
374
|
+
# environment: Gusto::Environment::DEMO,
|
375
|
+
# token: "YOUR_AUTH_TOKEN"
|
376
|
+
# )
|
377
|
+
# api.payroll.pay_schedules.create(
|
378
|
+
# company_id: "company_id",
|
379
|
+
# frequency: TWICE_PER_MONTH,
|
380
|
+
# anchor_pay_date: "2021-10-15",
|
381
|
+
# anchor_end_of_pay_period: "2021-10-15",
|
382
|
+
# day1: 15,
|
383
|
+
# day2: 31,
|
384
|
+
# custom_name: "demo pay schedule"
|
385
|
+
# )
|
386
|
+
def create(company_id:, frequency:, anchor_pay_date:, anchor_end_of_pay_period:, day1: nil, day2: nil, custom_name: nil, request_options: nil)
|
387
|
+
Async do
|
388
|
+
response = @request_client.conn.post do | req |
|
389
|
+
unless request_options&.timeout_in_seconds.nil?
|
390
|
+
req.options.timeout = request_options.timeout_in_seconds
|
391
|
+
end
|
392
|
+
unless request_options&.token.nil?
|
393
|
+
req.headers["Authorization"] = request_options.token
|
394
|
+
end
|
395
|
+
unless request_options&.gusto_api_version.nil?
|
396
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
397
|
+
end
|
398
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
399
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
400
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
401
|
+
end
|
402
|
+
req.body = { **(request_options&.additional_body_parameters || {}), frequency: frequency, anchor_pay_date: anchor_pay_date, anchor_end_of_pay_period: anchor_end_of_pay_period, day_1: day1, day_2: day2, custom_name: custom_name }.compact
|
403
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules"
|
404
|
+
end
|
405
|
+
Gusto::PaySchedules::PaySchedule.from_json(json_object: response.body)
|
406
|
+
end
|
407
|
+
end
|
408
|
+
# Provides a preview of a pay schedule with the specified parameters
|
409
|
+
# scope: `pay_schedules:write`
|
410
|
+
#
|
411
|
+
# @param company_id [String] The UUID of the company
|
412
|
+
# @param frequency [Gusto::Payroll::PaySchedules::PaySchedulesPreviewRequestFrequency] The frequency that employees on this pay schedule are paid with Gusto.
|
413
|
+
# @param anchor_pay_date [String] The first date that employees on this pay schedule are paid with Gusto.
|
414
|
+
# @param anchor_end_of_pay_period [String] The last date of the first pay period. This can be the same date as the anchor
|
415
|
+
# pay date.
|
416
|
+
# @param day1 [Integer] An integer between 1 and 31 indicating the first day of the month that employees
|
417
|
+
# are paid. This field is only relevant for pay schedules with the “Twice per
|
418
|
+
# month” and “Monthly” frequencies. It will be null for pay schedules with other
|
419
|
+
# frequencies.
|
420
|
+
# @param day2 [Integer] An integer between 1 and 31 indicating the second day of the month that
|
421
|
+
# employees are paid. This field is the second pay date for pay schedules with the
|
422
|
+
# "Twice per month" frequency. For semi-monthly pay schedules, set this field to
|
423
|
+
# 31. For months shorter than 31 days, we will set the second pay date to the last
|
424
|
+
# day of the month. It will be null for pay schedules with other frequencies.
|
425
|
+
# @param request_options [Gusto::RequestOptions]
|
426
|
+
# @return [Gusto::Payroll::PaySchedules::PaySchedulesPreviewResponse]
|
427
|
+
# @example
|
428
|
+
# api = Gusto::Client.new(
|
429
|
+
# base_url: "https://api.example.com",
|
430
|
+
# environment: Gusto::Environment::DEMO,
|
431
|
+
# token: "YOUR_AUTH_TOKEN"
|
432
|
+
# )
|
433
|
+
# api.payroll.pay_schedules.preview(
|
434
|
+
# company_id: "company_id",
|
435
|
+
# anchor_pay_date: "2020-05-15",
|
436
|
+
# anchor_end_of_pay_period: "2020-05-08"
|
437
|
+
# )
|
438
|
+
def preview(company_id:, frequency: nil, anchor_pay_date: nil, anchor_end_of_pay_period: nil, day1: nil, day2: nil, request_options: nil)
|
439
|
+
Async do
|
440
|
+
response = @request_client.conn.get do | req |
|
441
|
+
unless request_options&.timeout_in_seconds.nil?
|
442
|
+
req.options.timeout = request_options.timeout_in_seconds
|
443
|
+
end
|
444
|
+
unless request_options&.token.nil?
|
445
|
+
req.headers["Authorization"] = request_options.token
|
446
|
+
end
|
447
|
+
unless request_options&.gusto_api_version.nil?
|
448
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
449
|
+
end
|
450
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
451
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "frequency": frequency, "anchor_pay_date": anchor_pay_date, "anchor_end_of_pay_period": anchor_end_of_pay_period, "day_1": day1, "day_2": day2 }.compact
|
452
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
453
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
454
|
+
end
|
455
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules/preview"
|
456
|
+
end
|
457
|
+
Gusto::Payroll::PaySchedules::PaySchedulesPreviewResponse.from_json(json_object: response.body)
|
458
|
+
end
|
459
|
+
end
|
460
|
+
# Updates a pay schedule.
|
461
|
+
# scope: `pay_schedules:write`
|
462
|
+
#
|
463
|
+
# @param company_id [String] The UUID of the company
|
464
|
+
# @param pay_schedule_id [String] The UUID of the pay schedule
|
465
|
+
# @param version [String] The current version of the object. See the [versioning
|
466
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for
|
467
|
+
# information on how to use this field.
|
468
|
+
# @param frequency [Gusto::Payroll::PaySchedules::PaySchedulesUpdateRequestFrequency] The frequency that employees on this pay schedule are paid with Gusto.
|
469
|
+
# @param anchor_pay_date [String] The first date that employees on this pay schedule are paid with Gusto.
|
470
|
+
# @param anchor_end_of_pay_period [String] The last date of the first pay period. This can be the same date as the anchor
|
471
|
+
# pay date.
|
472
|
+
# @param day1 [Integer] An integer between 1 and 31 indicating the first day of the month that employees
|
473
|
+
# are paid. This field is only relevant for pay schedules with the “Twice per
|
474
|
+
# month” and “Monthly” frequencies. It will be null for pay schedules with other
|
475
|
+
# frequencies.
|
476
|
+
# @param day2 [Integer] An integer between 1 and 31 indicating the second day of the month that
|
477
|
+
# employees are paid. This field is the second pay date for pay schedules with the
|
478
|
+
# "Twice per month" frequency. For semi-monthly pay schedules, set this field to
|
479
|
+
# 31. For months shorter than 31 days, we will set the second pay date to the last
|
480
|
+
# day of the month. It will be null for pay schedules with other frequencies.
|
481
|
+
# @param custom_name [String] A custom pay schedule name.
|
482
|
+
# @param auto_pilot [Boolean] With Autopilot® enabled, payroll will run automatically one day before your
|
483
|
+
# payroll deadlines.
|
484
|
+
# @param request_options [Gusto::RequestOptions]
|
485
|
+
# @return [Gusto::PaySchedules::PaySchedule]
|
486
|
+
# @example
|
487
|
+
# api = Gusto::Client.new(
|
488
|
+
# base_url: "https://api.example.com",
|
489
|
+
# environment: Gusto::Environment::DEMO,
|
490
|
+
# token: "YOUR_AUTH_TOKEN"
|
491
|
+
# )
|
492
|
+
# api.payroll.pay_schedules.update(
|
493
|
+
# company_id: "company_id",
|
494
|
+
# pay_schedule_id: "pay_schedule_id",
|
495
|
+
# version: "68934a3e9455fa72420237eb05902327",
|
496
|
+
# frequency: TWICE_PER_MONTH,
|
497
|
+
# anchor_pay_date: "2021-10-15",
|
498
|
+
# anchor_end_of_pay_period: "2021-10-15",
|
499
|
+
# day1: 15,
|
500
|
+
# day2: 31,
|
501
|
+
# custom_name: "demo pay schedule",
|
502
|
+
# auto_pilot: true
|
503
|
+
# )
|
504
|
+
def update(company_id:, pay_schedule_id:, version:, frequency: nil, anchor_pay_date: nil, anchor_end_of_pay_period: nil, day1: nil, day2: nil, custom_name: nil, auto_pilot: nil, request_options: nil)
|
505
|
+
Async do
|
506
|
+
response = @request_client.conn.put do | req |
|
507
|
+
unless request_options&.timeout_in_seconds.nil?
|
508
|
+
req.options.timeout = request_options.timeout_in_seconds
|
509
|
+
end
|
510
|
+
unless request_options&.token.nil?
|
511
|
+
req.headers["Authorization"] = request_options.token
|
512
|
+
end
|
513
|
+
unless request_options&.gusto_api_version.nil?
|
514
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
515
|
+
end
|
516
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
517
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
518
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
519
|
+
end
|
520
|
+
req.body = { **(request_options&.additional_body_parameters || {}), version: version, frequency: frequency, anchor_pay_date: anchor_pay_date, anchor_end_of_pay_period: anchor_end_of_pay_period, day_1: day1, day_2: day2, custom_name: custom_name, auto_pilot: auto_pilot }.compact
|
521
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_schedules/#{pay_schedule_id}"
|
522
|
+
end
|
523
|
+
Gusto::PaySchedules::PaySchedule.from_json(json_object: response.body)
|
524
|
+
end
|
525
|
+
end
|
526
|
+
# Pay periods are the foundation of payroll. Compensation, time & attendance,
|
527
|
+
# taxes, and expense reports all rely on when they happened. To begin submitting
|
528
|
+
# information for a given payroll, we need to agree on the time period.
|
529
|
+
# By default, this endpoint returns pay periods starting from 6 months ago to the
|
530
|
+
# date today. Use the `start_date` and `end_date` parameters to change the scope
|
531
|
+
# of the response. End dates can be up to 3 months in the future and there is no
|
532
|
+
# limit on start dates.
|
533
|
+
# Starting in version '2023-04-01', the eligible_employees attribute was removed
|
534
|
+
# from the response. The eligible employees for a payroll are determined by the
|
535
|
+
# employee_compensations returned from the payrolls#prepare endpoint.
|
536
|
+
# scope: `payrolls:read`
|
537
|
+
#
|
538
|
+
# @param company_id [String] The UUID of the company
|
539
|
+
# @param start_date [String]
|
540
|
+
# @param end_date [String] If left empty, defaults to today's date.
|
541
|
+
# @param payroll_types [String] regular and/or transition. Multiple options are comma separated. The default is
|
542
|
+
# regular pay periods if nothing is passed in.
|
543
|
+
# @param request_options [Gusto::RequestOptions]
|
544
|
+
# @return [Array<Gusto::Payrolls::PayPeriod>]
|
545
|
+
# @example
|
546
|
+
# api = Gusto::Client.new(
|
547
|
+
# base_url: "https://api.example.com",
|
548
|
+
# environment: Gusto::Environment::DEMO,
|
549
|
+
# token: "YOUR_AUTH_TOKEN"
|
550
|
+
# )
|
551
|
+
# api.payroll.pay_schedules.get_pay_periods(
|
552
|
+
# company_id: "company_id",
|
553
|
+
# start_date: "2020-01-01",
|
554
|
+
# end_date: "2020-01-31"
|
555
|
+
# )
|
556
|
+
def get_pay_periods(company_id:, start_date: nil, end_date: nil, payroll_types: nil, request_options: nil)
|
557
|
+
Async do
|
558
|
+
response = @request_client.conn.get do | req |
|
559
|
+
unless request_options&.timeout_in_seconds.nil?
|
560
|
+
req.options.timeout = request_options.timeout_in_seconds
|
561
|
+
end
|
562
|
+
unless request_options&.token.nil?
|
563
|
+
req.headers["Authorization"] = request_options.token
|
564
|
+
end
|
565
|
+
unless request_options&.gusto_api_version.nil?
|
566
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
567
|
+
end
|
568
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
569
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "start_date": start_date, "end_date": end_date, "payroll_types": payroll_types }.compact
|
570
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
571
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
572
|
+
end
|
573
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/pay_periods"
|
574
|
+
end
|
575
|
+
parsed_json = JSON.parse(response.body)
|
576
|
+
parsed_json&.map do | item |
|
577
|
+
item = item.to_json
|
578
|
+
Gusto::Payrolls::PayPeriod.from_json(json_object: item)
|
579
|
+
end
|
580
|
+
end
|
581
|
+
end
|
582
|
+
end
|
583
|
+
end
|
584
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Payroll
|
5
|
+
module PaySchedules
|
6
|
+
# The frequency that employees on this pay schedule are paid with Gusto.
|
7
|
+
class PaySchedulesCreateRequestFrequency
|
8
|
+
|
9
|
+
EVERY_WEEK = "Every week"
|
10
|
+
EVERY_OTHER_WEEK = "Every other week"
|
11
|
+
TWICE_PER_MONTH = "Twice per month"
|
12
|
+
MONTHLY = "Monthly"
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Payroll
|
5
|
+
module PaySchedules
|
6
|
+
class PaySchedulesPreviewRequestFrequency
|
7
|
+
|
8
|
+
EVERY_WEEK = "Every week"
|
9
|
+
EVERY_OTHER_WEEK = "Every other week"
|
10
|
+
TWICE_PER_MONTH = "Twice per month"
|
11
|
+
MONTHLY = "Monthly"
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|