vitable-connect 0.1.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 (185) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +39 -0
  4. data/README.md +267 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/vitable_connect/client.rb +118 -0
  7. data/lib/vitable_connect/errors.rb +228 -0
  8. data/lib/vitable_connect/file_part.rb +58 -0
  9. data/lib/vitable_connect/internal/page_number_page.rb +113 -0
  10. data/lib/vitable_connect/internal/transport/base_client.rb +577 -0
  11. data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/vitable_connect/internal/type/array_of.rb +168 -0
  13. data/lib/vitable_connect/internal/type/base_model.rb +534 -0
  14. data/lib/vitable_connect/internal/type/base_page.rb +55 -0
  15. data/lib/vitable_connect/internal/type/boolean.rb +77 -0
  16. data/lib/vitable_connect/internal/type/converter.rb +327 -0
  17. data/lib/vitable_connect/internal/type/enum.rb +152 -0
  18. data/lib/vitable_connect/internal/type/file_input.rb +111 -0
  19. data/lib/vitable_connect/internal/type/hash_of.rb +188 -0
  20. data/lib/vitable_connect/internal/type/request_parameters.rb +42 -0
  21. data/lib/vitable_connect/internal/type/union.rb +245 -0
  22. data/lib/vitable_connect/internal/type/unknown.rb +81 -0
  23. data/lib/vitable_connect/internal/util.rb +951 -0
  24. data/lib/vitable_connect/internal.rb +20 -0
  25. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +68 -0
  26. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +70 -0
  27. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +53 -0
  28. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +18 -0
  29. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +22 -0
  30. data/lib/vitable_connect/models/employee.rb +244 -0
  31. data/lib/vitable_connect/models/employee_class.rb +25 -0
  32. data/lib/vitable_connect/models/employee_list_enrollments_params.rb +38 -0
  33. data/lib/vitable_connect/models/employee_retrieve_params.rb +22 -0
  34. data/lib/vitable_connect/models/employee_retrieve_response.rb +18 -0
  35. data/lib/vitable_connect/models/employer.rb +163 -0
  36. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +43 -0
  37. data/lib/vitable_connect/models/employer_create_params.rb +115 -0
  38. data/lib/vitable_connect/models/employer_list_employees_params.rb +38 -0
  39. data/lib/vitable_connect/models/employer_list_params.rb +30 -0
  40. data/lib/vitable_connect/models/employer_response.rb +19 -0
  41. data/lib/vitable_connect/models/employer_retrieve_params.rb +22 -0
  42. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +374 -0
  43. data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +35 -0
  44. data/lib/vitable_connect/models/enrollment.rb +234 -0
  45. data/lib/vitable_connect/models/enrollment_retrieve_params.rb +22 -0
  46. data/lib/vitable_connect/models/enrollment_retrieve_response.rb +18 -0
  47. data/lib/vitable_connect/models/enrollment_status.rb +21 -0
  48. data/lib/vitable_connect/models/pagination.rb +42 -0
  49. data/lib/vitable_connect/models/type.rb +17 -0
  50. data/lib/vitable_connect/models/webhook_event.rb +62 -0
  51. data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +20 -0
  52. data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +92 -0
  53. data/lib/vitable_connect/models/webhook_event_list_params.rb +135 -0
  54. data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +20 -0
  55. data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +18 -0
  56. data/lib/vitable_connect/models.rb +95 -0
  57. data/lib/vitable_connect/request_options.rb +78 -0
  58. data/lib/vitable_connect/resources/auth.rb +41 -0
  59. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +35 -0
  60. data/lib/vitable_connect/resources/employees.rb +63 -0
  61. data/lib/vitable_connect/resources/employers.rb +184 -0
  62. data/lib/vitable_connect/resources/enrollments.rb +35 -0
  63. data/lib/vitable_connect/resources/webhook_events.rb +95 -0
  64. data/lib/vitable_connect/version.rb +5 -0
  65. data/lib/vitable_connect.rb +93 -0
  66. data/manifest.yaml +17 -0
  67. data/rbi/vitable_connect/client.rbi +88 -0
  68. data/rbi/vitable_connect/errors.rbi +205 -0
  69. data/rbi/vitable_connect/file_part.rbi +37 -0
  70. data/rbi/vitable_connect/internal/page_number_page.rbi +49 -0
  71. data/rbi/vitable_connect/internal/transport/base_client.rbi +307 -0
  72. data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +84 -0
  73. data/rbi/vitable_connect/internal/type/array_of.rbi +108 -0
  74. data/rbi/vitable_connect/internal/type/base_model.rbi +314 -0
  75. data/rbi/vitable_connect/internal/type/base_page.rbi +43 -0
  76. data/rbi/vitable_connect/internal/type/boolean.rbi +58 -0
  77. data/rbi/vitable_connect/internal/type/converter.rbi +225 -0
  78. data/rbi/vitable_connect/internal/type/enum.rbi +82 -0
  79. data/rbi/vitable_connect/internal/type/file_input.rbi +59 -0
  80. data/rbi/vitable_connect/internal/type/hash_of.rbi +108 -0
  81. data/rbi/vitable_connect/internal/type/request_parameters.rbi +31 -0
  82. data/rbi/vitable_connect/internal/type/union.rbi +130 -0
  83. data/rbi/vitable_connect/internal/type/unknown.rbi +58 -0
  84. data/rbi/vitable_connect/internal/util.rbi +507 -0
  85. data/rbi/vitable_connect/internal.rbi +18 -0
  86. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +147 -0
  87. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +128 -0
  88. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +74 -0
  89. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +38 -0
  90. data/rbi/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbi +43 -0
  91. data/rbi/vitable_connect/models/employee.rbi +316 -0
  92. data/rbi/vitable_connect/models/employee_class.rbi +38 -0
  93. data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +68 -0
  94. data/rbi/vitable_connect/models/employee_retrieve_params.rbi +46 -0
  95. data/rbi/vitable_connect/models/employee_retrieve_response.rbi +32 -0
  96. data/rbi/vitable_connect/models/employer.rbi +205 -0
  97. data/rbi/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbi +64 -0
  98. data/rbi/vitable_connect/models/employer_create_params.rbi +169 -0
  99. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +68 -0
  100. data/rbi/vitable_connect/models/employer_list_params.rbi +60 -0
  101. data/rbi/vitable_connect/models/employer_response.rbi +36 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_params.rbi +46 -0
  103. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +819 -0
  104. data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +76 -0
  105. data/rbi/vitable_connect/models/enrollment.rbi +401 -0
  106. data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +46 -0
  107. data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +34 -0
  108. data/rbi/vitable_connect/models/enrollment_status.rbi +32 -0
  109. data/rbi/vitable_connect/models/pagination.rbi +62 -0
  110. data/rbi/vitable_connect/models/type.rbi +21 -0
  111. data/rbi/vitable_connect/models/webhook_event.rbi +81 -0
  112. data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +38 -0
  113. data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +147 -0
  114. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +307 -0
  115. data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +38 -0
  116. data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +34 -0
  117. data/rbi/vitable_connect/models.rbi +62 -0
  118. data/rbi/vitable_connect/request_options.rbi +61 -0
  119. data/rbi/vitable_connect/resources/auth.rbi +36 -0
  120. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +27 -0
  121. data/rbi/vitable_connect/resources/employees.rbi +49 -0
  122. data/rbi/vitable_connect/resources/employers.rbi +147 -0
  123. data/rbi/vitable_connect/resources/enrollments.rbi +27 -0
  124. data/rbi/vitable_connect/resources/webhook_events.rbi +84 -0
  125. data/rbi/vitable_connect/version.rbi +5 -0
  126. data/sig/vitable_connect/client.rbs +42 -0
  127. data/sig/vitable_connect/errors.rbs +117 -0
  128. data/sig/vitable_connect/file_part.rbs +21 -0
  129. data/sig/vitable_connect/internal/page_number_page.rbs +28 -0
  130. data/sig/vitable_connect/internal/transport/base_client.rbs +133 -0
  131. data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +48 -0
  132. data/sig/vitable_connect/internal/type/array_of.rbs +48 -0
  133. data/sig/vitable_connect/internal/type/base_model.rbs +104 -0
  134. data/sig/vitable_connect/internal/type/base_page.rbs +24 -0
  135. data/sig/vitable_connect/internal/type/boolean.rbs +26 -0
  136. data/sig/vitable_connect/internal/type/converter.rbs +79 -0
  137. data/sig/vitable_connect/internal/type/enum.rbs +32 -0
  138. data/sig/vitable_connect/internal/type/file_input.rbs +25 -0
  139. data/sig/vitable_connect/internal/type/hash_of.rbs +48 -0
  140. data/sig/vitable_connect/internal/type/request_parameters.rbs +20 -0
  141. data/sig/vitable_connect/internal/type/union.rbs +52 -0
  142. data/sig/vitable_connect/internal/type/unknown.rbs +26 -0
  143. data/sig/vitable_connect/internal/util.rbs +195 -0
  144. data/sig/vitable_connect/internal.rbs +10 -0
  145. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +56 -0
  146. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +50 -0
  147. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +50 -0
  148. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +14 -0
  149. data/sig/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbs +23 -0
  150. data/sig/vitable_connect/models/employee.rbs +169 -0
  151. data/sig/vitable_connect/models/employee_class.rbs +24 -0
  152. data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +36 -0
  153. data/sig/vitable_connect/models/employee_retrieve_params.rbs +24 -0
  154. data/sig/vitable_connect/models/employee_retrieve_response.rbs +13 -0
  155. data/sig/vitable_connect/models/employer.rbs +117 -0
  156. data/sig/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbs +32 -0
  157. data/sig/vitable_connect/models/employer_create_params.rbs +93 -0
  158. data/sig/vitable_connect/models/employer_list_employees_params.rbs +36 -0
  159. data/sig/vitable_connect/models/employer_list_params.rbs +32 -0
  160. data/sig/vitable_connect/models/employer_response.rbs +13 -0
  161. data/sig/vitable_connect/models/employer_retrieve_params.rbs +24 -0
  162. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +274 -0
  163. data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +30 -0
  164. data/sig/vitable_connect/models/enrollment.rbs +164 -0
  165. data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +24 -0
  166. data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +13 -0
  167. data/sig/vitable_connect/models/enrollment_status.rbs +16 -0
  168. data/sig/vitable_connect/models/pagination.rbs +30 -0
  169. data/sig/vitable_connect/models/type.rbs +14 -0
  170. data/sig/vitable_connect/models/webhook_event.rbs +45 -0
  171. data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +23 -0
  172. data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +77 -0
  173. data/sig/vitable_connect/models/webhook_event_list_params.rbs +126 -0
  174. data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +23 -0
  175. data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +14 -0
  176. data/sig/vitable_connect/models.rbs +51 -0
  177. data/sig/vitable_connect/request_options.rbs +36 -0
  178. data/sig/vitable_connect/resources/auth.rbs +13 -0
  179. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +12 -0
  180. data/sig/vitable_connect/resources/employees.rbs +19 -0
  181. data/sig/vitable_connect/resources/employers.rbs +49 -0
  182. data/sig/vitable_connect/resources/enrollments.rbs +12 -0
  183. data/sig/vitable_connect/resources/webhook_events.rbs +28 -0
  184. data/sig/vitable_connect/version.rbs +3 -0
  185. metadata +256 -0
