gusto_embedded_client 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gusto_embedded/client.rb +2 -1
  3. data/lib/gusto_embedded/companybenefits.rb +30 -2
  4. data/lib/gusto_embedded/contractorpayments.rb +16 -2
  5. data/lib/gusto_embedded/earningtypes.rb +16 -2
  6. data/lib/gusto_embedded/employeebenefits.rb +30 -2
  7. data/lib/gusto_embedded/employeepaymentmethod.rb +30 -2
  8. data/lib/gusto_embedded/externalpayrolls.rb +60 -4
  9. data/lib/gusto_embedded/information_requests.rb +6 -3
  10. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error.rb +32 -0
  11. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error.rbi +13 -0
  12. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_errors.rb +44 -0
  13. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_errors.rbi +19 -0
  14. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_metadata.rb +32 -0
  15. data/lib/gusto_embedded/models/errors/payroll_digest_conflict_error_metadata.rbi +13 -0
  16. data/lib/gusto_embedded/models/errors.rb +3 -0
  17. data/lib/gusto_embedded/models/operations/get_information_requests_request.rb +6 -2
  18. data/lib/gusto_embedded/models/operations/get_information_requests_request.rbi +2 -0
  19. data/lib/gusto_embedded/models/operations/get_v1_companies_company_id_payrolls_payroll_id_request.rb +3 -3
  20. data/lib/gusto_embedded/models/operations/get_v1_companies_company_uuid_contractors_request.rb +1 -1
  21. data/lib/gusto_embedded/models/operations/get_v1_company_forms_request.rb +3 -3
  22. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_header_x_gusto_api_version.rb +18 -0
  23. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_header_x_gusto_api_version.rbi +11 -0
  24. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_request.rb +36 -0
  25. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_request.rbi +15 -0
  26. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_response.rb +44 -0
  27. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_response.rbi +19 -0
  28. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_security.rb +32 -0
  29. data/lib/gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_security.rbi +13 -0
  30. data/lib/gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_response.rb +5 -5
  31. data/lib/gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_response.rbi +2 -2
  32. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_batch.rb +36 -0
  33. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_batch.rbi +15 -0
  34. data/lib/gusto_embedded/models/operations/{sort_by.rb → post_v1_payroll_digests_batch_action.rb} +3 -4
  35. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_batch_action.rbi +11 -0
  36. data/lib/gusto_embedded/models/operations/{queryparam_sort_by.rb → post_v1_payroll_digests_entity_type.rb} +3 -4
  37. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_entity_type.rbi +11 -0
  38. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_header_x_gusto_api_version.rb +18 -0
  39. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_header_x_gusto_api_version.rbi +11 -0
  40. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_request.rb +36 -0
  41. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_request.rbi +15 -0
  42. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_requestbody.rb +40 -0
  43. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_requestbody.rbi +17 -0
  44. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_response.rb +44 -0
  45. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_response.rbi +19 -0
  46. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_security.rb +32 -0
  47. data/lib/gusto_embedded/models/operations/post_v1_payroll_digests_security.rbi +13 -0
  48. data/lib/gusto_embedded/models/operations/put_v1_companies_company_id_payrolls_payroll_id_prepare_request.rb +3 -3
  49. data/lib/gusto_embedded/models/operations/split_by.rb +1 -1
  50. data/lib/gusto_embedded/models/operations.rb +12 -4
  51. data/lib/gusto_embedded/models/shared/ach_transaction_recipient_type.rb +1 -1
  52. data/lib/gusto_embedded/models/shared/batch_action.rb +18 -0
  53. data/lib/gusto_embedded/models/{operations/sort_by.rbi → shared/batch_action.rbi} +2 -2
  54. data/lib/gusto_embedded/models/shared/blockers.rb +36 -0
  55. data/lib/gusto_embedded/models/shared/blockers.rbi +15 -0
  56. data/lib/gusto_embedded/models/shared/columns.rb +2 -0
  57. data/lib/gusto_embedded/models/shared/deduction_reduces_taxable_income.rb +1 -1
  58. data/lib/gusto_embedded/models/shared/employee_benefit.rb +6 -6
  59. data/lib/gusto_embedded/models/shared/employee_benefit.rbi +2 -2
  60. data/lib/gusto_embedded/models/shared/employee_benefit_create_request_deduction_reduces_taxable_income.rb +1 -1
  61. data/lib/gusto_embedded/models/shared/employee_benefit_create_request_limit_option.rb +1 -6
  62. data/lib/gusto_embedded/models/shared/employee_benefit_for_company_benefit.rb +6 -6
  63. data/lib/gusto_embedded/models/shared/employee_benefit_for_company_benefit.rbi +2 -2
  64. data/lib/gusto_embedded/models/shared/employee_benefit_for_company_benefit_deduction_reduces_taxable_income.rb +1 -1
  65. data/lib/gusto_embedded/models/shared/employee_benefit_update_request.rb +6 -6
  66. data/lib/gusto_embedded/models/shared/employee_benefit_update_request.rbi +2 -2
  67. data/lib/gusto_embedded/models/shared/employee_benefit_update_request_deduction_reduces_taxable_income.rb +1 -1
  68. data/lib/gusto_embedded/models/shared/employee_benefit_update_request_limit_option.rb +1 -6
  69. data/lib/gusto_embedded/models/shared/employee_state_taxes_list.rb +6 -2
  70. data/lib/gusto_embedded/models/shared/employee_state_taxes_list.rbi +2 -0
  71. data/lib/gusto_embedded/models/{operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_responsebody.rb → shared/employees_annual_fica_wage_report_acceptance.rb} +6 -6
  72. data/lib/gusto_embedded/models/{operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_responsebody.rbi → shared/employees_annual_fica_wage_report_acceptance.rbi} +2 -2
  73. data/lib/gusto_embedded/models/shared/entity_type.rb +1 -1
  74. data/lib/gusto_embedded/models/shared/funding_type.rb +4 -2
  75. data/lib/gusto_embedded/models/shared/garnishment_request_garnishment_type.rb +1 -1
  76. data/lib/gusto_embedded/models/shared/information_request_type.rb +1 -1
  77. data/lib/gusto_embedded/models/shared/integration_type.rb +1 -1
  78. data/lib/gusto_embedded/models/shared/name.rb +1 -1
  79. data/lib/gusto_embedded/models/shared/pay_schedule.rb +40 -0
  80. data/lib/gusto_embedded/models/shared/pay_schedule.rbi +17 -0
  81. data/lib/gusto_embedded/models/shared/payroll_digest.rb +44 -0
  82. data/lib/gusto_embedded/models/shared/payroll_digest.rbi +19 -0
  83. data/lib/gusto_embedded/models/shared/payroll_digest_results.rb +68 -0
  84. data/lib/gusto_embedded/models/shared/payroll_digest_results.rbi +31 -0
  85. data/lib/gusto_embedded/models/shared/payroll_digest_results_category.rb +21 -0
  86. data/lib/gusto_embedded/models/shared/payroll_digest_results_category.rbi +11 -0
  87. data/lib/gusto_embedded/models/shared/payroll_digest_results_entity_type.rb +18 -0
  88. data/lib/gusto_embedded/models/shared/payroll_digest_results_entity_type.rbi +11 -0
  89. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions.rb +52 -0
  90. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions.rbi +23 -0
  91. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_entity_type.rb +18 -0
  92. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_entity_type.rbi +11 -0
  93. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_status.rb +18 -0
  94. data/lib/gusto_embedded/models/shared/payroll_digest_results_exclusions_status.rbi +11 -0
  95. data/lib/gusto_embedded/models/shared/payroll_digest_results_pay_period.rb +44 -0
  96. data/lib/gusto_embedded/models/shared/payroll_digest_results_pay_period.rbi +19 -0
  97. data/lib/gusto_embedded/models/shared/payroll_digest_results_results.rb +56 -0
  98. data/lib/gusto_embedded/models/shared/payroll_digest_results_results.rbi +25 -0
  99. data/lib/gusto_embedded/models/shared/payroll_digest_results_results_status.rb +20 -0
  100. data/lib/gusto_embedded/models/shared/payroll_digest_results_results_status.rbi +11 -0
  101. data/lib/gusto_embedded/models/shared/payroll_digest_results_status.rb +21 -0
  102. data/lib/gusto_embedded/models/shared/payroll_digest_results_status.rbi +11 -0
  103. data/lib/gusto_embedded/models/shared/payroll_digest_results_totals.rb +40 -0
  104. data/lib/gusto_embedded/models/shared/payroll_digest_results_totals.rbi +17 -0
  105. data/lib/gusto_embedded/models/shared/payroll_digest_status.rb +21 -0
  106. data/lib/gusto_embedded/models/shared/payroll_digest_status.rbi +11 -0
  107. data/lib/gusto_embedded/models/shared/payroll_employee_compensations_type_payment_method.rb +1 -1
  108. data/lib/gusto_embedded/models/shared/payroll_show_payment_method.rb +1 -1
  109. data/lib/gusto_embedded/models/shared/payroll_unprocessed_employee_compensations_type_payment_method.rb +1 -1
  110. data/lib/gusto_embedded/models/shared/payrolls.rb +60 -0
  111. data/lib/gusto_embedded/models/shared/payrolls.rbi +27 -0
  112. data/lib/gusto_embedded/models/shared/update_garnishment_request_garnishment_type.rb +1 -1
  113. data/lib/gusto_embedded/models/shared.rb +18 -0
  114. data/lib/gusto_embedded/payroll_digests.rb +342 -0
  115. data/lib/gusto_embedded/reports.rb +2 -2
  116. data/lib/gusto_embedded/sdkconfiguration.rb +3 -3
  117. data/lib/gusto_embedded/time_off_requests.rb +30 -2
  118. data/lib/gusto_embedded_client.rb +1 -0
  119. metadata +69 -10
  120. data/lib/gusto_embedded/models/operations/get_v1_company_forms_queryparam_sort_by.rb +0 -23
  121. data/lib/gusto_embedded/models/operations/get_v1_company_forms_queryparam_sort_by.rbi +0 -11
  122. data/lib/gusto_embedded/models/operations/queryparam_sort_by.rbi +0 -11
@@ -296,7 +296,6 @@ module GustoEmbedded
296
296
  autoload :GetV1CompanyFormRequest, 'gusto_embedded/models/operations/get_v1_company_form_request.rb'
297
297
  autoload :GetV1CompanyFormResponse, 'gusto_embedded/models/operations/get_v1_company_form_response.rb'
298
298
  autoload :GetV1CompanyFormsHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/get_v1_company_forms_header_x_gusto_api_version.rb'
299
- autoload :GetV1CompanyFormsQueryParamSortBy, 'gusto_embedded/models/operations/get_v1_company_forms_queryparam_sort_by.rb'
300
299
  autoload :GetV1CompanyFormsRequest, 'gusto_embedded/models/operations/get_v1_company_forms_request.rb'
301
300
  autoload :GetV1CompanyFormsResponse, 'gusto_embedded/models/operations/get_v1_company_forms_response.rb'
302
301
  autoload :GetV1CompanyIndustryHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/get_v1_company_industry_header_x_gusto_api_version.rb'
@@ -488,6 +487,10 @@ module GustoEmbedded
488
487
  autoload :GetV1PaymentReceiptsPayrollsPayrollUuidHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/get_v1_payment_receipts_payrolls_payroll_uuid_header_x_gusto_api_version.rb'
489
488
  autoload :GetV1PaymentReceiptsPayrollsPayrollUuidRequest, 'gusto_embedded/models/operations/get_v1_payment_receipts_payrolls_payroll_uuid_request.rb'
490
489
  autoload :GetV1PaymentReceiptsPayrollsPayrollUuidResponse, 'gusto_embedded/models/operations/get_v1_payment_receipts_payrolls_payroll_uuid_response.rb'
490
+ autoload :GetV1PayrollDigestsPayrollDigestUuidSecurity, 'gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_security.rb'
491
+ autoload :GetV1PayrollDigestsPayrollDigestUuidHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_header_x_gusto_api_version.rb'
492
+ autoload :GetV1PayrollDigestsPayrollDigestUuidRequest, 'gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_request.rb'
493
+ autoload :GetV1PayrollDigestsPayrollDigestUuidResponse, 'gusto_embedded/models/operations/get_v1_payroll_digests_payroll_digest_uuid_response.rb'
491
494
  autoload :GetV1PayrollsPayrollUuidEmployeesEmployeeUuidPayStubHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/get_v1_payrolls_payroll_uuid_employees_employee_uuid_pay_stub_header_x_gu_9b2847.rb'
