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.
Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +9 -9
  4. data/lib/vitable_connect/client.rb +19 -6
  5. data/lib/vitable_connect/internal/transport/base_client.rb +28 -4
  6. data/lib/vitable_connect/internal/type/enum.rb +13 -9
  7. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +17 -3
  8. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +17 -3
  9. data/lib/vitable_connect/models/employee.rb +98 -30
  10. data/lib/vitable_connect/models/employee_update_params.rb +185 -0
  11. data/lib/vitable_connect/models/employee_update_response.rb +18 -0
  12. data/lib/vitable_connect/models/employer.rb +36 -10
  13. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_params.rb +22 -0
  14. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_response.rb +29 -0
  15. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rb +80 -0
  16. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rb +175 -0
  17. data/lib/vitable_connect/models/employer_list_benefit_plan_years_params.rb +22 -0
  18. data/lib/vitable_connect/models/employer_list_benefit_plan_years_response.rb +301 -0
  19. data/lib/vitable_connect/models/employer_list_employees_params.rb +28 -1
  20. data/lib/vitable_connect/models/employer_list_hris_providers_params.rb +14 -0
  21. data/lib/vitable_connect/models/employer_list_hris_providers_response.rb +30 -0
  22. data/lib/vitable_connect/models/employer_list_invoices_params.rb +38 -0
  23. data/lib/vitable_connect/models/employer_list_invoices_response.rb +77 -0
  24. data/lib/vitable_connect/models/employer_list_params.rb +118 -5
  25. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_params.rb +38 -0
  26. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_response.rb +113 -0
  27. data/lib/vitable_connect/models/employer_list_response.rb +283 -0
  28. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rb +30 -0
  29. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rb +813 -0
  30. data/lib/vitable_connect/models/employer_retrieve_hris_params.rb +22 -0
  31. data/lib/vitable_connect/models/employer_retrieve_hris_response.rb +55 -0
  32. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_params.rb +30 -0
  33. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_response.rb +17 -0
  34. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rb +22 -0
  35. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rb +35 -0
  36. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +9 -8
  37. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_params.rb +267 -0
  38. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_response.rb +35 -0
  39. data/lib/vitable_connect/models/employer_update_params.rb +99 -0
  40. data/lib/vitable_connect/models/employer_update_settings_params.rb +9 -9
  41. data/lib/vitable_connect/models/employer_update_settings_response.rb +4 -4
  42. data/lib/vitable_connect/models/enrollment_reissue_params.rb +50 -0
  43. data/lib/vitable_connect/models/enrollment_reissue_response.rb +30 -0
  44. data/lib/vitable_connect/models/enrollment_terminate_params.rb +50 -0
  45. data/lib/vitable_connect/models/group.rb +17 -6
  46. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +74 -3
  47. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +7 -7
  48. data/lib/vitable_connect/models/member_list_dependents_params.rb +20 -0
  49. data/lib/vitable_connect/models/member_list_dependents_response.rb +132 -0
  50. data/lib/vitable_connect/models/member_list_employments_params.rb +20 -0
  51. data/lib/vitable_connect/models/member_list_employments_response.rb +18 -0
  52. data/lib/vitable_connect/models/member_list_enrollments_params.rb +20 -0
  53. data/lib/vitable_connect/models/member_list_enrollments_response.rb +319 -0
  54. data/lib/vitable_connect/models/member_list_id_cards_params.rb +20 -0
  55. data/lib/vitable_connect/models/member_list_id_cards_response.rb +368 -0
  56. data/lib/vitable_connect/models/member_list_params.rb +38 -0
  57. data/lib/vitable_connect/models/member_list_qualifying_life_events_params.rb +57 -0
  58. data/lib/vitable_connect/models/member_list_qualifying_life_events_response.rb +96 -0
  59. data/lib/vitable_connect/models/member_list_response.rb +108 -0
  60. data/lib/vitable_connect/models/member_retrieve_household_params.rb +20 -0
  61. data/lib/vitable_connect/models/member_retrieve_household_response.rb +128 -0
  62. data/lib/vitable_connect/models/member_retrieve_params.rb +20 -0
  63. data/lib/vitable_connect/models/member_retrieve_response.rb +195 -0
  64. data/lib/vitable_connect/models/organization_create_params.rb +57 -0
  65. data/lib/vitable_connect/models/organization_create_response.rb +104 -0
  66. data/lib/vitable_connect/models/organization_list_params.rb +14 -0
  67. data/lib/vitable_connect/models/organization_list_response.rb +128 -0
  68. data/lib/vitable_connect/models/webhook_event_list_params.rb +3 -3
  69. data/lib/vitable_connect/models.rb +54 -11
  70. data/lib/vitable_connect/resources/employees.rb +49 -3
  71. data/lib/vitable_connect/resources/employers.rb +402 -28
  72. data/lib/vitable_connect/resources/enrollments.rb +75 -0
  73. data/lib/vitable_connect/resources/members.rb +231 -0
  74. data/lib/vitable_connect/resources/organizations.rb +66 -0
  75. data/lib/vitable_connect/version.rb +1 -1
  76. data/lib/vitable_connect.rb +51 -6
  77. data/rbi/vitable_connect/client.rbi +18 -6
  78. data/rbi/vitable_connect/internal/transport/base_client.rbi +4 -1
  79. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +53 -5
  80. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +51 -5
  81. data/rbi/vitable_connect/models/employee.rbi +138 -37
  82. data/rbi/vitable_connect/models/employee_update_params.rbi +323 -0
  83. data/rbi/vitable_connect/models/employee_update_response.rbi +32 -0
  84. data/rbi/vitable_connect/models/employer.rbi +58 -8
  85. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbi +46 -0
  86. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbi +72 -0
  87. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbi +165 -0
  88. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbi +278 -0
  89. data/rbi/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbi → employer_list_benefit_plan_years_params.rbi} +11 -8
  90. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_response.rbi +539 -0
  91. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +70 -0
  92. data/rbi/vitable_connect/models/employer_list_hris_providers_params.rbi +32 -0
  93. data/rbi/vitable_connect/models/employer_list_hris_providers_response.rbi +74 -0
  94. data/rbi/vitable_connect/models/employer_list_invoices_params.rbi +65 -0
  95. data/rbi/vitable_connect/models/employer_list_invoices_response.rbi +151 -0
  96. data/rbi/vitable_connect/models/employer_list_params.rbi +292 -4
  97. data/rbi/vitable_connect/models/{employer_create_benefit_eligibility_policy_params.rbi → employer_list_payroll_deduction_statements_params.rbi} +22 -18
  98. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbi +169 -0
  99. data/rbi/vitable_connect/models/employer_list_response.rbi +426 -0
  100. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbi +54 -0
  101. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbi +1574 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_hris_params.rbi +46 -0
  103. data/rbi/vitable_connect/models/employer_retrieve_hris_response.rbi +120 -0
  104. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbi +54 -0
  105. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbi +30 -0
  106. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbi +46 -0
  107. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbi +83 -0
  108. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +8 -6
  109. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_params.rbi +441 -0
  110. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_response.rbi +83 -0
  111. data/rbi/vitable_connect/models/employer_update_params.rbi +155 -0
  112. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +12 -12
  113. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +6 -6
  114. data/rbi/vitable_connect/models/enrollment_reissue_params.rbi +72 -0
  115. data/rbi/vitable_connect/models/enrollment_reissue_response.rbi +67 -0
  116. data/rbi/vitable_connect/models/enrollment_terminate_params.rbi +72 -0
  117. data/rbi/vitable_connect/models/group.rbi +12 -0
  118. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +174 -4
  119. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +9 -9
  120. data/rbi/vitable_connect/models/member_list_dependents_params.rbi +38 -0
  121. data/rbi/vitable_connect/models/member_list_dependents_response.rbi +249 -0
  122. data/rbi/vitable_connect/models/member_list_employments_params.rbi +38 -0
  123. data/rbi/vitable_connect/models/member_list_employments_response.rbi +31 -0
  124. data/rbi/vitable_connect/models/member_list_enrollments_params.rbi +38 -0
  125. data/rbi/vitable_connect/models/member_list_enrollments_response.rbi +579 -0
  126. data/rbi/vitable_connect/models/member_list_id_cards_params.rbi +38 -0
  127. data/rbi/vitable_connect/models/member_list_id_cards_response.rbi +624 -0
  128. data/rbi/vitable_connect/models/member_list_params.rbi +71 -0
  129. data/rbi/vitable_connect/models/member_list_qualifying_life_events_params.rbi +130 -0
  130. data/rbi/vitable_connect/models/member_list_qualifying_life_events_response.rbi +192 -0
  131. data/rbi/vitable_connect/models/member_list_response.rbi +166 -0
  132. data/rbi/vitable_connect/models/member_retrieve_household_params.rbi +38 -0
  133. data/rbi/vitable_connect/models/member_retrieve_household_response.rbi +251 -0
  134. data/rbi/vitable_connect/models/member_retrieve_params.rbi +38 -0
  135. data/rbi/vitable_connect/models/member_retrieve_response.rbi +312 -0
  136. data/rbi/vitable_connect/models/organization_create_params.rbi +127 -0
  137. data/rbi/vitable_connect/models/organization_create_response.rbi +212 -0
  138. data/rbi/vitable_connect/models/organization_list_params.rbi +32 -0
  139. data/rbi/vitable_connect/models/organization_list_response.rbi +266 -0
  140. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +8 -8
  141. data/rbi/vitable_connect/models.rbi +66 -13
  142. data/rbi/vitable_connect/resources/employees.rbi +62 -3
  143. data/rbi/vitable_connect/resources/employers.rbi +373 -24
  144. data/rbi/vitable_connect/resources/enrollments.rbi +61 -0
  145. data/rbi/vitable_connect/resources/members.rbi +169 -0
  146. data/rbi/vitable_connect/resources/organizations.rbi +48 -0
  147. data/rbi/vitable_connect/resources/webhook_events.rbi +1 -1
  148. data/sig/vitable_connect/client.rbs +9 -3
  149. data/sig/vitable_connect/internal/transport/base_client.rbs +2 -0
  150. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +22 -4
  151. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +22 -4
  152. data/sig/vitable_connect/models/employee.rbs +65 -18
  153. data/sig/vitable_connect/models/employee_update_params.rbs +140 -0
  154. data/sig/vitable_connect/models/employee_update_response.rbs +13 -0
  155. data/sig/vitable_connect/models/employer.rbs +17 -5
  156. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbs +24 -0
  157. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbs +30 -0
  158. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbs +74 -0
  159. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbs +111 -0
  160. data/sig/vitable_connect/models/employer_list_benefit_plan_years_params.rbs +24 -0
  161. data/sig/vitable_connect/models/employer_list_benefit_plan_years_response.rbs +197 -0
  162. data/sig/vitable_connect/models/employer_list_employees_params.rbs +32 -1
  163. data/sig/vitable_connect/models/employer_list_hris_providers_params.rbs +15 -0
  164. data/sig/vitable_connect/models/employer_list_hris_providers_response.rbs +30 -0
  165. data/sig/vitable_connect/models/employer_list_invoices_params.rbs +34 -0
  166. data/sig/vitable_connect/models/employer_list_invoices_response.rbs +62 -0
  167. data/sig/vitable_connect/models/employer_list_params.rbs +94 -1
  168. data/sig/vitable_connect/models/{employer_create_benefit_eligibility_policy_params.rbs → employer_list_payroll_deduction_statements_params.rbs} +13 -9
  169. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbs +73 -0
  170. data/sig/vitable_connect/models/employer_list_response.rbs +179 -0
  171. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbs +28 -0
  172. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbs +540 -0
  173. data/sig/vitable_connect/models/employer_retrieve_hris_params.rbs +24 -0
  174. data/sig/vitable_connect/models/employer_retrieve_hris_response.rbs +50 -0
  175. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbs +28 -0
  176. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbs +13 -0
  177. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbs +24 -0
  178. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbs +32 -0
  179. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +5 -5
  180. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_params.rbs +198 -0
  181. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_response.rbs +32 -0
  182. data/sig/vitable_connect/models/employer_update_params.rbs +83 -0
  183. data/sig/vitable_connect/models/enrollment_reissue_params.rbs +41 -0
  184. data/sig/vitable_connect/models/enrollment_reissue_response.rbs +28 -0
  185. data/sig/vitable_connect/models/enrollment_terminate_params.rbs +41 -0
  186. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +69 -4
  187. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +8 -8
  188. data/sig/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbs → member_list_dependents_params.rbs} +6 -6
  189. data/sig/vitable_connect/models/member_list_dependents_response.rbs +96 -0
  190. data/sig/vitable_connect/models/member_list_employments_params.rbs +23 -0
  191. data/sig/vitable_connect/models/member_list_employments_response.rbs +14 -0
  192. data/sig/vitable_connect/models/member_list_enrollments_params.rbs +23 -0
  193. data/sig/vitable_connect/models/member_list_enrollments_response.rbs +215 -0
  194. data/sig/vitable_connect/models/member_list_id_cards_params.rbs +23 -0
  195. data/sig/vitable_connect/models/member_list_id_cards_response.rbs +256 -0
  196. data/sig/vitable_connect/models/member_list_params.rbs +38 -0
  197. data/sig/vitable_connect/models/member_list_qualifying_life_events_params.rbs +61 -0
  198. data/sig/vitable_connect/models/member_list_qualifying_life_events_response.rbs +67 -0
  199. data/sig/vitable_connect/models/member_list_response.rbs +82 -0
  200. data/sig/vitable_connect/models/member_retrieve_household_params.rbs +23 -0
  201. data/sig/vitable_connect/models/member_retrieve_household_response.rbs +92 -0
  202. data/sig/vitable_connect/models/member_retrieve_params.rbs +23 -0
  203. data/sig/vitable_connect/models/member_retrieve_response.rbs +143 -0
  204. data/sig/vitable_connect/models/organization_create_params.rbs +52 -0
  205. data/sig/vitable_connect/models/organization_create_response.rbs +77 -0
  206. data/sig/vitable_connect/models/organization_list_params.rbs +15 -0
  207. data/sig/vitable_connect/models/organization_list_response.rbs +99 -0
  208. data/sig/vitable_connect/models/webhook_event_list_params.rbs +2 -2
  209. data/sig/vitable_connect/models.rbs +50 -10
  210. data/sig/vitable_connect/resources/employees.rbs +13 -0
  211. data/sig/vitable_connect/resources/employers.rbs +103 -5
  212. data/sig/vitable_connect/resources/enrollments.rbs +16 -0
  213. data/sig/vitable_connect/resources/members.rbs +52 -0
  214. data/sig/vitable_connect/resources/organizations.rbs +17 -0
  215. metadata +155 -20
  216. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +0 -53
  217. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +0 -18
  218. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +0 -22
  219. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +0 -43
  220. data/lib/vitable_connect/models/type.rb +0 -17
  221. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -35
  222. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +0 -74
  223. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +0 -38
  224. data/rbi/vitable_connect/models/type.rbi +0 -21
  225. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -27
  226. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +0 -50
  227. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +0 -14
  228. data/sig/vitable_connect/models/type.rbs +0 -14
  229. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -12
