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