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,251 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class MemberRetrieveHouseholdResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::MemberRetrieveHouseholdResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ T::Array[
17
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data
18
+ ]
19
+ )
20
+ end
21
+ attr_accessor :data
22
+
23
+ # Unpaginated `{"data": [...]}` list of the members of a member's household.
24
+ sig do
25
+ params(
26
+ data:
27
+ T::Array[
28
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::OrHash
29
+ ]
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(data:)
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ data:
39
+ T::Array[
40
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data
41
+ ]
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+
48
+ class Data < VitableConnect::Internal::Type::BaseModel
49
+ OrHash =
50
+ T.type_alias do
51
+ T.any(
52
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data,
53
+ VitableConnect::Internal::AnyHash
54
+ )
55
+ end
56
+
57
+ # Date of birth (YYYY-MM-DD)
58
+ sig { returns(Date) }
59
+ attr_accessor :date_of_birth
60
+
61
+ # Household member's first name
62
+ sig { returns(String) }
63
+ attr_accessor :first_name
64
+
65
+ # Whether this participant is a household admin (the account holder always is)
66
+ sig { returns(T::Boolean) }
67
+ attr_accessor :household_admin_in
68
+
69
+ # Household member's last name
70
+ sig { returns(String) }
71
+ attr_accessor :last_name
72
+
73
+ # - `Account Holder` - Account Holder
74
+ # - `Dependent` - Dependent
75
+ # - `Inactive` - Inactive
76
+ sig do
77
+ returns(
78
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::TaggedSymbol
79
+ )
80
+ end
81
+ attr_accessor :member_type
82
+
83
+ # - `Child` - Child
84
+ # - `Spouse` - Spouse
85
+ # - `Roommate` - Roommate
86
+ # - `Other` - Other
87
+ sig do
88
+ returns(
89
+ T.nilable(
90
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
91
+ )
92
+ )
93
+ end
94
+ attr_accessor :relationship
95
+
96
+ # Member identifier with 'mbr\_' prefix
97
+ sig { returns(String) }
98
+ attr_accessor :member_id
99
+
100
+ # Wire serializer for :class:`HouseholdMemberDTO` (one household participant).
101
+ sig do
102
+ params(
103
+ date_of_birth: Date,
104
+ first_name: String,
105
+ household_admin_in: T::Boolean,
106
+ last_name: String,
107
+ member_id: String,
108
+ member_type:
109
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::OrSymbol,
110
+ relationship:
111
+ T.nilable(
112
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::OrSymbol
113
+ )
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # Date of birth (YYYY-MM-DD)
118
+ date_of_birth:,
119
+ # Household member's first name
120
+ first_name:,
121
+ # Whether this participant is a household admin (the account holder always is)
122
+ household_admin_in:,
123
+ # Household member's last name
124
+ last_name:,
125
+ # Member identifier with 'mbr\_' prefix
126
+ member_id:,
127
+ # - `Account Holder` - Account Holder
128
+ # - `Dependent` - Dependent
129
+ # - `Inactive` - Inactive
130
+ member_type:,
131
+ # - `Child` - Child
132
+ # - `Spouse` - Spouse
133
+ # - `Roommate` - Roommate
134
+ # - `Other` - Other
135
+ relationship: nil
136
+ )
137
+ end
138
+
139
+ sig do
140
+ override.returns(
141
+ {
142
+ date_of_birth: Date,
143
+ first_name: String,
144
+ household_admin_in: T::Boolean,
145
+ last_name: String,
146
+ member_id: String,
147
+ member_type:
148
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::TaggedSymbol,
149
+ relationship:
150
+ T.nilable(
151
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
152
+ )
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ # - `Account Holder` - Account Holder
160
+ # - `Dependent` - Dependent
161
+ # - `Inactive` - Inactive
162
+ module MemberType
163
+ extend VitableConnect::Internal::Type::Enum
164
+
165
+ TaggedSymbol =
166
+ T.type_alias do
167
+ T.all(
168
+ Symbol,
169
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType
170
+ )
171
+ end
172
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
173
+
174
+ ACCOUNT_HOLDER =
175
+ T.let(
176
+ :"Account Holder",
177
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::TaggedSymbol
178
+ )
179
+ DEPENDENT =
180
+ T.let(
181
+ :Dependent,
182
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::TaggedSymbol
183
+ )
184
+ INACTIVE =
185
+ T.let(
186
+ :Inactive,
187
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::TaggedSymbol
188
+ )
189
+
190
+ sig do
191
+ override.returns(
192
+ T::Array[
193
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::MemberType::TaggedSymbol
194
+ ]
195
+ )
196
+ end
197
+ def self.values
198
+ end
199
+ end
200
+
201
+ # - `Child` - Child
202
+ # - `Spouse` - Spouse
203
+ # - `Roommate` - Roommate
204
+ # - `Other` - Other
205
+ module Relationship
206
+ extend VitableConnect::Internal::Type::Enum
207
+
208
+ TaggedSymbol =
209
+ T.type_alias do
210
+ T.all(
211
+ Symbol,
212
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship
213
+ )
214
+ end
215
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
216
+
217
+ CHILD =
218
+ T.let(
219
+ :Child,
220
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
221
+ )
222
+ SPOUSE =
223
+ T.let(
224
+ :Spouse,
225
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
226
+ )
227
+ ROOMMATE =
228
+ T.let(
229
+ :Roommate,
230
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
231
+ )
232
+ OTHER =
233
+ T.let(
234
+ :Other,
235
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
236
+ )
237
+
238
+ sig do
239
+ override.returns(
240
+ T::Array[
241
+ VitableConnect::Models::MemberRetrieveHouseholdResponse::Data::Relationship::TaggedSymbol
242
+ ]
243
+ )
244
+ end
245
+ def self.values
246
+ end
247
+ end
248
+ end
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class MemberRetrieveParams < 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::MemberRetrieveParams,
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
@@ -0,0 +1,312 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class MemberRetrieveResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::MemberRetrieveResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A member's profile: identity, contact details, address, demographics, and
15
+ # onboarding status.
16
+ sig { returns(VitableConnect::Models::MemberRetrieveResponse::Data) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(
21
+ data: VitableConnect::Models::MemberRetrieveResponse::Data::OrHash
22
+ ).void
23
+ end
24
+ attr_writer :data
25
+
26
+ # Response containing a single member resource.
27
+ sig do
28
+ params(
29
+ data: VitableConnect::Models::MemberRetrieveResponse::Data::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ # A member's profile: identity, contact details, address, demographics, and
34
+ # onboarding status.
35
+ data:
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ { data: VitableConnect::Models::MemberRetrieveResponse::Data }
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::MemberRetrieveResponse::Data,
52
+ VitableConnect::Internal::AnyHash
53
+ )
54
+ end
55
+
56
+ # Member's age in years, derived from date of birth
57
+ sig { returns(Integer) }
58
+ attr_accessor :age
59
+
60
+ # Date of birth (YYYY-MM-DD)
61
+ sig { returns(Date) }
62
+ attr_accessor :date_of_birth
63
+
64
+ # Member's legal first name
65
+ sig { returns(String) }
66
+ attr_accessor :first_name
67
+
68
+ # Member's legal last name
69
+ sig { returns(String) }
70
+ attr_accessor :last_name
71
+
72
+ # Member's residential address
73
+ sig do
74
+ returns(
75
+ T.nilable(
76
+ VitableConnect::Models::MemberRetrieveResponse::Data::Address
77
+ )
78
+ )
79
+ end
80
+ attr_reader :address
81
+
82
+ sig do
83
+ params(
84
+ address:
85
+ T.nilable(
86
+ VitableConnect::Models::MemberRetrieveResponse::Data::Address::OrHash
87
+ )
88
+ ).void
89
+ end
90
+ attr_writer :address
91
+
92
+ # Email address
93
+ sig { returns(T.nilable(String)) }
94
+ attr_accessor :email
95
+
96
+ # Phone number (10-digit US domestic string)
97
+ sig { returns(T.nilable(String)) }
98
+ attr_accessor :phone
99
+
100
+ # Member's preferred language code (e.g., en, es)
101
+ sig { returns(T.nilable(String)) }
102
+ attr_accessor :preferred_language
103
+
104
+ # Sex assigned at birth, if provided
105
+ sig { returns(T.nilable(String)) }
106
+ attr_accessor :sex_at_birth
107
+
108
+ # Whether the member uses tobacco, if known
109
+ sig { returns(T.nilable(T::Boolean)) }
110
+ attr_accessor :tobacco_status
111
+
112
+ # Unique member identifier with 'mbr\_' prefix
113
+ sig { returns(String) }
114
+ attr_accessor :id
115
+
116
+ # Member's full name
117
+ sig { returns(String) }
118
+ attr_accessor :name
119
+
120
+ # Member profile status (onboarded or pending onboarding)
121
+ sig do
122
+ returns(
123
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status::TaggedSymbol
124
+ )
125
+ end
126
+ attr_accessor :status
127
+
128
+ # A member's profile: identity, contact details, address, demographics, and
129
+ # onboarding status.
130
+ sig do
131
+ params(
132
+ id: String,
133
+ age: Integer,
134
+ date_of_birth: Date,
135
+ first_name: String,
136
+ last_name: String,
137
+ name: String,
138
+ status:
139
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status::OrSymbol,
140
+ address:
141
+ T.nilable(
142
+ VitableConnect::Models::MemberRetrieveResponse::Data::Address::OrHash
143
+ ),
144
+ email: T.nilable(String),
145
+ phone: T.nilable(String),
146
+ preferred_language: T.nilable(String),
147
+ sex_at_birth: T.nilable(String),
148
+ tobacco_status: T.nilable(T::Boolean)
149
+ ).returns(T.attached_class)
150
+ end
151
+ def self.new(
152
+ # Unique member identifier with 'mbr\_' prefix
153
+ id:,
154
+ # Member's age in years, derived from date of birth
155
+ age:,
156
+ # Date of birth (YYYY-MM-DD)
157
+ date_of_birth:,
158
+ # Member's legal first name
159
+ first_name:,
160
+ # Member's legal last name
161
+ last_name:,
162
+ # Member's full name
163
+ name:,
164
+ # Member profile status (onboarded or pending onboarding)
165
+ status:,
166
+ # Member's residential address
167
+ address: nil,
168
+ # Email address
169
+ email: nil,
170
+ # Phone number (10-digit US domestic string)
171
+ phone: nil,
172
+ # Member's preferred language code (e.g., en, es)
173
+ preferred_language: nil,
174
+ # Sex assigned at birth, if provided
175
+ sex_at_birth: nil,
176
+ # Whether the member uses tobacco, if known
177
+ tobacco_status: nil
178
+ )
179
+ end
180
+
181
+ sig do
182
+ override.returns(
183
+ {
184
+ id: String,
185
+ age: Integer,
186
+ date_of_birth: Date,
187
+ first_name: String,
188
+ last_name: String,
189
+ name: String,
190
+ status:
191
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status::TaggedSymbol,
192
+ address:
193
+ T.nilable(
194
+ VitableConnect::Models::MemberRetrieveResponse::Data::Address
195
+ ),
196
+ email: T.nilable(String),
197
+ phone: T.nilable(String),
198
+ preferred_language: T.nilable(String),
199
+ sex_at_birth: T.nilable(String),
200
+ tobacco_status: T.nilable(T::Boolean)
201
+ }
202
+ )
203
+ end
204
+ def to_hash
205
+ end
206
+
207
+ # Member profile status (onboarded or pending onboarding)
208
+ module Status
209
+ extend VitableConnect::Internal::Type::Enum
210
+
211
+ TaggedSymbol =
212
+ T.type_alias do
213
+ T.all(
214
+ Symbol,
215
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status
216
+ )
217
+ end
218
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
219
+
220
+ ONBOARDED =
221
+ T.let(
222
+ :onboarded,
223
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status::TaggedSymbol
224
+ )
225
+ PENDING_ONBOARDING =
226
+ T.let(
227
+ :pending_onboarding,
228
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status::TaggedSymbol
229
+ )
230
+
231
+ sig do
232
+ override.returns(
233
+ T::Array[
234
+ VitableConnect::Models::MemberRetrieveResponse::Data::Status::TaggedSymbol
235
+ ]
236
+ )
237
+ end
238
+ def self.values
239
+ end
240
+ end
241
+
242
+ class Address < VitableConnect::Internal::Type::BaseModel
243
+ OrHash =
244
+ T.type_alias do
245
+ T.any(
246
+ VitableConnect::Models::MemberRetrieveResponse::Data::Address,
247
+ VitableConnect::Internal::AnyHash
248
+ )
249
+ end
250
+
251
+ # Primary street address
252
+ sig { returns(String) }
253
+ attr_accessor :address_line_1
254
+
255
+ # City name
256
+ sig { returns(String) }
257
+ attr_accessor :city
258
+
259
+ # Two-letter state code (e.g., CA, NY)
260
+ sig { returns(String) }
261
+ attr_accessor :state
262
+
263
+ # ZIP code (5 or 9 digit)
264
+ sig { returns(String) }
265
+ attr_accessor :zipcode
266
+
267
+ # Secondary street address (apt, suite, etc.)
268
+ sig { returns(T.nilable(String)) }
269
+ attr_accessor :address_line_2
270
+
271
+ # Member's residential address
272
+ sig do
273
+ params(
274
+ address_line_1: String,
275
+ city: String,
276
+ state: String,
277
+ zipcode: String,
278
+ address_line_2: T.nilable(String)
279
+ ).returns(T.attached_class)
280
+ end
281
+ def self.new(
282
+ # Primary street address
283
+ address_line_1:,
284
+ # City name
285
+ city:,
286
+ # Two-letter state code (e.g., CA, NY)
287
+ state:,
288
+ # ZIP code (5 or 9 digit)
289
+ zipcode:,
290
+ # Secondary street address (apt, suite, etc.)
291
+ address_line_2: nil
292
+ )
293
+ end
294
+
295
+ sig do
296
+ override.returns(
297
+ {
298
+ address_line_1: String,
299
+ city: String,
300
+ state: String,
301
+ zipcode: String,
302
+ address_line_2: T.nilable(String)
303
+ }
304
+ )
305
+ end
306
+ def to_hash
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end