vitable-connect 0.1.0 → 0.2.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 +13 -0
- data/README.md +1 -1
- data/lib/vitable_connect/models/employee.rb +102 -1
- data/lib/vitable_connect/models/webhook_event_list_params.rb +3 -3
- data/lib/vitable_connect/resources/employees.rb +3 -1
- data/lib/vitable_connect/resources/employers.rb +3 -1
- data/lib/vitable_connect/version.rb +1 -1
- data/rbi/vitable_connect/models/employee.rbi +175 -0
- data/rbi/vitable_connect/models/webhook_event_list_params.rbi +7 -7
- data/rbi/vitable_connect/resources/employees.rbi +3 -1
- data/rbi/vitable_connect/resources/employers.rbi +3 -1
- data/rbi/vitable_connect/resources/webhook_events.rbi +1 -1
- data/sig/vitable_connect/models/employee.rbs +74 -0
- data/sig/vitable_connect/models/webhook_event_list_params.rbs +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bfe7a2fb5a1e59433da8784cad17ec6c7e1969c11dfbc352ff9df0dd6ab05255
|
|
4
|
+
data.tar.gz: 0bbc9d552e51deda049f617b5c537d02b5bb0bb59086c987dcfbd9d5764224d0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 50589696d586a38831a2493644004bd0ceb59c3fe2503a5a62b9ac197080a392b8c7d0066fd9fee90cb1c8a3061c1bf1fcc1e5f82f6e75d73c5075f85ae63500
|
|
7
|
+
data.tar.gz: a33ab02053f11670a878b8b4d440e788d18c558dfeee4c1e04c38c94fd7941bd715f1c6160375a945f5ebaa8e60162accb6be77cac77358b5aa7d12b71988036
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0 (2026-03-25)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.1.0...v0.2.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.1.0...v0.2.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([f919311](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/f91931100038a62655c5e06eaa86271babc56d7a))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Chores
|
|
13
|
+
|
|
14
|
+
* **ci:** skip lint on metadata-only changes ([f190ebf](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/f190ebfc6a6fb2885813ca931618c615b815d9c5))
|
|
15
|
+
|
|
3
16
|
## 0.1.0 (2026-03-24)
|
|
4
17
|
|
|
5
18
|
Full Changelog: [v0.0.1...v0.1.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.0.1...v0.1.0)
|
data/README.md
CHANGED
|
@@ -15,6 +15,13 @@ module VitableConnect
|
|
|
15
15
|
# @return [Date]
|
|
16
16
|
required :date_of_birth, Date
|
|
17
17
|
|
|
18
|
+
# @!attribute deductions
|
|
19
|
+
# Payroll deductions from the most recent statement period. Replaced when a new
|
|
20
|
+
# statement is generated.
|
|
21
|
+
#
|
|
22
|
+
# @return [Array<VitableConnect::Models::Employee::Deduction>]
|
|
23
|
+
required :deductions, -> { VitableConnect::Internal::Type::ArrayOf[VitableConnect::Employee::Deduction] }
|
|
24
|
+
|
|
18
25
|
# @!attribute email
|
|
19
26
|
# Email address
|
|
20
27
|
#
|
|
@@ -119,7 +126,7 @@ module VitableConnect
|
|
|
119
126
|
required :status, String
|
|
120
127
|
end
|
|
121
128
|
|
|
122
|
-
# @!method initialize(id:, created_at:, date_of_birth:, email:, enrollments:, first_name:, last_name:, member_id:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, phone: nil, reference_id: nil, suffix: nil, termination_date: nil)
|
|
129
|
+
# @!method initialize(id:, created_at:, date_of_birth:, deductions:, email:, enrollments:, first_name:, last_name:, member_id:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, phone: nil, reference_id: nil, suffix: nil, termination_date: nil)
|
|
123
130
|
# Some parameter documentations has been truncated, see
|
|
124
131
|
# {VitableConnect::Models::Employee} for more details.
|
|
125
132
|
#
|
|
@@ -129,6 +136,8 @@ module VitableConnect
|
|
|
129
136
|
#
|
|
130
137
|
# @param date_of_birth [Date] Date of birth (YYYY-MM-DD)
|
|
131
138
|
#
|
|
139
|
+
# @param deductions [Array<VitableConnect::Models::Employee::Deduction>] Payroll deductions from the most recent statement period. Replaced when a new st
|
|
140
|
+
#
|
|
132
141
|
# @param email [String] Email address
|
|
133
142
|
#
|
|
134
143
|
# @param enrollments [Array<VitableConnect::Models::Employee::Enrollment>] Benefit enrollments for this employee
|
|
@@ -159,6 +168,98 @@ module VitableConnect
|
|
|
159
168
|
#
|
|
160
169
|
# @param termination_date [Date, nil] Employee's termination date, if terminated
|
|
161
170
|
|
|
171
|
+
class Deduction < VitableConnect::Internal::Type::BaseModel
|
|
172
|
+
# @!attribute benefit_name
|
|
173
|
+
# Name of the benefit plan
|
|
174
|
+
#
|
|
175
|
+
# @return [String]
|
|
176
|
+
required :benefit_name, String
|
|
177
|
+
|
|
178
|
+
# @!attribute deduction_amount_in_cents
|
|
179
|
+
# Employee deduction amount in cents
|
|
180
|
+
#
|
|
181
|
+
# @return [Integer]
|
|
182
|
+
required :deduction_amount_in_cents, Integer
|
|
183
|
+
|
|
184
|
+
# @!attribute deduction_category
|
|
185
|
+
# Deduction category (reserved for future use)
|
|
186
|
+
#
|
|
187
|
+
# @return [String, nil]
|
|
188
|
+
required :deduction_category, String, nil?: true
|
|
189
|
+
|
|
190
|
+
# @!attribute frequency
|
|
191
|
+
# - `monthly` - Monthly
|
|
192
|
+
#
|
|
193
|
+
# @return [Symbol, VitableConnect::Models::Employee::Deduction::Frequency]
|
|
194
|
+
required :frequency, enum: -> { VitableConnect::Employee::Deduction::Frequency }
|
|
195
|
+
|
|
196
|
+
# @!attribute period_end_date
|
|
197
|
+
# Period end date (YYYY-MM-DD)
|
|
198
|
+
#
|
|
199
|
+
# @return [Date]
|
|
200
|
+
required :period_end_date, Date
|
|
201
|
+
|
|
202
|
+
# @!attribute period_start_date
|
|
203
|
+
# Period start date (YYYY-MM-DD)
|
|
204
|
+
#
|
|
205
|
+
# @return [Date]
|
|
206
|
+
required :period_start_date, Date
|
|
207
|
+
|
|
208
|
+
# @!attribute tax_classification
|
|
209
|
+
# - `Unknown` - Unknown
|
|
210
|
+
# - `Pre-tax` - Pre Tax
|
|
211
|
+
# - `Post-tax` - Post Tax
|
|
212
|
+
#
|
|
213
|
+
# @return [Symbol, VitableConnect::Models::Employee::Deduction::TaxClassification]
|
|
214
|
+
required :tax_classification, enum: -> { VitableConnect::Employee::Deduction::TaxClassification }
|
|
215
|
+
|
|
216
|
+
# @!method initialize(benefit_name:, deduction_amount_in_cents:, deduction_category:, frequency:, period_end_date:, period_start_date:, tax_classification:)
|
|
217
|
+
# Some parameter documentations has been truncated, see
|
|
218
|
+
# {VitableConnect::Models::Employee::Deduction} for more details.
|
|
219
|
+
#
|
|
220
|
+
# @param benefit_name [String] Name of the benefit plan
|
|
221
|
+
#
|
|
222
|
+
# @param deduction_amount_in_cents [Integer] Employee deduction amount in cents
|
|
223
|
+
#
|
|
224
|
+
# @param deduction_category [String, nil] Deduction category (reserved for future use)
|
|
225
|
+
#
|
|
226
|
+
# @param frequency [Symbol, VitableConnect::Models::Employee::Deduction::Frequency] - `monthly` - Monthly
|
|
227
|
+
#
|
|
228
|
+
# @param period_end_date [Date] Period end date (YYYY-MM-DD)
|
|
229
|
+
#
|
|
230
|
+
# @param period_start_date [Date] Period start date (YYYY-MM-DD)
|
|
231
|
+
#
|
|
232
|
+
# @param tax_classification [Symbol, VitableConnect::Models::Employee::Deduction::TaxClassification] - `Unknown` - Unknown
|
|
233
|
+
|
|
234
|
+
# - `monthly` - Monthly
|
|
235
|
+
#
|
|
236
|
+
# @see VitableConnect::Models::Employee::Deduction#frequency
|
|
237
|
+
module Frequency
|
|
238
|
+
extend VitableConnect::Internal::Type::Enum
|
|
239
|
+
|
|
240
|
+
MONTHLY = :monthly
|
|
241
|
+
|
|
242
|
+
# @!method self.values
|
|
243
|
+
# @return [Array<Symbol>]
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# - `Unknown` - Unknown
|
|
247
|
+
# - `Pre-tax` - Pre Tax
|
|
248
|
+
# - `Post-tax` - Post Tax
|
|
249
|
+
#
|
|
250
|
+
# @see VitableConnect::Models::Employee::Deduction#tax_classification
|
|
251
|
+
module TaxClassification
|
|
252
|
+
extend VitableConnect::Internal::Type::Enum
|
|
253
|
+
|
|
254
|
+
UNKNOWN = :Unknown
|
|
255
|
+
PRE_TAX = :"Pre-tax"
|
|
256
|
+
POST_TAX = :"Post-tax"
|
|
257
|
+
|
|
258
|
+
# @!method self.values
|
|
259
|
+
# @return [Array<Symbol>]
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
|
|
162
263
|
class Enrollment < VitableConnect::Internal::Type::BaseModel
|
|
163
264
|
# @!attribute status
|
|
164
265
|
# - `pending` - Pending
|
|
@@ -27,8 +27,8 @@ module VitableConnect
|
|
|
27
27
|
# - `employee.eligibility_granted` - Employee Eligibility Granted
|
|
28
28
|
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
|
|
29
29
|
# - `employee.deactivated` - Employee Deactivated
|
|
30
|
-
# - `payroll_deduction.created` - Payroll Deduction Created
|
|
31
30
|
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
|
|
31
|
+
# - `employee.deduction_created` - Employee Deduction Created
|
|
32
32
|
#
|
|
33
33
|
# @return [Symbol, VitableConnect::Models::WebhookEventListParams::EventName, nil]
|
|
34
34
|
optional :event_name, enum: -> { VitableConnect::WebhookEventListParams::EventName }
|
|
@@ -90,8 +90,8 @@ module VitableConnect
|
|
|
90
90
|
# - `employee.eligibility_granted` - Employee Eligibility Granted
|
|
91
91
|
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
|
|
92
92
|
# - `employee.deactivated` - Employee Deactivated
|
|
93
|
-
# - `payroll_deduction.created` - Payroll Deduction Created
|
|
94
93
|
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
|
|
94
|
+
# - `employee.deduction_created` - Employee Deduction Created
|
|
95
95
|
module EventName
|
|
96
96
|
extend VitableConnect::Internal::Type::Enum
|
|
97
97
|
|
|
@@ -104,8 +104,8 @@ module VitableConnect
|
|
|
104
104
|
EMPLOYEE_ELIGIBILITY_GRANTED = :"employee.eligibility_granted"
|
|
105
105
|
EMPLOYEE_ELIGIBILITY_TERMINATED = :"employee.eligibility_terminated"
|
|
106
106
|
EMPLOYEE_DEACTIVATED = :"employee.deactivated"
|
|
107
|
-
PAYROLL_DEDUCTION_CREATED = :"payroll_deduction.created"
|
|
108
107
|
EMPLOYER_ELIGIBILITY_POLICY_CREATED = :"employer.eligibility_policy_created"
|
|
108
|
+
EMPLOYEE_DEDUCTION_CREATED = :"employee.deduction_created"
|
|
109
109
|
|
|
110
110
|
# @!method self.values
|
|
111
111
|
# @return [Array<Symbol>]
|
|
@@ -4,7 +4,9 @@ module VitableConnect
|
|
|
4
4
|
module Resources
|
|
5
5
|
class Employees
|
|
6
6
|
# Retrieves detailed information for a specific employee by ID. Returns employee
|
|
7
|
-
# details including personal information
|
|
7
|
+
# details including personal information, employment status, and payroll
|
|
8
|
+
# deductions from the most recent statement period. Deductions reflect a snapshot
|
|
9
|
+
# of the current period and are replaced when a new statement is generated.
|
|
8
10
|
#
|
|
9
11
|
# @overload retrieve(employee_id, request_options: {})
|
|
10
12
|
#
|
|
@@ -119,7 +119,9 @@ module VitableConnect
|
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
# Retrieves a paginated list of all employees for a specific employer. Results are
|
|
122
|
-
# paginated using page and limit parameters.
|
|
122
|
+
# paginated using page and limit parameters. Each employee includes payroll
|
|
123
|
+
# deductions from the most recent statement period. When a new deduction statement
|
|
124
|
+
# is generated, previous period deductions are replaced.
|
|
123
125
|
#
|
|
124
126
|
# @overload list_employees(employer_id, limit: nil, page: nil, request_options: {})
|
|
125
127
|
#
|
|
@@ -16,6 +16,11 @@ module VitableConnect
|
|
|
16
16
|
sig { returns(Date) }
|
|
17
17
|
attr_accessor :date_of_birth
|
|
18
18
|
|
|
19
|
+
# Payroll deductions from the most recent statement period. Replaced when a new
|
|
20
|
+
# statement is generated.
|
|
21
|
+
sig { returns(T::Array[VitableConnect::Employee::Deduction]) }
|
|
22
|
+
attr_accessor :deductions
|
|
23
|
+
|
|
19
24
|
# Email address
|
|
20
25
|
sig { returns(String) }
|
|
21
26
|
attr_accessor :email
|
|
@@ -97,6 +102,7 @@ module VitableConnect
|
|
|
97
102
|
id: String,
|
|
98
103
|
created_at: Time,
|
|
99
104
|
date_of_birth: Date,
|
|
105
|
+
deductions: T::Array[VitableConnect::Employee::Deduction::OrHash],
|
|
100
106
|
email: String,
|
|
101
107
|
enrollments: T::Array[VitableConnect::Employee::Enrollment::OrHash],
|
|
102
108
|
first_name: String,
|
|
@@ -121,6 +127,9 @@ module VitableConnect
|
|
|
121
127
|
created_at:,
|
|
122
128
|
# Date of birth (YYYY-MM-DD)
|
|
123
129
|
date_of_birth:,
|
|
130
|
+
# Payroll deductions from the most recent statement period. Replaced when a new
|
|
131
|
+
# statement is generated.
|
|
132
|
+
deductions:,
|
|
124
133
|
# Email address
|
|
125
134
|
email:,
|
|
126
135
|
# Benefit enrollments for this employee
|
|
@@ -165,6 +174,7 @@ module VitableConnect
|
|
|
165
174
|
id: String,
|
|
166
175
|
created_at: Time,
|
|
167
176
|
date_of_birth: Date,
|
|
177
|
+
deductions: T::Array[VitableConnect::Employee::Deduction],
|
|
168
178
|
email: String,
|
|
169
179
|
enrollments: T::Array[VitableConnect::Employee::Enrollment],
|
|
170
180
|
first_name: String,
|
|
@@ -187,6 +197,171 @@ module VitableConnect
|
|
|
187
197
|
def to_hash
|
|
188
198
|
end
|
|
189
199
|
|
|
200
|
+
class Deduction < VitableConnect::Internal::Type::BaseModel
|
|
201
|
+
OrHash =
|
|
202
|
+
T.type_alias do
|
|
203
|
+
T.any(
|
|
204
|
+
VitableConnect::Employee::Deduction,
|
|
205
|
+
VitableConnect::Internal::AnyHash
|
|
206
|
+
)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
# Name of the benefit plan
|
|
210
|
+
sig { returns(String) }
|
|
211
|
+
attr_accessor :benefit_name
|
|
212
|
+
|
|
213
|
+
# Employee deduction amount in cents
|
|
214
|
+
sig { returns(Integer) }
|
|
215
|
+
attr_accessor :deduction_amount_in_cents
|
|
216
|
+
|
|
217
|
+
# Deduction category (reserved for future use)
|
|
218
|
+
sig { returns(T.nilable(String)) }
|
|
219
|
+
attr_accessor :deduction_category
|
|
220
|
+
|
|
221
|
+
# - `monthly` - Monthly
|
|
222
|
+
sig do
|
|
223
|
+
returns(VitableConnect::Employee::Deduction::Frequency::TaggedSymbol)
|
|
224
|
+
end
|
|
225
|
+
attr_accessor :frequency
|
|
226
|
+
|
|
227
|
+
# Period end date (YYYY-MM-DD)
|
|
228
|
+
sig { returns(Date) }
|
|
229
|
+
attr_accessor :period_end_date
|
|
230
|
+
|
|
231
|
+
# Period start date (YYYY-MM-DD)
|
|
232
|
+
sig { returns(Date) }
|
|
233
|
+
attr_accessor :period_start_date
|
|
234
|
+
|
|
235
|
+
# - `Unknown` - Unknown
|
|
236
|
+
# - `Pre-tax` - Pre Tax
|
|
237
|
+
# - `Post-tax` - Post Tax
|
|
238
|
+
sig do
|
|
239
|
+
returns(
|
|
240
|
+
VitableConnect::Employee::Deduction::TaxClassification::TaggedSymbol
|
|
241
|
+
)
|
|
242
|
+
end
|
|
243
|
+
attr_accessor :tax_classification
|
|
244
|
+
|
|
245
|
+
sig do
|
|
246
|
+
params(
|
|
247
|
+
benefit_name: String,
|
|
248
|
+
deduction_amount_in_cents: Integer,
|
|
249
|
+
deduction_category: T.nilable(String),
|
|
250
|
+
frequency: VitableConnect::Employee::Deduction::Frequency::OrSymbol,
|
|
251
|
+
period_end_date: Date,
|
|
252
|
+
period_start_date: Date,
|
|
253
|
+
tax_classification:
|
|
254
|
+
VitableConnect::Employee::Deduction::TaxClassification::OrSymbol
|
|
255
|
+
).returns(T.attached_class)
|
|
256
|
+
end
|
|
257
|
+
def self.new(
|
|
258
|
+
# Name of the benefit plan
|
|
259
|
+
benefit_name:,
|
|
260
|
+
# Employee deduction amount in cents
|
|
261
|
+
deduction_amount_in_cents:,
|
|
262
|
+
# Deduction category (reserved for future use)
|
|
263
|
+
deduction_category:,
|
|
264
|
+
# - `monthly` - Monthly
|
|
265
|
+
frequency:,
|
|
266
|
+
# Period end date (YYYY-MM-DD)
|
|
267
|
+
period_end_date:,
|
|
268
|
+
# Period start date (YYYY-MM-DD)
|
|
269
|
+
period_start_date:,
|
|
270
|
+
# - `Unknown` - Unknown
|
|
271
|
+
# - `Pre-tax` - Pre Tax
|
|
272
|
+
# - `Post-tax` - Post Tax
|
|
273
|
+
tax_classification:
|
|
274
|
+
)
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
sig do
|
|
278
|
+
override.returns(
|
|
279
|
+
{
|
|
280
|
+
benefit_name: String,
|
|
281
|
+
deduction_amount_in_cents: Integer,
|
|
282
|
+
deduction_category: T.nilable(String),
|
|
283
|
+
frequency:
|
|
284
|
+
VitableConnect::Employee::Deduction::Frequency::TaggedSymbol,
|
|
285
|
+
period_end_date: Date,
|
|
286
|
+
period_start_date: Date,
|
|
287
|
+
tax_classification:
|
|
288
|
+
VitableConnect::Employee::Deduction::TaxClassification::TaggedSymbol
|
|
289
|
+
}
|
|
290
|
+
)
|
|
291
|
+
end
|
|
292
|
+
def to_hash
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
# - `monthly` - Monthly
|
|
296
|
+
module Frequency
|
|
297
|
+
extend VitableConnect::Internal::Type::Enum
|
|
298
|
+
|
|
299
|
+
TaggedSymbol =
|
|
300
|
+
T.type_alias do
|
|
301
|
+
T.all(Symbol, VitableConnect::Employee::Deduction::Frequency)
|
|
302
|
+
end
|
|
303
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
304
|
+
|
|
305
|
+
MONTHLY =
|
|
306
|
+
T.let(
|
|
307
|
+
:monthly,
|
|
308
|
+
VitableConnect::Employee::Deduction::Frequency::TaggedSymbol
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
sig do
|
|
312
|
+
override.returns(
|
|
313
|
+
T::Array[
|
|
314
|
+
VitableConnect::Employee::Deduction::Frequency::TaggedSymbol
|
|
315
|
+
]
|
|
316
|
+
)
|
|
317
|
+
end
|
|
318
|
+
def self.values
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
# - `Unknown` - Unknown
|
|
323
|
+
# - `Pre-tax` - Pre Tax
|
|
324
|
+
# - `Post-tax` - Post Tax
|
|
325
|
+
module TaxClassification
|
|
326
|
+
extend VitableConnect::Internal::Type::Enum
|
|
327
|
+
|
|
328
|
+
TaggedSymbol =
|
|
329
|
+
T.type_alias do
|
|
330
|
+
T.all(
|
|
331
|
+
Symbol,
|
|
332
|
+
VitableConnect::Employee::Deduction::TaxClassification
|
|
333
|
+
)
|
|
334
|
+
end
|
|
335
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
336
|
+
|
|
337
|
+
UNKNOWN =
|
|
338
|
+
T.let(
|
|
339
|
+
:Unknown,
|
|
340
|
+
VitableConnect::Employee::Deduction::TaxClassification::TaggedSymbol
|
|
341
|
+
)
|
|
342
|
+
PRE_TAX =
|
|
343
|
+
T.let(
|
|
344
|
+
:"Pre-tax",
|
|
345
|
+
VitableConnect::Employee::Deduction::TaxClassification::TaggedSymbol
|
|
346
|
+
)
|
|
347
|
+
POST_TAX =
|
|
348
|
+
T.let(
|
|
349
|
+
:"Post-tax",
|
|
350
|
+
VitableConnect::Employee::Deduction::TaxClassification::TaggedSymbol
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
sig do
|
|
354
|
+
override.returns(
|
|
355
|
+
T::Array[
|
|
356
|
+
VitableConnect::Employee::Deduction::TaxClassification::TaggedSymbol
|
|
357
|
+
]
|
|
358
|
+
)
|
|
359
|
+
end
|
|
360
|
+
def self.values
|
|
361
|
+
end
|
|
362
|
+
end
|
|
363
|
+
end
|
|
364
|
+
|
|
190
365
|
class Enrollment < VitableConnect::Internal::Type::BaseModel
|
|
191
366
|
OrHash =
|
|
192
367
|
T.type_alias do
|
|
@@ -35,8 +35,8 @@ module VitableConnect
|
|
|
35
35
|
# - `employee.eligibility_granted` - Employee Eligibility Granted
|
|
36
36
|
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
|
|
37
37
|
# - `employee.deactivated` - Employee Deactivated
|
|
38
|
-
# - `payroll_deduction.created` - Payroll Deduction Created
|
|
39
38
|
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
|
|
39
|
+
# - `employee.deduction_created` - Employee Deduction Created
|
|
40
40
|
sig do
|
|
41
41
|
returns(
|
|
42
42
|
T.nilable(VitableConnect::WebhookEventListParams::EventName::OrSymbol)
|
|
@@ -121,8 +121,8 @@ module VitableConnect
|
|
|
121
121
|
# - `employee.eligibility_granted` - Employee Eligibility Granted
|
|
122
122
|
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
|
|
123
123
|
# - `employee.deactivated` - Employee Deactivated
|
|
124
|
-
# - `payroll_deduction.created` - Payroll Deduction Created
|
|
125
124
|
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
|
|
125
|
+
# - `employee.deduction_created` - Employee Deduction Created
|
|
126
126
|
event_name: nil,
|
|
127
127
|
# Items per page (default: 20, max: 100)
|
|
128
128
|
limit: nil,
|
|
@@ -168,8 +168,8 @@ module VitableConnect
|
|
|
168
168
|
# - `employee.eligibility_granted` - Employee Eligibility Granted
|
|
169
169
|
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
|
|
170
170
|
# - `employee.deactivated` - Employee Deactivated
|
|
171
|
-
# - `payroll_deduction.created` - Payroll Deduction Created
|
|
172
171
|
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
|
|
172
|
+
# - `employee.deduction_created` - Employee Deduction Created
|
|
173
173
|
module EventName
|
|
174
174
|
extend VitableConnect::Internal::Type::Enum
|
|
175
175
|
|
|
@@ -224,14 +224,14 @@ module VitableConnect
|
|
|
224
224
|
:"employee.deactivated",
|
|
225
225
|
VitableConnect::WebhookEventListParams::EventName::TaggedSymbol
|
|
226
226
|
)
|
|
227
|
-
|
|
227
|
+
EMPLOYER_ELIGIBILITY_POLICY_CREATED =
|
|
228
228
|
T.let(
|
|
229
|
-
:"
|
|
229
|
+
:"employer.eligibility_policy_created",
|
|
230
230
|
VitableConnect::WebhookEventListParams::EventName::TaggedSymbol
|
|
231
231
|
)
|
|
232
|
-
|
|
232
|
+
EMPLOYEE_DEDUCTION_CREATED =
|
|
233
233
|
T.let(
|
|
234
|
-
:"
|
|
234
|
+
:"employee.deduction_created",
|
|
235
235
|
VitableConnect::WebhookEventListParams::EventName::TaggedSymbol
|
|
236
236
|
)
|
|
237
237
|
|
|
@@ -4,7 +4,9 @@ module VitableConnect
|
|
|
4
4
|
module Resources
|
|
5
5
|
class Employees
|
|
6
6
|
# Retrieves detailed information for a specific employee by ID. Returns employee
|
|
7
|
-
# details including personal information
|
|
7
|
+
# details including personal information, employment status, and payroll
|
|
8
|
+
# deductions from the most recent statement period. Deductions reflect a snapshot
|
|
9
|
+
# of the current period and are replaced when a new statement is generated.
|
|
8
10
|
sig do
|
|
9
11
|
params(
|
|
10
12
|
employee_id: String,
|
|
@@ -95,7 +95,9 @@ module VitableConnect
|
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
# Retrieves a paginated list of all employees for a specific employer. Results are
|
|
98
|
-
# paginated using page and limit parameters.
|
|
98
|
+
# paginated using page and limit parameters. Each employee includes payroll
|
|
99
|
+
# deductions from the most recent statement period. When a new deduction statement
|
|
100
|
+
# is generated, previous period deductions are replaced.
|
|
99
101
|
sig do
|
|
100
102
|
params(
|
|
101
103
|
employer_id: String,
|
|
@@ -44,8 +44,8 @@ module VitableConnect
|
|
|
44
44
|
# - `employee.eligibility_granted` - Employee Eligibility Granted
|
|
45
45
|
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
|
|
46
46
|
# - `employee.deactivated` - Employee Deactivated
|
|
47
|
-
# - `payroll_deduction.created` - Payroll Deduction Created
|
|
48
47
|
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
|
|
48
|
+
# - `employee.deduction_created` - Employee Deduction Created
|
|
49
49
|
event_name: nil,
|
|
50
50
|
# Items per page (default: 20, max: 100)
|
|
51
51
|
limit: nil,
|
|
@@ -5,6 +5,7 @@ module VitableConnect
|
|
|
5
5
|
id: String,
|
|
6
6
|
created_at: Time,
|
|
7
7
|
date_of_birth: Date,
|
|
8
|
+
deductions: ::Array[VitableConnect::Employee::Deduction],
|
|
8
9
|
email: String,
|
|
9
10
|
enrollments: ::Array[VitableConnect::Employee::Enrollment],
|
|
10
11
|
first_name: String,
|
|
@@ -27,6 +28,8 @@ module VitableConnect
|
|
|
27
28
|
|
|
28
29
|
attr_accessor date_of_birth: Date
|
|
29
30
|
|
|
31
|
+
attr_accessor deductions: ::Array[VitableConnect::Employee::Deduction]
|
|
32
|
+
|
|
30
33
|
attr_accessor email: String
|
|
31
34
|
|
|
32
35
|
attr_accessor enrollments: ::Array[VitableConnect::Employee::Enrollment]
|
|
@@ -63,6 +66,7 @@ module VitableConnect
|
|
|
63
66
|
id: String,
|
|
64
67
|
created_at: Time,
|
|
65
68
|
date_of_birth: Date,
|
|
69
|
+
deductions: ::Array[VitableConnect::Employee::Deduction],
|
|
66
70
|
email: String,
|
|
67
71
|
enrollments: ::Array[VitableConnect::Employee::Enrollment],
|
|
68
72
|
first_name: String,
|
|
@@ -84,6 +88,7 @@ module VitableConnect
|
|
|
84
88
|
id: String,
|
|
85
89
|
created_at: Time,
|
|
86
90
|
date_of_birth: Date,
|
|
91
|
+
deductions: ::Array[VitableConnect::Employee::Deduction],
|
|
87
92
|
email: String,
|
|
88
93
|
enrollments: ::Array[VitableConnect::Employee::Enrollment],
|
|
89
94
|
first_name: String,
|
|
@@ -101,6 +106,75 @@ module VitableConnect
|
|
|
101
106
|
termination_date: Date?
|
|
102
107
|
}
|
|
103
108
|
|
|
109
|
+
type deduction =
|
|
110
|
+
{
|
|
111
|
+
benefit_name: String,
|
|
112
|
+
deduction_amount_in_cents: Integer,
|
|
113
|
+
deduction_category: String?,
|
|
114
|
+
frequency: VitableConnect::Models::Employee::Deduction::frequency,
|
|
115
|
+
period_end_date: Date,
|
|
116
|
+
period_start_date: Date,
|
|
117
|
+
tax_classification: VitableConnect::Models::Employee::Deduction::tax_classification
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
class Deduction < VitableConnect::Internal::Type::BaseModel
|
|
121
|
+
attr_accessor benefit_name: String
|
|
122
|
+
|
|
123
|
+
attr_accessor deduction_amount_in_cents: Integer
|
|
124
|
+
|
|
125
|
+
attr_accessor deduction_category: String?
|
|
126
|
+
|
|
127
|
+
attr_accessor frequency: VitableConnect::Models::Employee::Deduction::frequency
|
|
128
|
+
|
|
129
|
+
attr_accessor period_end_date: Date
|
|
130
|
+
|
|
131
|
+
attr_accessor period_start_date: Date
|
|
132
|
+
|
|
133
|
+
attr_accessor tax_classification: VitableConnect::Models::Employee::Deduction::tax_classification
|
|
134
|
+
|
|
135
|
+
def initialize: (
|
|
136
|
+
benefit_name: String,
|
|
137
|
+
deduction_amount_in_cents: Integer,
|
|
138
|
+
deduction_category: String?,
|
|
139
|
+
frequency: VitableConnect::Models::Employee::Deduction::frequency,
|
|
140
|
+
period_end_date: Date,
|
|
141
|
+
period_start_date: Date,
|
|
142
|
+
tax_classification: VitableConnect::Models::Employee::Deduction::tax_classification
|
|
143
|
+
) -> void
|
|
144
|
+
|
|
145
|
+
def to_hash: -> {
|
|
146
|
+
benefit_name: String,
|
|
147
|
+
deduction_amount_in_cents: Integer,
|
|
148
|
+
deduction_category: String?,
|
|
149
|
+
frequency: VitableConnect::Models::Employee::Deduction::frequency,
|
|
150
|
+
period_end_date: Date,
|
|
151
|
+
period_start_date: Date,
|
|
152
|
+
tax_classification: VitableConnect::Models::Employee::Deduction::tax_classification
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
type frequency = :monthly
|
|
156
|
+
|
|
157
|
+
module Frequency
|
|
158
|
+
extend VitableConnect::Internal::Type::Enum
|
|
159
|
+
|
|
160
|
+
MONTHLY: :monthly
|
|
161
|
+
|
|
162
|
+
def self?.values: -> ::Array[VitableConnect::Models::Employee::Deduction::frequency]
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
type tax_classification = :Unknown | :"Pre-tax" | :"Post-tax"
|
|
166
|
+
|
|
167
|
+
module TaxClassification
|
|
168
|
+
extend VitableConnect::Internal::Type::Enum
|
|
169
|
+
|
|
170
|
+
UNKNOWN: :Unknown
|
|
171
|
+
PRE_TAX: :"Pre-tax"
|
|
172
|
+
POST_TAX: :"Post-tax"
|
|
173
|
+
|
|
174
|
+
def self?.values: -> ::Array[VitableConnect::Models::Employee::Deduction::tax_classification]
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
104
178
|
type enrollment =
|
|
105
179
|
{
|
|
106
180
|
id: String,
|
|
@@ -80,8 +80,8 @@ module VitableConnect
|
|
|
80
80
|
| :"employee.eligibility_granted"
|
|
81
81
|
| :"employee.eligibility_terminated"
|
|
82
82
|
| :"employee.deactivated"
|
|
83
|
-
| :"payroll_deduction.created"
|
|
84
83
|
| :"employer.eligibility_policy_created"
|
|
84
|
+
| :"employee.deduction_created"
|
|
85
85
|
|
|
86
86
|
module EventName
|
|
87
87
|
extend VitableConnect::Internal::Type::Enum
|
|
@@ -95,8 +95,8 @@ module VitableConnect
|
|
|
95
95
|
EMPLOYEE_ELIGIBILITY_GRANTED: :"employee.eligibility_granted"
|
|
96
96
|
EMPLOYEE_ELIGIBILITY_TERMINATED: :"employee.eligibility_terminated"
|
|
97
97
|
EMPLOYEE_DEACTIVATED: :"employee.deactivated"
|
|
98
|
-
PAYROLL_DEDUCTION_CREATED: :"payroll_deduction.created"
|
|
99
98
|
EMPLOYER_ELIGIBILITY_POLICY_CREATED: :"employer.eligibility_policy_created"
|
|
99
|
+
EMPLOYEE_DEDUCTION_CREATED: :"employee.deduction_created"
|
|
100
100
|
|
|
101
101
|
def self?.values: -> ::Array[VitableConnect::Models::WebhookEventListParams::event_name]
|
|
102
102
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vitable-connect
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vitable Connect
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|