492
495
  autoload :GetV1PayrollsPayrollUuidEmployeesEmployeeUuidPayStubRequest, 'gusto_embedded/models/operations/get_v1_payrolls_payroll_uuid_employees_employee_uuid_pay_stub_request.rb'
493
496
  autoload :GetV1PayrollsPayrollUuidEmployeesEmployeeUuidPayStubResponse, 'gusto_embedded/models/operations/get_v1_payrolls_payroll_uuid_employees_employee_uuid_pay_stub_response.rb'
@@ -671,7 +674,6 @@ module GustoEmbedded
671
674
  autoload :PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageRequest, 'gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_request.rb'
672
675
  autoload :PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageRequestBody, 'gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_requestbody.rb'
673
676
  autoload :PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageResponse, 'gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_response.rb'
674
- autoload :PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageResponseBody, 'gusto_embedded/models/operations/post_v1_companies_company_id_reports_employees_annual_fica_wage_responsebody.rb'
675
677
  autoload :PostV1CompaniesCompanyUuidContractorsHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/post_v1_companies_company_uuid_contractors_header_x_gusto_api_version.rb'
676
678
  autoload :PostV1CompaniesCompanyUuidContractorsRequest, 'gusto_embedded/models/operations/post_v1_companies_company_uuid_contractors_request.rb'
677
679
  autoload :PostV1CompaniesCompanyUuidContractorsResponse, 'gusto_embedded/models/operations/post_v1_companies_company_uuid_contractors_response.rb'
@@ -768,6 +770,14 @@ module GustoEmbedded
768
770
  autoload :PostV1PartnerManagedCompaniesHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/post_v1_partner_managed_companies_header_x_gusto_api_version.rb'
769
771
  autoload :PostV1PartnerManagedCompaniesRequest, 'gusto_embedded/models/operations/post_v1_partner_managed_companies_request.rb'
770
772
  autoload :PostV1PartnerManagedCompaniesResponse, 'gusto_embedded/models/operations/post_v1_partner_managed_companies_response.rb'
773
+ autoload :PostV1PayrollDigestsSecurity, 'gusto_embedded/models/operations/post_v1_payroll_digests_security.rb'
774
+ autoload :PostV1PayrollDigestsBatch, 'gusto_embedded/models/operations/post_v1_payroll_digests_batch.rb'
775
+ autoload :PostV1PayrollDigestsBatchAction, 'gusto_embedded/models/operations/post_v1_payroll_digests_batch_action.rb'
776
+ autoload :PostV1PayrollDigestsEntityType, 'gusto_embedded/models/operations/post_v1_payroll_digests_entity_type.rb'
777
+ autoload :PostV1PayrollDigestsHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/post_v1_payroll_digests_header_x_gusto_api_version.rb'
778
+ autoload :PostV1PayrollDigestsRequest, 'gusto_embedded/models/operations/post_v1_payroll_digests_request.rb'
779
+ autoload :PostV1PayrollDigestsRequestBody, 'gusto_embedded/models/operations/post_v1_payroll_digests_requestbody.rb'
780
+ autoload :PostV1PayrollDigestsResponse, 'gusto_embedded/models/operations/post_v1_payroll_digests_response.rb'
771
781
  autoload :PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursHeaderXGustoAPIVersion, 'gusto_embedded/models/operations/post_v1_payrolls_payroll_id_calculate_accruing_time_off_hours_header_x_gu_86cdd4.rb'
772
782
  autoload :PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursRequest, 'gusto_embedded/models/operations/post_v1_payrolls_payroll_id_calculate_accruing_time_off_hours_request.rb'
773
783
  autoload :PostV1PayrollsPayrollIdCalculateAccruingTimeOffHoursResponse, 'gusto_embedded/models/operations/post_v1_payrolls_payroll_id_calculate_accruing_time_off_hours_response.rb'
@@ -1040,7 +1050,6 @@ module GustoEmbedded
1040
1050
  autoload :PutWireInRequestsWireInRequestUuidResponse, 'gusto_embedded/models/operations/put_wire_in_requests_wire_in_request_uuid_response.rb'
1041
1051
  autoload :QueryParamInclude, 'gusto_embedded/models/operations/queryparam_include.rb'
1042
1052
  autoload :QueryParamPayrollTypes, 'gusto_embedded/models/operations/queryparam_payroll_types.rb'
1043
- autoload :QueryParamSortBy, 'gusto_embedded/models/operations/queryparam_sort_by.rb'
1044
1053
  autoload :QueryParamSortOrder, 'gusto_embedded/models/operations/queryparam_sort_order.rb'
1045
1054
  autoload :Reason, 'gusto_embedded/models/operations/reason.rb'
1046
1055
  autoload :ReconcileTaxMethod, 'gusto_embedded/models/operations/reconcile_tax_method.rb'
@@ -1050,7 +1059,6 @@ module GustoEmbedded
1050
1059
  autoload :RequestBodyGrantType, 'gusto_embedded/models/operations/requestbody_grant_type.rb'
1051
1060
  autoload :RequiredQuestions, 'gusto_embedded/models/operations/required_questions.rb'
1052
1061
  autoload :ResponseType, 'gusto_embedded/models/operations/response_type.rb'
1053
- autoload :SortBy, 'gusto_embedded/models/operations/sort_by.rb'
1054
1062
  autoload :SortOrder, 'gusto_embedded/models/operations/sort_order.rb'
1055
1063
  autoload :SplitBy, 'gusto_embedded/models/operations/split_by.rb'
1056
1064
  autoload :Splits, 'gusto_embedded/models/operations/splits.rb'
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # AchTransactionRecipientType - The type of recipient associated with the ACH transaction
10
+
11
11
  class AchTransactionRecipientType < T::Enum
12
12
  enums do
13
13
  EMPLOYEE = new('Employee')
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module GustoEmbedded
8
+ module Models
9
+ module Shared
10
+ # BatchAction - The action being performed on the batch.
11
+ class BatchAction < T::Enum
12
+ enums do
13
+ CREATE = new('create')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -2,10 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class GustoEmbedded::Models::Operations::SortBy
5
+ class GustoEmbedded::Models::Shared::BatchAction
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class GustoEmbedded::Models::Operations::SortBy
10
+ class GustoEmbedded::Models::Shared::BatchAction
11
11
  end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module GustoEmbedded
8
+ module Models
9
+ module Shared
10
+
11
+ class Blockers
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A machine-readable blocker key (e.g. `missing_bank_account`).
16
+ field :type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('type') } }
17
+ # Human-readable description of the blocker.
18
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('description') } }
19
+
20
+ sig { params(type: T.nilable(::String), description: T.nilable(::String)).void }
21
+ def initialize(type: nil, description: nil)
22
+ @type = type
23
+ @description = description
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @type == other.type
30
+ return false unless @description == other.description
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class GustoEmbedded::Models::Shared::Blockers
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class GustoEmbedded::Models::Shared::Blockers
11
+ def type(); end
12
+ def type=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ end
@@ -40,6 +40,7 @@ module GustoEmbedded
40
40
  EMPLOYEE_PHONE_NUMBER = new('employee_phone_number')
41
41
  EMPLOYEE_SOCIAL_SECURITY_TAX = new('employee_social_security_tax')
42
42
  EMPLOYEE_TAXES = new('employee_taxes')
43
+ EMPLOYEE_UUID = new('employee_uuid')
43
44
  EMPLOYEE_WORK_EMAIL = new('employee_work_email')
44
45
  EMPLOYER_ADDITIONAL_TAXES = new('employer_additional_taxes')
45
46
  EMPLOYER_BENEFIT_CONTRIBUTIONS = new('employer_benefit_contributions')
@@ -75,6 +76,7 @@ module GustoEmbedded
75
76
  PAYCHECK_TIPS = new('paycheck_tips')
76
77
  PAYMENT_METHOD = new('payment_method')
77
78
  PAYROLL_TYPE = new('payroll_type')
79
+ PAYROLL_UUID = new('payroll_uuid')
78
80
  PREFERRED_FIRST_NAME = new('preferred_first_name')
79
81
  RECURRING_REIMBURSEMENTS = new('recurring_reimbursements')
80
82
  REGULAR_EARNINGS = new('regular_earnings')
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # DeductionReducesTaxableIncome - Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
10
+
11
11
  class DeductionReducesTaxableIncome < T::Enum
12
12
  enums do
13
13
  UNSET = new('unset')
@@ -48,6 +48,8 @@ module GustoEmbedded
48
48
  field :retirement_loan_identifier, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('retirement_loan_identifier') } }
49
49
  # The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.
50
50
  field :coverage_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('coverage_amount') } }
51
+ # Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
52
+ field :deduction_reduces_taxable_income, Crystalline::Nilable.new(Models::Shared::DeductionReducesTaxableIncome), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('deduction_reduces_taxable_income'), 'decoder': ::GustoEmbedded::Utils.enum_from_string(Models::Shared::DeductionReducesTaxableIncome, true) } }
51
53
  # The amount to be paid, per pay period, by the company. This field will not appear for tiered contribution types.
52
54
  #
53
55
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
@@ -60,13 +62,11 @@ module GustoEmbedded
60
62
  field :expiration_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('expiration_date'), 'decoder': ::GustoEmbedded::Utils.date_from_iso_format(true) } }
61
63
  # Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50.
62
64
  field :catch_up, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('catch_up') } }
63
- # Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
64
- field :deduction_reduces_taxable_income, Crystalline::Nilable.new(Models::Shared::DeductionReducesTaxableIncome), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('deduction_reduces_taxable_income'), 'decoder': ::GustoEmbedded::Utils.enum_from_string(Models::Shared::DeductionReducesTaxableIncome, true) } }
65
65
  # The coverage amount as a multiple of the employee's salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.
66
66
  field :coverage_salary_multiplier, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('coverage_salary_multiplier') } }
67
67
 
68
- sig { params(uuid: ::String, version: T.nilable(::String), contribution: T.nilable(Models::Shared::Contribution), effective_date: T.nilable(::Date), employee_uuid: T.nilable(::String), company_benefit_uuid: T.nilable(::String), additional_properties: T.nilable(T::Hash[Symbol, ::Object]), active: T.nilable(T::Boolean), employee_deduction: T.nilable(::String), deduct_as_percentage: T.nilable(T::Boolean), employee_deduction_annual_maximum: T.nilable(::String), elective: T.nilable(T::Boolean), company_contribution_annual_maximum: T.nilable(::String), limit_option: T.nilable(::String), retirement_loan_identifier: T.nilable(::String), coverage_amount: T.nilable(::String), company_contribution: T.nilable(::String), contribute_as_percentage: T.nilable(T::Boolean), expiration_date: T.nilable(::Date), catch_up: T.nilable(T::Boolean), deduction_reduces_taxable_income: T.nilable(Models::Shared::DeductionReducesTaxableIncome), coverage_salary_multiplier: T.nilable(::String)).void }
69
- def initialize(uuid:, version: nil, contribution: nil, effective_date: nil, employee_uuid: nil, company_benefit_uuid: nil, additional_properties: nil, active: true, employee_deduction: '0.00', deduct_as_percentage: false, employee_deduction_annual_maximum: nil, elective: false, company_contribution_annual_maximum: nil, limit_option: nil, retirement_loan_identifier: nil, coverage_amount: nil, company_contribution: '0.00', contribute_as_percentage: false, expiration_date: nil, catch_up: false, deduction_reduces_taxable_income: Models::Shared::DeductionReducesTaxableIncome::UNSET, coverage_salary_multiplier: '0.00')
68
+ sig { params(uuid: ::String, version: T.nilable(::String), contribution: T.nilable(Models::Shared::Contribution), effective_date: T.nilable(::Date), employee_uuid: T.nilable(::String), company_benefit_uuid: T.nilable(::String), additional_properties: T.nilable(T::Hash[Symbol, ::Object]), active: T.nilable(T::Boolean), employee_deduction: T.nilable(::String), deduct_as_percentage: T.nilable(T::Boolean), employee_deduction_annual_maximum: T.nilable(::String), elective: T.nilable(T::Boolean), company_contribution_annual_maximum: T.nilable(::String), limit_option: T.nilable(::String), retirement_loan_identifier: T.nilable(::String), coverage_amount: T.nilable(::String), deduction_reduces_taxable_income: T.nilable(Models::Shared::DeductionReducesTaxableIncome), company_contribution: T.nilable(::String), contribute_as_percentage: T.nilable(T::Boolean), expiration_date: T.nilable(::Date), catch_up: T.nilable(T::Boolean), coverage_salary_multiplier: T.nilable(::String)).void }
69
+ def initialize(uuid:, version: nil, contribution: nil, effective_date: nil, employee_uuid: nil, company_benefit_uuid: nil, additional_properties: nil, active: true, employee_deduction: '0.00', deduct_as_percentage: false, employee_deduction_annual_maximum: nil, elective: false, company_contribution_annual_maximum: nil, limit_option: nil, retirement_loan_identifier: nil, coverage_amount: nil, deduction_reduces_taxable_income: nil, company_contribution: '0.00', contribute_as_percentage: false, expiration_date: nil, catch_up: false, coverage_salary_multiplier: '0.00')
70
70
  @uuid = uuid
