vitable-connect 0.4.0 → 0.6.0
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 +4 -4
- data/CHANGELOG.md +52 -0
- data/README.md +9 -9
- data/lib/vitable_connect/client.rb +19 -6
- data/lib/vitable_connect/internal/transport/base_client.rb +28 -4
- data/lib/vitable_connect/internal/type/enum.rb +13 -9
- data/lib/vitable_connect/models/auth_issue_access_token_params.rb +17 -3
- data/lib/vitable_connect/models/auth_issue_access_token_response.rb +17 -3
- data/lib/vitable_connect/models/employee.rb +98 -30
- data/lib/vitable_connect/models/employee_update_params.rb +185 -0
- data/lib/vitable_connect/models/employee_update_response.rb +18 -0
- data/lib/vitable_connect/models/employer.rb +36 -10
- data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_params.rb +22 -0
- data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_response.rb +29 -0
- data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rb +80 -0
- data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rb +175 -0
- data/lib/vitable_connect/models/employer_list_benefit_plan_years_params.rb +22 -0
- data/lib/vitable_connect/models/employer_list_benefit_plan_years_response.rb +301 -0
- data/lib/vitable_connect/models/employer_list_employees_params.rb +28 -1
- data/lib/vitable_connect/models/employer_list_hris_providers_params.rb +14 -0
- data/lib/vitable_connect/models/employer_list_hris_providers_response.rb +30 -0
- data/lib/vitable_connect/models/employer_list_invoices_params.rb +38 -0
- data/lib/vitable_connect/models/employer_list_invoices_response.rb +77 -0
- data/lib/vitable_connect/models/employer_list_params.rb +118 -5
- data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_params.rb +38 -0
- data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_response.rb +113 -0
- data/lib/vitable_connect/models/employer_list_response.rb +283 -0
- data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rb +30 -0
- data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rb +813 -0
- data/lib/vitable_connect/models/employer_retrieve_hris_params.rb +22 -0
- data/lib/vitable_connect/models/employer_retrieve_hris_response.rb +55 -0
- data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_params.rb +30 -0
- data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_response.rb +17 -0
- data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rb +22 -0
- data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rb +35 -0
- data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +9 -8
- data/lib/vitable_connect/models/employer_submit_payroll_access_setup_params.rb +267 -0
- data/lib/vitable_connect/models/employer_submit_payroll_access_setup_response.rb +35 -0
- data/lib/vitable_connect/models/employer_update_params.rb +99 -0
- data/lib/vitable_connect/models/employer_update_settings_params.rb +9 -9
- data/lib/vitable_connect/models/employer_update_settings_response.rb +4 -4
- data/lib/vitable_connect/models/enrollment_reissue_params.rb +50 -0
- data/lib/vitable_connect/models/enrollment_reissue_response.rb +30 -0
- data/lib/vitable_connect/models/enrollment_terminate_params.rb +50 -0
- data/lib/vitable_connect/models/group.rb +17 -6
- data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +74 -3
- data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +7 -7
- data/lib/vitable_connect/models/member_list_dependents_params.rb +20 -0
- data/lib/vitable_connect/models/member_list_dependents_response.rb +132 -0
- data/lib/vitable_connect/models/member_list_employments_params.rb +20 -0
- data/lib/vitable_connect/models/member_list_employments_response.rb +18 -0
- data/lib/vitable_connect/models/member_list_enrollments_params.rb +20 -0
- data/lib/vitable_connect/models/member_list_enrollments_response.rb +319 -0
- data/lib/vitable_connect/models/member_list_id_cards_params.rb +20 -0
- data/lib/vitable_connect/models/member_list_id_cards_response.rb +368 -0
- data/lib/vitable_connect/models/member_list_params.rb +38 -0
- data/lib/vitable_connect/models/member_list_qualifying_life_events_params.rb +57 -0
- data/lib/vitable_connect/models/member_list_qualifying_life_events_response.rb +96 -0
- data/lib/vitable_connect/models/member_list_response.rb +108 -0
- data/lib/vitable_connect/models/member_retrieve_household_params.rb +20 -0
- data/lib/vitable_connect/models/member_retrieve_household_response.rb +128 -0
- data/lib/vitable_connect/models/member_retrieve_params.rb +20 -0
- data/lib/vitable_connect/models/member_retrieve_response.rb +195 -0
- data/lib/vitable_connect/models/organization_create_params.rb +57 -0
- data/lib/vitable_connect/models/organization_create_response.rb +104 -0
- data/lib/vitable_connect/models/organization_list_params.rb +14 -0
- data/lib/vitable_connect/models/organization_list_response.rb +128 -0
- data/lib/vitable_connect/models/webhook_event_list_params.rb +3 -3
- data/lib/vitable_connect/models.rb +54 -11
- data/lib/vitable_connect/resources/employees.rb +49 -3
- data/lib/vitable_connect/resources/employers.rb +402 -28
- data/lib/vitable_connect/resources/enrollments.rb +75 -0
- data/lib/vitable_connect/resources/members.rb +231 -0
- data/lib/vitable_connect/resources/organizations.rb +66 -0
- data/lib/vitable_connect/version.rb +1 -1
- data/lib/vitable_connect.rb +51 -6
- data/rbi/vitable_connect/client.rbi +18 -6
- data/rbi/vitable_connect/internal/transport/base_client.rbi +4 -1
- data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +53 -5
- data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +51 -5
- data/rbi/vitable_connect/models/employee.rbi +138 -37
- data/rbi/vitable_connect/models/employee_update_params.rbi +323 -0
- data/rbi/vitable_connect/models/employee_update_response.rbi +32 -0
- data/rbi/vitable_connect/models/employer.rbi +58 -8
- data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbi +46 -0
- data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbi +72 -0
- data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbi +165 -0
- data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbi +278 -0
- data/rbi/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbi → employer_list_benefit_plan_years_params.rbi} +11 -8
- data/rbi/vitable_connect/models/employer_list_benefit_plan_years_response.rbi +539 -0
- data/rbi/vitable_connect/models/employer_list_employees_params.rbi +70 -0
- data/rbi/vitable_connect/models/employer_list_hris_providers_params.rbi +32 -0
- data/rbi/vitable_connect/models/employer_list_hris_providers_response.rbi +74 -0
- data/rbi/vitable_connect/models/employer_list_invoices_params.rbi +65 -0
- data/rbi/vitable_connect/models/employer_list_invoices_response.rbi +151 -0
- data/rbi/vitable_connect/models/employer_list_params.rbi +292 -4
- data/rbi/vitable_connect/models/{employer_create_benefit_eligibility_policy_params.rbi → employer_list_payroll_deduction_statements_params.rbi} +22 -18
- data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbi +169 -0
- data/rbi/vitable_connect/models/employer_list_response.rbi +426 -0
- data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbi +54 -0
- data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbi +1574 -0
- data/rbi/vitable_connect/models/employer_retrieve_hris_params.rbi +46 -0
- data/rbi/vitable_connect/models/employer_retrieve_hris_response.rbi +120 -0
- data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbi +54 -0
- data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbi +30 -0
- data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbi +46 -0
- data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbi +83 -0
- data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +8 -6
- data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_params.rbi +441 -0
- data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_response.rbi +83 -0
- data/rbi/vitable_connect/models/employer_update_params.rbi +155 -0
- data/rbi/vitable_connect/models/employer_update_settings_params.rbi +12 -12
- data/rbi/vitable_connect/models/employer_update_settings_response.rbi +6 -6
- data/rbi/vitable_connect/models/enrollment_reissue_params.rbi +72 -0
- data/rbi/vitable_connect/models/enrollment_reissue_response.rbi +67 -0
- data/rbi/vitable_connect/models/enrollment_terminate_params.rbi +72 -0
- data/rbi/vitable_connect/models/group.rbi +12 -0
- data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +174 -4
- data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +9 -9
- data/rbi/vitable_connect/models/member_list_dependents_params.rbi +38 -0
- data/rbi/vitable_connect/models/member_list_dependents_response.rbi +249 -0
- data/rbi/vitable_connect/models/member_list_employments_params.rbi +38 -0
- data/rbi/vitable_connect/models/member_list_employments_response.rbi +31 -0
- data/rbi/vitable_connect/models/member_list_enrollments_params.rbi +38 -0
- data/rbi/vitable_connect/models/member_list_enrollments_response.rbi +579 -0
- data/rbi/vitable_connect/models/member_list_id_cards_params.rbi +38 -0
- data/rbi/vitable_connect/models/member_list_id_cards_response.rbi +624 -0
- data/rbi/vitable_connect/models/member_list_params.rbi +71 -0
- data/rbi/vitable_connect/models/member_list_qualifying_life_events_params.rbi +130 -0
- data/rbi/vitable_connect/models/member_list_qualifying_life_events_response.rbi +192 -0
- data/rbi/vitable_connect/models/member_list_response.rbi +166 -0
- data/rbi/vitable_connect/models/member_retrieve_household_params.rbi +38 -0
- data/rbi/vitable_connect/models/member_retrieve_household_response.rbi +251 -0
- data/rbi/vitable_connect/models/member_retrieve_params.rbi +38 -0
- data/rbi/vitable_connect/models/member_retrieve_response.rbi +312 -0
- data/rbi/vitable_connect/models/organization_create_params.rbi +127 -0
- data/rbi/vitable_connect/models/organization_create_response.rbi +212 -0
- data/rbi/vitable_connect/models/organization_list_params.rbi +32 -0
- data/rbi/vitable_connect/models/organization_list_response.rbi +266 -0
- data/rbi/vitable_connect/models/webhook_event_list_params.rbi +8 -8
- data/rbi/vitable_connect/models.rbi +66 -13
- data/rbi/vitable_connect/resources/employees.rbi +62 -3
- data/rbi/vitable_connect/resources/employers.rbi +373 -24
- data/rbi/vitable_connect/resources/enrollments.rbi +61 -0
- data/rbi/vitable_connect/resources/members.rbi +169 -0
- data/rbi/vitable_connect/resources/organizations.rbi +48 -0
- data/rbi/vitable_connect/resources/webhook_events.rbi +1 -1
- data/sig/vitable_connect/client.rbs +9 -3
- data/sig/vitable_connect/internal/transport/base_client.rbs +2 -0
- data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +22 -4
- data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +22 -4
- data/sig/vitable_connect/models/employee.rbs +65 -18
- data/sig/vitable_connect/models/employee_update_params.rbs +140 -0
- data/sig/vitable_connect/models/employee_update_response.rbs +13 -0
- data/sig/vitable_connect/models/employer.rbs +17 -5
- data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbs +24 -0
- data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbs +30 -0
- data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbs +74 -0
- data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbs +111 -0
- data/sig/vitable_connect/models/employer_list_benefit_plan_years_params.rbs +24 -0
- data/sig/vitable_connect/models/employer_list_benefit_plan_years_response.rbs +197 -0
- data/sig/vitable_connect/models/employer_list_employees_params.rbs +32 -1
- data/sig/vitable_connect/models/employer_list_hris_providers_params.rbs +15 -0
- data/sig/vitable_connect/models/employer_list_hris_providers_response.rbs +30 -0
- data/sig/vitable_connect/models/employer_list_invoices_params.rbs +34 -0
- data/sig/vitable_connect/models/employer_list_invoices_response.rbs +62 -0
- data/sig/vitable_connect/models/employer_list_params.rbs +94 -1
- data/sig/vitable_connect/models/{employer_create_benefit_eligibility_policy_params.rbs → employer_list_payroll_deduction_statements_params.rbs} +13 -9
- data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbs +73 -0
- data/sig/vitable_connect/models/employer_list_response.rbs +179 -0
- data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbs +28 -0
- data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbs +540 -0
- data/sig/vitable_connect/models/employer_retrieve_hris_params.rbs +24 -0
- data/sig/vitable_connect/models/employer_retrieve_hris_response.rbs +50 -0
- data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbs +28 -0
- data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbs +13 -0
- data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbs +24 -0
- data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbs +32 -0
- data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +5 -5
- data/sig/vitable_connect/models/employer_submit_payroll_access_setup_params.rbs +198 -0
- data/sig/vitable_connect/models/employer_submit_payroll_access_setup_response.rbs +32 -0
- data/sig/vitable_connect/models/employer_update_params.rbs +83 -0
- data/sig/vitable_connect/models/enrollment_reissue_params.rbs +41 -0
- data/sig/vitable_connect/models/enrollment_reissue_response.rbs +28 -0
- data/sig/vitable_connect/models/enrollment_terminate_params.rbs +41 -0
- data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +69 -4
- data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +8 -8
- data/sig/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbs → member_list_dependents_params.rbs} +6 -6
- data/sig/vitable_connect/models/member_list_dependents_response.rbs +96 -0
- data/sig/vitable_connect/models/member_list_employments_params.rbs +23 -0
- data/sig/vitable_connect/models/member_list_employments_response.rbs +14 -0
- data/sig/vitable_connect/models/member_list_enrollments_params.rbs +23 -0
- data/sig/vitable_connect/models/member_list_enrollments_response.rbs +215 -0
- data/sig/vitable_connect/models/member_list_id_cards_params.rbs +23 -0
- data/sig/vitable_connect/models/member_list_id_cards_response.rbs +256 -0
- data/sig/vitable_connect/models/member_list_params.rbs +38 -0
- data/sig/vitable_connect/models/member_list_qualifying_life_events_params.rbs +61 -0
- data/sig/vitable_connect/models/member_list_qualifying_life_events_response.rbs +67 -0
- data/sig/vitable_connect/models/member_list_response.rbs +82 -0
- data/sig/vitable_connect/models/member_retrieve_household_params.rbs +23 -0
- data/sig/vitable_connect/models/member_retrieve_household_response.rbs +92 -0
- data/sig/vitable_connect/models/member_retrieve_params.rbs +23 -0
- data/sig/vitable_connect/models/member_retrieve_response.rbs +143 -0
- data/sig/vitable_connect/models/organization_create_params.rbs +52 -0
- data/sig/vitable_connect/models/organization_create_response.rbs +77 -0
- data/sig/vitable_connect/models/organization_list_params.rbs +15 -0
- data/sig/vitable_connect/models/organization_list_response.rbs +99 -0
- data/sig/vitable_connect/models/webhook_event_list_params.rbs +2 -2
- data/sig/vitable_connect/models.rbs +50 -10
- data/sig/vitable_connect/resources/employees.rbs +13 -0
- data/sig/vitable_connect/resources/employers.rbs +103 -5
- data/sig/vitable_connect/resources/enrollments.rbs +16 -0
- data/sig/vitable_connect/resources/members.rbs +52 -0
- data/sig/vitable_connect/resources/organizations.rbs +17 -0
- metadata +155 -20
- data/lib/vitable_connect/models/benefit_eligibility_policy.rb +0 -53
- data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +0 -18
- data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +0 -22
- data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +0 -43
- data/lib/vitable_connect/models/type.rb +0 -17
- data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -35
- data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +0 -74
- data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +0 -38
- data/rbi/vitable_connect/models/type.rbi +0 -21
- data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -27
- data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +0 -50
- data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +0 -14
- data/sig/vitable_connect/models/type.rbs +0 -14
- data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -12
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module VitableConnect
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class EmployerListPayrollDeductionStatementsParams < VitableConnect::Internal::Type::BaseModel
|
|
6
6
|
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
7
|
include VitableConnect::Internal::Type::RequestParameters
|
|
8
8
|
|
|
9
9
|
OrHash =
|
|
10
10
|
T.type_alias do
|
|
11
11
|
T.any(
|
|
12
|
-
VitableConnect::
|
|
12
|
+
VitableConnect::EmployerListPayrollDeductionStatementsParams,
|
|
13
13
|
VitableConnect::Internal::AnyHash
|
|
14
14
|
)
|
|
15
15
|
end
|
|
@@ -18,31 +18,35 @@ module VitableConnect
|
|
|
18
18
|
sig { returns(String) }
|
|
19
19
|
attr_accessor :employer_id
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
sig { returns(
|
|
23
|
-
|
|
21
|
+
# Maximum number of statements per page
|
|
22
|
+
sig { returns(T.nilable(Integer)) }
|
|
23
|
+
attr_reader :limit
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
sig { params(limit: Integer).void }
|
|
26
|
+
attr_writer :limit
|
|
27
|
+
|
|
28
|
+
# Page number to retrieve (starts at 1)
|
|
29
|
+
sig { returns(T.nilable(Integer)) }
|
|
30
|
+
attr_reader :page
|
|
31
|
+
|
|
32
|
+
sig { params(page: Integer).void }
|
|
33
|
+
attr_writer :page
|
|
29
34
|
|
|
30
35
|
sig do
|
|
31
36
|
params(
|
|
32
37
|
employer_id: String,
|
|
33
|
-
|
|
34
|
-
|
|
38
|
+
limit: Integer,
|
|
39
|
+
page: Integer,
|
|
35
40
|
request_options: VitableConnect::RequestOptions::OrHash
|
|
36
41
|
).returns(T.attached_class)
|
|
37
42
|
end
|
|
38
43
|
def self.new(
|
|
39
44
|
# Unique employer identifier (empr\_\*)
|
|
40
45
|
employer_id:,
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
#
|
|
44
|
-
|
|
45
|
-
waiting_period:,
|
|
46
|
+
# Maximum number of statements per page
|
|
47
|
+
limit: nil,
|
|
48
|
+
# Page number to retrieve (starts at 1)
|
|
49
|
+
page: nil,
|
|
46
50
|
request_options: {}
|
|
47
51
|
)
|
|
48
52
|
end
|
|
@@ -51,8 +55,8 @@ module VitableConnect
|
|
|
51
55
|
override.returns(
|
|
52
56
|
{
|
|
53
57
|
employer_id: String,
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
limit: Integer,
|
|
59
|
+
page: Integer,
|
|
56
60
|
request_options: VitableConnect::RequestOptions
|
|
57
61
|
}
|
|
58
62
|
)
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerListPayrollDeductionStatementsResponse < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse,
|
|
10
|
+
VitableConnect::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Download link for the change CSV, or null.
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_accessor :csv_file_url
|
|
17
|
+
|
|
18
|
+
# - `weekly` - Weekly
|
|
19
|
+
# - `bi_weekly` - Bi Weekly
|
|
20
|
+
# - `semi_monthly` - Semi Monthly
|
|
21
|
+
# - `monthly` - Monthly
|
|
22
|
+
sig do
|
|
23
|
+
returns(
|
|
24
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
attr_accessor :deduction_frequency
|
|
28
|
+
|
|
29
|
+
# Human-readable deduction frequency (e.g. `Monthly`).
|
|
30
|
+
sig { returns(String) }
|
|
31
|
+
attr_accessor :deduction_frequency_label
|
|
32
|
+
|
|
33
|
+
# Distinct employees covered by the statement's entries.
|
|
34
|
+
sig { returns(Integer) }
|
|
35
|
+
attr_accessor :employee_count
|
|
36
|
+
|
|
37
|
+
# Deduction period end date.
|
|
38
|
+
sig { returns(Date) }
|
|
39
|
+
attr_accessor :period_end
|
|
40
|
+
|
|
41
|
+
# Deduction period start date.
|
|
42
|
+
sig { returns(Date) }
|
|
43
|
+
attr_accessor :period_start
|
|
44
|
+
|
|
45
|
+
# When the statement was generated.
|
|
46
|
+
sig { returns(Time) }
|
|
47
|
+
attr_accessor :run_date
|
|
48
|
+
|
|
49
|
+
# Prefixed payroll-deduction-statement identifier (`pstmt_<base64-encoded-uuid>`).
|
|
50
|
+
sig { returns(String) }
|
|
51
|
+
attr_accessor :statement_id
|
|
52
|
+
|
|
53
|
+
# Total payroll deduction for the period, in cents.
|
|
54
|
+
sig { returns(Integer) }
|
|
55
|
+
attr_accessor :total_deduction_cents
|
|
56
|
+
|
|
57
|
+
# One payroll-deduction statement row.
|
|
58
|
+
#
|
|
59
|
+
# Reads a :class:`PayrollDeductionStatementDTO` by attribute: the `statement_id`
|
|
60
|
+
# character field renders the prefixed id via `str()`, and the date/datetime
|
|
61
|
+
# fields emit ISO-8601 strings.
|
|
62
|
+
sig do
|
|
63
|
+
params(
|
|
64
|
+
csv_file_url: T.nilable(String),
|
|
65
|
+
deduction_frequency:
|
|
66
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::OrSymbol,
|
|
67
|
+
deduction_frequency_label: String,
|
|
68
|
+
employee_count: Integer,
|
|
69
|
+
period_end: Date,
|
|
70
|
+
period_start: Date,
|
|
71
|
+
run_date: Time,
|
|
72
|
+
statement_id: String,
|
|
73
|
+
total_deduction_cents: Integer
|
|
74
|
+
).returns(T.attached_class)
|
|
75
|
+
end
|
|
76
|
+
def self.new(
|
|
77
|
+
# Download link for the change CSV, or null.
|
|
78
|
+
csv_file_url:,
|
|
79
|
+
# - `weekly` - Weekly
|
|
80
|
+
# - `bi_weekly` - Bi Weekly
|
|
81
|
+
# - `semi_monthly` - Semi Monthly
|
|
82
|
+
# - `monthly` - Monthly
|
|
83
|
+
deduction_frequency:,
|
|
84
|
+
# Human-readable deduction frequency (e.g. `Monthly`).
|
|
85
|
+
deduction_frequency_label:,
|
|
86
|
+
# Distinct employees covered by the statement's entries.
|
|
87
|
+
employee_count:,
|
|
88
|
+
# Deduction period end date.
|
|
89
|
+
period_end:,
|
|
90
|
+
# Deduction period start date.
|
|
91
|
+
period_start:,
|
|
92
|
+
# When the statement was generated.
|
|
93
|
+
run_date:,
|
|
94
|
+
# Prefixed payroll-deduction-statement identifier (`pstmt_<base64-encoded-uuid>`).
|
|
95
|
+
statement_id:,
|
|
96
|
+
# Total payroll deduction for the period, in cents.
|
|
97
|
+
total_deduction_cents:
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
sig do
|
|
102
|
+
override.returns(
|
|
103
|
+
{
|
|
104
|
+
csv_file_url: T.nilable(String),
|
|
105
|
+
deduction_frequency:
|
|
106
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol,
|
|
107
|
+
deduction_frequency_label: String,
|
|
108
|
+
employee_count: Integer,
|
|
109
|
+
period_end: Date,
|
|
110
|
+
period_start: Date,
|
|
111
|
+
run_date: Time,
|
|
112
|
+
statement_id: String,
|
|
113
|
+
total_deduction_cents: Integer
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
def to_hash
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# - `weekly` - Weekly
|
|
121
|
+
# - `bi_weekly` - Bi Weekly
|
|
122
|
+
# - `semi_monthly` - Semi Monthly
|
|
123
|
+
# - `monthly` - Monthly
|
|
124
|
+
module DeductionFrequency
|
|
125
|
+
extend VitableConnect::Internal::Type::Enum
|
|
126
|
+
|
|
127
|
+
TaggedSymbol =
|
|
128
|
+
T.type_alias do
|
|
129
|
+
T.all(
|
|
130
|
+
Symbol,
|
|
131
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency
|
|
132
|
+
)
|
|
133
|
+
end
|
|
134
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
135
|
+
|
|
136
|
+
WEEKLY =
|
|
137
|
+
T.let(
|
|
138
|
+
:weekly,
|
|
139
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol
|
|
140
|
+
)
|
|
141
|
+
BI_WEEKLY =
|
|
142
|
+
T.let(
|
|
143
|
+
:bi_weekly,
|
|
144
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol
|
|
145
|
+
)
|
|
146
|
+
SEMI_MONTHLY =
|
|
147
|
+
T.let(
|
|
148
|
+
:semi_monthly,
|
|
149
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol
|
|
150
|
+
)
|
|
151
|
+
MONTHLY =
|
|
152
|
+
T.let(
|
|
153
|
+
:monthly,
|
|
154
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
sig do
|
|
158
|
+
override.returns(
|
|
159
|
+
T::Array[
|
|
160
|
+
VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency::TaggedSymbol
|
|
161
|
+
]
|
|
162
|
+
)
|
|
163
|
+
end
|
|
164
|
+
def self.values
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerListResponse < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
VitableConnect::Models::EmployerListResponse,
|
|
10
|
+
VitableConnect::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Whether the employer is currently active in the system.
|
|
15
|
+
sig { returns(T::Boolean) }
|
|
16
|
+
attr_accessor :active
|
|
17
|
+
|
|
18
|
+
# Shared read serializer for a postal address on public API responses.
|
|
19
|
+
#
|
|
20
|
+
# One definition for the address block every public resource emits (employer,
|
|
21
|
+
# employee, …), so the 5-field shape isn't hand-rolled per endpoint. Read-only: it
|
|
22
|
+
# renders an already-built address value object (e.g. `AddressDVO`) whose
|
|
23
|
+
# attributes map 1:1 to these fields.
|
|
24
|
+
sig { returns(VitableConnect::Models::EmployerListResponse::Address) }
|
|
25
|
+
attr_reader :address
|
|
26
|
+
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
address: VitableConnect::Models::EmployerListResponse::Address::OrHash
|
|
30
|
+
).void
|
|
31
|
+
end
|
|
32
|
+
attr_writer :address
|
|
33
|
+
|
|
34
|
+
# Distinct benefit-family tags across the employer's active benefits (e.g. `MEC`,
|
|
35
|
+
# `ICHRA`, `VPC`).
|
|
36
|
+
sig { returns(T::Array[String]) }
|
|
37
|
+
attr_accessor :benefit_families
|
|
38
|
+
|
|
39
|
+
sig do
|
|
40
|
+
returns(
|
|
41
|
+
VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
attr_reader :benefit_lifecycle_stage
|
|
45
|
+
|
|
46
|
+
sig do
|
|
47
|
+
params(
|
|
48
|
+
benefit_lifecycle_stage:
|
|
49
|
+
VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage::OrHash
|
|
50
|
+
).void
|
|
51
|
+
end
|
|
52
|
+
attr_writer :benefit_lifecycle_stage
|
|
53
|
+
|
|
54
|
+
# Timestamp when the employer was created.
|
|
55
|
+
sig { returns(Time) }
|
|
56
|
+
attr_accessor :created_at
|
|
57
|
+
|
|
58
|
+
# Employer Identification Number (masked in responses).
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_accessor :ein
|
|
61
|
+
|
|
62
|
+
# Email address for billing and communications.
|
|
63
|
+
sig { returns(T.nilable(String)) }
|
|
64
|
+
attr_accessor :email
|
|
65
|
+
|
|
66
|
+
# Prefixed employer identifier (`empr_<base64-encoded-uuid>`).
|
|
67
|
+
sig { returns(String) }
|
|
68
|
+
attr_accessor :employer_id
|
|
69
|
+
|
|
70
|
+
# Enrolled/eligible employees roll-up.
|
|
71
|
+
sig do
|
|
72
|
+
returns(
|
|
73
|
+
VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary
|
|
74
|
+
)
|
|
75
|
+
end
|
|
76
|
+
attr_reader :enrollment_rate_summary
|
|
77
|
+
|
|
78
|
+
sig do
|
|
79
|
+
params(
|
|
80
|
+
enrollment_rate_summary:
|
|
81
|
+
VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary::OrHash
|
|
82
|
+
).void
|
|
83
|
+
end
|
|
84
|
+
attr_writer :enrollment_rate_summary
|
|
85
|
+
|
|
86
|
+
# HRIS connection, or null when the employer has none.
|
|
87
|
+
sig do
|
|
88
|
+
returns(
|
|
89
|
+
T.nilable(VitableConnect::Models::EmployerListResponse::HRISStatus)
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
attr_reader :hris_status
|
|
93
|
+
|
|
94
|
+
sig do
|
|
95
|
+
params(
|
|
96
|
+
hris_status:
|
|
97
|
+
T.nilable(
|
|
98
|
+
VitableConnect::Models::EmployerListResponse::HRISStatus::OrHash
|
|
99
|
+
)
|
|
100
|
+
).void
|
|
101
|
+
end
|
|
102
|
+
attr_writer :hris_status
|
|
103
|
+
|
|
104
|
+
# Legal business name for compliance and tax purposes.
|
|
105
|
+
sig { returns(T.nilable(String)) }
|
|
106
|
+
attr_accessor :legal_name
|
|
107
|
+
|
|
108
|
+
# Employer name.
|
|
109
|
+
sig { returns(String) }
|
|
110
|
+
attr_accessor :name
|
|
111
|
+
|
|
112
|
+
# ID of the parent organization (`org_*`), or null when unknown.
|
|
113
|
+
sig { returns(T.nilable(String)) }
|
|
114
|
+
attr_accessor :organization_id
|
|
115
|
+
|
|
116
|
+
# Employer phone number.
|
|
117
|
+
sig { returns(T.nilable(String)) }
|
|
118
|
+
attr_accessor :phone_number
|
|
119
|
+
|
|
120
|
+
# The organization's own reference id for this employer, or null when none was
|
|
121
|
+
# assigned.
|
|
122
|
+
sig { returns(T.nilable(String)) }
|
|
123
|
+
attr_accessor :reference_id
|
|
124
|
+
|
|
125
|
+
# Timestamp when the employer was last updated.
|
|
126
|
+
sig { returns(Time) }
|
|
127
|
+
attr_accessor :updated_at
|
|
128
|
+
|
|
129
|
+
# One employer row of the organization's book (list projection).
|
|
130
|
+
#
|
|
131
|
+
# Carries the enriched/computed columns (enrollment roll-up, benefit-family tags,
|
|
132
|
+
# HRIS connection, benefit-lifecycle stage) alongside the flat CRM fields of the
|
|
133
|
+
# underlying employer (legal name, EIN, contact, address, timestamps) for parity
|
|
134
|
+
# with the legacy `Employer` contract.
|
|
135
|
+
sig do
|
|
136
|
+
params(
|
|
137
|
+
active: T::Boolean,
|
|
138
|
+
address:
|
|
139
|
+
VitableConnect::Models::EmployerListResponse::Address::OrHash,
|
|
140
|
+
benefit_families: T::Array[String],
|
|
141
|
+
benefit_lifecycle_stage:
|
|
142
|
+
VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage::OrHash,
|
|
143
|
+
created_at: Time,
|
|
144
|
+
ein: T.nilable(String),
|
|
145
|
+
email: T.nilable(String),
|
|
146
|
+
employer_id: String,
|
|
147
|
+
enrollment_rate_summary:
|
|
148
|
+
VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary::OrHash,
|
|
149
|
+
hris_status:
|
|
150
|
+
T.nilable(
|
|
151
|
+
VitableConnect::Models::EmployerListResponse::HRISStatus::OrHash
|
|
152
|
+
),
|
|
153
|
+
legal_name: T.nilable(String),
|
|
154
|
+
name: String,
|
|
155
|
+
organization_id: T.nilable(String),
|
|
156
|
+
phone_number: T.nilable(String),
|
|
157
|
+
reference_id: T.nilable(String),
|
|
158
|
+
updated_at: Time
|
|
159
|
+
).returns(T.attached_class)
|
|
160
|
+
end
|
|
161
|
+
def self.new(
|
|
162
|
+
# Whether the employer is currently active in the system.
|
|
163
|
+
active:,
|
|
164
|
+
# Shared read serializer for a postal address on public API responses.
|
|
165
|
+
#
|
|
166
|
+
# One definition for the address block every public resource emits (employer,
|
|
167
|
+
# employee, …), so the 5-field shape isn't hand-rolled per endpoint. Read-only: it
|
|
168
|
+
# renders an already-built address value object (e.g. `AddressDVO`) whose
|
|
169
|
+
# attributes map 1:1 to these fields.
|
|
170
|
+
address:,
|
|
171
|
+
# Distinct benefit-family tags across the employer's active benefits (e.g. `MEC`,
|
|
172
|
+
# `ICHRA`, `VPC`).
|
|
173
|
+
benefit_families:,
|
|
174
|
+
benefit_lifecycle_stage:,
|
|
175
|
+
# Timestamp when the employer was created.
|
|
176
|
+
created_at:,
|
|
177
|
+
# Employer Identification Number (masked in responses).
|
|
178
|
+
ein:,
|
|
179
|
+
# Email address for billing and communications.
|
|
180
|
+
email:,
|
|
181
|
+
# Prefixed employer identifier (`empr_<base64-encoded-uuid>`).
|
|
182
|
+
employer_id:,
|
|
183
|
+
# Enrolled/eligible employees roll-up.
|
|
184
|
+
enrollment_rate_summary:,
|
|
185
|
+
# HRIS connection, or null when the employer has none.
|
|
186
|
+
hris_status:,
|
|
187
|
+
# Legal business name for compliance and tax purposes.
|
|
188
|
+
legal_name:,
|
|
189
|
+
# Employer name.
|
|
190
|
+
name:,
|
|
191
|
+
# ID of the parent organization (`org_*`), or null when unknown.
|
|
192
|
+
organization_id:,
|
|
193
|
+
# Employer phone number.
|
|
194
|
+
phone_number:,
|
|
195
|
+
# The organization's own reference id for this employer, or null when none was
|
|
196
|
+
# assigned.
|
|
197
|
+
reference_id:,
|
|
198
|
+
# Timestamp when the employer was last updated.
|
|
199
|
+
updated_at:
|
|
200
|
+
)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
sig do
|
|
204
|
+
override.returns(
|
|
205
|
+
{
|
|
206
|
+
active: T::Boolean,
|
|
207
|
+
address: VitableConnect::Models::EmployerListResponse::Address,
|
|
208
|
+
benefit_families: T::Array[String],
|
|
209
|
+
benefit_lifecycle_stage:
|
|
210
|
+
VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage,
|
|
211
|
+
created_at: Time,
|
|
212
|
+
ein: T.nilable(String),
|
|
213
|
+
email: T.nilable(String),
|
|
214
|
+
employer_id: String,
|
|
215
|
+
enrollment_rate_summary:
|
|
216
|
+
VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary,
|
|
217
|
+
hris_status:
|
|
218
|
+
T.nilable(
|
|
219
|
+
VitableConnect::Models::EmployerListResponse::HRISStatus
|
|
220
|
+
),
|
|
221
|
+
legal_name: T.nilable(String),
|
|
222
|
+
name: String,
|
|
223
|
+
organization_id: T.nilable(String),
|
|
224
|
+
phone_number: T.nilable(String),
|
|
225
|
+
reference_id: T.nilable(String),
|
|
226
|
+
updated_at: Time
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
end
|
|
230
|
+
def to_hash
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
class Address < VitableConnect::Internal::Type::BaseModel
|
|
234
|
+
OrHash =
|
|
235
|
+
T.type_alias do
|
|
236
|
+
T.any(
|
|
237
|
+
VitableConnect::Models::EmployerListResponse::Address,
|
|
238
|
+
VitableConnect::Internal::AnyHash
|
|
239
|
+
)
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Primary street address.
|
|
243
|
+
sig { returns(String) }
|
|
244
|
+
attr_accessor :address_line_1
|
|
245
|
+
|
|
246
|
+
# Secondary street address (apt, suite, etc.).
|
|
247
|
+
sig { returns(T.nilable(String)) }
|
|
248
|
+
attr_accessor :address_line_2
|
|
249
|
+
|
|
250
|
+
# City name.
|
|
251
|
+
sig { returns(String) }
|
|
252
|
+
attr_accessor :city
|
|
253
|
+
|
|
254
|
+
# Two-letter state code (e.g. `CA`, `NY`).
|
|
255
|
+
sig { returns(String) }
|
|
256
|
+
attr_accessor :state
|
|
257
|
+
|
|
258
|
+
# ZIP code (5 or 9 digit).
|
|
259
|
+
sig { returns(String) }
|
|
260
|
+
attr_accessor :zipcode
|
|
261
|
+
|
|
262
|
+
# Shared read serializer for a postal address on public API responses.
|
|
263
|
+
#
|
|
264
|
+
# One definition for the address block every public resource emits (employer,
|
|
265
|
+
# employee, …), so the 5-field shape isn't hand-rolled per endpoint. Read-only: it
|
|
266
|
+
# renders an already-built address value object (e.g. `AddressDVO`) whose
|
|
267
|
+
# attributes map 1:1 to these fields.
|
|
268
|
+
sig do
|
|
269
|
+
params(
|
|
270
|
+
address_line_1: String,
|
|
271
|
+
address_line_2: T.nilable(String),
|
|
272
|
+
city: String,
|
|
273
|
+
state: String,
|
|
274
|
+
zipcode: String
|
|
275
|
+
).returns(T.attached_class)
|
|
276
|
+
end
|
|
277
|
+
def self.new(
|
|
278
|
+
# Primary street address.
|
|
279
|
+
address_line_1:,
|
|
280
|
+
# Secondary street address (apt, suite, etc.).
|
|
281
|
+
address_line_2:,
|
|
282
|
+
# City name.
|
|
283
|
+
city:,
|
|
284
|
+
# Two-letter state code (e.g. `CA`, `NY`).
|
|
285
|
+
state:,
|
|
286
|
+
# ZIP code (5 or 9 digit).
|
|
287
|
+
zipcode:
|
|
288
|
+
)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
sig do
|
|
292
|
+
override.returns(
|
|
293
|
+
{
|
|
294
|
+
address_line_1: String,
|
|
295
|
+
address_line_2: T.nilable(String),
|
|
296
|
+
city: String,
|
|
297
|
+
state: String,
|
|
298
|
+
zipcode: String
|
|
299
|
+
}
|
|
300
|
+
)
|
|
301
|
+
end
|
|
302
|
+
def to_hash
|
|
303
|
+
end
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
class BenefitLifecycleStage < VitableConnect::Internal::Type::BaseModel
|
|
307
|
+
OrHash =
|
|
308
|
+
T.type_alias do
|
|
309
|
+
T.any(
|
|
310
|
+
VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage,
|
|
311
|
+
VitableConnect::Internal::AnyHash
|
|
312
|
+
)
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
# Anchor date for the stage (e.g. renewal date); null when not applicable.
|
|
316
|
+
sig { returns(T.nilable(Date)) }
|
|
317
|
+
attr_accessor :as_of_date
|
|
318
|
+
|
|
319
|
+
# Computed employer benefit-lifecycle stage: `open_enrollment`, `renewal`,
|
|
320
|
+
# `active`, `onboarding`, or `cancelled`.
|
|
321
|
+
sig { returns(String) }
|
|
322
|
+
attr_accessor :stage
|
|
323
|
+
|
|
324
|
+
sig do
|
|
325
|
+
params(as_of_date: T.nilable(Date), stage: String).returns(
|
|
326
|
+
T.attached_class
|
|
327
|
+
)
|
|
328
|
+
end
|
|
329
|
+
def self.new(
|
|
330
|
+
# Anchor date for the stage (e.g. renewal date); null when not applicable.
|
|
331
|
+
as_of_date:,
|
|
332
|
+
# Computed employer benefit-lifecycle stage: `open_enrollment`, `renewal`,
|
|
333
|
+
# `active`, `onboarding`, or `cancelled`.
|
|
334
|
+
stage:
|
|
335
|
+
)
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
sig { override.returns({ as_of_date: T.nilable(Date), stage: String }) }
|
|
339
|
+
def to_hash
|
|
340
|
+
end
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
class EnrollmentRateSummary < VitableConnect::Internal::Type::BaseModel
|
|
344
|
+
OrHash =
|
|
345
|
+
T.type_alias do
|
|
346
|
+
T.any(
|
|
347
|
+
VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary,
|
|
348
|
+
VitableConnect::Internal::AnyHash
|
|
349
|
+
)
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
# Employees eligible for at least one active benefit.
|
|
353
|
+
sig { returns(Integer) }
|
|
354
|
+
attr_accessor :eligible
|
|
355
|
+
|
|
356
|
+
# Employees enrolled in at least one active benefit.
|
|
357
|
+
sig { returns(Integer) }
|
|
358
|
+
attr_accessor :enrolled
|
|
359
|
+
|
|
360
|
+
# `enrolled / eligible` as a whole-number percent (0 when none eligible).
|
|
361
|
+
sig { returns(Integer) }
|
|
362
|
+
attr_accessor :percentage
|
|
363
|
+
|
|
364
|
+
# Enrolled/eligible employees roll-up.
|
|
365
|
+
sig do
|
|
366
|
+
params(
|
|
367
|
+
eligible: Integer,
|
|
368
|
+
enrolled: Integer,
|
|
369
|
+
percentage: Integer
|
|
370
|
+
).returns(T.attached_class)
|
|
371
|
+
end
|
|
372
|
+
def self.new(
|
|
373
|
+
# Employees eligible for at least one active benefit.
|
|
374
|
+
eligible:,
|
|
375
|
+
# Employees enrolled in at least one active benefit.
|
|
376
|
+
enrolled:,
|
|
377
|
+
# `enrolled / eligible` as a whole-number percent (0 when none eligible).
|
|
378
|
+
percentage:
|
|
379
|
+
)
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
sig do
|
|
383
|
+
override.returns(
|
|
384
|
+
{ eligible: Integer, enrolled: Integer, percentage: Integer }
|
|
385
|
+
)
|
|
386
|
+
end
|
|
387
|
+
def to_hash
|
|
388
|
+
end
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
class HRISStatus < VitableConnect::Internal::Type::BaseModel
|
|
392
|
+
OrHash =
|
|
393
|
+
T.type_alias do
|
|
394
|
+
T.any(
|
|
395
|
+
VitableConnect::Models::EmployerListResponse::HRISStatus,
|
|
396
|
+
VitableConnect::Internal::AnyHash
|
|
397
|
+
)
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
# HRIS/payroll provider the employer is connected to (e.g. `Paychex`).
|
|
401
|
+
sig { returns(String) }
|
|
402
|
+
attr_accessor :provider
|
|
403
|
+
|
|
404
|
+
# Connection status reported by the integration.
|
|
405
|
+
sig { returns(String) }
|
|
406
|
+
attr_accessor :status
|
|
407
|
+
|
|
408
|
+
# HRIS connection, or null when the employer has none.
|
|
409
|
+
sig do
|
|
410
|
+
params(provider: String, status: String).returns(T.attached_class)
|
|
411
|
+
end
|
|
412
|
+
def self.new(
|
|
413
|
+
# HRIS/payroll provider the employer is connected to (e.g. `Paychex`).
|
|
414
|
+
provider:,
|
|
415
|
+
# Connection status reported by the integration.
|
|
416
|
+
status:
|
|
417
|
+
)
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
sig { override.returns({ provider: String, status: String }) }
|
|
421
|
+
def to_hash
|
|
422
|
+
end
|
|
423
|
+
end
|
|
424
|
+
end
|
|
425
|
+
end
|
|
426
|
+
end
|