@@ -0,0 +1,76 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployerSubmitCensusSyncResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::EmployerSubmitCensusSyncResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(VitableConnect::Models::EmployerSubmitCensusSyncResponse::Data)
16
+ end
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(
21
+ data:
22
+ VitableConnect::Models::EmployerSubmitCensusSyncResponse::Data::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :data
26
+
27
+ # Response containing a single census sync detail resource.
28
+ sig do
29
+ params(
30
+ data:
31
+ VitableConnect::Models::EmployerSubmitCensusSyncResponse::Data::OrHash
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(data:)
35
+ end
36
+
37
+ sig do
38
+ override.returns(
39
+ {
40
+ data: VitableConnect::Models::EmployerSubmitCensusSyncResponse::Data
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ class Data < VitableConnect::Internal::Type::BaseModel
48
+ OrHash =
49
+ T.type_alias do
50
+ T.any(
51
+ VitableConnect::Models::EmployerSubmitCensusSyncResponse::Data,
52
+ VitableConnect::Internal::AnyHash
53
+ )
54
+ end
55
+
56
+ sig { returns(Time) }
57
+ attr_accessor :accepted_at
58
+
59
+ sig { returns(String) }
60
+ attr_accessor :employer_id
61
+
62
+ sig do
63
+ params(accepted_at: Time, employer_id: String).returns(
64
+ T.attached_class
65
+ )
66
+ end
67
+ def self.new(accepted_at:, employer_id:)
68
+ end
69
+
70
+ sig { override.returns({ accepted_at: Time, employer_id: String }) }
71
+ def to_hash
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,401 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class Enrollment < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(VitableConnect::Enrollment, VitableConnect::Internal::AnyHash)
9
+ end
10
+
11
+ # Unique enrollment identifier (enrl\_\*)
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # When the employee enrolled or waived
16
+ sig { returns(T.nilable(Time)) }
17
+ attr_accessor :answered_at
18
+
19
+ # Nested benefit product summary
20
+ sig { returns(VitableConnect::Enrollment::Benefit) }
21
+ attr_reader :benefit
22
+
23
+ sig { params(benefit: VitableConnect::Enrollment::Benefit::OrHash).void }
24
+ attr_writer :benefit
25
+
26
+ # Coverage period end date
27
+ sig { returns(T.nilable(Date)) }
28
+ attr_accessor :coverage_end
29
+
30
+ # Coverage period start date
31
+ sig { returns(Date) }
32
+ attr_accessor :coverage_start
33
+
34
+ # When the enrollment was created
35
+ sig { returns(Time) }
36
+ attr_accessor :created_at
37
+
38
+ # Employee monthly payroll deduction in cents
39
+ sig { returns(T.nilable(Integer)) }
40
+ attr_accessor :employee_deduction_in_cents
41
+
42
+ # Employee ID (empl\_\*)
43
+ sig { returns(String) }
44
+ attr_accessor :employee_id
45
+
46
+ # Employer monthly contribution in cents
47
+ sig { returns(T.nilable(Integer)) }
48
+ attr_accessor :employer_contribution_in_cents
49
+
50
+ # Employer ID (empr\_\*)
51
+ sig { returns(String) }
52
+ attr_accessor :employer_id
53
+
54
+ # - `pending` - Pending
55
+ # - `enrolled` - Enrolled
56
+ # - `waived` - Waived
57
+ # - `inactive` - Inactive
58
+ sig { returns(VitableConnect::EnrollmentStatus::TaggedSymbol) }
59
+ attr_accessor :status
60
+
61
+ # When coverage was terminated
62
+ sig { returns(T.nilable(Time)) }
63
+ attr_accessor :terminated_at
64
+
65
+ # When the enrollment was last updated
66
+ sig { returns(Time) }
67
+ attr_accessor :updated_at
68
+
69
+ sig do
70
+ params(
71
+ id: String,
72
+ answered_at: T.nilable(Time),
73
+ benefit: VitableConnect::Enrollment::Benefit::OrHash,
74
+ coverage_end: T.nilable(Date),
75
+ coverage_start: Date,
76
+ created_at: Time,
77
+ employee_deduction_in_cents: T.nilable(Integer),
78
+ employee_id: String,
79
+ employer_contribution_in_cents: T.nilable(Integer),
80
+ employer_id: String,
81
+ status: VitableConnect::EnrollmentStatus::OrSymbol,
82
+ terminated_at: T.nilable(Time),
83
+ updated_at: Time
84
+ ).returns(T.attached_class)
85
+ end
86
+ def self.new(
87
+ # Unique enrollment identifier (enrl\_\*)
88
+ id:,
89
+ # When the employee enrolled or waived
90
+ answered_at:,
91
+ # Nested benefit product summary
92
+ benefit:,
93
+ # Coverage period end date
94
+ coverage_end:,
95
+ # Coverage period start date
96
+ coverage_start:,
97
+ # When the enrollment was created
98
+ created_at:,
99
+ # Employee monthly payroll deduction in cents
100
+ employee_deduction_in_cents:,
101
+ # Employee ID (empl\_\*)
102
+ employee_id:,
103
+ # Employer monthly contribution in cents
104
+ employer_contribution_in_cents:,
105
+ # Employer ID (empr\_\*)
106
+ employer_id:,
107
+ # - `pending` - Pending
108
+ # - `enrolled` - Enrolled
109
+ # - `waived` - Waived
110
+ # - `inactive` - Inactive
111
+ status:,
112
+ # When coverage was terminated
113
+ terminated_at:,
114
+ # When the enrollment was last updated
115
+ updated_at:
116
+ )
117
+ end
118
+
119
+ sig do
120
+ override.returns(
121
+ {
122
+ id: String,
123
+ answered_at: T.nilable(Time),
124
+ benefit: VitableConnect::Enrollment::Benefit,
125
+ coverage_end: T.nilable(Date),
126
+ coverage_start: Date,
127
+ created_at: Time,
128
+ employee_deduction_in_cents: T.nilable(Integer),
129
+ employee_id: String,
130
+ employer_contribution_in_cents: T.nilable(Integer),
131
+ employer_id: String,
132
+ status: VitableConnect::EnrollmentStatus::TaggedSymbol,
133
+ terminated_at: T.nilable(Time),
134
+ updated_at: Time
135
+ }
136
+ )
137
+ end
138
+ def to_hash
139
+ end
140
+
141
+ class Benefit < VitableConnect::Internal::Type::BaseModel
142
+ OrHash =
143
+ T.type_alias do
144
+ T.any(
145
+ VitableConnect::Enrollment::Benefit,
146
+ VitableConnect::Internal::AnyHash
147
+ )
148
+ end
149
+
150
+ # Benefit product ID (bprd\_\*)
151
+ sig { returns(String) }
152
+ attr_accessor :id
153
+
154
+ # - `Medical` - Medical
155
+ # - `Dental` - Dental
156
+ # - `Vision` - Vision
157
+ # - `Hospital` - Hospital
158
+ sig do
159
+ returns(VitableConnect::Enrollment::Benefit::Category::TaggedSymbol)
160
+ end
161
+ attr_accessor :category
162
+
163
+ # Display name of the benefit product
164
+ sig { returns(String) }
165
+ attr_accessor :name
166
+
167
+ # - `EBA` - Eba Mec
168
+ # - `VPC` - Vpc Enhanced
169
+ # - `VPC_CORE` - Vpc Core
170
+ # - `MEC` - Vpc Mec
171
+ # - `MEC2` - Mec2
172
+ # - `MEC_PLUS` - Mec Plus
173
+ # - `MVP` - Mvp
174
+ # - `MVP2` - Mvp2
175
+ # - `MVPSL` - Mvpsl
176
+ # - `MVPSL2` - Mvpsl2
177
+ # - `VD` - Dental
178
+ # - `VV` - Vision
179
+ # - `ICHRA` - Ichra
180
+ # - `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus
181
+ # - `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only
182
+ sig do
183
+ returns(
184
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
185
+ )
186
+ end
187
+ attr_accessor :product_code
188
+
189
+ # Nested benefit product summary
190
+ sig do
191
+ params(
192
+ id: String,
193
+ category: VitableConnect::Enrollment::Benefit::Category::OrSymbol,
194
+ name: String,
195
+ product_code:
196
+ VitableConnect::Enrollment::Benefit::ProductCode::OrSymbol
197
+ ).returns(T.attached_class)
198
+ end
199
+ def self.new(
200
+ # Benefit product ID (bprd\_\*)
201
+ id:,
202
+ # - `Medical` - Medical
203
+ # - `Dental` - Dental
204
+ # - `Vision` - Vision
205
+ # - `Hospital` - Hospital
206
+ category:,
207
+ # Display name of the benefit product
208
+ name:,
209
+ # - `EBA` - Eba Mec
210
+ # - `VPC` - Vpc Enhanced
211
+ # - `VPC_CORE` - Vpc Core
212
+ # - `MEC` - Vpc Mec
213
+ # - `MEC2` - Mec2
214
+ # - `MEC_PLUS` - Mec Plus
215
+ # - `MVP` - Mvp
216
+ # - `MVP2` - Mvp2
217
+ # - `MVPSL` - Mvpsl
218
+ # - `MVPSL2` - Mvpsl2
219
+ # - `VD` - Dental
220
+ # - `VV` - Vision
221
+ # - `ICHRA` - Ichra
222
+ # - `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus
223
+ # - `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only
224
+ product_code:
225
+ )
226
+ end
227
+
228
+ sig do
229
+ override.returns(
230
+ {
231
+ id: String,
232
+ category:
233
+ VitableConnect::Enrollment::Benefit::Category::TaggedSymbol,
234
+ name: String,
235
+ product_code:
236
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
237
+ }
238
+ )
239
+ end
240
+ def to_hash
241
+ end
242
+
243
+ # - `Medical` - Medical
244
+ # - `Dental` - Dental
245
+ # - `Vision` - Vision
246
+ # - `Hospital` - Hospital
247
+ module Category
248
+ extend VitableConnect::Internal::Type::Enum
249
+
250
+ TaggedSymbol =
251
+ T.type_alias do
252
+ T.all(Symbol, VitableConnect::Enrollment::Benefit::Category)
253
+ end
254
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
255
+
256
+ MEDICAL =
257
+ T.let(
258
+ :Medical,
259
+ VitableConnect::Enrollment::Benefit::Category::TaggedSymbol
260
+ )
261
+ DENTAL =
262
+ T.let(
263
+ :Dental,
264
+ VitableConnect::Enrollment::Benefit::Category::TaggedSymbol
265
+ )
266
+ VISION =
267
+ T.let(
268
+ :Vision,
269
+ VitableConnect::Enrollment::Benefit::Category::TaggedSymbol
270
+ )
271
+ HOSPITAL =
272
+ T.let(
273
+ :Hospital,
274
+ VitableConnect::Enrollment::Benefit::Category::TaggedSymbol
275
+ )
276
+
277
+ sig do
278
+ override.returns(
279
+ T::Array[
280
+ VitableConnect::Enrollment::Benefit::Category::TaggedSymbol
281
+ ]
282
+ )
283
+ end
284
+ def self.values
285
+ end
286
+ end
287
+
288
+ # - `EBA` - Eba Mec
289
+ # - `VPC` - Vpc Enhanced
290
+ # - `VPC_CORE` - Vpc Core
291
+ # - `MEC` - Vpc Mec
292
+ # - `MEC2` - Mec2
293
+ # - `MEC_PLUS` - Mec Plus
294
+ # - `MVP` - Mvp
295
+ # - `MVP2` - Mvp2
296
+ # - `MVPSL` - Mvpsl
297
+ # - `MVPSL2` - Mvpsl2
298
+ # - `VD` - Dental
299
+ # - `VV` - Vision
300
+ # - `ICHRA` - Ichra
301
+ # - `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus
302
+ # - `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only
303
+ module ProductCode
304
+ extend VitableConnect::Internal::Type::Enum
305
+
306
+ TaggedSymbol =
307
+ T.type_alias do
308
+ T.all(Symbol, VitableConnect::Enrollment::Benefit::ProductCode)
309
+ end
310
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
311
+
312
+ EBA =
313
+ T.let(
314
+ :EBA,
315
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
316
+ )
317
+ VPC =
318
+ T.let(
319
+ :VPC,
320
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
321
+ )
322
+ VPC_CORE =
323
+ T.let(
324
+ :VPC_CORE,
325
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
326
+ )
327
+ MEC =
328
+ T.let(
329
+ :MEC,
330
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
331
+ )
332
+ MEC2 =
333
+ T.let(
334
+ :MEC2,
335
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
336
+ )
337
+ MEC_PLUS =
338
+ T.let(
339
+ :MEC_PLUS,
340
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
341
+ )
342
+ MVP =
343
+ T.let(
344
+ :MVP,
345
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
346
+ )
347
+ MVP2 =
348
+ T.let(
349
+ :MVP2,
350
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
351
+ )
352
+ MVPSL =
353
+ T.let(
354
+ :MVPSL,
355
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
356
+ )
357
+ MVPSL2 =
358
+ T.let(
359
+ :MVPSL2,
360
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
361
+ )
362
+ VD =
363
+ T.let(
364
+ :VD,
365
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
366
+ )
367
+ VV =
368
+ T.let(
369
+ :VV,
370
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
371
+ )
372
+ ICHRA =
373
+ T.let(
374
+ :ICHRA,
375
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
376
+ )
377
+ ICHRA_PREMIUM_PLUS =
378
+ T.let(
379
+ :ICHRA_PREMIUM_PLUS,
380
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
381
+ )
382
+ ICHRA_REIMBURSEMENT_ONLY =
383
+ T.let(
384
+ :ICHRA_REIMBURSEMENT_ONLY,
385
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
386
+ )
387
+
388
+ sig do
389
+ override.returns(
390
+ T::Array[
391
+ VitableConnect::Enrollment::Benefit::ProductCode::TaggedSymbol
392
+ ]
393
+ )
394
+ end
395
+ def self.values
396
+ end
397
+ end
398
+ end
399
+ end
400
+ end
401
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EnrollmentRetrieveParams < 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::EnrollmentRetrieveParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Unique enrollment identifier (enrl\_\*)
18
+ sig { returns(String) }
19
+ attr_accessor :enrollment_id
20
+
21
+ sig do
22
+ params(
23
+ enrollment_id: String,
24
+ request_options: VitableConnect::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(
28
+ # Unique enrollment identifier (enrl\_\*)
29
+ enrollment_id:,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ enrollment_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,34 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EnrollmentRetrieveResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::EnrollmentRetrieveResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(VitableConnect::Enrollment) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: VitableConnect::Enrollment::OrHash).void }
18
+ attr_writer :data
19
+
20
+ # Response containing a single enrollment resource.
21
+ sig do
22
+ params(data: VitableConnect::Enrollment::OrHash).returns(
23
+ T.attached_class
24
+ )
25
+ end
26
+ def self.new(data:)
27
+ end
28
+
29
+ sig { override.returns({ data: VitableConnect::Enrollment }) }
30
+ def to_hash
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # - `pending` - Pending
6
+ # - `enrolled` - Enrolled
7
+ # - `waived` - Waived
8
+ # - `inactive` - Inactive
9
+ module EnrollmentStatus
10
+ extend VitableConnect::Internal::Type::Enum
11
+
12
+ TaggedSymbol =
13
+ T.type_alias { T.all(Symbol, VitableConnect::EnrollmentStatus) }
14
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
15
+
16
+ PENDING = T.let(:pending, VitableConnect::EnrollmentStatus::TaggedSymbol)
17
+ ENROLLED =
18
+ T.let(:enrolled, VitableConnect::EnrollmentStatus::TaggedSymbol)
19
+ WAIVED = T.let(:waived, VitableConnect::EnrollmentStatus::TaggedSymbol)
20
+ INACTIVE =
21
+ T.let(:inactive, VitableConnect::EnrollmentStatus::TaggedSymbol)
22
+
23
+ sig do
24
+ override.returns(
25
+ T::Array[VitableConnect::EnrollmentStatus::TaggedSymbol]
26
+ )
27
+ end
28
+ def self.values
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,62 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class Pagination < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(VitableConnect::Pagination, VitableConnect::Internal::AnyHash)
9
+ end
10
+
11
+ # Items per page
12
+ sig { returns(Integer) }
13
+ attr_accessor :limit
14
+
15
+ # Current page number
16
+ sig { returns(Integer) }
17
+ attr_accessor :page
18
+
19
+ # Total number of items
20
+ sig { returns(Integer) }
21
+ attr_accessor :total
22
+
23
+ # Total number of pages
24
+ sig { returns(Integer) }
25
+ attr_accessor :total_pages
26
+
27
+ # Pagination metadata for list responses.
28
+ sig do
29
+ params(
30
+ limit: Integer,
31
+ page: Integer,
32
+ total: Integer,
33
+ total_pages: Integer
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ # Items per page
38
+ limit:,
39
+ # Current page number
40
+ page:,
41
+ # Total number of items
42
+ total:,
43
+ # Total number of pages
44
+ total_pages:
45
+ )
46
+ end
47
+
48
+ sig do
49
+ override.returns(
50
+ {
51
+ limit: Integer,
52
+ page: Integer,
53
+ total: Integer,
54
+ total_pages: Integer
55
+ }
56
+ )
57
+ end
58
+ def to_hash
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # - `employer` - employer
6
+ # - `employee` - employee
7
+ module Type
8
+ extend VitableConnect::Internal::Type::Enum
9
+
10
+ TaggedSymbol = T.type_alias { T.all(Symbol, VitableConnect::Type) }
11
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
12
+
13
+ EMPLOYER = T.let(:employer, VitableConnect::Type::TaggedSymbol)
14
+ EMPLOYEE = T.let(:employee, VitableConnect::Type::TaggedSymbol)
15
+
16
+ sig { override.returns(T::Array[VitableConnect::Type::TaggedSymbol]) }
17
+ def self.values
18
+ end
19
+ end
20
+ end
21
+ end