71
71
  @version = version
72
72
  @contribution = contribution
@@ -83,11 +83,11 @@ module GustoEmbedded
83
83
  @limit_option = limit_option
84
84
  @retirement_loan_identifier = retirement_loan_identifier
85
85
  @coverage_amount = coverage_amount
86
+ @deduction_reduces_taxable_income = deduction_reduces_taxable_income
86
87
  @company_contribution = company_contribution
87
88
  @contribute_as_percentage = contribute_as_percentage
88
89
  @expiration_date = expiration_date
89
90
  @catch_up = catch_up
90
- @deduction_reduces_taxable_income = deduction_reduces_taxable_income
91
91
  @coverage_salary_multiplier = coverage_salary_multiplier
92
92
  end
93
93
 
@@ -110,11 +110,11 @@ module GustoEmbedded
110
110
  return false unless @limit_option == other.limit_option
111
111
  return false unless @retirement_loan_identifier == other.retirement_loan_identifier
112
112
  return false unless @coverage_amount == other.coverage_amount
113
+ return false unless @deduction_reduces_taxable_income == other.deduction_reduces_taxable_income
113
114
  return false unless @company_contribution == other.company_contribution
114
115
  return false unless @contribute_as_percentage == other.contribute_as_percentage
115
116
  return false unless @expiration_date == other.expiration_date
116
117
  return false unless @catch_up == other.catch_up
117
- return false unless @deduction_reduces_taxable_income == other.deduction_reduces_taxable_income
118
118
  return false unless @coverage_salary_multiplier == other.coverage_salary_multiplier
119
119
  true
120
120
  end
@@ -40,6 +40,8 @@ class GustoEmbedded::Models::Shared::EmployeeBenefit
40
40
  def retirement_loan_identifier=(str_); end
41
41
  def coverage_amount(); end
42
42
  def coverage_amount=(str_); end
43
+ def deduction_reduces_taxable_income(); end
44
+ def deduction_reduces_taxable_income=(str_); end
43
45
  def company_contribution(); end
44
46
  def company_contribution=(str_); end
45
47
  def contribute_as_percentage(); end
@@ -48,8 +50,6 @@ class GustoEmbedded::Models::Shared::EmployeeBenefit
48
50
  def expiration_date=(str_); end
49
51
  def catch_up(); end
50
52
  def catch_up=(str_); end
51
- def deduction_reduces_taxable_income(); end
52
- def deduction_reduces_taxable_income=(str_); end
53
53
  def coverage_salary_multiplier(); end
54
54
  def coverage_salary_multiplier=(str_); end
55
55
  end
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # EmployeeBenefitCreateRequestDeductionReducesTaxableIncome - Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
10
+
11
11
  class EmployeeBenefitCreateRequestDeductionReducesTaxableIncome < T::Enum
12
12
  enums do
13
13
  UNSET = new('unset')
@@ -7,12 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # EmployeeBenefitCreateRequestLimitOption - Some benefits require additional information to determine
11
- # their limit.
12
- #
13
- # `Family` or `Individual`: Applicable to HSA benefit.
14
- #
15
- # `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit.
10
+
16
11
  class EmployeeBenefitCreateRequestLimitOption < T::Enum
17
12
  enums do
18
13
  FAMILY = new('Family')
@@ -48,6 +48,8 @@ module GustoEmbedded
48
48
  field :retirement_loan_identifier, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('retirement_loan_identifier') } }
49
49
  # The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.
50
50
  field :coverage_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('coverage_amount') } }
51
+ # Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
52
+ field :deduction_reduces_taxable_income, Crystalline::Nilable.new(Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('deduction_reduces_taxable_income'), 'decoder': ::GustoEmbedded::Utils.enum_from_string(Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome, true) } }
51
53
  # The amount to be paid, per pay period, by the company. This field will not appear for tiered contribution types.
52
54
  #
53
55
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
@@ -60,13 +62,11 @@ module GustoEmbedded
60
62
  field :expiration_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('expiration_date'), 'decoder': ::GustoEmbedded::Utils.date_from_iso_format(true) } }
61
63
  # Whether the employee should use a benefit's "catch up" rate. Only Roth 401k and 401k benefits use this value for employees over 50.
62
64
  field :catch_up, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('catch_up') } }
63
- # Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
64
- field :deduction_reduces_taxable_income, Crystalline::Nilable.new(Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('deduction_reduces_taxable_income'), 'decoder': ::GustoEmbedded::Utils.enum_from_string(Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome, true) } }
65
65
  # The coverage amount as a multiple of the employee's salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.
66
66
  field :coverage_salary_multiplier, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('coverage_salary_multiplier') } }
67
67
 