@@ -51,14 +51,22 @@ module VitableConnect
51
51
  sig { returns(String) }
52
52
  attr_accessor :id
53
53
 
54
+ # Primary company-admin contact (email + phone; company admins have no person
55
+ # name).
56
+ sig { returns(T.nilable(VitableConnect::Employer::Contact)) }
57
+ attr_reader :contact
58
+
59
+ sig do
60
+ params(
61
+ contact: T.nilable(VitableConnect::Employer::Contact::OrHash)
62
+ ).void
63
+ end
64
+ attr_writer :contact
65
+
54
66
  # Employer Identification Number (masked in responses)
55
67
  sig { returns(T.nilable(String)) }
56
68
  attr_accessor :ein
57
69
 
58
- # ID of the benefit eligibility policy (epol\_\*), if assigned
59
- sig { returns(T.nilable(String)) }
60
- attr_accessor :eligibility_policy_id
61
-
62
70
  # ID of the parent organization (org\_\*)
63
71
  sig { returns(T.nilable(String)) }
64
72
  attr_accessor :organization_id
@@ -69,9 +77,9 @@ module VitableConnect
69
77
  id: String,
70
78
  active: T::Boolean,
71
79
  address: VitableConnect::Employer::Address::OrHash,
80
+ contact: T.nilable(VitableConnect::Employer::Contact::OrHash),
72
81
  created_at: Time,
73
82
  ein: T.nilable(String),
74
- eligibility_policy_id: T.nilable(String),
75
83
  legal_name: String,
76
84
  name: String,
77
85
  organization_id: T.nilable(String),
@@ -88,12 +96,13 @@ module VitableConnect
88
96
  active:,
89
97
  # Nested address within EmployerSerializer.
90
98
  address:,
99
+ # Primary company-admin contact (email + phone; company admins have no person
100
+ # name).
101
+ contact:,
91
102
  # Timestamp when the employer was created
92
103
  created_at:,
93
104
  # Employer Identification Number (masked in responses)
94
105
  ein:,
95
- # ID of the benefit eligibility policy (epol\_\*), if assigned
96
- eligibility_policy_id:,
97
106
  # Legal business name for compliance and tax purposes
98
107
  legal_name:,
99
108
  # Display name of the employer
@@ -117,9 +126,9 @@ module VitableConnect
117
126
  id: String,
118
127
  active: T::Boolean,
119
128
  address: VitableConnect::Employer::Address,
129
+ contact: T.nilable(VitableConnect::Employer::Contact),
120
130
  created_at: Time,
121
131
  ein: T.nilable(String),
122
- eligibility_policy_id: T.nilable(String),
123
132
  legal_name: String,
124
133
  name: String,
125
134
  organization_id: T.nilable(String),
@@ -200,6 +209,47 @@ module VitableConnect
200
209
  def to_hash
201
210
  end
202
211
  end
212
+
213
+ class Contact < VitableConnect::Internal::Type::BaseModel
214
+ OrHash =
215
+ T.type_alias do
216
+ T.any(
217
+ VitableConnect::Employer::Contact,
218
+ VitableConnect::Internal::AnyHash
219
+ )
220
+ end
221
+
222
+ # Primary contact email
223
+ sig { returns(T.nilable(String)) }
224
+ attr_accessor :email
225
+
226
+ # Primary contact phone, or null
227
+ sig { returns(T.nilable(String)) }
228
+ attr_accessor :phone
229
+
230
+ # Primary company-admin contact (email + phone; company admins have no person
231
+ # name).
232
+ sig do
233
+ params(email: T.nilable(String), phone: T.nilable(String)).returns(
234
+ T.attached_class
235
+ )
236
+ end
237
+ def self.new(
238
+ # Primary contact email
239
+ email:,
240
+ # Primary contact phone, or null
241
+ phone:
242
+ )
243
+ end
244
+
245
+ sig do
246
+ override.returns(
247
+ { email: T.nilable(String), phone: T.nilable(String) }
248
+ )
249
+ end
250
+ def to_hash
251
+ end
252
+ end
203
253
  end
