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
@@ -97,14 +97,20 @@ module VitableConnect
97
97
 
98
98
  # - `employer` - employer
99
99
  # - `employee` - employee
100
- sig { returns(VitableConnect::Type::TaggedSymbol) }
100
+ sig do
101
+ returns(
102
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol
103
+ )
104
+ end
101
105
  attr_accessor :type
102
106
 
103
107
  # Entity the token is bound to, if any
104
108
  sig do
105
- params(id: String, type: VitableConnect::Type::OrSymbol).returns(
106
- T.attached_class
107
- )
109
+ params(
110
+ id: String,
111
+ type:
112
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::OrSymbol
113
+ ).returns(T.attached_class)
108
114
  end
109
115
  def self.new(
110
116
  # Prefixed entity ID the token is bound to (empr*\* or empl*\*)
@@ -117,11 +123,51 @@ module VitableConnect
117
123
 
118
124
  sig do
119
125
  override.returns(
120
- { id: String, type: VitableConnect::Type::TaggedSymbol }
126
+ {
127
+ id: String,
128
+ type:
129
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol
130
+ }
121
131
  )
122
132
  end
123
133
  def to_hash
124
134
  end
135
+
136
+ # - `employer` - employer
137
+ # - `employee` - employee
138
+ module Type
139
+ extend VitableConnect::Internal::Type::Enum
140
+
141
+ TaggedSymbol =
142
+ T.type_alias do
143
+ T.all(
144
+ Symbol,
145
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type
146
+ )
147
+ end
148
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
149
+
150
+ EMPLOYER =
151
+ T.let(
152
+ :employer,
153
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol
154
+ )
155
+ EMPLOYEE =
156
+ T.let(
157
+ :employee,
158
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol
159
+ )
160
+
161
+ sig do
162
+ override.returns(
163
+ T::Array[
164
+ VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol
165
+ ]
166
+ )
167
+ end
168
+ def self.values
169
+ end
170
+ end
125
171
  end
126
172
  end
127
173
  end
@@ -25,6 +25,15 @@ module VitableConnect
25
25
  sig { returns(String) }
26
26
  attr_accessor :email
27
27
 
28
+ # - `Full Time` - Full Time
29
+ # - `Part Time` - Part Time
30
+ # - `Temporary` - Temporary
31
+ # - `Intern` - Intern
32
+ # - `Seasonal` - Seasonal
33
+ # - `Individual Contractor` - Individual Contractor
34
+ sig { returns(VitableConnect::EmployeeClass::TaggedSymbol) }
35
+ attr_accessor :employee_class
36
+
28
37
  # Employee's legal first name
29
38
  sig { returns(String) }
30
39
  attr_accessor :first_name
@@ -48,27 +57,14 @@ module VitableConnect
48
57
  end
49
58
  attr_writer :address
50
59
 
51
- # - `Full Time` - Full Time
52
- # - `Part Time` - Part Time
53
- # - `Temporary` - Temporary
54
- # - `Intern` - Intern
55
- # - `Seasonal` - Seasonal
56
- # - `Individual Contractor` - Individual Contractor
57
- sig { returns(T.nilable(VitableConnect::EmployeeClass::TaggedSymbol)) }
58
- attr_accessor :employee_class
60
+ # Name of the employer this employment is with
61
+ sig { returns(T.nilable(String)) }
62
+ attr_accessor :employer_name
59
63
 
60
64
  # Gender identity, if provided
61
65
  sig { returns(T.nilable(String)) }
62
66
  attr_accessor :gender
63
67
 
64
- # Employee's hire date with the employer
65
- sig { returns(T.nilable(Date)) }
66
- attr_accessor :hire_date
67
-
68
- # Phone number (10-digit US domestic string)
69
- sig { returns(T.nilable(String)) }
70
- attr_accessor :phone
71
-
72
68
  # Partner-assigned reference ID for the employee
73
69
  sig { returns(T.nilable(String)) }
74
70
  attr_accessor :reference_id
@@ -85,31 +81,66 @@ module VitableConnect
85
81
  sig { returns(String) }
86
82
  attr_accessor :id
87
83
 
84
+ # Date the employee's current classification took effect
85
+ sig { returns(Date) }
86
+ attr_accessor :classification_effective_date
87
+
88
+ # - `Salary` - Salary
89
+ # - `Hourly` - Hourly
90
+ sig do
91
+ returns(
92
+ T.nilable(VitableConnect::Employee::CompensationType::TaggedSymbol)
93
+ )
94
+ end
95
+ attr_accessor :compensation_type
96
+
97
+ # Date the employee's current compensation type took effect
98
+ sig { returns(Date) }
99
+ attr_accessor :compensation_type_effective_date
100
+
101
+ # Unique identifier of the employer this employment is with (empr\_\*)
102
+ sig { returns(String) }
103
+ attr_accessor :employer_id
104
+
88
105
  # Unique member identifier with 'mbr\_' prefix
89
106
  sig { returns(String) }
90
107
  attr_accessor :member_id
91
108
 
109
+ # Phone number (10-digit US domestic string)
110
+ sig { returns(T.nilable(String)) }
111
+ attr_accessor :phone
112
+
113
+ # Employee's start date with the employer
114
+ sig { returns(Date) }
115
+ attr_accessor :start_date
116
+
92
117
  # Employee status (active or terminated)
93
- sig { returns(String) }
118
+ sig { returns(VitableConnect::Employee::Status::TaggedSymbol) }
94
119
  attr_accessor :status
95
120
 
96
121
  sig do
97
122
  params(
98
123
  id: String,
124
+ classification_effective_date: Date,
125
+ compensation_type:
126
+ T.nilable(VitableConnect::Employee::CompensationType::OrSymbol),
127
+ compensation_type_effective_date: Date,
99
128
  created_at: Time,
100
129
  date_of_birth: Date,
101
130
  deductions: T::Array[VitableConnect::Employee::Deduction::OrHash],
102
131
  email: String,
132
+ employee_class: VitableConnect::EmployeeClass::OrSymbol,
133
+ employer_id: String,
103
134
  first_name: String,
104
135
  last_name: String,
105
136
  member_id: String,
106
- status: String,
137
+ phone: T.nilable(String),
138
+ start_date: Date,
139
+ status: VitableConnect::Employee::Status::OrSymbol,
107
140
  updated_at: Time,
108
141
  address: T.nilable(VitableConnect::Employee::Address::OrHash),
109
- employee_class: T.nilable(VitableConnect::EmployeeClass::OrSymbol),
142
+ employer_name: T.nilable(String),
110
143
  gender: T.nilable(String),
111
- hire_date: T.nilable(Date),
112
- phone: T.nilable(String),
113
144
  reference_id: T.nilable(String),
114
145
  suffix: T.nilable(String),
115
146
  termination_date: T.nilable(Date)
@@ -118,6 +149,13 @@ module VitableConnect
118
149
  def self.new(
119
150
  # Unique employee identifier with 'empl\_' prefix
120
151
  id:,
152
+ # Date the employee's current classification took effect
153
+ classification_effective_date:,
154
+ # - `Salary` - Salary
155
+ # - `Hourly` - Hourly
156
+ compensation_type:,
157
+ # Date the employee's current compensation type took effect
158
+ compensation_type_effective_date:,
121
159
  # Timestamp when the employee was created
122
160
  created_at:,
123
161
  # Date of birth (YYYY-MM-DD)
@@ -127,31 +165,35 @@ module VitableConnect
127
165
  deductions:,
128
166
  # Email address
129
167
  email:,
168
+ # - `Full Time` - Full Time
169
+ # - `Part Time` - Part Time
170
+ # - `Temporary` - Temporary
171
+ # - `Intern` - Intern
172
+ # - `Seasonal` - Seasonal
173
+ # - `Individual Contractor` - Individual Contractor
174
+ employee_class:,
175
+ # Unique identifier of the employer this employment is with (empr\_\*)
176
+ employer_id:,
130
177
  # Employee's legal first name
131
178
  first_name:,
132
179
  # Employee's legal last name
133
180
  last_name:,
134
181
  # Unique member identifier with 'mbr\_' prefix
135
182
  member_id:,
183
+ # Phone number (10-digit US domestic string)
184
+ phone:,
185
+ # Employee's start date with the employer
186
+ start_date:,
136
187
  # Employee status (active or terminated)
137
188
  status:,
138
189
  # Timestamp when the employee was last updated
139
190
  updated_at:,
140
191
  # Employee's residential address
141
192
  address: nil,
142
- # - `Full Time` - Full Time
143
- # - `Part Time` - Part Time
144
- # - `Temporary` - Temporary
145
- # - `Intern` - Intern
146
- # - `Seasonal` - Seasonal
147
- # - `Individual Contractor` - Individual Contractor
148
- employee_class: nil,
193
+ # Name of the employer this employment is with
194
+ employer_name: nil,
149
195
  # Gender identity, if provided
150
196
  gender: nil,
151
- # Employee's hire date with the employer
152
- hire_date: nil,
153
- # Phone number (10-digit US domestic string)
154
- phone: nil,
155
197
  # Partner-assigned reference ID for the employee
156
198
  reference_id: nil,
157
199
  # Name suffix (e.g., Jr., Sr., III)
@@ -165,21 +207,28 @@ module VitableConnect
165
207
  override.returns(
166
208
  {
167
209
  id: String,
210
+ classification_effective_date: Date,
211
+ compensation_type:
212
+ T.nilable(
213
+ VitableConnect::Employee::CompensationType::TaggedSymbol
214
+ ),
215
+ compensation_type_effective_date: Date,
168
216
  created_at: Time,
169
217
  date_of_birth: Date,
170
218
  deductions: T::Array[VitableConnect::Employee::Deduction],
171
219
  email: String,
220
+ employee_class: VitableConnect::EmployeeClass::TaggedSymbol,
221
+ employer_id: String,
172
222
  first_name: String,
173
223
  last_name: String,
174
224
  member_id: String,
175
- status: String,
225
+ phone: T.nilable(String),
226
+ start_date: Date,
227
+ status: VitableConnect::Employee::Status::TaggedSymbol,
176
228
  updated_at: Time,
177
229
  address: T.nilable(VitableConnect::Employee::Address),
178
- employee_class:
179
- T.nilable(VitableConnect::EmployeeClass::TaggedSymbol),
230
+ employer_name: T.nilable(String),
180
231
  gender: T.nilable(String),
181
- hire_date: T.nilable(Date),
182
- phone: T.nilable(String),
183
232
  reference_id: T.nilable(String),
184
233
  suffix: T.nilable(String),
185
234
  termination_date: T.nilable(Date)
@@ -189,6 +238,37 @@ module VitableConnect
189
238
  def to_hash
190
239
  end
191
240
 
241
+ # - `Salary` - Salary
242
+ # - `Hourly` - Hourly
243
+ module CompensationType
244
+ extend VitableConnect::Internal::Type::Enum
245
+
246
+ TaggedSymbol =
247
+ T.type_alias do
248
+ T.all(Symbol, VitableConnect::Employee::CompensationType)
249
+ end
250
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
251
+
252
+ SALARY =
253
+ T.let(
254
+ :Salary,
255
+ VitableConnect::Employee::CompensationType::TaggedSymbol
256
+ )
257
+ HOURLY =
258
+ T.let(
259
+ :Hourly,
260
+ VitableConnect::Employee::CompensationType::TaggedSymbol
261
+ )
262
+
263
+ sig do
264
+ override.returns(
265
+ T::Array[VitableConnect::Employee::CompensationType::TaggedSymbol]
266
+ )
267
+ end
268
+ def self.values
269
+ end
270
+ end
271
+
192
272
  class Deduction < VitableConnect::Internal::Type::BaseModel
193
273
  OrHash =
194
274
  T.type_alias do
@@ -378,6 +458,27 @@ module VitableConnect
378
458
  end
379
459
  end
380
460
 
461
+ # Employee status (active or terminated)
462
+ module Status
463
+ extend VitableConnect::Internal::Type::Enum
464
+
465
+ TaggedSymbol =
466
+ T.type_alias { T.all(Symbol, VitableConnect::Employee::Status) }
467
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
468
+
469
+ ACTIVE = T.let(:active, VitableConnect::Employee::Status::TaggedSymbol)
470
+ TERMINATED =
471
+ T.let(:terminated, VitableConnect::Employee::Status::TaggedSymbol)
472
+
473
+ sig do
474
+ override.returns(
475
+ T::Array[VitableConnect::Employee::Status::TaggedSymbol]
476
+ )
477
+ end
478
+ def self.values
479
+ end
480
+ end
481
+
381
482
  class Address < VitableConnect::Internal::Type::BaseModel
382
483
  OrHash =
383
484
  T.type_alias do
@@ -0,0 +1,323 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployeeUpdateParams < 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::EmployeeUpdateParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Unique employee identifier (empl\_\*)
18
+ sig { returns(String) }
19
+ attr_accessor :employee_id
20
+
21
+ # Past or present date applied to each tracked employment field included in this
22
+ # request
23
+ sig { returns(Date) }
24
+ attr_accessor :effective_date
25
+
26
+ # Employee's residential address
27
+ sig { returns(T.nilable(VitableConnect::EmployeeUpdateParams::Address)) }
28
+ attr_reader :address
29
+
30
+ sig do
31
+ params(
32
+ address:
33
+ T.nilable(VitableConnect::EmployeeUpdateParams::Address::OrHash)
34
+ ).void
35
+ end
36
+ attr_writer :address
37
+
38
+ # - `Salary` - Salary
39
+ # - `Hourly` - Hourly
40
+ sig do
41
+ returns(
42
+ T.nilable(
43
+ VitableConnect::EmployeeUpdateParams::CompensationType::OrSymbol
44
+ )
45
+ )
46
+ end
47
+ attr_accessor :compensation_type
48
+
49
+ # Email address
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :email
52
+
53
+ # - `Full Time` - Full Time
54
+ # - `Part Time` - Part Time
55
+ # - `Temporary` - Temporary
56
+ # - `Intern` - Intern
57
+ # - `Seasonal` - Seasonal
58
+ # - `Individual Contractor` - Individual Contractor
59
+ sig { returns(T.nilable(VitableConnect::EmployeeClass::OrSymbol)) }
60
+ attr_accessor :employee_class
61
+
62
+ # - `Male` - Male
63
+ # - `Female` - Female
64
+ # - `Transgender` - Transgender
65
+ # - `Non-binary` - Non-binary
66
+ # - `Prefer not to respond` - Prefer not to respond
67
+ sig do
68
+ returns(
69
+ T.nilable(VitableConnect::EmployeeUpdateParams::Gender::OrSymbol)
70
+ )
71
+ end
72
+ attr_accessor :gender
73
+
74
+ # Phone number
75
+ sig { returns(T.nilable(String)) }
76
+ attr_accessor :phone
77
+
78
+ # Employment start date
79
+ sig { returns(T.nilable(Date)) }
80
+ attr_accessor :start_date
81
+
82
+ sig do
83
+ params(
84
+ employee_id: String,
85
+ effective_date: Date,
86
+ address:
87
+ T.nilable(VitableConnect::EmployeeUpdateParams::Address::OrHash),
88
+ compensation_type:
89
+ T.nilable(
90
+ VitableConnect::EmployeeUpdateParams::CompensationType::OrSymbol
91
+ ),
92
+ email: T.nilable(String),
93
+ employee_class: T.nilable(VitableConnect::EmployeeClass::OrSymbol),
94
+ gender:
95
+ T.nilable(VitableConnect::EmployeeUpdateParams::Gender::OrSymbol),
96
+ phone: T.nilable(String),
97
+ start_date: T.nilable(Date),
98
+ request_options: VitableConnect::RequestOptions::OrHash
99
+ ).returns(T.attached_class)
100
+ end
101
+ def self.new(
102
+ # Unique employee identifier (empl\_\*)
103
+ employee_id:,
104
+ # Past or present date applied to each tracked employment field included in this
105
+ # request
106
+ effective_date:,
107
+ # Employee's residential address
108
+ address: nil,
109
+ # - `Salary` - Salary
110
+ # - `Hourly` - Hourly
111
+ compensation_type: nil,
112
+ # Email address
113
+ email: nil,
114
+ # - `Full Time` - Full Time
115
+ # - `Part Time` - Part Time
116
+ # - `Temporary` - Temporary
117
+ # - `Intern` - Intern
118
+ # - `Seasonal` - Seasonal
119
+ # - `Individual Contractor` - Individual Contractor
120
+ employee_class: nil,
121
+ # - `Male` - Male
122
+ # - `Female` - Female
123
+ # - `Transgender` - Transgender
124
+ # - `Non-binary` - Non-binary
125
+ # - `Prefer not to respond` - Prefer not to respond
126
+ gender: nil,
127
+ # Phone number
128
+ phone: nil,
129
+ # Employment start date
130
+ start_date: nil,
131
+ request_options: {}
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ employee_id: String,
139
+ effective_date: Date,
140
+ address: T.nilable(VitableConnect::EmployeeUpdateParams::Address),
141
+ compensation_type:
142
+ T.nilable(
143
+ VitableConnect::EmployeeUpdateParams::CompensationType::OrSymbol
144
+ ),
145
+ email: T.nilable(String),
146
+ employee_class: T.nilable(VitableConnect::EmployeeClass::OrSymbol),
147
+ gender:
148
+ T.nilable(VitableConnect::EmployeeUpdateParams::Gender::OrSymbol),
149
+ phone: T.nilable(String),
150
+ start_date: T.nilable(Date),
151
+ request_options: VitableConnect::RequestOptions
152
+ }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+
158
+ class Address < VitableConnect::Internal::Type::BaseModel
159
+ OrHash =
160
+ T.type_alias do
161
+ T.any(
162
+ VitableConnect::EmployeeUpdateParams::Address,
163
+ VitableConnect::Internal::AnyHash
164
+ )
165
+ end
166
+
167
+ # City name
168
+ sig { returns(String) }
169
+ attr_accessor :city
170
+
171
+ # Two-letter state code
172
+ sig { returns(String) }
173
+ attr_accessor :state
174
+
175
+ # Primary street address
176
+ sig { returns(String) }
177
+ attr_accessor :street_1
178
+
179
+ # ZIP code
180
+ sig { returns(String) }
181
+ attr_accessor :zip_code
182
+
183
+ # Country code
184
+ sig { returns(T.nilable(String)) }
185
+ attr_reader :country
186
+
187
+ sig { params(country: String).void }
188
+ attr_writer :country
189
+
190
+ # Secondary street address
191
+ sig { returns(T.nilable(String)) }
192
+ attr_accessor :street_2
193
+
194
+ # Employee's residential address
195
+ sig do
196
+ params(
197
+ city: String,
198
+ state: String,
199
+ street_1: String,
200
+ zip_code: String,
201
+ country: String,
202
+ street_2: T.nilable(String)
203
+ ).returns(T.attached_class)
204
+ end
205
+ def self.new(
206
+ # City name
207
+ city:,
208
+ # Two-letter state code
209
+ state:,
210
+ # Primary street address
211
+ street_1:,
212
+ # ZIP code
213
+ zip_code:,
214
+ # Country code
215
+ country: nil,
216
+ # Secondary street address
217
+ street_2: nil
218
+ )
219
+ end
220
+
221
+ sig do
222
+ override.returns(
223
+ {
224
+ city: String,
225
+ state: String,
226
+ street_1: String,
227
+ zip_code: String,
228
+ country: String,
229
+ street_2: T.nilable(String)
230
+ }
231
+ )
232
+ end
233
+ def to_hash
234
+ end
235
+ end
236
+
237
+ # - `Salary` - Salary
238
+ # - `Hourly` - Hourly
239
+ module CompensationType
240
+ extend VitableConnect::Internal::Type::Enum
241
+
242
+ TaggedSymbol =
243
+ T.type_alias do
244
+ T.all(
245
+ Symbol,
246
+ VitableConnect::EmployeeUpdateParams::CompensationType
247
+ )
248
+ end
249
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
250
+
251
+ SALARY =
252
+ T.let(
253
+ :Salary,
254
+ VitableConnect::EmployeeUpdateParams::CompensationType::TaggedSymbol
255
+ )
256
+ HOURLY =
257
+ T.let(
258
+ :Hourly,
259
+ VitableConnect::EmployeeUpdateParams::CompensationType::TaggedSymbol
260
+ )
261
+
262
+ sig do
263
+ override.returns(
264
+ T::Array[
265
+ VitableConnect::EmployeeUpdateParams::CompensationType::TaggedSymbol
266
+ ]
267
+ )
268
+ end
269
+ def self.values
270
+ end
271
+ end
272
+
273
+ # - `Male` - Male
274
+ # - `Female` - Female
275
+ # - `Transgender` - Transgender
276
+ # - `Non-binary` - Non-binary
277
+ # - `Prefer not to respond` - Prefer not to respond
278
+ module Gender
279
+ extend VitableConnect::Internal::Type::Enum
280
+
281
+ TaggedSymbol =
282
+ T.type_alias do
283
+ T.all(Symbol, VitableConnect::EmployeeUpdateParams::Gender)
284
+ end
285
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
286
+
287
+ MALE =
288
+ T.let(
289
+ :Male,
290
+ VitableConnect::EmployeeUpdateParams::Gender::TaggedSymbol
291
+ )
292
+ FEMALE =
293
+ T.let(
294
+ :Female,
295
+ VitableConnect::EmployeeUpdateParams::Gender::TaggedSymbol
296
+ )
297
+ TRANSGENDER =
298
+ T.let(
299
+ :Transgender,
300
+ VitableConnect::EmployeeUpdateParams::Gender::TaggedSymbol
301
+ )
302
+ NON_BINARY =
303
+ T.let(
304
+ :"Non-binary",
305
+ VitableConnect::EmployeeUpdateParams::Gender::TaggedSymbol
306
+ )
307
+ PREFER_NOT_TO_RESPOND =
308
+ T.let(
309
+ :"Prefer not to respond",
310
+ VitableConnect::EmployeeUpdateParams::Gender::TaggedSymbol
311
+ )
312
+
313
+ sig do
314
+ override.returns(
315
+ T::Array[VitableConnect::EmployeeUpdateParams::Gender::TaggedSymbol]
316
+ )
317
+ end
318
+ def self.values
319
+ end
320
+ end
321
+ end
322
+ end
323
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class EmployeeUpdateResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::Models::EmployeeUpdateResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(VitableConnect::Employee) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: VitableConnect::Employee::OrHash).void }
18
+ attr_writer :data
19
+
20
+ # Response containing a single employee resource.
21
+ sig do
22
+ params(data: VitableConnect::Employee::OrHash).returns(T.attached_class)
23
+ end
24
+ def self.new(data:)
25
+ end
26
+
27
+ sig { override.returns({ data: VitableConnect::Employee }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end