68
- sig { params(employee_uuid: ::String, version: T.nilable(::String), contribution: T.nilable(Models::Shared::EmployeeBenefitForCompanyBenefitContribution), effective_date: T.nilable(::Date), uuid: T.nilable(::String), action: T.nilable(Models::Shared::Action), additional_properties: T.nilable(T::Hash[Symbol, ::Object]), active: T.nilable(T::Boolean), employee_deduction: T.nilable(::String), deduct_as_percentage: T.nilable(T::Boolean), employee_deduction_annual_maximum: T.nilable(::String), elective: T.nilable(T::Boolean), company_contribution_annual_maximum: T.nilable(::String), limit_option: T.nilable(::String), retirement_loan_identifier: T.nilable(::String), coverage_amount: T.nilable(::String), company_contribution: T.nilable(::String), contribute_as_percentage: T.nilable(T::Boolean), expiration_date: T.nilable(::Date), catch_up: T.nilable(T::Boolean), deduction_reduces_taxable_income: T.nilable(Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome), coverage_salary_multiplier: T.nilable(::String)).void }
69
- def initialize(employee_uuid:, version: nil, contribution: nil, effective_date: nil, uuid: nil, action: nil, additional_properties: nil, active: true, employee_deduction: '0.00', deduct_as_percentage: false, employee_deduction_annual_maximum: nil, elective: false, company_contribution_annual_maximum: nil, limit_option: nil, retirement_loan_identifier: nil, coverage_amount: nil, company_contribution: '0.00', contribute_as_percentage: false, expiration_date: nil, catch_up: false, deduction_reduces_taxable_income: Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome::UNSET, coverage_salary_multiplier: '0.00')
68
+ sig { params(employee_uuid: ::String, version: T.nilable(::String), contribution: T.nilable(Models::Shared::EmployeeBenefitForCompanyBenefitContribution), effective_date: T.nilable(::Date), uuid: T.nilable(::String), action: T.nilable(Models::Shared::Action), additional_properties: T.nilable(T::Hash[Symbol, ::Object]), active: T.nilable(T::Boolean), employee_deduction: T.nilable(::String), deduct_as_percentage: T.nilable(T::Boolean), employee_deduction_annual_maximum: T.nilable(::String), elective: T.nilable(T::Boolean), company_contribution_annual_maximum: T.nilable(::String), limit_option: T.nilable(::String), retirement_loan_identifier: T.nilable(::String), coverage_amount: T.nilable(::String), deduction_reduces_taxable_income: T.nilable(Models::Shared::EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome), company_contribution: T.nilable(::String), contribute_as_percentage: T.nilable(T::Boolean), expiration_date: T.nilable(::Date), catch_up: T.nilable(T::Boolean), coverage_salary_multiplier: T.nilable(::String)).void }
69
+ def initialize(employee_uuid:, version: nil, contribution: nil, effective_date: nil, uuid: nil, action: nil, additional_properties: nil, active: true, employee_deduction: '0.00', deduct_as_percentage: false, employee_deduction_annual_maximum: nil, elective: false, company_contribution_annual_maximum: nil, limit_option: nil, retirement_loan_identifier: nil, coverage_amount: nil, deduction_reduces_taxable_income: nil, company_contribution: '0.00', contribute_as_percentage: false, expiration_date: nil, catch_up: false, coverage_salary_multiplier: '0.00')
70
70
  @employee_uuid = employee_uuid
71
71
  @version = version
72
72
  @contribution = contribution
@@ -83,11 +83,11 @@ module GustoEmbedded
83
83
  @limit_option = limit_option
84
84
  @retirement_loan_identifier = retirement_loan_identifier
85
85
  @coverage_amount = coverage_amount
86
+ @deduction_reduces_taxable_income = deduction_reduces_taxable_income
86
87
  @company_contribution = company_contribution
87
88
  @contribute_as_percentage = contribute_as_percentage
88
89
  @expiration_date = expiration_date
89
90
  @catch_up = catch_up
90
- @deduction_reduces_taxable_income = deduction_reduces_taxable_income
91
91
  @coverage_salary_multiplier = coverage_salary_multiplier
92
92
  end
93
93
 
@@ -110,11 +110,11 @@ module GustoEmbedded
110
110
  return false unless @limit_option == other.limit_option
111
111
  return false unless @retirement_loan_identifier == other.retirement_loan_identifier
112
112
  return false unless @coverage_amount == other.coverage_amount
113
+ return false unless @deduction_reduces_taxable_income == other.deduction_reduces_taxable_income
113
114
  return false unless @company_contribution == other.company_contribution
114
115
  return false unless @contribute_as_percentage == other.contribute_as_percentage
115
116
  return false unless @expiration_date == other.expiration_date
116
117
  return false unless @catch_up == other.catch_up
117
- return false unless @deduction_reduces_taxable_income == other.deduction_reduces_taxable_income
118
118
  return false unless @coverage_salary_multiplier == other.coverage_salary_multiplier
119
119
  true
120
120
  end
@@ -40,6 +40,8 @@ class GustoEmbedded::Models::Shared::EmployeeBenefitForCompanyBenefit
40
40
  def retirement_loan_identifier=(str_); end
41
41
  def coverage_amount(); end
42
42
  def coverage_amount=(str_); end
43
+ def deduction_reduces_taxable_income(); end
44
+ def deduction_reduces_taxable_income=(str_); end
43
45
  def company_contribution(); end
44
46
  def company_contribution=(str_); end
45
47
  def contribute_as_percentage(); end
@@ -48,8 +50,6 @@ class GustoEmbedded::Models::Shared::EmployeeBenefitForCompanyBenefit
48
50
  def expiration_date=(str_); end
49
51
  def catch_up(); end
50
52
  def catch_up=(str_); end
51
- def deduction_reduces_taxable_income(); end
52
- def deduction_reduces_taxable_income=(str_); end
53
53
  def coverage_salary_multiplier(); end
54
54
  def coverage_salary_multiplier=(str_); end
55
55
  end
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome - Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
10
+
11
11
  class EmployeeBenefitForCompanyBenefitDeductionReducesTaxableIncome < T::Enum
12
12
  enums do
13
13
  UNSET = new('unset')
@@ -43,6 +43,8 @@ module GustoEmbedded
43
43
  field :catch_up, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('catch_up') } }
44
44
  # The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.
45
45
  field :coverage_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('coverage_amount') } }
