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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25d2061231f9c5fd456a5033d07353a9d8aa8b91166f20e8f2d230c1cd15b61f
4
- data.tar.gz: 4eb98bc25e00bb8b765129c1ecdafc5da3fb28b93ad87df96cffc0543d026703
3
+ metadata.gz: bfe7a2fb5a1e59433da8784cad17ec6c7e1969c11dfbc352ff9df0dd6ab05255
4
+ data.tar.gz: 0bbc9d552e51deda049f617b5c537d02b5bb0bb59086c987dcfbd9d5764224d0
5
5
  SHA512:
6
- metadata.gz: a97e22edb0d70f908aed5cae6e2e8f1df7b026a656a1c41f487307341124f7d007dc94b7311a39f31385ad79c1b437abe8711441e90c7b4c0ef7866122be2572
7
- data.tar.gz: e0bc1c51e6722a97df6314eebba1199673dafc7c15d42b9b269745299f300fd80b94cb70c76044e5480eeec7c01037bc0a5193f8f6ff4af3c5de67bfb0e684b7
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
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "vitable-connect", "~> 0.1.0"
20
+ gem "vitable-connect", "~> 0.2.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -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 and employment status.
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
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module VitableConnect
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -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
- PAYROLL_DEDUCTION_CREATED =
227
+ EMPLOYER_ELIGIBILITY_POLICY_CREATED =
228
228
  T.let(
229
- :"payroll_deduction.created",
229
+ :"employer.eligibility_policy_created",
230
230
  VitableConnect::WebhookEventListParams::EventName::TaggedSymbol
231
231
  )
232
- EMPLOYER_ELIGIBILITY_POLICY_CREATED =
232
+ EMPLOYEE_DEDUCTION_CREATED =
233
233
  T.let(
234
- :"employer.eligibility_policy_created",
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 and employment status.
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.1.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-24 00:00:00.000000000 Z
11
+ date: 2026-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi