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
@@ -0,0 +1,579 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class MemberListEnrollmentsResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::MemberListEnrollmentsResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ T::Array[VitableConnect::Models::MemberListEnrollmentsResponse::Data]
17
+ )
18
+ end
19
+ attr_accessor :data
20
+
21
+ # Unpaginated `{"data": [...]}` list of member enrollments.
22
+ sig do
23
+ params(
24
+ data:
25
+ T::Array[
26
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::OrHash
27
+ ]
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(data:)
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ data:
37
+ T::Array[
38
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data
39
+ ]
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+
46
+ class Data < VitableConnect::Internal::Type::BaseModel
47
+ OrHash =
48
+ T.type_alias do
49
+ T.any(
50
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data,
51
+ VitableConnect::Internal::AnyHash
52
+ )
53
+ end
54
+
55
+ # Opaque, stable enrollment identifier used to target enrollment actions
56
+ sig { returns(String) }
57
+ attr_accessor :id
58
+
59
+ # - `Medical` - Medical
60
+ # - `Dental` - Dental
61
+ # - `Vision` - Vision
62
+ # - `Hospital` - Hospital
63
+ sig do
64
+ returns(
65
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol
66
+ )
67
+ end
68
+ attr_accessor :benefit_type
69
+
70
+ # - `Enrolled` - Enrolled
71
+ # - `Waived` - Waived
72
+ # - `Pending` - Pending
73
+ # - `Expired` - Expired
74
+ sig do
75
+ returns(
76
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol
77
+ )
78
+ end
79
+ attr_accessor :election_status
80
+
81
+ # Name of the employer the enrollment is through
82
+ sig { returns(String) }
83
+ attr_accessor :employer_name
84
+
85
+ # Enrollment / open-enrollment window start date (YYYY-MM-DD)
86
+ sig { returns(Date) }
87
+ attr_accessor :enrollment_window_start
88
+
89
+ # True when today falls in the final month of the plan-year coverage window;
90
+ # drives end-of-coverage enrollment actions on the client.
91
+ sig { returns(T::Boolean) }
92
+ attr_accessor :in_last_month_of_coverage
93
+
94
+ # True when today falls inside the enrollment window this member has to answer in;
95
+ # drives enrollment-action availability on the client.
96
+ sig { returns(T::Boolean) }
97
+ attr_accessor :is_within_enrollment_window
98
+
99
+ # Benefit plan-year coverage end date (YYYY-MM-DD), distinct from this
100
+ # enrollment's coverage_end; null when the plan year is open-ended
101
+ sig { returns(T.nilable(Date)) }
102
+ attr_accessor :plan_year_coverage_end
103
+
104
+ # - `Coverage Upcoming` - Coverage Upcoming
105
+ # - `Coverage Effective` - Coverage Effective
106
+ # - `Coverage Ended` - Coverage Ended
107
+ sig do
108
+ returns(
109
+ T.nilable(
110
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::TaggedSymbol
111
+ )
112
+ )
113
+ end
114
+ attr_accessor :policy_status
115
+
116
+ # - `EBA` - Eba Mec
117
+ # - `VPC` - Vpc Enhanced
118
+ # - `VPC_CORE` - Vpc Core
119
+ # - `MEC` - Vpc Mec
120
+ # - `MEC2` - Mec2
121
+ # - `MEC_PLUS` - Mec Plus
122
+ # - `MVP` - Mvp
123
+ # - `MVP2` - Mvp2
124
+ # - `MVPSL` - Mvpsl
125
+ # - `MVPSL2` - Mvpsl2
126
+ # - `VD` - Dental
127
+ # - `VV` - Vision
128
+ # - `ICHRA` - Ichra
129
+ # - `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus
130
+ # - `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only
131
+ sig do
132
+ returns(
133
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
134
+ )
135
+ end
136
+ attr_accessor :product_code
137
+
138
+ # Display name of the benefit product
139
+ sig { returns(String) }
140
+ attr_accessor :product_name
141
+
142
+ # Whether a qualifying life event would be required to reissue this enrollment
143
+ # under the product and open-enrollment rule at the time this list was read
144
+ sig { returns(T::Boolean) }
145
+ attr_accessor :requires_qle_for_reissue
146
+
147
+ # Insurance carrier name; null when no active carrier period is resolvable
148
+ sig { returns(T.nilable(String)) }
149
+ attr_accessor :carrier_name
150
+
151
+ # Coverage window end date (YYYY-MM-DD); null while coverage is open-ended
152
+ sig { returns(T.nilable(Date)) }
153
+ attr_accessor :coverage_end
154
+
155
+ # Coverage window start date (YYYY-MM-DD)
156
+ sig { returns(T.nilable(Date)) }
157
+ attr_accessor :coverage_start
158
+
159
+ # Employee monthly payroll deduction in cents; null unless the row is an election
160
+ sig { returns(T.nilable(Integer)) }
161
+ attr_accessor :employee_deduction_in_cents
162
+
163
+ # Employer monthly contribution in cents; null unless the row is an election
164
+ sig { returns(T.nilable(Integer)) }
165
+ attr_accessor :employer_contribution_in_cents
166
+
167
+ # Enrollment / open-enrollment window end date (YYYY-MM-DD); null when open-ended
168
+ sig { returns(T.nilable(Date)) }
169
+ attr_accessor :enrollment_window_end
170
+
171
+ # Chosen benefit plan name; null unless the row is an election
172
+ sig { returns(T.nilable(String)) }
173
+ attr_accessor :plan_name
174
+
175
+ # Total monthly plan premium in cents; null unless the row is an election
176
+ sig { returns(T.nilable(Integer)) }
177
+ attr_accessor :premium_in_cents
178
+
179
+ # Chosen benefit plan tier name (e.g., Employee Only); null unless the row is an
180
+ # election
181
+ sig { returns(T.nilable(String)) }
182
+ attr_accessor :tier_name
183
+
184
+ # Wire serializer for :class:`MemberEnrollmentDTO` (one benefit enrollment row).
185
+ sig do
186
+ params(
187
+ id: String,
188
+ benefit_type:
189
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::OrSymbol,
190
+ election_status:
191
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::OrSymbol,
192
+ employer_name: String,
193
+ enrollment_window_start: Date,
194
+ in_last_month_of_coverage: T::Boolean,
195
+ is_within_enrollment_window: T::Boolean,
196
+ plan_year_coverage_end: T.nilable(Date),
197
+ policy_status:
198
+ T.nilable(
199
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::OrSymbol
200
+ ),
201
+ product_code:
202
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::OrSymbol,
203
+ product_name: String,
204
+ requires_qle_for_reissue: T::Boolean,
205
+ carrier_name: T.nilable(String),
206
+ coverage_end: T.nilable(Date),
207
+ coverage_start: T.nilable(Date),
208
+ employee_deduction_in_cents: T.nilable(Integer),
209
+ employer_contribution_in_cents: T.nilable(Integer),
210
+ enrollment_window_end: T.nilable(Date),
211
+ plan_name: T.nilable(String),
212
+ premium_in_cents: T.nilable(Integer),
213
+ tier_name: T.nilable(String)
214
+ ).returns(T.attached_class)
215
+ end
216
+ def self.new(
217
+ # Opaque, stable enrollment identifier used to target enrollment actions
218
+ id:,
219
+ # - `Medical` - Medical
220
+ # - `Dental` - Dental
221
+ # - `Vision` - Vision
222
+ # - `Hospital` - Hospital
223
+ benefit_type:,
224
+ # - `Enrolled` - Enrolled
225
+ # - `Waived` - Waived
226
+ # - `Pending` - Pending
227
+ # - `Expired` - Expired
228
+ election_status:,
229
+ # Name of the employer the enrollment is through
230
+ employer_name:,
231
+ # Enrollment / open-enrollment window start date (YYYY-MM-DD)
232
+ enrollment_window_start:,
233
+ # True when today falls in the final month of the plan-year coverage window;
234
+ # drives end-of-coverage enrollment actions on the client.
235
+ in_last_month_of_coverage:,
236
+ # True when today falls inside the enrollment window this member has to answer in;
237
+ # drives enrollment-action availability on the client.
238
+ is_within_enrollment_window:,
239
+ # Benefit plan-year coverage end date (YYYY-MM-DD), distinct from this
240
+ # enrollment's coverage_end; null when the plan year is open-ended
241
+ plan_year_coverage_end:,
242
+ # - `Coverage Upcoming` - Coverage Upcoming
243
+ # - `Coverage Effective` - Coverage Effective
244
+ # - `Coverage Ended` - Coverage Ended
245
+ policy_status:,
246
+ # - `EBA` - Eba Mec
247
+ # - `VPC` - Vpc Enhanced
248
+ # - `VPC_CORE` - Vpc Core
249
+ # - `MEC` - Vpc Mec
250
+ # - `MEC2` - Mec2
251
+ # - `MEC_PLUS` - Mec Plus
252
+ # - `MVP` - Mvp
253
+ # - `MVP2` - Mvp2
254
+ # - `MVPSL` - Mvpsl
255
+ # - `MVPSL2` - Mvpsl2
256
+ # - `VD` - Dental
257
+ # - `VV` - Vision
258
+ # - `ICHRA` - Ichra
259
+ # - `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus
260
+ # - `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only
261
+ product_code:,
262
+ # Display name of the benefit product
263
+ product_name:,
264
+ # Whether a qualifying life event would be required to reissue this enrollment
265
+ # under the product and open-enrollment rule at the time this list was read
266
+ requires_qle_for_reissue:,
267
+ # Insurance carrier name; null when no active carrier period is resolvable
268
+ carrier_name: nil,
269
+ # Coverage window end date (YYYY-MM-DD); null while coverage is open-ended
270
+ coverage_end: nil,
271
+ # Coverage window start date (YYYY-MM-DD)
272
+ coverage_start: nil,
273
+ # Employee monthly payroll deduction in cents; null unless the row is an election
274
+ employee_deduction_in_cents: nil,
275
+ # Employer monthly contribution in cents; null unless the row is an election
276
+ employer_contribution_in_cents: nil,
277
+ # Enrollment / open-enrollment window end date (YYYY-MM-DD); null when open-ended
278
+ enrollment_window_end: nil,
279
+ # Chosen benefit plan name; null unless the row is an election
280
+ plan_name: nil,
281
+ # Total monthly plan premium in cents; null unless the row is an election
282
+ premium_in_cents: nil,
283
+ # Chosen benefit plan tier name (e.g., Employee Only); null unless the row is an
284
+ # election
285
+ tier_name: nil
286
+ )
287
+ end
288
+
289
+ sig do
290
+ override.returns(
291
+ {
292
+ id: String,
293
+ benefit_type:
294
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol,
295
+ election_status:
296
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol,
297
+ employer_name: String,
298
+ enrollment_window_start: Date,
299
+ in_last_month_of_coverage: T::Boolean,
300
+ is_within_enrollment_window: T::Boolean,
301
+ plan_year_coverage_end: T.nilable(Date),
302
+ policy_status:
303
+ T.nilable(
304
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::TaggedSymbol
305
+ ),
306
+ product_code:
307
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol,
308
+ product_name: String,
309
+ requires_qle_for_reissue: T::Boolean,
310
+ carrier_name: T.nilable(String),
311
+ coverage_end: T.nilable(Date),
312
+ coverage_start: T.nilable(Date),
313
+ employee_deduction_in_cents: T.nilable(Integer),
314
+ employer_contribution_in_cents: T.nilable(Integer),
315
+ enrollment_window_end: T.nilable(Date),
316
+ plan_name: T.nilable(String),
317
+ premium_in_cents: T.nilable(Integer),
318
+ tier_name: T.nilable(String)
319
+ }
320
+ )
321
+ end
322
+ def to_hash
323
+ end
324
+
325
+ # - `Medical` - Medical
326
+ # - `Dental` - Dental
327
+ # - `Vision` - Vision
328
+ # - `Hospital` - Hospital
329
+ module BenefitType
330
+ extend VitableConnect::Internal::Type::Enum
331
+
332
+ TaggedSymbol =
333
+ T.type_alias do
334
+ T.all(
335
+ Symbol,
336
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType
337
+ )
338
+ end
339
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
340
+
341
+ MEDICAL =
342
+ T.let(
343
+ :Medical,
344
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol
345
+ )
346
+ DENTAL =
347
+ T.let(
348
+ :Dental,
349
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol
350
+ )
351
+ VISION =
352
+ T.let(
353
+ :Vision,
354
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol
355
+ )
356
+ HOSPITAL =
357
+ T.let(
358
+ :Hospital,
359
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol
360
+ )
361
+
362
+ sig do
363
+ override.returns(
364
+ T::Array[
365
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::BenefitType::TaggedSymbol
366
+ ]
367
+ )
368
+ end
369
+ def self.values
370
+ end
371
+ end
372
+
373
+ # - `Enrolled` - Enrolled
374
+ # - `Waived` - Waived
375
+ # - `Pending` - Pending
376
+ # - `Expired` - Expired
377
+ module ElectionStatus
378
+ extend VitableConnect::Internal::Type::Enum
379
+
380
+ TaggedSymbol =
381
+ T.type_alias do
382
+ T.all(
383
+ Symbol,
384
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus
385
+ )
386
+ end
387
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
388
+
389
+ ENROLLED =
390
+ T.let(
391
+ :Enrolled,
392
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol
393
+ )
394
+ WAIVED =
395
+ T.let(
396
+ :Waived,
397
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol
398
+ )
399
+ PENDING =
400
+ T.let(
401
+ :Pending,
402
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol
403
+ )
404
+ EXPIRED =
405
+ T.let(
406
+ :Expired,
407
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol
408
+ )
409
+
410
+ sig do
411
+ override.returns(
412
+ T::Array[
413
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ElectionStatus::TaggedSymbol
414
+ ]
415
+ )
416
+ end
417
+ def self.values
418
+ end
419
+ end
420
+
421
+ # - `Coverage Upcoming` - Coverage Upcoming
422
+ # - `Coverage Effective` - Coverage Effective
423
+ # - `Coverage Ended` - Coverage Ended
424
+ module PolicyStatus
425
+ extend VitableConnect::Internal::Type::Enum
426
+
427
+ TaggedSymbol =
428
+ T.type_alias do
429
+ T.all(
430
+ Symbol,
431
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus
432
+ )
433
+ end
434
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
435
+
436
+ COVERAGE_UPCOMING =
437
+ T.let(
438
+ :"Coverage Upcoming",
439
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::TaggedSymbol
440
+ )
441
+ COVERAGE_EFFECTIVE =
442
+ T.let(
443
+ :"Coverage Effective",
444
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::TaggedSymbol
445
+ )
446
+ COVERAGE_ENDED =
447
+ T.let(
448
+ :"Coverage Ended",
449
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::TaggedSymbol
450
+ )
451
+
452
+ sig do
453
+ override.returns(
454
+ T::Array[
455
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::PolicyStatus::TaggedSymbol
456
+ ]
457
+ )
458
+ end
459
+ def self.values
460
+ end
461
+ end
462
+
463
+ # - `EBA` - Eba Mec
464
+ # - `VPC` - Vpc Enhanced
465
+ # - `VPC_CORE` - Vpc Core
466
+ # - `MEC` - Vpc Mec
467
+ # - `MEC2` - Mec2
468
+ # - `MEC_PLUS` - Mec Plus
469
+ # - `MVP` - Mvp
470
+ # - `MVP2` - Mvp2
471
+ # - `MVPSL` - Mvpsl
472
+ # - `MVPSL2` - Mvpsl2
473
+ # - `VD` - Dental
474
+ # - `VV` - Vision
475
+ # - `ICHRA` - Ichra
476
+ # - `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus
477
+ # - `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only
478
+ module ProductCode
479
+ extend VitableConnect::Internal::Type::Enum
480
+
481
+ TaggedSymbol =
482
+ T.type_alias do
483
+ T.all(
484
+ Symbol,
485
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode
486
+ )
487
+ end
488
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
489
+
490
+ EBA =
491
+ T.let(
492
+ :EBA,
493
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
494
+ )
495
+ VPC =
496
+ T.let(
497
+ :VPC,
498
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
499
+ )
500
+ VPC_CORE =
501
+ T.let(
502
+ :VPC_CORE,
503
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
504
+ )
505
+ MEC =
506
+ T.let(
507
+ :MEC,
508
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
509
+ )
510
+ MEC2 =
511
+ T.let(
512
+ :MEC2,
513
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
514
+ )
515
+ MEC_PLUS =
516
+ T.let(
517
+ :MEC_PLUS,
518
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
519
+ )
520
+ MVP =
521
+ T.let(
522
+ :MVP,
523
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
524
+ )
525
+ MVP2 =
526
+ T.let(
527
+ :MVP2,
528
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
529
+ )
530
+ MVPSL =
531
+ T.let(
532
+ :MVPSL,
533
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
534
+ )
535
+ MVPSL2 =
536
+ T.let(
537
+ :MVPSL2,
538
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
539
+ )
540
+ VD =
541
+ T.let(
542
+ :VD,
543
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
544
+ )
545
+ VV =
546
+ T.let(
547
+ :VV,
548
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
549
+ )
550
+ ICHRA =
551
+ T.let(
552
+ :ICHRA,
553
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
554
+ )
555
+ ICHRA_PREMIUM_PLUS =
556
+ T.let(
557
+ :ICHRA_PREMIUM_PLUS,
558
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
559
+ )
560
+ ICHRA_REIMBURSEMENT_ONLY =
561
+ T.let(
562
+ :ICHRA_REIMBURSEMENT_ONLY,
563
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
564
+ )
565
+
566
+ sig do
567
+ override.returns(
568
+ T::Array[
569
+ VitableConnect::Models::MemberListEnrollmentsResponse::Data::ProductCode::TaggedSymbol
570
+ ]
571
+ )
572
+ end
573
+ def self.values
574
+ end
575
+ end
576
+ end
577
+ end
578
+ end
579
+ end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class MemberListIDCardsParams < 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::MemberListIDCardsParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :member_id
19
+
20
+ sig do
21
+ params(
22
+ member_id: String,
23
+ request_options: VitableConnect::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(member_id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { member_id: String, request_options: VitableConnect::RequestOptions }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end