204
254
  end
205
255
  end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployerEnsurePayrollIntegrationEmailParams < 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::EmployerEnsurePayrollIntegrationEmailParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Unique employer identifier (empr\_\*)
18
+ sig { returns(String) }
19
+ attr_accessor :employer_id
20
+
21
+ sig do
22
+ params(
23
+ employer_id: String,
24
+ request_options: VitableConnect::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # Unique employer identifier (empr\_\*)
29
+ employer_id:,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ employer_id: String,
38
+ request_options: VitableConnect::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployerEnsurePayrollIntegrationEmailResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::EmployerEnsurePayrollIntegrationEmailResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ VitableConnect::Models::EmployerEnsurePayrollIntegrationEmailResponse::Data
17
+ )
18
+ end
19
+ attr_reader :data
20
+
21
+ sig do
22
+ params(
23
+ data:
24
+ VitableConnect::Models::EmployerEnsurePayrollIntegrationEmailResponse::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # Response containing a single payroll integration email resource.
30
+ sig do
31
+ params(
32
+ data:
33
+ VitableConnect::Models::EmployerEnsurePayrollIntegrationEmailResponse::Data::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(data:)
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ data:
43
+ VitableConnect::Models::EmployerEnsurePayrollIntegrationEmailResponse::Data
44
+ }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+
50
+ class Data < VitableConnect::Internal::Type::BaseModel
51
+ OrHash =
52
+ T.type_alias do
53
+ T.any(
54
+ VitableConnect::Models::EmployerEnsurePayrollIntegrationEmailResponse::Data,
55
+ VitableConnect::Internal::AnyHash
56
+ )
57
+ end
58
+
59
+ sig { returns(String) }
60
+ attr_accessor :integration_email
61
+
62
+ sig { params(integration_email: String).returns(T.attached_class) }
63
+ def self.new(integration_email:)
64
+ end
65
+
66
+ sig { override.returns({ integration_email: String }) }
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,165 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployerListBenefitPlanYearEnrollmentsParams < 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::EmployerListBenefitPlanYearEnrollmentsParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Unique employer identifier (empr\_\*)
18
+ sig { returns(String) }
19
+ attr_accessor :employer_id
20
+
21
+ # Unique benefit-plan-year identifier (plyr\_\*).
22
+ sig { returns(String) }
23
+ attr_accessor :benefit_plan_year_id
24
+
25
+ # Filter by election status. Repeat the parameter to match several.
26
+ sig do
27
+ returns(
28
+ T.nilable(
29
+ T::Array[
30
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::OrSymbol
31
+ ]
32
+ )
33
+ )
34
+ end
35
+ attr_reader :election_status
36
+
37
+ sig do
38
+ params(
39
+ election_status:
40
+ T::Array[
41
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::OrSymbol
42
+ ]
43
+ ).void
44
+ end
45
+ attr_writer :election_status
46
+
47
+ # Items per page (default: 20, max: 100)
48
+ sig { returns(T.nilable(Integer)) }
49
+ attr_reader :limit
50
+
51
+ sig { params(limit: Integer).void }
52
+ attr_writer :limit
53
+
54
+ # Page number (default: 1)
55
+ sig { returns(T.nilable(Integer)) }
56
+ attr_reader :page
57
+
58
+ sig { params(page: Integer).void }
59
+ attr_writer :page
60
+
61
+ # Case-insensitive search. Matches member name partially, and the `member_id`
62
+ # exactly — either your own reference id or the prefixed `grpmbr_<...>` id.
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :search
65
+
66
+ sig { params(search: String).void }
67
+ attr_writer :search
68
+
69
+ sig do
70
+ params(
71
+ employer_id: String,
72
+ benefit_plan_year_id: String,
73
+ election_status:
74
+ T::Array[
75
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::OrSymbol
76
+ ],
77
+ limit: Integer,
78
+ page: Integer,
79
+ search: String,
80
+ request_options: VitableConnect::RequestOptions::OrHash
81
+ ).returns(T.attached_class)
82
+ end
83
+ def self.new(
84
+ # Unique employer identifier (empr\_\*)
85
+ employer_id:,
86
+ # Unique benefit-plan-year identifier (plyr\_\*).
87
+ benefit_plan_year_id:,
88
+ # Filter by election status. Repeat the parameter to match several.
89
+ election_status: nil,
90
+ # Items per page (default: 20, max: 100)
91
+ limit: nil,
92
+ # Page number (default: 1)
93
+ page: nil,
94
+ # Case-insensitive search. Matches member name partially, and the `member_id`
95
+ # exactly — either your own reference id or the prefixed `grpmbr_<...>` id.
96
+ search: nil,
97
+ request_options: {}
98
+ )
99
+ end
100
+
101
+ sig do
102
+ override.returns(
103
+ {
104
+ employer_id: String,
105
+ benefit_plan_year_id: String,
106
+ election_status:
107
+ T::Array[
108
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::OrSymbol
109
+ ],
110
+ limit: Integer,
111
+ page: Integer,
112
+ search: String,
113
+ request_options: VitableConnect::RequestOptions
114
+ }
115
+ )
116
+ end
117
+ def to_hash
118
+ end
119
+
120
+ module ElectionStatus
121
+ extend VitableConnect::Internal::Type::Enum
122
+
123
+ TaggedSymbol =
124
+ T.type_alias do
125
+ T.all(
126
+ Symbol,
127
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus
128
+ )
129
+ end
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ ENROLLED =
133
+ T.let(
134
+ :Enrolled,
135
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::TaggedSymbol
136
+ )
137
+ EXPIRED =
138
+ T.let(
139
+ :Expired,
140
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::TaggedSymbol
141
+ )
142
+ PENDING =
143
+ T.let(
144
+ :Pending,
145
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::TaggedSymbol
146
+ )
147
+ WAIVED =
148
+ T.let(
149
+ :Waived,
150
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::TaggedSymbol
151
+ )
152
+
153
+ sig do
154
+ override.returns(
155
+ T::Array[
156
+ VitableConnect::EmployerListBenefitPlanYearEnrollmentsParams::ElectionStatus::TaggedSymbol
157
+ ]
158
+ )
159
+ end
160
+ def self.values
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,278 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployerListBenefitPlanYearEnrollmentsResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The carrier for this enrollment: the individual-market carrier for an ICHRA
15
+ # plan, otherwise the benefit's own. Null when the benefit has no carrier.
16
+ sig { returns(T.nilable(String)) }
17
+ attr_accessor :carrier
18
+
19
+ # Dependents covered under this enrollment today. Counts the same dependents
20
+ # `premium_in_cents` is priced for, so a dependent whose termination is dated in
21
+ # the future still counts.
22
+ sig { returns(Integer) }
23
+ attr_accessor :dependent_count
24
+
25
+ # - `Enrolled` - Enrolled
26
+ # - `Waived` - Waived
27
+ # - `Pending` - Pending
28
+ # - `Expired` - Expired
29
+ sig do
30
+ returns(
31
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol
32
+ )
33
+ end
34
+ attr_accessor :election_status
35
+
36
+ # What the employee is deducted monthly, in cents: `premium_in_cents` less
37
+ # `employer_contribution_in_cents`, floored at zero. Null when unanswered/waived.
38
+ sig { returns(T.nilable(Integer)) }
39
+ attr_accessor :employee_deduction_in_cents
40
+
41
+ # Your own reference id for this employee, as you supplied it. Null when you have
42
+ # not set one.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_accessor :employee_external_reference_id
45
+
46
+ # Our id for this person's employment with this employer (`empl_<...>`). A person
47
+ # who leaves and is rehired has two.
48
+ sig { returns(String) }
49
+ attr_accessor :employee_id
50
+
51
+ # The employer's monthly share of `premium_in_cents`, in cents. Null when
52
+ # unanswered/waived.
53
+ sig { returns(T.nilable(Integer)) }
54
+ attr_accessor :employer_contribution_in_cents
55
+
56
+ # The member's first name.
57
+ sig { returns(String) }
58
+ attr_accessor :member_first_name
59
+
60
+ # Our id for the person (`mbr_<...>`). Stable across every employer they work for.
61
+ sig { returns(String) }
62
+ attr_accessor :member_id
63
+
64
+ # The member's last name.
65
+ sig { returns(String) }
66
+ attr_accessor :member_last_name
67
+
68
+ # Chosen plan name, or null when unanswered/waived.
69
+ sig { returns(T.nilable(String)) }
70
+ attr_accessor :plan
71
+
72
+ # - `Coverage Upcoming` - Coverage Upcoming
73
+ # - `Coverage Effective` - Coverage Effective
74
+ # - `Coverage Ended` - Coverage Ended
75
+ sig do
76
+ returns(
77
+ T.nilable(
78
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::TaggedSymbol
79
+ )
80
+ )
81
+ end
82
+ attr_accessor :policy_status
83
+
84
+ # Monthly premium in cents for the chosen plan, dependents included. The plan's
85
+ # own cost, not the employer's share of it. Null when unanswered/waived.
86
+ sig { returns(T.nilable(Integer)) }
87
+ attr_accessor :premium_in_cents
88
+
89
+ # Chosen coverage tier, or null when unanswered/waived.
90
+ sig { returns(T.nilable(String)) }
91
+ attr_accessor :tier
92
+
93
+ sig do
94
+ params(
95
+ carrier: T.nilable(String),
96
+ dependent_count: Integer,
97
+ election_status:
98
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::OrSymbol,
99
+ employee_deduction_in_cents: T.nilable(Integer),
100
+ employee_external_reference_id: T.nilable(String),
101
+ employee_id: String,
102
+ employer_contribution_in_cents: T.nilable(Integer),
103
+ member_first_name: String,
104
+ member_id: String,
105
+ member_last_name: String,
106
+ plan: T.nilable(String),
107
+ policy_status:
108
+ T.nilable(
109
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::OrSymbol
110
+ ),
111
+ premium_in_cents: T.nilable(Integer),
112
+ tier: T.nilable(String)
113
+ ).returns(T.attached_class)
114
+ end
115
+ def self.new(
116
+ # The carrier for this enrollment: the individual-market carrier for an ICHRA
117
+ # plan, otherwise the benefit's own. Null when the benefit has no carrier.
118
+ carrier:,
119
+ # Dependents covered under this enrollment today. Counts the same dependents
120
+ # `premium_in_cents` is priced for, so a dependent whose termination is dated in
121
+ # the future still counts.
122
+ dependent_count:,
123
+ # - `Enrolled` - Enrolled
124
+ # - `Waived` - Waived
125
+ # - `Pending` - Pending
126
+ # - `Expired` - Expired
127
+ election_status:,
128
+ # What the employee is deducted monthly, in cents: `premium_in_cents` less
129
+ # `employer_contribution_in_cents`, floored at zero. Null when unanswered/waived.
130
+ employee_deduction_in_cents:,
131
+ # Your own reference id for this employee, as you supplied it. Null when you have
132
+ # not set one.
133
+ employee_external_reference_id:,
134
+ # Our id for this person's employment with this employer (`empl_<...>`). A person
135
+ # who leaves and is rehired has two.
136
+ employee_id:,
137
+ # The employer's monthly share of `premium_in_cents`, in cents. Null when
138
+ # unanswered/waived.
139
+ employer_contribution_in_cents:,
140
+ # The member's first name.
141
+ member_first_name:,
142
+ # Our id for the person (`mbr_<...>`). Stable across every employer they work for.
143
+ member_id:,
144
+ # The member's last name.
145
+ member_last_name:,
146
+ # Chosen plan name, or null when unanswered/waived.
147
+ plan:,
148
+ # - `Coverage Upcoming` - Coverage Upcoming
149
+ # - `Coverage Effective` - Coverage Effective
150
+ # - `Coverage Ended` - Coverage Ended
151
+ policy_status:,
152
+ # Monthly premium in cents for the chosen plan, dependents included. The plan's
153
+ # own cost, not the employer's share of it. Null when unanswered/waived.
154
+ premium_in_cents:,
155
+ # Chosen coverage tier, or null when unanswered/waived.
156
+ tier:
157
+ )
158
+ end
159
+
160
+ sig do
161
+ override.returns(
162
+ {
163
+ carrier: T.nilable(String),
164
+ dependent_count: Integer,
165
+ election_status:
166
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol,
167
+ employee_deduction_in_cents: T.nilable(Integer),
168
+ employee_external_reference_id: T.nilable(String),
169
+ employee_id: String,
170
+ employer_contribution_in_cents: T.nilable(Integer),
171
+ member_first_name: String,
172
+ member_id: String,
173
+ member_last_name: String,
174
+ plan: T.nilable(String),
175
+ policy_status:
176
+ T.nilable(
177
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::TaggedSymbol
178
+ ),
179
+ premium_in_cents: T.nilable(Integer),
180
+ tier: T.nilable(String)
181
+ }
182
+ )
183
+ end
184
+ def to_hash
185
+ end
186
+
187
+ # - `Enrolled` - Enrolled
188
+ # - `Waived` - Waived
189
+ # - `Pending` - Pending
190
+ # - `Expired` - Expired
191
+ module ElectionStatus
192
+ extend VitableConnect::Internal::Type::Enum
193
+
194
+ TaggedSymbol =
195
+ T.type_alias do
196
+ T.all(
197
+ Symbol,
198
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus
199
+ )
200
+ end
201
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
202
+
203
+ ENROLLED =
204
+ T.let(
205
+ :Enrolled,
206
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol
207
+ )
208
+ WAIVED =
209
+ T.let(
210
+ :Waived,
211
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol
212
+ )
213
+ PENDING =
214
+ T.let(
215
+ :Pending,
216
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol
217
+ )
218
+ EXPIRED =
219
+ T.let(
220
+ :Expired,
221
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol
222
+ )
223
+
224
+ sig do
225
+ override.returns(
226
+ T::Array[
227
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::ElectionStatus::TaggedSymbol
228
+ ]
229
+ )
230
+ end
231
+ def self.values
232
+ end
233
+ end
234
+
235
+ # - `Coverage Upcoming` - Coverage Upcoming
236
+ # - `Coverage Effective` - Coverage Effective
237
+ # - `Coverage Ended` - Coverage Ended
238
+ module PolicyStatus
239
+ extend VitableConnect::Internal::Type::Enum
240
+
241
+ TaggedSymbol =
242
+ T.type_alias do
243
+ T.all(
244
+ Symbol,
245
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus
246
+ )
247
+ end
248
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
249
+
250
+ COVERAGE_UPCOMING =
251
+ T.let(
252
+ :"Coverage Upcoming",
253
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::TaggedSymbol
254
+ )
255
+ COVERAGE_EFFECTIVE =
256
+ T.let(
257
+ :"Coverage Effective",
258
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::TaggedSymbol
259
+ )
260
+ COVERAGE_ENDED =
261
+ T.let(
262
+ :"Coverage Ended",
263
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::TaggedSymbol
264
+ )
265
+
266
+ sig do
267
+ override.returns(
268
+ T::Array[
269
+ VitableConnect::Models::EmployerListBenefitPlanYearEnrollmentsResponse::PolicyStatus::TaggedSymbol
270
+ ]
271
+ )
272
+ end
273
+ def self.values
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end