46
+ # Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
47
+ field :deduction_reduces_taxable_income, Crystalline::Nilable.new(Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('deduction_reduces_taxable_income'), 'decoder': ::GustoEmbedded::Utils.enum_from_string(Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome, true) } }
46
48
  # The coverage amount as a multiple of the employee's salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.
47
49
  field :coverage_salary_multiplier, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('coverage_salary_multiplier') } }
48
50
  # The amount to be paid, per pay period, by the company.
@@ -53,11 +55,9 @@ module GustoEmbedded
53
55
  #
54
56
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
55
57
  field :contribute_as_percentage, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('contribute_as_percentage') } }
56
- # Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
57
- field :deduction_reduces_taxable_income, Crystalline::Nilable.new(Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('deduction_reduces_taxable_income'), 'decoder': ::GustoEmbedded::Utils.enum_from_string(Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome, true) } }
58
58
 
59
- sig { params(version: ::String, active: T.nilable(T::Boolean), deduct_as_percentage: T.nilable(T::Boolean), effective_date: T.nilable(::Date), contribution: T.nilable(Models::Shared::EmployeeBenefitUpdateRequestContribution), employee_deduction: T.nilable(::String), employee_deduction_annual_maximum: T.nilable(::String), expiration_date: T.nilable(::Date), elective: T.nilable(T::Boolean), company_contribution_annual_maximum: T.nilable(::String), limit_option: T.nilable(Models::Shared::EmployeeBenefitUpdateRequestLimitOption), catch_up: T.nilable(T::Boolean), coverage_amount: T.nilable(::String), coverage_salary_multiplier: T.nilable(::String), company_contribution: T.nilable(::String), contribute_as_percentage: T.nilable(T::Boolean), deduction_reduces_taxable_income: T.nilable(Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome)).void }
60
- def initialize(version:, active: nil, deduct_as_percentage: nil, effective_date: nil, contribution: nil, employee_deduction: '0.00', employee_deduction_annual_maximum: nil, expiration_date: nil, elective: false, company_contribution_annual_maximum: nil, limit_option: nil, catch_up: false, coverage_amount: nil, coverage_salary_multiplier: '0.00', company_contribution: '0.00', contribute_as_percentage: false, deduction_reduces_taxable_income: Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome::UNSET)
59
+ sig { params(version: ::String, active: T.nilable(T::Boolean), deduct_as_percentage: T.nilable(T::Boolean), effective_date: T.nilable(::Date), contribution: T.nilable(Models::Shared::EmployeeBenefitUpdateRequestContribution), employee_deduction: T.nilable(::String), employee_deduction_annual_maximum: T.nilable(::String), expiration_date: T.nilable(::Date), elective: T.nilable(T::Boolean), company_contribution_annual_maximum: T.nilable(::String), limit_option: T.nilable(Models::Shared::EmployeeBenefitUpdateRequestLimitOption), catch_up: T.nilable(T::Boolean), coverage_amount: T.nilable(::String), deduction_reduces_taxable_income: T.nilable(Models::Shared::EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome), coverage_salary_multiplier: T.nilable(::String), company_contribution: T.nilable(::String), contribute_as_percentage: T.nilable(T::Boolean)).void }
60
+ def initialize(version:, active: nil, deduct_as_percentage: nil, effective_date: nil, contribution: nil, employee_deduction: '0.00', employee_deduction_annual_maximum: nil, expiration_date: nil, elective: false, company_contribution_annual_maximum: nil, limit_option: nil, catch_up: false, coverage_amount: nil, deduction_reduces_taxable_income: nil, coverage_salary_multiplier: '0.00', company_contribution: '0.00', contribute_as_percentage: false)
61
61
  @version = version
62
62
  @active = active
63
63
  @deduct_as_percentage = deduct_as_percentage
@@ -71,10 +71,10 @@ module GustoEmbedded
71
71
  @limit_option = limit_option
72
72
  @catch_up = catch_up
73
73
  @coverage_amount = coverage_amount
74
+ @deduction_reduces_taxable_income = deduction_reduces_taxable_income
74
75
  @coverage_salary_multiplier = coverage_salary_multiplier
75
76
  @company_contribution = company_contribution
76
77
  @contribute_as_percentage = contribute_as_percentage
77
- @deduction_reduces_taxable_income = deduction_reduces_taxable_income
78
78
  end
79
79
 
80
80
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -93,10 +93,10 @@ module GustoEmbedded
93
93
  return false unless @limit_option == other.limit_option
94
94
  return false unless @catch_up == other.catch_up
95
95
  return false unless @coverage_amount == other.coverage_amount
96
+ return false unless @deduction_reduces_taxable_income == other.deduction_reduces_taxable_income
96
97
  return false unless @coverage_salary_multiplier == other.coverage_salary_multiplier
97
98
  return false unless @company_contribution == other.company_contribution
98
99
  return false unless @contribute_as_percentage == other.contribute_as_percentage
99
- return false unless @deduction_reduces_taxable_income == other.deduction_reduces_taxable_income
100
100
  true
101
101
  end
102
102
  end
@@ -34,12 +34,12 @@ class GustoEmbedded::Models::Shared::EmployeeBenefitUpdateRequest
34
34
  def catch_up=(str_); end
35
35
  def coverage_amount(); end
36
36
  def coverage_amount=(str_); end
37
+ def deduction_reduces_taxable_income(); end
38
+ def deduction_reduces_taxable_income=(str_); end
37
39
  def coverage_salary_multiplier(); end
38
40
  def coverage_salary_multiplier=(str_); end
39
41
  def company_contribution(); end
40
42
  def company_contribution=(str_); end
41
43
  def contribute_as_percentage(); end
42
44
  def contribute_as_percentage=(str_); end
43
- def deduction_reduces_taxable_income(); end
44
- def deduction_reduces_taxable_income=(str_); end
45
45
  end
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome - Whether the employee deduction reduces taxable income or not. Only valid for Group Term Life benefits. Note: when the value is not "unset", coverage amount and coverage salary multiplier are ignored.
10
+
11
11
  class EmployeeBenefitUpdateRequestDeductionReducesTaxableIncome < T::Enum
12
12
  enums do
13
13
  UNSET = new('unset')
