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,569 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../../requests"
|
3
|
+
require_relative "../../contractor_payment_groups/types/contractor_payment_group_minimal"
|
4
|
+
require "json"
|
5
|
+
require_relative "types/payment_groups_create_request_contractor_payments_item"
|
6
|
+
require_relative "../../contractor_payment_groups/types/contractor_payment_group"
|
7
|
+
require_relative "types/payment_groups_preview_request_contractor_payments_item"
|
8
|
+
require "async"
|
9
|
+
require "async"
|
10
|
+
require "async"
|
11
|
+
require "async"
|
12
|
+
require "async"
|
13
|
+
require "async"
|
14
|
+
require_relative "../../../requests"
|
15
|
+
|
16
|
+
module Gusto
|
17
|
+
module Contractors
|
18
|
+
class PaymentGroupsClient
|
19
|
+
# @return [Gusto::RequestClient]
|
20
|
+
attr_reader :request_client
|
21
|
+
|
22
|
+
|
23
|
+
# @param request_client [Gusto::RequestClient]
|
24
|
+
# @return [Gusto::Contractors::PaymentGroupsClient]
|
25
|
+
def initialize(request_client:)
|
26
|
+
@request_client = request_client
|
27
|
+
end
|
28
|
+
# Returns a list of minimal contractor payment groups within a given time period,
|
29
|
+
# including totals but not associated contractor payments.
|
30
|
+
# scope: `payrolls:read`
|
31
|
+
#
|
32
|
+
# @param company_id [String] The UUID of the company
|
33
|
+
# @param start_date [String] The time period for which to retrieve contractor payment groups. Defaults to 6
|
34
|
+
# months ago.
|
35
|
+
# @param end_date [String] The time period for which to retrieve contractor payment groups. Defaults to
|
36
|
+
# today's date.
|
37
|
+
# @param page [Float] The page that is requested. When unspecified, will load all objects unless
|
38
|
+
# endpoint forces pagination.
|
39
|
+
# @param per [Float] Number of objects per page. For majority of endpoints will default to 25
|
40
|
+
# @param request_options [Gusto::RequestOptions]
|
41
|
+
# @return [Array<Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimal>]
|
42
|
+
# @example
|
43
|
+
# api = Gusto::Client.new(
|
44
|
+
# base_url: "https://api.example.com",
|
45
|
+
# environment: Gusto::Environment::DEMO,
|
46
|
+
# token: "YOUR_AUTH_TOKEN"
|
47
|
+
# )
|
48
|
+
# api.contractors.payment_groups.list(
|
49
|
+
# company_id: "company_id",
|
50
|
+
# start_date: "2020-01-01",
|
51
|
+
# end_date: "2020-12-31"
|
52
|
+
# )
|
53
|
+
def list(company_id:, start_date: nil, end_date: nil, page: nil, per: nil, request_options: nil)
|
54
|
+
response = @request_client.conn.get do | req |
|
55
|
+
unless request_options&.timeout_in_seconds.nil?
|
56
|
+
req.options.timeout = request_options.timeout_in_seconds
|
57
|
+
end
|
58
|
+
unless request_options&.token.nil?
|
59
|
+
req.headers["Authorization"] = request_options.token
|
60
|
+
end
|
61
|
+
unless request_options&.gusto_api_version.nil?
|
62
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
63
|
+
end
|
64
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
65
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "start_date": start_date, "end_date": end_date, "page": page, "per": per }.compact
|
66
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
67
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
68
|
+
end
|
69
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/contractor_payment_groups"
|
70
|
+
end
|
71
|
+
parsed_json = JSON.parse(response.body)
|
72
|
+
parsed_json&.map do | item |
|
73
|
+
item = item.to_json
|
74
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimal.from_json(json_object: item)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
# Pay a group of contractors. Information needed depends on the contractor's wage
|
78
|
+
# type (hourly vs fixed)
|
79
|
+
# scope: `payrolls:run`
|
80
|
+
#
|
81
|
+
# @param company_id [String] The UUID of the company
|
82
|
+
# @param check_date [String] The payment check date
|
83
|
+
# @param creation_token [String] Optional token used to make contractor payment group creation idempotent. If
|
84
|
+
# provided, string must be unique for each group you intend to create.
|
85
|
+
# @param contractor_payments [Array<Hash>] Request of type Array<Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItem>, as a Hash
|
86
|
+
# * :contractor_uuid (String)
|
87
|
+
# * :payment_method (Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItemPaymentMethod)
|
88
|
+
# * :wage (Float)
|
89
|
+
# * :hours (Float)
|
90
|
+
# * :bonus (Float)
|
91
|
+
# * :reimbursement (Float)
|
92
|
+
# @param request_options [Gusto::RequestOptions]
|
93
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
94
|
+
# @example
|
95
|
+
# api = Gusto::Client.new(
|
96
|
+
# base_url: "https://api.example.com",
|
97
|
+
# environment: Gusto::Environment::DEMO,
|
98
|
+
# token: "YOUR_AUTH_TOKEN"
|
99
|
+
# )
|
100
|
+
# api.contractors.payment_groups.create(
|
101
|
+
# company_id: "company_id",
|
102
|
+
# check_date: "2020-01-01",
|
103
|
+
# contractor_payments: [{ }]
|
104
|
+
# )
|
105
|
+
def create(company_id:, check_date:, creation_token: nil, contractor_payments:, request_options: nil)
|
106
|
+
response = @request_client.conn.post do | req |
|
107
|
+
unless request_options&.timeout_in_seconds.nil?
|
108
|
+
req.options.timeout = request_options.timeout_in_seconds
|
109
|
+
end
|
110
|
+
unless request_options&.token.nil?
|
111
|
+
req.headers["Authorization"] = request_options.token
|
112
|
+
end
|
113
|
+
unless request_options&.gusto_api_version.nil?
|
114
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
115
|
+
end
|
116
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
117
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
118
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
119
|
+
end
|
120
|
+
req.body = { **(request_options&.additional_body_parameters || {}), check_date: check_date, creation_token: creation_token, contractor_payments: contractor_payments }.compact
|
121
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/contractor_payment_groups"
|
122
|
+
end
|
123
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
124
|
+
end
|
125
|
+
# Preview a group of contractor payments. Request will validate inputs and return
|
126
|
+
# preview of the contractor payment group including the expected debit_date. Uuid
|
127
|
+
# will be null in the response.
|
128
|
+
# scope: `payrolls:read`
|
129
|
+
#
|
130
|
+
# @param company_id [String] The UUID of the company
|
131
|
+
# @param check_date [String] The payment check date
|
132
|
+
# @param creation_token [String] Optional token used to make contractor payment group creation idempotent. If
|
133
|
+
# provided, string must be unique for each group you intend to create.
|
134
|
+
# @param contractor_payments [Array<Hash>] Request of type Array<Gusto::Contractors::PaymentGroups::PaymentGroupsPreviewRequestContractorPaymentsItem>, as a Hash
|
135
|
+
# * :contractor_uuid (String)
|
136
|
+
# * :payment_method (Gusto::Contractors::PaymentGroups::PaymentGroupsPreviewRequestContractorPaymentsItemPaymentMethod)
|
137
|
+
# * :wage (Float)
|
138
|
+
# * :hours (Float)
|
139
|
+
# * :bonus (Float)
|
140
|
+
# * :reimbursement (Float)
|
141
|
+
# @param request_options [Gusto::RequestOptions]
|
142
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
143
|
+
# @example
|
144
|
+
# api = Gusto::Client.new(
|
145
|
+
# base_url: "https://api.example.com",
|
146
|
+
# environment: Gusto::Environment::DEMO,
|
147
|
+
# token: "YOUR_AUTH_TOKEN"
|
148
|
+
# )
|
149
|
+
# api.contractors.payment_groups.preview(
|
150
|
+
# company_id: "company_id",
|
151
|
+
# check_date: "2020-01-01",
|
152
|
+
# contractor_payments: [{ }]
|
153
|
+
# )
|
154
|
+
def preview(company_id:, check_date:, creation_token: nil, contractor_payments:, request_options: nil)
|
155
|
+
response = @request_client.conn.post do | req |
|
156
|
+
unless request_options&.timeout_in_seconds.nil?
|
157
|
+
req.options.timeout = request_options.timeout_in_seconds
|
158
|
+
end
|
159
|
+
unless request_options&.token.nil?
|
160
|
+
req.headers["Authorization"] = request_options.token
|
161
|
+
end
|
162
|
+
unless request_options&.gusto_api_version.nil?
|
163
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
164
|
+
end
|
165
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
166
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
167
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
168
|
+
end
|
169
|
+
req.body = { **(request_options&.additional_body_parameters || {}), check_date: check_date, creation_token: creation_token, contractor_payments: contractor_payments }.compact
|
170
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/contractor_payment_groups/preview"
|
171
|
+
end
|
172
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
173
|
+
end
|
174
|
+
# Returns a contractor payment group with all associated contractor payments.
|
175
|
+
# scope: `payrolls:read`
|
176
|
+
#
|
177
|
+
# @param contractor_payment_group_uuid [String] The UUID of the contractor payment group
|
178
|
+
# @param request_options [Gusto::RequestOptions]
|
179
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
180
|
+
# @example
|
181
|
+
# api = Gusto::Client.new(
|
182
|
+
# base_url: "https://api.example.com",
|
183
|
+
# environment: Gusto::Environment::DEMO,
|
184
|
+
# token: "YOUR_AUTH_TOKEN"
|
185
|
+
# )
|
186
|
+
# api.contractors.payment_groups.get(contractor_payment_group_uuid: "contractor_payment_group_uuid")
|
187
|
+
def get(contractor_payment_group_uuid:, request_options: nil)
|
188
|
+
response = @request_client.conn.get do | req |
|
189
|
+
unless request_options&.timeout_in_seconds.nil?
|
190
|
+
req.options.timeout = request_options.timeout_in_seconds
|
191
|
+
end
|
192
|
+
unless request_options&.token.nil?
|
193
|
+
req.headers["Authorization"] = request_options.token
|
194
|
+
end
|
195
|
+
unless request_options&.gusto_api_version.nil?
|
196
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
197
|
+
end
|
198
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
199
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
200
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
201
|
+
end
|
202
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
203
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
204
|
+
end
|
205
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/contractor_payment_groups/#{contractor_payment_group_uuid}"
|
206
|
+
end
|
207
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
208
|
+
end
|
209
|
+
# Cancels a contractor payment group and all associated contractor payments. All
|
210
|
+
# contractor payments must be cancellable, unfunded.
|
211
|
+
# scope: `payrolls:run`
|
212
|
+
#
|
213
|
+
# @param contractor_payment_group_uuid [String] The UUID of the contractor payment group
|
214
|
+
# @param request_options [Gusto::RequestOptions]
|
215
|
+
# @return [Void]
|
216
|
+
# @example
|
217
|
+
# api = Gusto::Client.new(
|
218
|
+
# base_url: "https://api.example.com",
|
219
|
+
# environment: Gusto::Environment::DEMO,
|
220
|
+
# token: "YOUR_AUTH_TOKEN"
|
221
|
+
# )
|
222
|
+
# api.contractors.payment_groups.delete(contractor_payment_group_uuid: "contractor_payment_group_uuid")
|
223
|
+
def delete(contractor_payment_group_uuid:, request_options: nil)
|
224
|
+
response = @request_client.conn.delete do | req |
|
225
|
+
unless request_options&.timeout_in_seconds.nil?
|
226
|
+
req.options.timeout = request_options.timeout_in_seconds
|
227
|
+
end
|
228
|
+
unless request_options&.token.nil?
|
229
|
+
req.headers["Authorization"] = request_options.token
|
230
|
+
end
|
231
|
+
unless request_options&.gusto_api_version.nil?
|
232
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
233
|
+
end
|
234
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
235
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
236
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
237
|
+
end
|
238
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
239
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
240
|
+
end
|
241
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/contractor_payment_groups/#{contractor_payment_group_uuid}"
|
242
|
+
end
|
243
|
+
end
|
244
|
+
# > 🚧 Demo action
|
245
|
+
# >
|
246
|
+
# > This action is only available in the Demo environment
|
247
|
+
# Simulate funding a contractor payment group. Funding only occurs automatically
|
248
|
+
# in the production environment when bank transactions are generated. Use this
|
249
|
+
# action in the demo environment to transition a contractor payment group's
|
250
|
+
# `status` from `Unfunded` to `Funded`. A `Funded` status is required for
|
251
|
+
# generating a contractor payment receipt.
|
252
|
+
# scope: `payrolls:run`
|
253
|
+
#
|
254
|
+
# @param contractor_payment_group_uuid [String] The UUID of the contractor payment group
|
255
|
+
# @param request_options [Gusto::RequestOptions]
|
256
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
257
|
+
# @example
|
258
|
+
# api = Gusto::Client.new(
|
259
|
+
# base_url: "https://api.example.com",
|
260
|
+
# environment: Gusto::Environment::DEMO,
|
261
|
+
# token: "YOUR_AUTH_TOKEN"
|
262
|
+
# )
|
263
|
+
# api.contractors.payment_groups.fund(contractor_payment_group_uuid: "contractor_payment_group_uuid")
|
264
|
+
def fund(contractor_payment_group_uuid:, request_options: nil)
|
265
|
+
response = @request_client.conn.put do | req |
|
266
|
+
unless request_options&.timeout_in_seconds.nil?
|
267
|
+
req.options.timeout = request_options.timeout_in_seconds
|
268
|
+
end
|
269
|
+
unless request_options&.token.nil?
|
270
|
+
req.headers["Authorization"] = request_options.token
|
271
|
+
end
|
272
|
+
unless request_options&.gusto_api_version.nil?
|
273
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
274
|
+
end
|
275
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
276
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
277
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
278
|
+
end
|
279
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
280
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
281
|
+
end
|
282
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/contractor_payment_groups/#{contractor_payment_group_uuid}/fund"
|
283
|
+
end
|
284
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
285
|
+
end
|
286
|
+
end
|
287
|
+
class AsyncPaymentGroupsClient
|
288
|
+
# @return [Gusto::AsyncRequestClient]
|
289
|
+
attr_reader :request_client
|
290
|
+
|
291
|
+
|
292
|
+
# @param request_client [Gusto::RequestClient]
|
293
|
+
# @return [Gusto::Contractors::AsyncPaymentGroupsClient]
|
294
|
+
def initialize(request_client:)
|
295
|
+
@request_client = request_client
|
296
|
+
end
|
297
|
+
# Returns a list of minimal contractor payment groups within a given time period,
|
298
|
+
# including totals but not associated contractor payments.
|
299
|
+
# scope: `payrolls:read`
|
300
|
+
#
|
301
|
+
# @param company_id [String] The UUID of the company
|
302
|
+
# @param start_date [String] The time period for which to retrieve contractor payment groups. Defaults to 6
|
303
|
+
# months ago.
|
304
|
+
# @param end_date [String] The time period for which to retrieve contractor payment groups. Defaults to
|
305
|
+
# today's date.
|
306
|
+
# @param page [Float] The page that is requested. When unspecified, will load all objects unless
|
307
|
+
# endpoint forces pagination.
|
308
|
+
# @param per [Float] Number of objects per page. For majority of endpoints will default to 25
|
309
|
+
# @param request_options [Gusto::RequestOptions]
|
310
|
+
# @return [Array<Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimal>]
|
311
|
+
# @example
|
312
|
+
# api = Gusto::Client.new(
|
313
|
+
# base_url: "https://api.example.com",
|
314
|
+
# environment: Gusto::Environment::DEMO,
|
315
|
+
# token: "YOUR_AUTH_TOKEN"
|
316
|
+
# )
|
317
|
+
# api.contractors.payment_groups.list(
|
318
|
+
# company_id: "company_id",
|
319
|
+
# start_date: "2020-01-01",
|
320
|
+
# end_date: "2020-12-31"
|
321
|
+
# )
|
322
|
+
def list(company_id:, start_date: nil, end_date: nil, page: nil, per: nil, request_options: nil)
|
323
|
+
Async do
|
324
|
+
response = @request_client.conn.get do | req |
|
325
|
+
unless request_options&.timeout_in_seconds.nil?
|
326
|
+
req.options.timeout = request_options.timeout_in_seconds
|
327
|
+
end
|
328
|
+
unless request_options&.token.nil?
|
329
|
+
req.headers["Authorization"] = request_options.token
|
330
|
+
end
|
331
|
+
unless request_options&.gusto_api_version.nil?
|
332
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
333
|
+
end
|
334
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
335
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "start_date": start_date, "end_date": end_date, "page": page, "per": per }.compact
|
336
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
337
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
338
|
+
end
|
339
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/contractor_payment_groups"
|
340
|
+
end
|
341
|
+
parsed_json = JSON.parse(response.body)
|
342
|
+
parsed_json&.map do | item |
|
343
|
+
item = item.to_json
|
344
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroupMinimal.from_json(json_object: item)
|
345
|
+
end
|
346
|
+
end
|
347
|
+
end
|
348
|
+
# Pay a group of contractors. Information needed depends on the contractor's wage
|
349
|
+
# type (hourly vs fixed)
|
350
|
+
# scope: `payrolls:run`
|
351
|
+
#
|
352
|
+
# @param company_id [String] The UUID of the company
|
353
|
+
# @param check_date [String] The payment check date
|
354
|
+
# @param creation_token [String] Optional token used to make contractor payment group creation idempotent. If
|
355
|
+
# provided, string must be unique for each group you intend to create.
|
356
|
+
# @param contractor_payments [Array<Hash>] Request of type Array<Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItem>, as a Hash
|
357
|
+
# * :contractor_uuid (String)
|
358
|
+
# * :payment_method (Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItemPaymentMethod)
|
359
|
+
# * :wage (Float)
|
360
|
+
# * :hours (Float)
|
361
|
+
# * :bonus (Float)
|
362
|
+
# * :reimbursement (Float)
|
363
|
+
# @param request_options [Gusto::RequestOptions]
|
364
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
365
|
+
# @example
|
366
|
+
# api = Gusto::Client.new(
|
367
|
+
# base_url: "https://api.example.com",
|
368
|
+
# environment: Gusto::Environment::DEMO,
|
369
|
+
# token: "YOUR_AUTH_TOKEN"
|
370
|
+
# )
|
371
|
+
# api.contractors.payment_groups.create(
|
372
|
+
# company_id: "company_id",
|
373
|
+
# check_date: "2020-01-01",
|
374
|
+
# contractor_payments: [{ }]
|
375
|
+
# )
|
376
|
+
def create(company_id:, check_date:, creation_token: nil, contractor_payments:, request_options: nil)
|
377
|
+
Async do
|
378
|
+
response = @request_client.conn.post do | req |
|
379
|
+
unless request_options&.timeout_in_seconds.nil?
|
380
|
+
req.options.timeout = request_options.timeout_in_seconds
|
381
|
+
end
|
382
|
+
unless request_options&.token.nil?
|
383
|
+
req.headers["Authorization"] = request_options.token
|
384
|
+
end
|
385
|
+
unless request_options&.gusto_api_version.nil?
|
386
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
387
|
+
end
|
388
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
389
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
390
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
391
|
+
end
|
392
|
+
req.body = { **(request_options&.additional_body_parameters || {}), check_date: check_date, creation_token: creation_token, contractor_payments: contractor_payments }.compact
|
393
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/contractor_payment_groups"
|
394
|
+
end
|
395
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
396
|
+
end
|
397
|
+
end
|
398
|
+
# Preview a group of contractor payments. Request will validate inputs and return
|
399
|
+
# preview of the contractor payment group including the expected debit_date. Uuid
|
400
|
+
# will be null in the response.
|
401
|
+
# scope: `payrolls:read`
|
402
|
+
#
|
403
|
+
# @param company_id [String] The UUID of the company
|
404
|
+
# @param check_date [String] The payment check date
|
405
|
+
# @param creation_token [String] Optional token used to make contractor payment group creation idempotent. If
|
406
|
+
# provided, string must be unique for each group you intend to create.
|
407
|
+
# @param contractor_payments [Array<Hash>] Request of type Array<Gusto::Contractors::PaymentGroups::PaymentGroupsPreviewRequestContractorPaymentsItem>, as a Hash
|
408
|
+
# * :contractor_uuid (String)
|
409
|
+
# * :payment_method (Gusto::Contractors::PaymentGroups::PaymentGroupsPreviewRequestContractorPaymentsItemPaymentMethod)
|
410
|
+
# * :wage (Float)
|
411
|
+
# * :hours (Float)
|
412
|
+
# * :bonus (Float)
|
413
|
+
# * :reimbursement (Float)
|
414
|
+
# @param request_options [Gusto::RequestOptions]
|
415
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
416
|
+
# @example
|
417
|
+
# api = Gusto::Client.new(
|
418
|
+
# base_url: "https://api.example.com",
|
419
|
+
# environment: Gusto::Environment::DEMO,
|
420
|
+
# token: "YOUR_AUTH_TOKEN"
|
421
|
+
# )
|
422
|
+
# api.contractors.payment_groups.preview(
|
423
|
+
# company_id: "company_id",
|
424
|
+
# check_date: "2020-01-01",
|
425
|
+
# contractor_payments: [{ }]
|
426
|
+
# )
|
427
|
+
def preview(company_id:, check_date:, creation_token: nil, contractor_payments:, request_options: nil)
|
428
|
+
Async do
|
429
|
+
response = @request_client.conn.post do | req |
|
430
|
+
unless request_options&.timeout_in_seconds.nil?
|
431
|
+
req.options.timeout = request_options.timeout_in_seconds
|
432
|
+
end
|
433
|
+
unless request_options&.token.nil?
|
434
|
+
req.headers["Authorization"] = request_options.token
|
435
|
+
end
|
436
|
+
unless request_options&.gusto_api_version.nil?
|
437
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
438
|
+
end
|
439
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
440
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
441
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
442
|
+
end
|
443
|
+
req.body = { **(request_options&.additional_body_parameters || {}), check_date: check_date, creation_token: creation_token, contractor_payments: contractor_payments }.compact
|
444
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_id}/contractor_payment_groups/preview"
|
445
|
+
end
|
446
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
447
|
+
end
|
448
|
+
end
|
449
|
+
# Returns a contractor payment group with all associated contractor payments.
|
450
|
+
# scope: `payrolls:read`
|
451
|
+
#
|
452
|
+
# @param contractor_payment_group_uuid [String] The UUID of the contractor payment group
|
453
|
+
# @param request_options [Gusto::RequestOptions]
|
454
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
455
|
+
# @example
|
456
|
+
# api = Gusto::Client.new(
|
457
|
+
# base_url: "https://api.example.com",
|
458
|
+
# environment: Gusto::Environment::DEMO,
|
459
|
+
# token: "YOUR_AUTH_TOKEN"
|
460
|
+
# )
|
461
|
+
# api.contractors.payment_groups.get(contractor_payment_group_uuid: "contractor_payment_group_uuid")
|
462
|
+
def get(contractor_payment_group_uuid:, request_options: nil)
|
463
|
+
Async do
|
464
|
+
response = @request_client.conn.get do | req |
|
465
|
+
unless request_options&.timeout_in_seconds.nil?
|
466
|
+
req.options.timeout = request_options.timeout_in_seconds
|
467
|
+
end
|
468
|
+
unless request_options&.token.nil?
|
469
|
+
req.headers["Authorization"] = request_options.token
|
470
|
+
end
|
471
|
+
unless request_options&.gusto_api_version.nil?
|
472
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
473
|
+
end
|
474
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
475
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
476
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
477
|
+
end
|
478
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
479
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
480
|
+
end
|
481
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/contractor_payment_groups/#{contractor_payment_group_uuid}"
|
482
|
+
end
|
483
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
484
|
+
end
|
485
|
+
end
|
486
|
+
# Cancels a contractor payment group and all associated contractor payments. All
|
487
|
+
# contractor payments must be cancellable, unfunded.
|
488
|
+
# scope: `payrolls:run`
|
489
|
+
#
|
490
|
+
# @param contractor_payment_group_uuid [String] The UUID of the contractor payment group
|
491
|
+
# @param request_options [Gusto::RequestOptions]
|
492
|
+
# @return [Void]
|
493
|
+
# @example
|
494
|
+
# api = Gusto::Client.new(
|
495
|
+
# base_url: "https://api.example.com",
|
496
|
+
# environment: Gusto::Environment::DEMO,
|
497
|
+
# token: "YOUR_AUTH_TOKEN"
|
498
|
+
# )
|
499
|
+
# api.contractors.payment_groups.delete(contractor_payment_group_uuid: "contractor_payment_group_uuid")
|
500
|
+
def delete(contractor_payment_group_uuid:, request_options: nil)
|
501
|
+
Async do
|
502
|
+
response = @request_client.conn.delete do | req |
|
503
|
+
unless request_options&.timeout_in_seconds.nil?
|
504
|
+
req.options.timeout = request_options.timeout_in_seconds
|
505
|
+
end
|
506
|
+
unless request_options&.token.nil?
|
507
|
+
req.headers["Authorization"] = request_options.token
|
508
|
+
end
|
509
|
+
unless request_options&.gusto_api_version.nil?
|
510
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
511
|
+
end
|
512
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
513
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
514
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
515
|
+
end
|
516
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
517
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
518
|
+
end
|
519
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/contractor_payment_groups/#{contractor_payment_group_uuid}"
|
520
|
+
end
|
521
|
+
end
|
522
|
+
end
|
523
|
+
# > 🚧 Demo action
|
524
|
+
# >
|
525
|
+
# > This action is only available in the Demo environment
|
526
|
+
# Simulate funding a contractor payment group. Funding only occurs automatically
|
527
|
+
# in the production environment when bank transactions are generated. Use this
|
528
|
+
# action in the demo environment to transition a contractor payment group's
|
529
|
+
# `status` from `Unfunded` to `Funded`. A `Funded` status is required for
|
530
|
+
# generating a contractor payment receipt.
|
531
|
+
# scope: `payrolls:run`
|
532
|
+
#
|
533
|
+
# @param contractor_payment_group_uuid [String] The UUID of the contractor payment group
|
534
|
+
# @param request_options [Gusto::RequestOptions]
|
535
|
+
# @return [Gusto::ContractorPaymentGroups::ContractorPaymentGroup]
|
536
|
+
# @example
|
537
|
+
# api = Gusto::Client.new(
|
538
|
+
# base_url: "https://api.example.com",
|
539
|
+
# environment: Gusto::Environment::DEMO,
|
540
|
+
# token: "YOUR_AUTH_TOKEN"
|
541
|
+
# )
|
542
|
+
# api.contractors.payment_groups.fund(contractor_payment_group_uuid: "contractor_payment_group_uuid")
|
543
|
+
def fund(contractor_payment_group_uuid:, request_options: nil)
|
544
|
+
Async do
|
545
|
+
response = @request_client.conn.put do | req |
|
546
|
+
unless request_options&.timeout_in_seconds.nil?
|
547
|
+
req.options.timeout = request_options.timeout_in_seconds
|
548
|
+
end
|
549
|
+
unless request_options&.token.nil?
|
550
|
+
req.headers["Authorization"] = request_options.token
|
551
|
+
end
|
552
|
+
unless request_options&.gusto_api_version.nil?
|
553
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
554
|
+
end
|
555
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
556
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
557
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
558
|
+
end
|
559
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
560
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
561
|
+
end
|
562
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/contractor_payment_groups/#{contractor_payment_group_uuid}/fund"
|
563
|
+
end
|
564
|
+
Gusto::ContractorPaymentGroups::ContractorPaymentGroup.from_json(json_object: response.body)
|
565
|
+
end
|
566
|
+
end
|
567
|
+
end
|
568
|
+
end
|
569
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "payment_groups_create_request_contractor_payments_item_payment_method"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
module Contractors
|
8
|
+
module PaymentGroups
|
9
|
+
class PaymentGroupsCreateRequestContractorPaymentsItem
|
10
|
+
# @return [String] The contractor receiving the payment
|
11
|
+
attr_reader :contractor_uuid
|
12
|
+
# @return [Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItemPaymentMethod]
|
13
|
+
attr_reader :payment_method
|
14
|
+
# @return [Float] If the contractor is on a fixed wage, this is the fixed wage payment for the
|
15
|
+
# contractor, regardless of hours worked
|
16
|
+
attr_reader :wage
|
17
|
+
# @return [Float] If the contractor is on an hourly wage, this is the number of hours that the
|
18
|
+
# contractor worked for the payment
|
19
|
+
attr_reader :hours
|
20
|
+
# @return [Float] If the contractor is on an hourly wage, this is the bonus the contractor earned
|
21
|
+
attr_reader :bonus
|
22
|
+
# @return [Float] Reimbursed wages for the contractor
|
23
|
+
attr_reader :reimbursement
|
24
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
25
|
+
attr_reader :additional_properties
|
26
|
+
# @return [Object]
|
27
|
+
attr_reader :_field_set
|
28
|
+
protected :_field_set
|
29
|
+
|
30
|
+
OMIT = Object.new
|
31
|
+
|
32
|
+
# @param contractor_uuid [String] The contractor receiving the payment
|
33
|
+
# @param payment_method [Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItemPaymentMethod]
|
34
|
+
# @param wage [Float] If the contractor is on a fixed wage, this is the fixed wage payment for the
|
35
|
+
# contractor, regardless of hours worked
|
36
|
+
# @param hours [Float] If the contractor is on an hourly wage, this is the number of hours that the
|
37
|
+
# contractor worked for the payment
|
38
|
+
# @param bonus [Float] If the contractor is on an hourly wage, this is the bonus the contractor earned
|
39
|
+
# @param reimbursement [Float] Reimbursed wages for the contractor
|
40
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
41
|
+
# @return [Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItem]
|
42
|
+
def initialize(contractor_uuid: OMIT, payment_method: OMIT, wage: OMIT, hours: OMIT, bonus: OMIT, reimbursement: OMIT, additional_properties: nil)
|
43
|
+
@contractor_uuid = contractor_uuid if contractor_uuid != OMIT
|
44
|
+
@payment_method = payment_method if payment_method != OMIT
|
45
|
+
@wage = wage if wage != OMIT
|
46
|
+
@hours = hours if hours != OMIT
|
47
|
+
@bonus = bonus if bonus != OMIT
|
48
|
+
@reimbursement = reimbursement if reimbursement != OMIT
|
49
|
+
@additional_properties = additional_properties
|
50
|
+
@_field_set = { "contractor_uuid": contractor_uuid, "payment_method": payment_method, "wage": wage, "hours": hours, "bonus": bonus, "reimbursement": reimbursement }.reject do | _k, v |
|
51
|
+
v == OMIT
|
52
|
+
end
|
53
|
+
end
|
54
|
+
# Deserialize a JSON object to an instance of
|
55
|
+
# PaymentGroupsCreateRequestContractorPaymentsItem
|
56
|
+
#
|
57
|
+
# @param json_object [String]
|
58
|
+
# @return [Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItem]
|
59
|
+
def self.from_json(json_object:)
|
60
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
61
|
+
parsed_json = JSON.parse(json_object)
|
62
|
+
contractor_uuid = parsed_json["contractor_uuid"]
|
63
|
+
payment_method = parsed_json["payment_method"]
|
64
|
+
wage = parsed_json["wage"]
|
65
|
+
hours = parsed_json["hours"]
|
66
|
+
bonus = parsed_json["bonus"]
|
67
|
+
reimbursement = parsed_json["reimbursement"]
|
68
|
+
new(
|
69
|
+
contractor_uuid: contractor_uuid,
|
70
|
+
payment_method: payment_method,
|
71
|
+
wage: wage,
|
72
|
+
hours: hours,
|
73
|
+
bonus: bonus,
|
74
|
+
reimbursement: reimbursement,
|
75
|
+
additional_properties: struct
|
76
|
+
)
|
77
|
+
end
|
78
|
+
# Serialize an instance of PaymentGroupsCreateRequestContractorPaymentsItem to a
|
79
|
+
# JSON object
|
80
|
+
#
|
81
|
+
# @return [String]
|
82
|
+
def to_json
|
83
|
+
@_field_set&.to_json
|
84
|
+
end
|
85
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
86
|
+
# hash and check each fields type against the current object's property
|
87
|
+
# definitions.
|
88
|
+
#
|
89
|
+
# @param obj [Object]
|
90
|
+
# @return [Void]
|
91
|
+
def self.validate_raw(obj:)
|
92
|
+
obj.contractor_uuid&.is_a?(String) != false || raise("Passed value for field obj.contractor_uuid is not the expected type, validation failed.")
|
93
|
+
obj.payment_method&.is_a?(Gusto::Contractors::PaymentGroups::PaymentGroupsCreateRequestContractorPaymentsItemPaymentMethod) != false || raise("Passed value for field obj.payment_method is not the expected type, validation failed.")
|
94
|
+
obj.wage&.is_a?(Float) != false || raise("Passed value for field obj.wage is not the expected type, validation failed.")
|
95
|
+
obj.hours&.is_a?(Float) != false || raise("Passed value for field obj.hours is not the expected type, validation failed.")
|
96
|
+
obj.bonus&.is_a?(Float) != false || raise("Passed value for field obj.bonus is not the expected type, validation failed.")
|
97
|
+
obj.reimbursement&.is_a?(Float) != false || raise("Passed value for field obj.reimbursement is not the expected type, validation failed.")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|