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,306 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "types/reports_create_request_columns_item"
|
4
|
+
require_relative "types/reports_create_request_groupings_item"
|
5
|
+
require_relative "types/reports_create_request_file_type"
|
6
|
+
require_relative "types/reports_create_request_payment_method"
|
7
|
+
require_relative "types/reports_create_request_employment_type"
|
8
|
+
require_relative "types/reports_create_request_employment_status"
|
9
|
+
require_relative "../types/create_report"
|
10
|
+
require_relative "../types/report"
|
11
|
+
require_relative "../types/report_template"
|
12
|
+
require "async"
|
13
|
+
require "async"
|
14
|
+
require "async"
|
15
|
+
require_relative "../../requests"
|
16
|
+
|
17
|
+
module Gusto
|
18
|
+
class ReportsClient
|
19
|
+
# @return [Gusto::RequestClient]
|
20
|
+
attr_reader :request_client
|
21
|
+
|
22
|
+
|
23
|
+
# @param request_client [Gusto::RequestClient]
|
24
|
+
# @return [Gusto::ReportsClient]
|
25
|
+
def initialize(request_client:)
|
26
|
+
@request_client = request_client
|
27
|
+
end
|
28
|
+
# Create a custom report for a company. This endpoint initiates creating a custom
|
29
|
+
# report with custom columns, groupings, and filters. The `request_uuid` in the
|
30
|
+
# response can then be used to poll for the status and report URL upon completion
|
31
|
+
# using the report GET endpoint.
|
32
|
+
# scope: `company_reports:write`
|
33
|
+
#
|
34
|
+
# @param company_uuid [String] The UUID of the company
|
35
|
+
# @param columns [Array<Gusto::Reports::ReportsCreateRequestColumnsItem>] Columns to include in the report
|
36
|
+
# @param groupings [Array<Gusto::Reports::ReportsCreateRequestGroupingsItem>] How to group the report
|
37
|
+
# @param custom_name [String] The title of the report
|
38
|
+
# @param file_type [Gusto::Reports::ReportsCreateRequestFileType] The type of file to generate
|
39
|
+
# @param with_totals [Boolean] Whether to include subtotals and grand totals in the report
|
40
|
+
# @param start_date [String] Start date of data to filter by
|
41
|
+
# @param end_date [String] End date of data to filter by
|
42
|
+
# @param dismissed_start_date [String] Dismissed start date of employees to filter by
|
43
|
+
# @param dismissed_end_date [String] Dismissed end date of employees to filter by
|
44
|
+
# @param payment_method [Gusto::Reports::ReportsCreateRequestPaymentMethod] Payment method to filter by
|
45
|
+
# @param employment_type [Gusto::Reports::ReportsCreateRequestEmploymentType] Employee employment type to filter by
|
46
|
+
# @param employment_status [Gusto::Reports::ReportsCreateRequestEmploymentStatus] Employee employment status to filter by
|
47
|
+
# @param employee_uuids [Array<String>] Employees to filter by
|
48
|
+
# @param department_uuids [Array<String>] Departments to filter by
|
49
|
+
# @param work_address_uuids [Array<String>] Work addresses to filter by
|
50
|
+
# @param request_options [Gusto::RequestOptions]
|
51
|
+
# @return [Gusto::CreateReport]
|
52
|
+
# @example
|
53
|
+
# api = Gusto::Client.new(
|
54
|
+
# base_url: "https://api.example.com",
|
55
|
+
# environment: Gusto::Environment::DEMO,
|
56
|
+
# token: "YOUR_AUTH_TOKEN"
|
57
|
+
# )
|
58
|
+
# api.reports.create(
|
59
|
+
# company_uuid: "company_uuid",
|
60
|
+
# columns: [BANK_ACCOUNT_ACCOUNT_NUMBER],
|
61
|
+
# groupings: [PAYROLL],
|
62
|
+
# file_type: CSV
|
63
|
+
# )
|
64
|
+
def create(company_uuid:, columns:, groupings:, custom_name: nil, file_type:, with_totals: nil, start_date: nil, end_date: nil, dismissed_start_date: nil, dismissed_end_date: nil, payment_method: nil, employment_type: nil, employment_status: nil, employee_uuids: nil, department_uuids: nil, work_address_uuids: nil, request_options: nil)
|
65
|
+
response = @request_client.conn.post do | req |
|
66
|
+
unless request_options&.timeout_in_seconds.nil?
|
67
|
+
req.options.timeout = request_options.timeout_in_seconds
|
68
|
+
end
|
69
|
+
unless request_options&.token.nil?
|
70
|
+
req.headers["Authorization"] = request_options.token
|
71
|
+
end
|
72
|
+
unless request_options&.gusto_api_version.nil?
|
73
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
74
|
+
end
|
75
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
76
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
77
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
78
|
+
end
|
79
|
+
req.body = { **(request_options&.additional_body_parameters || {}), columns: columns, groupings: groupings, custom_name: custom_name, file_type: file_type, with_totals: with_totals, start_date: start_date, end_date: end_date, dismissed_start_date: dismissed_start_date, dismissed_end_date: dismissed_end_date, payment_method: payment_method, employment_type: employment_type, employment_status: employment_status, employee_uuids: employee_uuids, department_uuids: department_uuids, work_address_uuids: work_address_uuids }.compact
|
80
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/reports"
|
81
|
+
end
|
82
|
+
Gusto::CreateReport.from_json(json_object: response.body)
|
83
|
+
end
|
84
|
+
# Get a company's report given the `request_uuid`. The response will include the
|
85
|
+
# report request's status and, if complete, the report URL.
|
86
|
+
# scope: `company_reports:read`
|
87
|
+
#
|
88
|
+
# @param report_uuid [String] The UUID of the report request
|
89
|
+
# @param request_options [Gusto::RequestOptions]
|
90
|
+
# @return [Gusto::Report]
|
91
|
+
# @example
|
92
|
+
# api = Gusto::Client.new(
|
93
|
+
# base_url: "https://api.example.com",
|
94
|
+
# environment: Gusto::Environment::DEMO,
|
95
|
+
# token: "YOUR_AUTH_TOKEN"
|
96
|
+
# )
|
97
|
+
# api.reports.get(report_uuid: "report_uuid")
|
98
|
+
def get(report_uuid:, request_options: nil)
|
99
|
+
response = @request_client.conn.get do | req |
|
100
|
+
unless request_options&.timeout_in_seconds.nil?
|
101
|
+
req.options.timeout = request_options.timeout_in_seconds
|
102
|
+
end
|
103
|
+
unless request_options&.token.nil?
|
104
|
+
req.headers["Authorization"] = request_options.token
|
105
|
+
end
|
106
|
+
unless request_options&.gusto_api_version.nil?
|
107
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
108
|
+
end
|
109
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
110
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
111
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
112
|
+
end
|
113
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
114
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
115
|
+
end
|
116
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/reports/#{report_uuid}"
|
117
|
+
end
|
118
|
+
Gusto::Report.from_json(json_object: response.body)
|
119
|
+
end
|
120
|
+
# Get a company's report template. The only supported report type is
|
121
|
+
# `payroll_journal`. The resulting columns and groupings from this endpoint can be
|
122
|
+
# used as a guidance to create the report using the POST create report endpoint.
|
123
|
+
# scope: `company_reports:write`
|
124
|
+
#
|
125
|
+
# @param company_uuid [String] The UUID of the company
|
126
|
+
# @param report_type [String] The report type
|
127
|
+
# @param request_options [Gusto::RequestOptions]
|
128
|
+
# @return [Gusto::ReportTemplate]
|
129
|
+
# @example
|
130
|
+
# api = Gusto::Client.new(
|
131
|
+
# base_url: "https://api.example.com",
|
132
|
+
# environment: Gusto::Environment::DEMO,
|
133
|
+
# token: "YOUR_AUTH_TOKEN"
|
134
|
+
# )
|
135
|
+
# api.reports.get_template(company_uuid: "company_uuid", report_type: "report_type")
|
136
|
+
def get_template(company_uuid:, report_type:, request_options: nil)
|
137
|
+
response = @request_client.conn.get do | req |
|
138
|
+
unless request_options&.timeout_in_seconds.nil?
|
139
|
+
req.options.timeout = request_options.timeout_in_seconds
|
140
|
+
end
|
141
|
+
unless request_options&.token.nil?
|
142
|
+
req.headers["Authorization"] = request_options.token
|
143
|
+
end
|
144
|
+
unless request_options&.gusto_api_version.nil?
|
145
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
146
|
+
end
|
147
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
148
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
149
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
150
|
+
end
|
151
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
152
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
153
|
+
end
|
154
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/report_templates/#{report_type}"
|
155
|
+
end
|
156
|
+
Gusto::ReportTemplate.from_json(json_object: response.body)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
class AsyncReportsClient
|
160
|
+
# @return [Gusto::AsyncRequestClient]
|
161
|
+
attr_reader :request_client
|
162
|
+
|
163
|
+
|
164
|
+
# @param request_client [Gusto::RequestClient]
|
165
|
+
# @return [Gusto::AsyncReportsClient]
|
166
|
+
def initialize(request_client:)
|
167
|
+
@request_client = request_client
|
168
|
+
end
|
169
|
+
# Create a custom report for a company. This endpoint initiates creating a custom
|
170
|
+
# report with custom columns, groupings, and filters. The `request_uuid` in the
|
171
|
+
# response can then be used to poll for the status and report URL upon completion
|
172
|
+
# using the report GET endpoint.
|
173
|
+
# scope: `company_reports:write`
|
174
|
+
#
|
175
|
+
# @param company_uuid [String] The UUID of the company
|
176
|
+
# @param columns [Array<Gusto::Reports::ReportsCreateRequestColumnsItem>] Columns to include in the report
|
177
|
+
# @param groupings [Array<Gusto::Reports::ReportsCreateRequestGroupingsItem>] How to group the report
|
178
|
+
# @param custom_name [String] The title of the report
|
179
|
+
# @param file_type [Gusto::Reports::ReportsCreateRequestFileType] The type of file to generate
|
180
|
+
# @param with_totals [Boolean] Whether to include subtotals and grand totals in the report
|
181
|
+
# @param start_date [String] Start date of data to filter by
|
182
|
+
# @param end_date [String] End date of data to filter by
|
183
|
+
# @param dismissed_start_date [String] Dismissed start date of employees to filter by
|
184
|
+
# @param dismissed_end_date [String] Dismissed end date of employees to filter by
|
185
|
+
# @param payment_method [Gusto::Reports::ReportsCreateRequestPaymentMethod] Payment method to filter by
|
186
|
+
# @param employment_type [Gusto::Reports::ReportsCreateRequestEmploymentType] Employee employment type to filter by
|
187
|
+
# @param employment_status [Gusto::Reports::ReportsCreateRequestEmploymentStatus] Employee employment status to filter by
|
188
|
+
# @param employee_uuids [Array<String>] Employees to filter by
|
189
|
+
# @param department_uuids [Array<String>] Departments to filter by
|
190
|
+
# @param work_address_uuids [Array<String>] Work addresses to filter by
|
191
|
+
# @param request_options [Gusto::RequestOptions]
|
192
|
+
# @return [Gusto::CreateReport]
|
193
|
+
# @example
|
194
|
+
# api = Gusto::Client.new(
|
195
|
+
# base_url: "https://api.example.com",
|
196
|
+
# environment: Gusto::Environment::DEMO,
|
197
|
+
# token: "YOUR_AUTH_TOKEN"
|
198
|
+
# )
|
199
|
+
# api.reports.create(
|
200
|
+
# company_uuid: "company_uuid",
|
201
|
+
# columns: [BANK_ACCOUNT_ACCOUNT_NUMBER],
|
202
|
+
# groupings: [PAYROLL],
|
203
|
+
# file_type: CSV
|
204
|
+
# )
|
205
|
+
def create(company_uuid:, columns:, groupings:, custom_name: nil, file_type:, with_totals: nil, start_date: nil, end_date: nil, dismissed_start_date: nil, dismissed_end_date: nil, payment_method: nil, employment_type: nil, employment_status: nil, employee_uuids: nil, department_uuids: nil, work_address_uuids: nil, request_options: nil)
|
206
|
+
Async do
|
207
|
+
response = @request_client.conn.post do | req |
|
208
|
+
unless request_options&.timeout_in_seconds.nil?
|
209
|
+
req.options.timeout = request_options.timeout_in_seconds
|
210
|
+
end
|
211
|
+
unless request_options&.token.nil?
|
212
|
+
req.headers["Authorization"] = request_options.token
|
213
|
+
end
|
214
|
+
unless request_options&.gusto_api_version.nil?
|
215
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
216
|
+
end
|
217
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
218
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
219
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
220
|
+
end
|
221
|
+
req.body = { **(request_options&.additional_body_parameters || {}), columns: columns, groupings: groupings, custom_name: custom_name, file_type: file_type, with_totals: with_totals, start_date: start_date, end_date: end_date, dismissed_start_date: dismissed_start_date, dismissed_end_date: dismissed_end_date, payment_method: payment_method, employment_type: employment_type, employment_status: employment_status, employee_uuids: employee_uuids, department_uuids: department_uuids, work_address_uuids: work_address_uuids }.compact
|
222
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/reports"
|
223
|
+
end
|
224
|
+
Gusto::CreateReport.from_json(json_object: response.body)
|
225
|
+
end
|
226
|
+
end
|
227
|
+
# Get a company's report given the `request_uuid`. The response will include the
|
228
|
+
# report request's status and, if complete, the report URL.
|
229
|
+
# scope: `company_reports:read`
|
230
|
+
#
|
231
|
+
# @param report_uuid [String] The UUID of the report request
|
232
|
+
# @param request_options [Gusto::RequestOptions]
|
233
|
+
# @return [Gusto::Report]
|
234
|
+
# @example
|
235
|
+
# api = Gusto::Client.new(
|
236
|
+
# base_url: "https://api.example.com",
|
237
|
+
# environment: Gusto::Environment::DEMO,
|
238
|
+
# token: "YOUR_AUTH_TOKEN"
|
239
|
+
# )
|
240
|
+
# api.reports.get(report_uuid: "report_uuid")
|
241
|
+
def get(report_uuid:, request_options: nil)
|
242
|
+
Async do
|
243
|
+
response = @request_client.conn.get do | req |
|
244
|
+
unless request_options&.timeout_in_seconds.nil?
|
245
|
+
req.options.timeout = request_options.timeout_in_seconds
|
246
|
+
end
|
247
|
+
unless request_options&.token.nil?
|
248
|
+
req.headers["Authorization"] = request_options.token
|
249
|
+
end
|
250
|
+
unless request_options&.gusto_api_version.nil?
|
251
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
252
|
+
end
|
253
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
254
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
255
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
256
|
+
end
|
257
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
258
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
259
|
+
end
|
260
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/reports/#{report_uuid}"
|
261
|
+
end
|
262
|
+
Gusto::Report.from_json(json_object: response.body)
|
263
|
+
end
|
264
|
+
end
|
265
|
+
# Get a company's report template. The only supported report type is
|
266
|
+
# `payroll_journal`. The resulting columns and groupings from this endpoint can be
|
267
|
+
# used as a guidance to create the report using the POST create report endpoint.
|
268
|
+
# scope: `company_reports:write`
|
269
|
+
#
|
270
|
+
# @param company_uuid [String] The UUID of the company
|
271
|
+
# @param report_type [String] The report type
|
272
|
+
# @param request_options [Gusto::RequestOptions]
|
273
|
+
# @return [Gusto::ReportTemplate]
|
274
|
+
# @example
|
275
|
+
# api = Gusto::Client.new(
|
276
|
+
# base_url: "https://api.example.com",
|
277
|
+
# environment: Gusto::Environment::DEMO,
|
278
|
+
# token: "YOUR_AUTH_TOKEN"
|
279
|
+
# )
|
280
|
+
# api.reports.get_template(company_uuid: "company_uuid", report_type: "report_type")
|
281
|
+
def get_template(company_uuid:, report_type:, request_options: nil)
|
282
|
+
Async do
|
283
|
+
response = @request_client.conn.get do | req |
|
284
|
+
unless request_options&.timeout_in_seconds.nil?
|
285
|
+
req.options.timeout = request_options.timeout_in_seconds
|
286
|
+
end
|
287
|
+
unless request_options&.token.nil?
|
288
|
+
req.headers["Authorization"] = request_options.token
|
289
|
+
end
|
290
|
+
unless request_options&.gusto_api_version.nil?
|
291
|
+
req.headers["X-Gusto-API-Version"] = request_options.gusto_api_version
|
292
|
+
end
|
293
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
294
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
295
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
296
|
+
end
|
297
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
298
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
299
|
+
end
|
300
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/v1/companies/#{company_uuid}/report_templates/#{report_type}"
|
301
|
+
end
|
302
|
+
Gusto::ReportTemplate.from_json(json_object: response.body)
|
303
|
+
end
|
304
|
+
end
|
305
|
+
end
|
306
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Reports
|
5
|
+
class ReportsCreateRequestColumnsItem
|
6
|
+
|
7
|
+
BANK_ACCOUNT_ACCOUNT_NUMBER = "bank_account_account_number"
|
8
|
+
BANK_ACCOUNT_ROUTING_NUMBER = "bank_account_routing_number"
|
9
|
+
BANK_ACCOUNT_TYPE = "bank_account_type"
|
10
|
+
BANK_ACCOUNT = "bank_account"
|
11
|
+
BONUS = "bonus"
|
12
|
+
CASH_TIPS = "cash_tips"
|
13
|
+
CHECK_AMOUNT = "check_amount"
|
14
|
+
CHECK_DATE = "check_date"
|
15
|
+
COMMISSION = "commission"
|
16
|
+
DATE_OF_BIRTH = "date_of_birth"
|
17
|
+
DOUBLE_OVERTIME_EARNINGS = "double_overtime_earnings"
|
18
|
+
DOUBLE_OVERTIME_HOURS = "double_overtime_hours"
|
19
|
+
DOUBLE_OVERTIME_RATE = "double_overtime_rate"
|
20
|
+
EMPLOYEE_ADDITIONAL_TAXES = "employee_additional_taxes"
|
21
|
+
EMPLOYEE_BENEFIT_CONTRIBUTIONS = "employee_benefit_contributions"
|
22
|
+
EMPLOYEE_COMPENSATION_TIME_PERIOD = "employee_compensation_time_period"
|
23
|
+
EMPLOYEE_COMPENSATION = "employee_compensation"
|
24
|
+
EMPLOYEE_DEDUCTIONS = "employee_deductions"
|
25
|
+
EMPLOYEE_DEPARTMENT = "employee_department"
|
26
|
+
EMPLOYEE_EMAIL = "employee_email"
|
27
|
+
EMPLOYEE_FEDERAL_INCOME_TAX = "employee_federal_income_tax"
|
28
|
+
EMPLOYEE_FIRST_NAME = "employee_first_name"
|
29
|
+
EMPLOYEE_LAST_NAME = "employee_last_name"
|
30
|
+
EMPLOYEE_MIDDLE_INITIAL = "employee_middle_initial"
|
31
|
+
EMPLOYEE_MEDICARE_ADDITIONAL_TAX = "employee_medicare_additional_tax"
|
32
|
+
EMPLOYEE_MEDICARE_TAX = "employee_medicare_tax"
|
33
|
+
EMPLOYEE_PHONE_NUMBER = "employee_phone_number"
|
34
|
+
EMPLOYEE_SOCIAL_SECURITY_TAX = "employee_social_security_tax"
|
35
|
+
EMPLOYEE_TAXES = "employee_taxes"
|
36
|
+
EMPLOYEE_WORK_EMAIL = "employee_work_email"
|
37
|
+
EMPLOYER_ADDITIONAL_TAXES = "employer_additional_taxes"
|
38
|
+
EMPLOYER_BENEFIT_CONTRIBUTIONS = "employer_benefit_contributions"
|
39
|
+
EMPLOYER_COST = "employer_cost"
|
40
|
+
EMPLOYER_FUTA_TAX = "employer_futa_tax"
|
41
|
+
EMPLOYER_MEDICARE_TAX = "employer_medicare_tax"
|
42
|
+
EMPLOYER_SOCIAL_SECURITY_TAX = "employer_social_security_tax"
|
43
|
+
EMPLOYER_SUTA_TAX = "employer_suta_tax"
|
44
|
+
EMPLOYER_TAXES = "employer_taxes"
|
45
|
+
EMPLOYMENT_TYPE = "employment_type"
|
46
|
+
EMPLOYMENT = "employment"
|
47
|
+
END_DATE = "end_date"
|
48
|
+
GARNISHMENTS = "garnishments"
|
49
|
+
GROSS_EARNINGS = "gross_earnings"
|
50
|
+
HOLIDAY_EARNINGS = "holiday_earnings"
|
51
|
+
HOLIDAY_HOURS = "holiday_hours"
|
52
|
+
HOME_ADDRESS_CITY = "home_address_city"
|
53
|
+
HOME_ADDRESS_STATE = "home_address_state"
|
54
|
+
HOME_ADDRESS_STREET = "home_address_street"
|
55
|
+
HOME_ADDRESS_ZIP = "home_address_zip"
|
56
|
+
HOME_ADDRESS = "home_address"
|
57
|
+
JOB_TITLE = "job_title"
|
58
|
+
NET_PAY = "net_pay"
|
59
|
+
ONE_TIME_REIMBURSEMENTS = "one_time_reimbursements"
|
60
|
+
OVERTIME_EARNINGS = "overtime_earnings"
|
61
|
+
OVERTIME_HOURS = "overtime_hours"
|
62
|
+
OVERTIME_RATE = "overtime_rate"
|
63
|
+
PAID_TIME_OFF_EARNINGS = "paid_time_off_earnings"
|
64
|
+
PAID_TIME_OFF_HOURS = "paid_time_off_hours"
|
65
|
+
PAID_TIME_OFF_RATE = "paid_time_off_rate"
|
66
|
+
PAY_PERIOD_END = "pay_period_end"
|
67
|
+
PAY_PERIOD_START = "pay_period_start"
|
68
|
+
PAYCHECK_TIPS = "paycheck_tips"
|
69
|
+
PAYMENT_METHOD = "payment_method"
|
70
|
+
PAYROLL_TYPE = "payroll_type"
|
71
|
+
PREFERRED_FIRST_NAME = "preferred_first_name"
|
72
|
+
RECURRING_REIMBURSEMENTS = "recurring_reimbursements"
|
73
|
+
REGULAR_EARNINGS = "regular_earnings"
|
74
|
+
REGULAR_HOURS = "regular_hours"
|
75
|
+
REGULAR_RATE = "regular_rate"
|
76
|
+
REIMBURSEMENTS = "reimbursements"
|
77
|
+
RISK_CLASS_CODE = "risk_class_code"
|
78
|
+
SICK_RATE = "sick_rate"
|
79
|
+
SICK_TIME_OFF_EARNINGS = "sick_time_off_earnings"
|
80
|
+
SICK_TIME_OFF_HOURS = "sick_time_off_hours"
|
81
|
+
START_DATE = "start_date"
|
82
|
+
TOTAL_EMPLOYER_BENEFIT_CONTRIBUTIONS = "total_employer_benefit_contributions"
|
83
|
+
TOTAL_TIME_OFF_EARNINGS = "total_time_off_earnings"
|
84
|
+
TOTAL_TIME_OFF_HOURS = "total_time_off_hours"
|
85
|
+
WORK_ADDRESS_CITY = "work_address_city"
|
86
|
+
WORK_ADDRESS_STREET = "work_address_street"
|
87
|
+
WORK_ADDRESS_ZIP = "work_address_zip"
|
88
|
+
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Reports
|
5
|
+
# Employee employment status to filter by
|
6
|
+
class ReportsCreateRequestEmploymentStatus
|
7
|
+
|
8
|
+
ACTIVE_FULL_TIME = "active_full_time"
|
9
|
+
ACTIVE_PART_TIME = "active_part_time"
|
10
|
+
ACTIVE_PART_TIME_ELIGIBLE = "active_part_time_eligible"
|
11
|
+
ACTIVE_VARIABLE = "active_variable"
|
12
|
+
ACTIVE_SEASONAL = "active_seasonal"
|
13
|
+
ACTIVE = "active"
|
14
|
+
DISMISSED = "dismissed"
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Reports
|
5
|
+
# Employee employment type to filter by
|
6
|
+
class ReportsCreateRequestEmploymentType
|
7
|
+
|
8
|
+
EXEMPT = "exempt"
|
9
|
+
SALARIED_NONEXEMPT = "salaried_nonexempt"
|
10
|
+
NONEXEMPT = "nonexempt"
|
11
|
+
COMMISSION_ONLY_EXEMPT = "commission_only_exempt"
|
12
|
+
COMMISSION_ONLY_NONEXEMPT = "commission_only_nonexempt"
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
module Reports
|
5
|
+
class ReportsCreateRequestGroupingsItem
|
6
|
+
|
7
|
+
PAYROLL = "payroll"
|
8
|
+
EMPLOYEE = "employee"
|
9
|
+
WORK_ADDRESS = "work_address"
|
10
|
+
WORK_ADDRESS_STATE = "work_address_state"
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "signatory_identity_verification_status"
|
3
|
+
require_relative "signatory_home_address"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Gusto
|
8
|
+
module Signatories
|
9
|
+
# The representation of a company's signatory
|
10
|
+
class Signatory
|
11
|
+
# @return [String]
|
12
|
+
attr_reader :uuid
|
13
|
+
# @return [String]
|
14
|
+
attr_reader :first_name
|
15
|
+
# @return [String]
|
16
|
+
attr_reader :last_name
|
17
|
+
# @return [String]
|
18
|
+
attr_reader :title
|
19
|
+
# @return [String]
|
20
|
+
attr_reader :phone
|
21
|
+
# @return [String]
|
22
|
+
attr_reader :email
|
23
|
+
# @return [String]
|
24
|
+
attr_reader :birthday
|
25
|
+
# @return [Boolean] Whether or not the signatory is also the payroll admin of the company.
|
26
|
+
attr_reader :is_admin
|
27
|
+
# @return [Boolean] Indicates whether the signatory has an SSN in Gusto.
|
28
|
+
attr_reader :has_ssn
|
29
|
+
# @return [String] The current version of the signatory. See the [versioning
|
30
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
31
|
+
# on how to use this field.
|
32
|
+
attr_reader :version
|
33
|
+
# @return [Gusto::Signatories::SignatoryIdentityVerificationStatus] | |
|
34
|
+
# |
|
35
|
+
# | ---------- |
|
36
|
+
# --------------------------------------------------------------------------------
|
37
|
+
# |
|
38
|
+
# | **Status** | **Description**
|
39
|
+
# |
|
40
|
+
# | Pass | Signatory can sign all forms
|
41
|
+
# |
|
42
|
+
# | Fail | Signatory cannot sign forms
|
43
|
+
# |
|
44
|
+
# | Skipped | Signatory cannot sign Form 8655 until the form is manually
|
45
|
+
# uploaded as wet-signed |
|
46
|
+
# | null | Identity verification process has not been completed
|
47
|
+
# |
|
48
|
+
attr_reader :identity_verification_status
|
49
|
+
# @return [Gusto::Signatories::SignatoryHomeAddress]
|
50
|
+
attr_reader :home_address
|
51
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
52
|
+
attr_reader :additional_properties
|
53
|
+
# @return [Object]
|
54
|
+
attr_reader :_field_set
|
55
|
+
protected :_field_set
|
56
|
+
|
57
|
+
OMIT = Object.new
|
58
|
+
|
59
|
+
# @param uuid [String]
|
60
|
+
# @param first_name [String]
|
61
|
+
# @param last_name [String]
|
62
|
+
# @param title [String]
|
63
|
+
# @param phone [String]
|
64
|
+
# @param email [String]
|
65
|
+
# @param birthday [String]
|
66
|
+
# @param is_admin [Boolean] Whether or not the signatory is also the payroll admin of the company.
|
67
|
+
# @param has_ssn [Boolean] Indicates whether the signatory has an SSN in Gusto.
|
68
|
+
# @param version [String] The current version of the signatory. See the [versioning
|
69
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
70
|
+
# on how to use this field.
|
71
|
+
# @param identity_verification_status [Gusto::Signatories::SignatoryIdentityVerificationStatus] | |
|
72
|
+
# |
|
73
|
+
# | ---------- |
|
74
|
+
# --------------------------------------------------------------------------------
|
75
|
+
# |
|
76
|
+
# | **Status** | **Description**
|
77
|
+
# |
|
78
|
+
# | Pass | Signatory can sign all forms
|
79
|
+
# |
|
80
|
+
# | Fail | Signatory cannot sign forms
|
81
|
+
# |
|
82
|
+
# | Skipped | Signatory cannot sign Form 8655 until the form is manually
|
83
|
+
# uploaded as wet-signed |
|
84
|
+
# | null | Identity verification process has not been completed
|
85
|
+
# |
|
86
|
+
# @param home_address [Gusto::Signatories::SignatoryHomeAddress]
|
87
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
88
|
+
# @return [Gusto::Signatories::Signatory]
|
89
|
+
def initialize(uuid:, first_name: OMIT, last_name: OMIT, title: OMIT, phone: OMIT, email: OMIT, birthday: OMIT, is_admin: OMIT, has_ssn: OMIT, version: OMIT, identity_verification_status: OMIT, home_address: OMIT, additional_properties: nil)
|
90
|
+
@uuid = uuid
|
91
|
+
@first_name = first_name if first_name != OMIT
|
92
|
+
@last_name = last_name if last_name != OMIT
|
93
|
+
@title = title if title != OMIT
|
94
|
+
@phone = phone if phone != OMIT
|
95
|
+
@email = email if email != OMIT
|
96
|
+
@birthday = birthday if birthday != OMIT
|
97
|
+
@is_admin = is_admin if is_admin != OMIT
|
98
|
+
@has_ssn = has_ssn if has_ssn != OMIT
|
99
|
+
@version = version if version != OMIT
|
100
|
+
@identity_verification_status = identity_verification_status if identity_verification_status != OMIT
|
101
|
+
@home_address = home_address if home_address != OMIT
|
102
|
+
@additional_properties = additional_properties
|
103
|
+
@_field_set = { "uuid": uuid, "first_name": first_name, "last_name": last_name, "title": title, "phone": phone, "email": email, "birthday": birthday, "is_admin": is_admin, "has_ssn": has_ssn, "version": version, "identity_verification_status": identity_verification_status, "home_address": home_address }.reject do | _k, v |
|
104
|
+
v == OMIT
|
105
|
+
end
|
106
|
+
end
|
107
|
+
# Deserialize a JSON object to an instance of Signatory
|
108
|
+
#
|
109
|
+
# @param json_object [String]
|
110
|
+
# @return [Gusto::Signatories::Signatory]
|
111
|
+
def self.from_json(json_object:)
|
112
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
113
|
+
parsed_json = JSON.parse(json_object)
|
114
|
+
uuid = parsed_json["uuid"]
|
115
|
+
first_name = parsed_json["first_name"]
|
116
|
+
last_name = parsed_json["last_name"]
|
117
|
+
title = parsed_json["title"]
|
118
|
+
phone = parsed_json["phone"]
|
119
|
+
email = parsed_json["email"]
|
120
|
+
birthday = parsed_json["birthday"]
|
121
|
+
is_admin = parsed_json["is_admin"]
|
122
|
+
has_ssn = parsed_json["has_ssn"]
|
123
|
+
version = parsed_json["version"]
|
124
|
+
identity_verification_status = parsed_json["identity_verification_status"]
|
125
|
+
unless parsed_json["home_address"].nil?
|
126
|
+
home_address = parsed_json["home_address"].to_json
|
127
|
+
home_address = Gusto::Signatories::SignatoryHomeAddress.from_json(json_object: home_address)
|
128
|
+
else
|
129
|
+
home_address = nil
|
130
|
+
end
|
131
|
+
new(
|
132
|
+
uuid: uuid,
|
133
|
+
first_name: first_name,
|
134
|
+
last_name: last_name,
|
135
|
+
title: title,
|
136
|
+
phone: phone,
|
137
|
+
email: email,
|
138
|
+
birthday: birthday,
|
139
|
+
is_admin: is_admin,
|
140
|
+
has_ssn: has_ssn,
|
141
|
+
version: version,
|
142
|
+
identity_verification_status: identity_verification_status,
|
143
|
+
home_address: home_address,
|
144
|
+
additional_properties: struct
|
145
|
+
)
|
146
|
+
end
|
147
|
+
# Serialize an instance of Signatory to a JSON object
|
148
|
+
#
|
149
|
+
# @return [String]
|
150
|
+
def to_json
|
151
|
+
@_field_set&.to_json
|
152
|
+
end
|
153
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
154
|
+
# hash and check each fields type against the current object's property
|
155
|
+
# definitions.
|
156
|
+
#
|
157
|
+
# @param obj [Object]
|
158
|
+
# @return [Void]
|
159
|
+
def self.validate_raw(obj:)
|
160
|
+
obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
161
|
+
obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
|
162
|
+
obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
|
163
|
+
obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
|
164
|
+
obj.phone&.is_a?(String) != false || raise("Passed value for field obj.phone is not the expected type, validation failed.")
|
165
|
+
obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
|
166
|
+
obj.birthday&.is_a?(String) != false || raise("Passed value for field obj.birthday is not the expected type, validation failed.")
|
167
|
+
obj.is_admin&.is_a?(Boolean) != false || raise("Passed value for field obj.is_admin is not the expected type, validation failed.")
|
168
|
+
obj.has_ssn&.is_a?(Boolean) != false || raise("Passed value for field obj.has_ssn is not the expected type, validation failed.")
|
169
|
+
obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
|
170
|
+
obj.identity_verification_status&.is_a?(Gusto::Signatories::SignatoryIdentityVerificationStatus) != false || raise("Passed value for field obj.identity_verification_status is not the expected type, validation failed.")
|
171
|
+
obj.home_address.nil? || Gusto::Signatories::SignatoryHomeAddress.validate_raw(obj: obj.home_address)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|