vitable-connect 0.3.0 → 0.5.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 +37 -0
- data/README.md +9 -9
- data/lib/vitable_connect/client.rb +23 -2
- data/lib/vitable_connect/internal/transport/base_client.rb +5 -0
- data/lib/vitable_connect/models/employee.rb +9 -53
- data/lib/vitable_connect/models/employer.rb +1 -9
- data/lib/vitable_connect/models/employer_update_settings_params.rb +52 -0
- data/lib/vitable_connect/models/employer_update_settings_response.rb +56 -0
- data/lib/vitable_connect/models/group.rb +57 -0
- data/lib/vitable_connect/models/group_create_params.rb +26 -0
- data/lib/vitable_connect/models/group_list_params.rb +30 -0
- data/lib/vitable_connect/models/group_response.rb +18 -0
- data/lib/vitable_connect/models/group_retrieve_params.rb +22 -0
- data/lib/vitable_connect/models/group_update_params.rb +36 -0
- data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +33 -0
- data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +128 -0
- data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +121 -0
- data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +45 -0
- data/lib/vitable_connect/models/plan_list_params.rb +30 -0
- data/lib/vitable_connect/models/plan_list_response.rb +22 -0
- data/lib/vitable_connect/models/webhook_event_list_params.rb +0 -3
- data/lib/vitable_connect/models.rb +18 -9
- data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -21
- data/lib/vitable_connect/resources/employers.rb +28 -30
- data/lib/vitable_connect/resources/groups/members/sync.rb +74 -0
- data/lib/vitable_connect/resources/groups/members.rb +20 -0
- data/lib/vitable_connect/resources/groups.rb +114 -0
- data/lib/vitable_connect/resources/plans.rb +41 -0
- data/lib/vitable_connect/version.rb +1 -1
- data/lib/vitable_connect.rb +18 -4
- data/rbi/vitable_connect/client.rbi +6 -1
- data/rbi/vitable_connect/models/employee.rbi +8 -73
- data/rbi/vitable_connect/models/employer.rbi +0 -8
- data/rbi/vitable_connect/models/employer_update_settings_params.rbi +114 -0
- data/rbi/vitable_connect/models/employer_update_settings_response.rbi +147 -0
- data/rbi/vitable_connect/models/group.rbi +77 -0
- data/rbi/vitable_connect/models/group_create_params.rbi +46 -0
- data/rbi/vitable_connect/models/group_list_params.rbi +60 -0
- data/rbi/vitable_connect/models/group_response.rbi +32 -0
- data/rbi/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbi → group_retrieve_params.rbi} +8 -8
- data/rbi/vitable_connect/models/group_update_params.rbi +58 -0
- data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +56 -0
- data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +282 -0
- data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +214 -0
- data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +92 -0
- data/rbi/vitable_connect/models/plan_list_params.rbi +60 -0
- data/rbi/vitable_connect/models/plan_list_response.rbi +29 -0
- data/rbi/vitable_connect/models/webhook_event_list_params.rbi +0 -8
- data/rbi/vitable_connect/models.rbi +19 -11
- data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -15
- data/rbi/vitable_connect/resources/employers.rbi +22 -21
- data/rbi/vitable_connect/resources/groups/members/sync.rbi +62 -0
- data/rbi/vitable_connect/resources/groups/members.rbi +17 -0
- data/rbi/vitable_connect/resources/groups.rbi +79 -0
- data/rbi/vitable_connect/resources/plans.rbi +34 -0
- data/rbi/vitable_connect/resources/webhook_events.rbi +0 -1
- data/sig/vitable_connect/client.rbs +4 -0
- data/sig/vitable_connect/models/employee.rbs +5 -37
- data/sig/vitable_connect/models/employer.rbs +0 -5
- data/sig/vitable_connect/models/employer_update_settings_params.rbs +44 -0
- data/sig/vitable_connect/models/employer_update_settings_response.rbs +48 -0
- data/sig/vitable_connect/models/group.rbs +45 -0
- data/sig/vitable_connect/models/group_create_params.rbs +28 -0
- data/sig/vitable_connect/models/group_list_params.rbs +32 -0
- data/sig/vitable_connect/models/group_response.rbs +13 -0
- data/sig/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbs → group_retrieve_params.rbs} +6 -6
- data/sig/vitable_connect/models/group_update_params.rbs +32 -0
- data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +32 -0
- data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +126 -0
- data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +124 -0
- data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +47 -0
- data/sig/vitable_connect/models/plan_list_params.rbs +32 -0
- data/sig/vitable_connect/models/plan_list_response.rbs +15 -0
- data/sig/vitable_connect/models/webhook_event_list_params.rbs +0 -2
- data/sig/vitable_connect/models.rbs +18 -8
- data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -5
- data/sig/vitable_connect/resources/employers.rbs +6 -7
- data/sig/vitable_connect/resources/groups/members/sync.rbs +23 -0
- data/sig/vitable_connect/resources/groups/members.rbs +11 -0
- data/sig/vitable_connect/resources/groups.rbs +33 -0
- data/sig/vitable_connect/resources/plans.rbs +13 -0
- metadata +56 -14
- 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/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/employer_create_benefit_eligibility_policy_params.rbi +0 -64
- 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/employer_create_benefit_eligibility_policy_params.rbs +0 -32
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Resources
|
|
5
|
+
class Groups
|
|
6
|
+
# @return [VitableConnect::Resources::Groups::Members]
|
|
7
|
+
attr_reader :members
|
|
8
|
+
|
|
9
|
+
# Creates a new group scoped to the authenticated organization.
|
|
10
|
+
#
|
|
11
|
+
# @overload create(external_reference_id:, name:, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param external_reference_id [String]
|
|
14
|
+
# @param name [String]
|
|
15
|
+
# @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
16
|
+
#
|
|
17
|
+
# @return [VitableConnect::Models::GroupResponse]
|
|
18
|
+
#
|
|
19
|
+
# @see VitableConnect::Models::GroupCreateParams
|
|
20
|
+
def create(params)
|
|
21
|
+
parsed, options = VitableConnect::GroupCreateParams.dump_request(params)
|
|
22
|
+
@client.request(
|
|
23
|
+
method: :post,
|
|
24
|
+
path: "v1/groups",
|
|
25
|
+
body: parsed,
|
|
26
|
+
model: VitableConnect::GroupResponse,
|
|
27
|
+
options: options
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Retrieves a single group by its prefixed ID. Returns 404 if the group does not
|
|
32
|
+
# belong to the authenticated organization.
|
|
33
|
+
#
|
|
34
|
+
# @overload retrieve(group_id, request_options: {})
|
|
35
|
+
#
|
|
36
|
+
# @param group_id [String] Unique group identifier (grp\_\*)
|
|
37
|
+
#
|
|
38
|
+
# @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
39
|
+
#
|
|
40
|
+
# @return [VitableConnect::Models::GroupResponse]
|
|
41
|
+
#
|
|
42
|
+
# @see VitableConnect::Models::GroupRetrieveParams
|
|
43
|
+
def retrieve(group_id, params = {})
|
|
44
|
+
@client.request(
|
|
45
|
+
method: :get,
|
|
46
|
+
path: ["v1/groups/%1$s", group_id],
|
|
47
|
+
model: VitableConnect::GroupResponse,
|
|
48
|
+
options: params[:request_options]
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Partially updates a group's name or external reference ID. Returns 404 if the
|
|
53
|
+
# group does not belong to the authenticated organization.
|
|
54
|
+
#
|
|
55
|
+
# @overload update(group_id, external_reference_id: nil, name: nil, request_options: {})
|
|
56
|
+
#
|
|
57
|
+
# @param group_id [String] Unique group identifier (grp\_\*)
|
|
58
|
+
#
|
|
59
|
+
# @param external_reference_id [String, nil]
|
|
60
|
+
#
|
|
61
|
+
# @param name [String, nil]
|
|
62
|
+
#
|
|
63
|
+
# @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
64
|
+
#
|
|
65
|
+
# @return [VitableConnect::Models::GroupResponse]
|
|
66
|
+
#
|
|
67
|
+
# @see VitableConnect::Models::GroupUpdateParams
|
|
68
|
+
def update(group_id, params = {})
|
|
69
|
+
parsed, options = VitableConnect::GroupUpdateParams.dump_request(params)
|
|
70
|
+
@client.request(
|
|
71
|
+
method: :patch,
|
|
72
|
+
path: ["v1/groups/%1$s", group_id],
|
|
73
|
+
body: parsed,
|
|
74
|
+
model: VitableConnect::GroupResponse,
|
|
75
|
+
options: options
|
|
76
|
+
)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Returns a paginated list of groups belonging to the authenticated organization.
|
|
80
|
+
#
|
|
81
|
+
# @overload list(limit: nil, page: nil, request_options: {})
|
|
82
|
+
#
|
|
83
|
+
# @param limit [Integer] Items per page (default: 20, max: 100)
|
|
84
|
+
#
|
|
85
|
+
# @param page [Integer] Page number (default: 1)
|
|
86
|
+
#
|
|
87
|
+
# @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
88
|
+
#
|
|
89
|
+
# @return [VitableConnect::Internal::PageNumberPage<VitableConnect::Models::Group>]
|
|
90
|
+
#
|
|
91
|
+
# @see VitableConnect::Models::GroupListParams
|
|
92
|
+
def list(params = {})
|
|
93
|
+
parsed, options = VitableConnect::GroupListParams.dump_request(params)
|
|
94
|
+
query = VitableConnect::Internal::Util.encode_query_params(parsed)
|
|
95
|
+
@client.request(
|
|
96
|
+
method: :get,
|
|
97
|
+
path: "v1/groups",
|
|
98
|
+
query: query,
|
|
99
|
+
page: VitableConnect::Internal::PageNumberPage,
|
|
100
|
+
model: VitableConnect::Group,
|
|
101
|
+
options: options
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# @api private
|
|
106
|
+
#
|
|
107
|
+
# @param client [VitableConnect::Client]
|
|
108
|
+
def initialize(client:)
|
|
109
|
+
@client = client
|
|
110
|
+
@members = VitableConnect::Resources::Groups::Members.new(client: client)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Resources
|
|
5
|
+
class Plans
|
|
6
|
+
# Returns a paginated list of benefit plans linked to the authenticated
|
|
7
|
+
# organization.
|
|
8
|
+
#
|
|
9
|
+
# @overload list(limit: nil, page: nil, request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param limit [Integer] Items per page (default: 20, max: 100)
|
|
12
|
+
#
|
|
13
|
+
# @param page [Integer] Page number (default: 1)
|
|
14
|
+
#
|
|
15
|
+
# @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
16
|
+
#
|
|
17
|
+
# @return [VitableConnect::Internal::PageNumberPage<VitableConnect::Models::PlanListResponse>]
|
|
18
|
+
#
|
|
19
|
+
# @see VitableConnect::Models::PlanListParams
|
|
20
|
+
def list(params = {})
|
|
21
|
+
parsed, options = VitableConnect::PlanListParams.dump_request(params)
|
|
22
|
+
query = VitableConnect::Internal::Util.encode_query_params(parsed)
|
|
23
|
+
@client.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "v1/plans",
|
|
26
|
+
query: query,
|
|
27
|
+
page: VitableConnect::Internal::PageNumberPage,
|
|
28
|
+
model: VitableConnect::Models::PlanListResponse,
|
|
29
|
+
options: options
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @api private
|
|
34
|
+
#
|
|
35
|
+
# @param client [VitableConnect::Client]
|
|
36
|
+
def initialize(client:)
|
|
37
|
+
@client = client
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/lib/vitable_connect.rb
CHANGED
|
@@ -55,16 +55,12 @@ require_relative "vitable_connect/client"
|
|
|
55
55
|
require_relative "vitable_connect/internal/page_number_page"
|
|
56
56
|
require_relative "vitable_connect/models/auth_issue_access_token_params"
|
|
57
57
|
require_relative "vitable_connect/models/auth_issue_access_token_response"
|
|
58
|
-
require_relative "vitable_connect/models/benefit_eligibility_policy"
|
|
59
|
-
require_relative "vitable_connect/models/benefit_eligibility_policy_response"
|
|
60
|
-
require_relative "vitable_connect/models/benefit_eligibility_policy_retrieve_params"
|
|
61
58
|
require_relative "vitable_connect/models/employee"
|
|
62
59
|
require_relative "vitable_connect/models/employee_class"
|
|
63
60
|
require_relative "vitable_connect/models/employee_list_enrollments_params"
|
|
64
61
|
require_relative "vitable_connect/models/employee_retrieve_params"
|
|
65
62
|
require_relative "vitable_connect/models/employee_retrieve_response"
|
|
66
63
|
require_relative "vitable_connect/models/employer"
|
|
67
|
-
require_relative "vitable_connect/models/employer_create_benefit_eligibility_policy_params"
|
|
68
64
|
require_relative "vitable_connect/models/employer_create_params"
|
|
69
65
|
require_relative "vitable_connect/models/employer_list_employees_params"
|
|
70
66
|
require_relative "vitable_connect/models/employer_list_params"
|
|
@@ -72,11 +68,25 @@ require_relative "vitable_connect/models/employer_response"
|
|
|
72
68
|
require_relative "vitable_connect/models/employer_retrieve_params"
|
|
73
69
|
require_relative "vitable_connect/models/employer_submit_census_sync_params"
|
|
74
70
|
require_relative "vitable_connect/models/employer_submit_census_sync_response"
|
|
71
|
+
require_relative "vitable_connect/models/employer_update_settings_params"
|
|
72
|
+
require_relative "vitable_connect/models/employer_update_settings_response"
|
|
75
73
|
require_relative "vitable_connect/models/enrollment"
|
|
76
74
|
require_relative "vitable_connect/models/enrollment_retrieve_params"
|
|
77
75
|
require_relative "vitable_connect/models/enrollment_retrieve_response"
|
|
78
76
|
require_relative "vitable_connect/models/enrollment_status"
|
|
77
|
+
require_relative "vitable_connect/models/group"
|
|
78
|
+
require_relative "vitable_connect/models/group_create_params"
|
|
79
|
+
require_relative "vitable_connect/models/group_list_params"
|
|
80
|
+
require_relative "vitable_connect/models/group_response"
|
|
81
|
+
require_relative "vitable_connect/models/group_retrieve_params"
|
|
82
|
+
require_relative "vitable_connect/models/groups/members/sync_retrieve_params"
|
|
83
|
+
require_relative "vitable_connect/models/groups/members/sync_retrieve_response"
|
|
84
|
+
require_relative "vitable_connect/models/groups/members/sync_submit_params"
|
|
85
|
+
require_relative "vitable_connect/models/groups/members/sync_submit_response"
|
|
86
|
+
require_relative "vitable_connect/models/group_update_params"
|
|
79
87
|
require_relative "vitable_connect/models/pagination"
|
|
88
|
+
require_relative "vitable_connect/models/plan_list_params"
|
|
89
|
+
require_relative "vitable_connect/models/plan_list_response"
|
|
80
90
|
require_relative "vitable_connect/models/type"
|
|
81
91
|
require_relative "vitable_connect/models/webhook_event"
|
|
82
92
|
require_relative "vitable_connect/models/webhook_event_list_deliveries_params"
|
|
@@ -90,4 +100,8 @@ require_relative "vitable_connect/resources/benefit_eligibility_policies"
|
|
|
90
100
|
require_relative "vitable_connect/resources/employees"
|
|
91
101
|
require_relative "vitable_connect/resources/employers"
|
|
92
102
|
require_relative "vitable_connect/resources/enrollments"
|
|
103
|
+
require_relative "vitable_connect/resources/groups"
|
|
104
|
+
require_relative "vitable_connect/resources/groups/members"
|
|
105
|
+
require_relative "vitable_connect/resources/groups/members/sync"
|
|
106
|
+
require_relative "vitable_connect/resources/plans"
|
|
93
107
|
require_relative "vitable_connect/resources/webhook_events"
|
|
@@ -28,7 +28,6 @@ module VitableConnect
|
|
|
28
28
|
sig { returns(VitableConnect::Resources::Auth) }
|
|
29
29
|
attr_reader :auth
|
|
30
30
|
|
|
31
|
-
# Define rules that determine which employees qualify for benefits
|
|
32
31
|
sig { returns(VitableConnect::Resources::BenefitEligibilityPolicies) }
|
|
33
32
|
attr_reader :benefit_eligibility_policies
|
|
34
33
|
|
|
@@ -45,6 +44,12 @@ module VitableConnect
|
|
|
45
44
|
sig { returns(VitableConnect::Resources::WebhookEvents) }
|
|
46
45
|
attr_reader :webhook_events
|
|
47
46
|
|
|
47
|
+
sig { returns(VitableConnect::Resources::Groups) }
|
|
48
|
+
attr_reader :groups
|
|
49
|
+
|
|
50
|
+
sig { returns(VitableConnect::Resources::Plans) }
|
|
51
|
+
attr_reader :plans
|
|
52
|
+
|
|
48
53
|
# @api private
|
|
49
54
|
sig { override.returns(T::Hash[String, String]) }
|
|
50
55
|
private def auth_headers
|
|
@@ -25,10 +25,6 @@ module VitableConnect
|
|
|
25
25
|
sig { returns(String) }
|
|
26
26
|
attr_accessor :email
|
|
27
27
|
|
|
28
|
-
# Benefit enrollments for this employee
|
|
29
|
-
sig { returns(T::Array[VitableConnect::Employee::Enrollment]) }
|
|
30
|
-
attr_accessor :enrollments
|
|
31
|
-
|
|
32
28
|
# Employee's legal first name
|
|
33
29
|
sig { returns(String) }
|
|
34
30
|
attr_accessor :first_name
|
|
@@ -69,10 +65,6 @@ module VitableConnect
|
|
|
69
65
|
sig { returns(T.nilable(Date)) }
|
|
70
66
|
attr_accessor :hire_date
|
|
71
67
|
|
|
72
|
-
# Phone number (10-digit US domestic string)
|
|
73
|
-
sig { returns(T.nilable(String)) }
|
|
74
|
-
attr_accessor :phone
|
|
75
|
-
|
|
76
68
|
# Partner-assigned reference ID for the employee
|
|
77
69
|
sig { returns(T.nilable(String)) }
|
|
78
70
|
attr_accessor :reference_id
|
|
@@ -93,6 +85,10 @@ module VitableConnect
|
|
|
93
85
|
sig { returns(String) }
|
|
94
86
|
attr_accessor :member_id
|
|
95
87
|
|
|
88
|
+
# Phone number (10-digit US domestic string)
|
|
89
|
+
sig { returns(T.nilable(String)) }
|
|
90
|
+
attr_accessor :phone
|
|
91
|
+
|
|
96
92
|
# Employee status (active or terminated)
|
|
97
93
|
sig { returns(String) }
|
|
98
94
|
attr_accessor :status
|
|
@@ -104,17 +100,16 @@ module VitableConnect
|
|
|
104
100
|
date_of_birth: Date,
|
|
105
101
|
deductions: T::Array[VitableConnect::Employee::Deduction::OrHash],
|
|
106
102
|
email: String,
|
|
107
|
-
enrollments: T::Array[VitableConnect::Employee::Enrollment::OrHash],
|
|
108
103
|
first_name: String,
|
|
109
104
|
last_name: String,
|
|
110
105
|
member_id: String,
|
|
106
|
+
phone: T.nilable(String),
|
|
111
107
|
status: String,
|
|
112
108
|
updated_at: Time,
|
|
113
109
|
address: T.nilable(VitableConnect::Employee::Address::OrHash),
|
|
114
110
|
employee_class: T.nilable(VitableConnect::EmployeeClass::OrSymbol),
|
|
115
111
|
gender: T.nilable(String),
|
|
116
112
|
hire_date: T.nilable(Date),
|
|
117
|
-
phone: T.nilable(String),
|
|
118
113
|
reference_id: T.nilable(String),
|
|
119
114
|
suffix: T.nilable(String),
|
|
120
115
|
termination_date: T.nilable(Date)
|
|
@@ -132,14 +127,14 @@ module VitableConnect
|
|
|
132
127
|
deductions:,
|
|
133
128
|
# Email address
|
|
134
129
|
email:,
|
|
135
|
-
# Benefit enrollments for this employee
|
|
136
|
-
enrollments:,
|
|
137
130
|
# Employee's legal first name
|
|
138
131
|
first_name:,
|
|
139
132
|
# Employee's legal last name
|
|
140
133
|
last_name:,
|
|
141
134
|
# Unique member identifier with 'mbr\_' prefix
|
|
142
135
|
member_id:,
|
|
136
|
+
# Phone number (10-digit US domestic string)
|
|
137
|
+
phone:,
|
|
143
138
|
# Employee status (active or terminated)
|
|
144
139
|
status:,
|
|
145
140
|
# Timestamp when the employee was last updated
|
|
@@ -157,8 +152,6 @@ module VitableConnect
|
|
|
157
152
|
gender: nil,
|
|
158
153
|
# Employee's hire date with the employer
|
|
159
154
|
hire_date: nil,
|
|
160
|
-
# Phone number (10-digit US domestic string)
|
|
161
|
-
phone: nil,
|
|
162
155
|
# Partner-assigned reference ID for the employee
|
|
163
156
|
reference_id: nil,
|
|
164
157
|
# Name suffix (e.g., Jr., Sr., III)
|
|
@@ -176,10 +169,10 @@ module VitableConnect
|
|
|
176
169
|
date_of_birth: Date,
|
|
177
170
|
deductions: T::Array[VitableConnect::Employee::Deduction],
|
|
178
171
|
email: String,
|
|
179
|
-
enrollments: T::Array[VitableConnect::Employee::Enrollment],
|
|
180
172
|
first_name: String,
|
|
181
173
|
last_name: String,
|
|
182
174
|
member_id: String,
|
|
175
|
+
phone: T.nilable(String),
|
|
183
176
|
status: String,
|
|
184
177
|
updated_at: Time,
|
|
185
178
|
address: T.nilable(VitableConnect::Employee::Address),
|
|
@@ -187,7 +180,6 @@ module VitableConnect
|
|
|
187
180
|
T.nilable(VitableConnect::EmployeeClass::TaggedSymbol),
|
|
188
181
|
gender: T.nilable(String),
|
|
189
182
|
hire_date: T.nilable(Date),
|
|
190
|
-
phone: T.nilable(String),
|
|
191
183
|
reference_id: T.nilable(String),
|
|
192
184
|
suffix: T.nilable(String),
|
|
193
185
|
termination_date: T.nilable(Date)
|
|
@@ -386,63 +378,6 @@ module VitableConnect
|
|
|
386
378
|
end
|
|
387
379
|
end
|
|
388
380
|
|
|
389
|
-
class Enrollment < VitableConnect::Internal::Type::BaseModel
|
|
390
|
-
OrHash =
|
|
391
|
-
T.type_alias do
|
|
392
|
-
T.any(
|
|
393
|
-
VitableConnect::Employee::Enrollment,
|
|
394
|
-
VitableConnect::Internal::AnyHash
|
|
395
|
-
)
|
|
396
|
-
end
|
|
397
|
-
|
|
398
|
-
# - `pending` - Pending
|
|
399
|
-
# - `enrolled` - Enrolled
|
|
400
|
-
# - `waived` - Waived
|
|
401
|
-
# - `inactive` - Inactive
|
|
402
|
-
sig { returns(VitableConnect::EnrollmentStatus::TaggedSymbol) }
|
|
403
|
-
attr_accessor :status
|
|
404
|
-
|
|
405
|
-
# Timestamp when the enrollment decision was made
|
|
406
|
-
sig { returns(T.nilable(Time)) }
|
|
407
|
-
attr_accessor :answered_at
|
|
408
|
-
|
|
409
|
-
# Unique enrollment identifier with 'enrl\_' prefix
|
|
410
|
-
sig { returns(String) }
|
|
411
|
-
attr_accessor :id
|
|
412
|
-
|
|
413
|
-
sig do
|
|
414
|
-
params(
|
|
415
|
-
id: String,
|
|
416
|
-
status: VitableConnect::EnrollmentStatus::OrSymbol,
|
|
417
|
-
answered_at: T.nilable(Time)
|
|
418
|
-
).returns(T.attached_class)
|
|
419
|
-
end
|
|
420
|
-
def self.new(
|
|
421
|
-
# Unique enrollment identifier with 'enrl\_' prefix
|
|
422
|
-
id:,
|
|
423
|
-
# - `pending` - Pending
|
|
424
|
-
# - `enrolled` - Enrolled
|
|
425
|
-
# - `waived` - Waived
|
|
426
|
-
# - `inactive` - Inactive
|
|
427
|
-
status:,
|
|
428
|
-
# Timestamp when the enrollment decision was made
|
|
429
|
-
answered_at: nil
|
|
430
|
-
)
|
|
431
|
-
end
|
|
432
|
-
|
|
433
|
-
sig do
|
|
434
|
-
override.returns(
|
|
435
|
-
{
|
|
436
|
-
id: String,
|
|
437
|
-
status: VitableConnect::EnrollmentStatus::TaggedSymbol,
|
|
438
|
-
answered_at: T.nilable(Time)
|
|
439
|
-
}
|
|
440
|
-
)
|
|
441
|
-
end
|
|
442
|
-
def to_hash
|
|
443
|
-
end
|
|
444
|
-
end
|
|
445
|
-
|
|
446
381
|
class Address < VitableConnect::Internal::Type::BaseModel
|
|
447
382
|
OrHash =
|
|
448
383
|
T.type_alias do
|
|
@@ -55,10 +55,6 @@ module VitableConnect
|
|
|
55
55
|
sig { returns(T.nilable(String)) }
|
|
56
56
|
attr_accessor :ein
|
|
57
57
|
|
|
58
|
-
# ID of the benefit eligibility policy (epol\_\*), if assigned
|
|
59
|
-
sig { returns(T.nilable(String)) }
|
|
60
|
-
attr_accessor :eligibility_policy_id
|
|
61
|
-
|
|
62
58
|
# ID of the parent organization (org\_\*)
|
|
63
59
|
sig { returns(T.nilable(String)) }
|
|
64
60
|
attr_accessor :organization_id
|
|
@@ -71,7 +67,6 @@ module VitableConnect
|
|
|
71
67
|
address: VitableConnect::Employer::Address::OrHash,
|
|
72
68
|
created_at: Time,
|
|
73
69
|
ein: T.nilable(String),
|
|
74
|
-
eligibility_policy_id: T.nilable(String),
|
|
75
70
|
legal_name: String,
|
|
76
71
|
name: String,
|
|
77
72
|
organization_id: T.nilable(String),
|
|
@@ -92,8 +87,6 @@ module VitableConnect
|
|
|
92
87
|
created_at:,
|
|
93
88
|
# Employer Identification Number (masked in responses)
|
|
94
89
|
ein:,
|
|
95
|
-
# ID of the benefit eligibility policy (epol\_\*), if assigned
|
|
96
|
-
eligibility_policy_id:,
|
|
97
90
|
# Legal business name for compliance and tax purposes
|
|
98
91
|
legal_name:,
|
|
99
92
|
# Display name of the employer
|
|
@@ -119,7 +112,6 @@ module VitableConnect
|
|
|
119
112
|
address: VitableConnect::Employer::Address,
|
|
120
113
|
created_at: Time,
|
|
121
114
|
ein: T.nilable(String),
|
|
122
|
-
eligibility_policy_id: T.nilable(String),
|
|
123
115
|
legal_name: String,
|
|
124
116
|
name: String,
|
|
125
117
|
organization_id: T.nilable(String),
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerUpdateSettingsParams < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include VitableConnect::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
VitableConnect::EmployerUpdateSettingsParams,
|
|
13
|
+
VitableConnect::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Unique employer identifier (empr\_\*)
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :employer_id
|
|
20
|
+
|
|
21
|
+
# - `weekly` - weekly
|
|
22
|
+
# - `bi_weekly` - bi_weekly
|
|
23
|
+
# - `semi_monthly` - semi_monthly
|
|
24
|
+
# - `monthly` - monthly
|
|
25
|
+
sig do
|
|
26
|
+
returns(
|
|
27
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::OrSymbol
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
attr_accessor :pay_frequency
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
employer_id: String,
|
|
35
|
+
pay_frequency:
|
|
36
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::OrSymbol,
|
|
37
|
+
request_options: VitableConnect::RequestOptions::OrHash
|
|
38
|
+
).returns(T.attached_class)
|
|
39
|
+
end
|
|
40
|
+
def self.new(
|
|
41
|
+
# Unique employer identifier (empr\_\*)
|
|
42
|
+
employer_id:,
|
|
43
|
+
# - `weekly` - weekly
|
|
44
|
+
# - `bi_weekly` - bi_weekly
|
|
45
|
+
# - `semi_monthly` - semi_monthly
|
|
46
|
+
# - `monthly` - monthly
|
|
47
|
+
pay_frequency:,
|
|
48
|
+
request_options: {}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
override.returns(
|
|
54
|
+
{
|
|
55
|
+
employer_id: String,
|
|
56
|
+
pay_frequency:
|
|
57
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::OrSymbol,
|
|
58
|
+
request_options: VitableConnect::RequestOptions
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
def to_hash
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# - `weekly` - weekly
|
|
66
|
+
# - `bi_weekly` - bi_weekly
|
|
67
|
+
# - `semi_monthly` - semi_monthly
|
|
68
|
+
# - `monthly` - monthly
|
|
69
|
+
module PayFrequency
|
|
70
|
+
extend VitableConnect::Internal::Type::Enum
|
|
71
|
+
|
|
72
|
+
TaggedSymbol =
|
|
73
|
+
T.type_alias do
|
|
74
|
+
T.all(
|
|
75
|
+
Symbol,
|
|
76
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
80
|
+
|
|
81
|
+
WEEKLY =
|
|
82
|
+
T.let(
|
|
83
|
+
:weekly,
|
|
84
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::TaggedSymbol
|
|
85
|
+
)
|
|
86
|
+
BI_WEEKLY =
|
|
87
|
+
T.let(
|
|
88
|
+
:bi_weekly,
|
|
89
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::TaggedSymbol
|
|
90
|
+
)
|
|
91
|
+
SEMI_MONTHLY =
|
|
92
|
+
T.let(
|
|
93
|
+
:semi_monthly,
|
|
94
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::TaggedSymbol
|
|
95
|
+
)
|
|
96
|
+
MONTHLY =
|
|
97
|
+
T.let(
|
|
98
|
+
:monthly,
|
|
99
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::TaggedSymbol
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
sig do
|
|
103
|
+
override.returns(
|
|
104
|
+
T::Array[
|
|
105
|
+
VitableConnect::EmployerUpdateSettingsParams::PayFrequency::TaggedSymbol
|
|
106
|
+
]
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
def self.values
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerUpdateSettingsResponse < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse,
|
|
10
|
+
VitableConnect::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
returns(VitableConnect::Models::EmployerUpdateSettingsResponse::Data)
|
|
16
|
+
end
|
|
17
|
+
attr_reader :data
|
|
18
|
+
|
|
19
|
+
sig do
|
|
20
|
+
params(
|
|
21
|
+
data:
|
|
22
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::OrHash
|
|
23
|
+
).void
|
|
24
|
+
end
|
|
25
|
+
attr_writer :data
|
|
26
|
+
|
|
27
|
+
# Response containing a single employer settings resource.
|
|
28
|
+
sig do
|
|
29
|
+
params(
|
|
30
|
+
data:
|
|
31
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::OrHash
|
|
32
|
+
).returns(T.attached_class)
|
|
33
|
+
end
|
|
34
|
+
def self.new(data:)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
override.returns(
|
|
39
|
+
{ data: VitableConnect::Models::EmployerUpdateSettingsResponse::Data }
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
def to_hash
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
class Data < VitableConnect::Internal::Type::BaseModel
|
|
46
|
+
OrHash =
|
|
47
|
+
T.type_alias do
|
|
48
|
+
T.any(
|
|
49
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data,
|
|
50
|
+
VitableConnect::Internal::AnyHash
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# - `weekly` - Weekly
|
|
55
|
+
# - `bi_weekly` - Bi-Weekly
|
|
56
|
+
# - `semi_monthly` - Semi-Monthly
|
|
57
|
+
# - `monthly` - Monthly
|
|
58
|
+
sig do
|
|
59
|
+
returns(
|
|
60
|
+
T.nilable(
|
|
61
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
attr_accessor :pay_frequency
|
|
66
|
+
|
|
67
|
+
sig do
|
|
68
|
+
params(
|
|
69
|
+
pay_frequency:
|
|
70
|
+
T.nilable(
|
|
71
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::OrSymbol
|
|
72
|
+
)
|
|
73
|
+
).returns(T.attached_class)
|
|
74
|
+
end
|
|
75
|
+
def self.new(
|
|
76
|
+
# - `weekly` - Weekly
|
|
77
|
+
# - `bi_weekly` - Bi-Weekly
|
|
78
|
+
# - `semi_monthly` - Semi-Monthly
|
|
79
|
+
# - `monthly` - Monthly
|
|
80
|
+
pay_frequency:
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
override.returns(
|
|
86
|
+
{
|
|
87
|
+
pay_frequency:
|
|
88
|
+
T.nilable(
|
|
89
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
90
|
+
)
|
|
91
|
+
}
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
def to_hash
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# - `weekly` - Weekly
|
|
98
|
+
# - `bi_weekly` - Bi-Weekly
|
|
99
|
+
# - `semi_monthly` - Semi-Monthly
|
|
100
|
+
# - `monthly` - Monthly
|
|
101
|
+
module PayFrequency
|
|
102
|
+
extend VitableConnect::Internal::Type::Enum
|
|
103
|
+
|
|
104
|
+
TaggedSymbol =
|
|
105
|
+
T.type_alias do
|
|
106
|
+
T.all(
|
|
107
|
+
Symbol,
|
|
108
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
112
|
+
|
|
113
|
+
WEEKLY =
|
|
114
|
+
T.let(
|
|
115
|
+
:weekly,
|
|
116
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
117
|
+
)
|
|
118
|
+
BI_WEEKLY =
|
|
119
|
+
T.let(
|
|
120
|
+
:bi_weekly,
|
|
121
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
122
|
+
)
|
|
123
|
+
SEMI_MONTHLY =
|
|
124
|
+
T.let(
|
|
125
|
+
:semi_monthly,
|
|
126
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
127
|
+
)
|
|
128
|
+
MONTHLY =
|
|
129
|
+
T.let(
|
|
130
|
+
:monthly,
|
|
131
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
sig do
|
|
135
|
+
override.returns(
|
|
136
|
+
T::Array[
|
|
137
|
+
VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency::TaggedSymbol
|
|
138
|
+
]
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
def self.values
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|