@@ -7,12 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # EmployeeBenefitUpdateRequestLimitOption - Some benefits require additional information to determine
11
- # their limit.
12
- #
13
- # `Family` or `Individual`: Applicable to HSA benefit.
14
- #
15
- # `Joint Filing or Single` or `Married and Filing Separately`: Applicable to Dependent Care FSA benefit.
10
+
16
11
  class EmployeeBenefitUpdateRequestLimitOption < T::Enum
17
12
  enums do
18
13
  FAMILY = new('Family')
@@ -12,6 +12,8 @@ module GustoEmbedded
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # The uuid of the employee state field.
16
+ field :uuid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('uuid') } }
15
17
  # The employee's uuid
16
18
  field :employee_uuid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('employee_uuid') } }
17
19
  # Two letter US state abbreviation
@@ -23,8 +25,9 @@ module GustoEmbedded
23
25
 
24
26
  field :file_new_hire_report, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('file_new_hire_report') } }
25
27
 
26
- sig { params(employee_uuid: T.nilable(::String), state: T.nilable(::String), is_work_state: T.nilable(T::Boolean), questions: T.nilable(T::Array[Models::Shared::EmployeeStateTaxQuestion]), file_new_hire_report: T.nilable(T::Boolean)).void }
27
- def initialize(employee_uuid: nil, state: nil, is_work_state: nil, questions: nil, file_new_hire_report: nil)
28
+ sig { params(uuid: T.nilable(::String), employee_uuid: T.nilable(::String), state: T.nilable(::String), is_work_state: T.nilable(T::Boolean), questions: T.nilable(T::Array[Models::Shared::EmployeeStateTaxQuestion]), file_new_hire_report: T.nilable(T::Boolean)).void }
29
+ def initialize(uuid: nil, employee_uuid: nil, state: nil, is_work_state: nil, questions: nil, file_new_hire_report: nil)
30
+ @uuid = uuid
28
31
  @employee_uuid = employee_uuid
29
32
  @state = state
30
33
  @is_work_state = is_work_state
@@ -35,6 +38,7 @@ module GustoEmbedded
35
38
  sig { params(other: T.untyped).returns(T::Boolean) }
36
39
  def ==(other)
37
40
  return false unless other.is_a? self.class
41
+ return false unless @uuid == other.uuid
38
42
  return false unless @employee_uuid == other.employee_uuid
39
43
  return false unless @state == other.state
40
44
  return false unless @is_work_state == other.is_work_state
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class GustoEmbedded::Models::Shared::EmployeeStateTaxesList
11
+ def uuid(); end
12
+ def uuid=(str_); end
11
13
  def employee_uuid(); end
12
14
  def employee_uuid=(str_); end
13
15
  def state(); end
@@ -6,19 +6,19 @@
6
6
 
7
7
  module GustoEmbedded
8
8
  module Models
9
- module Operations
10
- # accepted
11
- class PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageResponseBody
9
+ module Shared
10
+ # Acceptance acknowledgement for an asynchronous employees annual FICA wage report. Returned with HTTP 202; poll the report status endpoint using `request_uuid`.
11
+ class EmployeesAnnualFicaWageReportAcceptance
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The UUID of the report request. Use this to poll for report completion.
16
16
  field :request_uuid, ::String, { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('request_uuid'), required: true } }
17
- # The UUID of the company
17
+ # The UUID of the company.
18
18
  field :company_uuid, ::String, { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('company_uuid'), required: true } }
19
- # The start year for the report
19
+ # The start year for the report.
20
20
  field :start_year, ::Integer, { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('start_year'), required: true } }
21
- # The end year for the report
21
+ # The end year for the report.
22
22
  field :end_year, ::Integer, { 'format_json': { 'letter_case': ::GustoEmbedded::Utils.field_name('end_year'), required: true } }
23
23
 
24
24
  sig { params(request_uuid: ::String, company_uuid: ::String, start_year: ::Integer, end_year: ::Integer).void }
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class GustoEmbedded::Models::Operations::PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageResponseBody
5
+ class GustoEmbedded::Models::Shared::EmployeesAnnualFicaWageReportAcceptance
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class GustoEmbedded::Models::Operations::PostV1CompaniesCompanyIdReportsEmployeesAnnualFicaWageResponseBody
10
+ class GustoEmbedded::Models::Shared::EmployeesAnnualFicaWageReportAcceptance
11
11
  def request_uuid(); end
12
12
  def request_uuid=(str_); end
13
13
  def company_uuid(); end
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # EntityType - The tax payer type of the company.
10
+
11
11
  class EntityType < T::Enum
12
12
  enums do
13
13
  C_CORPORATION = new('C-Corporation')
@@ -7,13 +7,15 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # FundingType - Company's default funding type
10
+
11
11
  class FundingType < T::Enum
12
12
  enums do
13
13
  ACH = new('ach')
14
14
  REVERSE_WIRE = new('reverse_wire')
15
15
  WIRE_IN = new('wire_in')
16
- BREX = new('brex')
16
+ PARTNER_DISBURSEMENT = new('partner_disbursement')
17
+ RTP = new('rtp')
18
+ LINE_OF_CREDIT = new('line_of_credit')
17
19
  end
18
20
  end
19
21
  end
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # GarnishmentRequestGarnishmentType - The specific type of garnishment for court ordered garnishments.
10
+
11
11
  class GarnishmentRequestGarnishmentType < T::Enum
12
12
  enums do
13
13
  CHILD_SUPPORT = new('child_support')
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # InformationRequestType - The type of information request
10
+
11
11
  class InformationRequestType < T::Enum
12
12
  enums do
13
13
  COMPANY_ONBOARDING = new('company_onboarding')
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # IntegrationType - The kind of integration set up for the company. Required when `aggregation` is 'integration'. Must be null if `aggregation` is not 'integration'.
10
+
11
11
  class IntegrationType < T::Enum
12
12
  enums do
13
13
  XERO = new('xero')
@@ -7,7 +7,7 @@
7
7
  module GustoEmbedded
8
8
  module Models
9
9
  module Shared
10
- # Name - The name of the paid time off type.
10
+
11
11
  class Name < T::Enum
12
12
  enums do
13
13
  VACATION_HOURS = new('Vacation Hours')