vitable-connect 0.5.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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/vitable_connect/client.rb +19 -5
  5. data/lib/vitable_connect/internal/transport/base_client.rb +24 -3
  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 +90 -22
  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 -2
  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/groups/members/sync_submit_params.rb +7 -7
  46. data/lib/vitable_connect/models/member_list_dependents_params.rb +20 -0
  47. data/lib/vitable_connect/models/member_list_dependents_response.rb +132 -0
  48. data/lib/vitable_connect/models/member_list_employments_params.rb +20 -0
  49. data/lib/vitable_connect/models/member_list_employments_response.rb +18 -0
  50. data/lib/vitable_connect/models/member_list_enrollments_params.rb +20 -0
  51. data/lib/vitable_connect/models/member_list_enrollments_response.rb +319 -0
  52. data/lib/vitable_connect/models/member_list_id_cards_params.rb +20 -0
  53. data/lib/vitable_connect/models/member_list_id_cards_response.rb +368 -0
  54. data/lib/vitable_connect/models/member_list_params.rb +38 -0
  55. data/lib/vitable_connect/models/member_list_qualifying_life_events_params.rb +57 -0
  56. data/lib/vitable_connect/models/member_list_qualifying_life_events_response.rb +96 -0
  57. data/lib/vitable_connect/models/member_list_response.rb +108 -0
  58. data/lib/vitable_connect/models/member_retrieve_household_params.rb +20 -0
  59. data/lib/vitable_connect/models/member_retrieve_household_response.rb +128 -0
  60. data/lib/vitable_connect/models/member_retrieve_params.rb +20 -0
  61. data/lib/vitable_connect/models/member_retrieve_response.rb +195 -0
  62. data/lib/vitable_connect/models/organization_create_params.rb +57 -0
  63. data/lib/vitable_connect/models/organization_create_response.rb +104 -0
  64. data/lib/vitable_connect/models/organization_list_params.rb +14 -0
  65. data/lib/vitable_connect/models/organization_list_response.rb +128 -0
  66. data/lib/vitable_connect/models/webhook_event_list_params.rb +3 -0
  67. data/lib/vitable_connect/models.rb +54 -2
  68. data/lib/vitable_connect/resources/employees.rb +49 -3
  69. data/lib/vitable_connect/resources/employers.rb +418 -14
  70. data/lib/vitable_connect/resources/enrollments.rb +75 -0
  71. data/lib/vitable_connect/resources/members.rb +231 -0
  72. data/lib/vitable_connect/resources/organizations.rb +66 -0
  73. data/lib/vitable_connect/version.rb +1 -1
  74. data/lib/vitable_connect.rb +51 -2
  75. data/rbi/vitable_connect/client.rbi +18 -5
  76. data/rbi/vitable_connect/internal/transport/base_client.rbi +4 -1
  77. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +53 -5
  78. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +51 -5
  79. data/rbi/vitable_connect/models/employee.rbi +130 -29
  80. data/rbi/vitable_connect/models/employee_update_params.rbi +323 -0
  81. data/rbi/vitable_connect/models/employee_update_response.rbi +32 -0
  82. data/rbi/vitable_connect/models/employer.rbi +58 -0
  83. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbi +46 -0
  84. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbi +72 -0
  85. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbi +165 -0
  86. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbi +278 -0
  87. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_params.rbi +46 -0
  88. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_response.rbi +539 -0
  89. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +70 -0
  90. data/rbi/vitable_connect/models/employer_list_hris_providers_params.rbi +32 -0
  91. data/rbi/vitable_connect/models/employer_list_hris_providers_response.rbi +74 -0
  92. data/rbi/vitable_connect/models/employer_list_invoices_params.rbi +65 -0
  93. data/rbi/vitable_connect/models/employer_list_invoices_response.rbi +151 -0
  94. data/rbi/vitable_connect/models/employer_list_params.rbi +292 -4
  95. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_params.rbi +68 -0
  96. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbi +169 -0
  97. data/rbi/vitable_connect/models/employer_list_response.rbi +426 -0
  98. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbi +54 -0
  99. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbi +1574 -0
  100. data/rbi/vitable_connect/models/employer_retrieve_hris_params.rbi +46 -0
  101. data/rbi/vitable_connect/models/employer_retrieve_hris_response.rbi +120 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbi +54 -0
  103. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbi +30 -0
  104. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbi +46 -0
  105. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbi +83 -0
  106. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +8 -6
  107. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_params.rbi +441 -0
  108. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_response.rbi +83 -0
  109. data/rbi/vitable_connect/models/employer_update_params.rbi +155 -0
  110. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +12 -12
  111. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +6 -6
  112. data/rbi/vitable_connect/models/enrollment_reissue_params.rbi +72 -0
  113. data/rbi/vitable_connect/models/enrollment_reissue_response.rbi +67 -0
  114. data/rbi/vitable_connect/models/enrollment_terminate_params.rbi +72 -0
  115. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +9 -9
  116. data/rbi/vitable_connect/models/member_list_dependents_params.rbi +38 -0
  117. data/rbi/vitable_connect/models/member_list_dependents_response.rbi +249 -0
  118. data/rbi/vitable_connect/models/member_list_employments_params.rbi +38 -0
  119. data/rbi/vitable_connect/models/member_list_employments_response.rbi +31 -0
  120. data/rbi/vitable_connect/models/member_list_enrollments_params.rbi +38 -0
  121. data/rbi/vitable_connect/models/member_list_enrollments_response.rbi +579 -0
  122. data/rbi/vitable_connect/models/member_list_id_cards_params.rbi +38 -0
  123. data/rbi/vitable_connect/models/member_list_id_cards_response.rbi +624 -0
  124. data/rbi/vitable_connect/models/member_list_params.rbi +71 -0
  125. data/rbi/vitable_connect/models/member_list_qualifying_life_events_params.rbi +130 -0
  126. data/rbi/vitable_connect/models/member_list_qualifying_life_events_response.rbi +192 -0
  127. data/rbi/vitable_connect/models/member_list_response.rbi +166 -0
  128. data/rbi/vitable_connect/models/member_retrieve_household_params.rbi +38 -0
  129. data/rbi/vitable_connect/models/member_retrieve_household_response.rbi +251 -0
  130. data/rbi/vitable_connect/models/member_retrieve_params.rbi +38 -0
  131. data/rbi/vitable_connect/models/member_retrieve_response.rbi +312 -0
  132. data/rbi/vitable_connect/models/organization_create_params.rbi +127 -0
  133. data/rbi/vitable_connect/models/organization_create_response.rbi +212 -0
  134. data/rbi/vitable_connect/models/organization_list_params.rbi +32 -0
  135. data/rbi/vitable_connect/models/organization_list_response.rbi +266 -0
  136. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +8 -0
  137. data/rbi/vitable_connect/models.rbi +66 -2
  138. data/rbi/vitable_connect/resources/employees.rbi +62 -3
  139. data/rbi/vitable_connect/resources/employers.rbi +384 -14
  140. data/rbi/vitable_connect/resources/enrollments.rbi +61 -0
  141. data/rbi/vitable_connect/resources/members.rbi +169 -0
  142. data/rbi/vitable_connect/resources/organizations.rbi +48 -0
  143. data/rbi/vitable_connect/resources/webhook_events.rbi +1 -0
  144. data/sig/vitable_connect/client.rbs +9 -3
  145. data/sig/vitable_connect/internal/transport/base_client.rbs +2 -0
  146. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +22 -4
  147. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +22 -4
  148. data/sig/vitable_connect/models/employee.rbs +60 -13
  149. data/sig/vitable_connect/models/employee_update_params.rbs +140 -0
  150. data/sig/vitable_connect/models/employee_update_response.rbs +13 -0
  151. data/sig/vitable_connect/models/employer.rbs +17 -0
  152. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbs +24 -0
  153. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbs +30 -0
  154. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbs +74 -0
  155. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbs +111 -0
  156. data/sig/vitable_connect/models/employer_list_benefit_plan_years_params.rbs +24 -0
  157. data/sig/vitable_connect/models/employer_list_benefit_plan_years_response.rbs +197 -0
  158. data/sig/vitable_connect/models/employer_list_employees_params.rbs +32 -1
  159. data/sig/vitable_connect/models/employer_list_hris_providers_params.rbs +15 -0
  160. data/sig/vitable_connect/models/employer_list_hris_providers_response.rbs +30 -0
  161. data/sig/vitable_connect/models/employer_list_invoices_params.rbs +34 -0
  162. data/sig/vitable_connect/models/employer_list_invoices_response.rbs +62 -0
  163. data/sig/vitable_connect/models/employer_list_params.rbs +94 -1
  164. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_params.rbs +36 -0
  165. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbs +73 -0
  166. data/sig/vitable_connect/models/employer_list_response.rbs +179 -0
  167. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbs +28 -0
  168. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbs +540 -0
  169. data/sig/vitable_connect/models/employer_retrieve_hris_params.rbs +24 -0
  170. data/sig/vitable_connect/models/employer_retrieve_hris_response.rbs +50 -0
  171. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbs +28 -0
  172. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbs +13 -0
  173. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbs +24 -0
  174. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbs +32 -0
  175. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +5 -5
  176. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_params.rbs +198 -0
  177. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_response.rbs +32 -0
  178. data/sig/vitable_connect/models/employer_update_params.rbs +83 -0
  179. data/sig/vitable_connect/models/enrollment_reissue_params.rbs +41 -0
  180. data/sig/vitable_connect/models/enrollment_reissue_response.rbs +28 -0
  181. data/sig/vitable_connect/models/enrollment_terminate_params.rbs +41 -0
  182. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +8 -8
  183. data/sig/vitable_connect/models/member_list_dependents_params.rbs +23 -0
  184. data/sig/vitable_connect/models/member_list_dependents_response.rbs +96 -0
  185. data/sig/vitable_connect/models/member_list_employments_params.rbs +23 -0
  186. data/sig/vitable_connect/models/member_list_employments_response.rbs +14 -0
  187. data/sig/vitable_connect/models/member_list_enrollments_params.rbs +23 -0
  188. data/sig/vitable_connect/models/member_list_enrollments_response.rbs +215 -0
  189. data/sig/vitable_connect/models/member_list_id_cards_params.rbs +23 -0
  190. data/sig/vitable_connect/models/member_list_id_cards_response.rbs +256 -0
  191. data/sig/vitable_connect/models/member_list_params.rbs +38 -0
  192. data/sig/vitable_connect/models/member_list_qualifying_life_events_params.rbs +61 -0
  193. data/sig/vitable_connect/models/member_list_qualifying_life_events_response.rbs +67 -0
  194. data/sig/vitable_connect/models/member_list_response.rbs +82 -0
  195. data/sig/vitable_connect/models/member_retrieve_household_params.rbs +23 -0
  196. data/sig/vitable_connect/models/member_retrieve_household_response.rbs +92 -0
  197. data/sig/vitable_connect/models/member_retrieve_params.rbs +23 -0
  198. data/sig/vitable_connect/models/member_retrieve_response.rbs +143 -0
  199. data/sig/vitable_connect/models/organization_create_params.rbs +52 -0
  200. data/sig/vitable_connect/models/organization_create_response.rbs +77 -0
  201. data/sig/vitable_connect/models/organization_list_params.rbs +15 -0
  202. data/sig/vitable_connect/models/organization_list_response.rbs +99 -0
  203. data/sig/vitable_connect/models/webhook_event_list_params.rbs +2 -0
  204. data/sig/vitable_connect/models.rbs +50 -2
  205. data/sig/vitable_connect/resources/employees.rbs +13 -0
  206. data/sig/vitable_connect/resources/employers.rbs +106 -1
  207. data/sig/vitable_connect/resources/enrollments.rbs +16 -0
  208. data/sig/vitable_connect/resources/members.rbs +52 -0
  209. data/sig/vitable_connect/resources/organizations.rbs +17 -0
  210. metadata +155 -8
  211. data/lib/vitable_connect/models/type.rb +0 -17
  212. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -14
  213. data/rbi/vitable_connect/models/type.rbi +0 -21
  214. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -12
  215. data/sig/vitable_connect/models/type.rbs +0 -14
  216. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -7
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#list_payroll_deduction_statements
6
+ class EmployerListPayrollDeductionStatementsResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute csv_file_url
8
+ # Download link for the change CSV, or null.
9
+ #
10
+ # @return [String, nil]
11
+ required :csv_file_url, String, nil?: true
12
+
13
+ # @!attribute deduction_frequency
14
+ # - `weekly` - Weekly
15
+ # - `bi_weekly` - Bi Weekly
16
+ # - `semi_monthly` - Semi Monthly
17
+ # - `monthly` - Monthly
18
+ #
19
+ # @return [Symbol, VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency]
20
+ required :deduction_frequency,
21
+ enum: -> { VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency }
22
+
23
+ # @!attribute deduction_frequency_label
24
+ # Human-readable deduction frequency (e.g. `Monthly`).
25
+ #
26
+ # @return [String]
27
+ required :deduction_frequency_label, String
28
+
29
+ # @!attribute employee_count
30
+ # Distinct employees covered by the statement's entries.
31
+ #
32
+ # @return [Integer]
33
+ required :employee_count, Integer
34
+
35
+ # @!attribute period_end
36
+ # Deduction period end date.
37
+ #
38
+ # @return [Date]
39
+ required :period_end, Date
40
+
41
+ # @!attribute period_start
42
+ # Deduction period start date.
43
+ #
44
+ # @return [Date]
45
+ required :period_start, Date
46
+
47
+ # @!attribute run_date
48
+ # When the statement was generated.
49
+ #
50
+ # @return [Time]
51
+ required :run_date, Time
52
+
53
+ # @!attribute statement_id
54
+ # Prefixed payroll-deduction-statement identifier (`pstmt_<base64-encoded-uuid>`).
55
+ #
56
+ # @return [String]
57
+ required :statement_id, String
58
+
59
+ # @!attribute total_deduction_cents
60
+ # Total payroll deduction for the period, in cents.
61
+ #
62
+ # @return [Integer]
63
+ required :total_deduction_cents, Integer
64
+
65
+ # @!method initialize(csv_file_url:, deduction_frequency:, deduction_frequency_label:, employee_count:, period_end:, period_start:, run_date:, statement_id:, total_deduction_cents:)
66
+ # Some parameter documentations has been truncated, see
67
+ # {VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse} for
68
+ # more details.
69
+ #
70
+ # One payroll-deduction statement row.
71
+ #
72
+ # Reads a :class:`PayrollDeductionStatementDTO` by attribute: the `statement_id`
73
+ # character field renders the prefixed id via `str()`, and the date/datetime
74
+ # fields emit ISO-8601 strings.
75
+ #
76
+ # @param csv_file_url [String, nil] Download link for the change CSV, or null.
77
+ #
78
+ # @param deduction_frequency [Symbol, VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse::DeductionFrequency] - `weekly` - Weekly
79
+ #
80
+ # @param deduction_frequency_label [String] Human-readable deduction frequency (e.g. `Monthly`).
81
+ #
82
+ # @param employee_count [Integer] Distinct employees covered by the statement's entries.
83
+ #
84
+ # @param period_end [Date] Deduction period end date.
85
+ #
86
+ # @param period_start [Date] Deduction period start date.
87
+ #
88
+ # @param run_date [Time] When the statement was generated.
89
+ #
90
+ # @param statement_id [String] Prefixed payroll-deduction-statement identifier (`pstmt_<base64-encoded-uuid>`).
91
+ #
92
+ # @param total_deduction_cents [Integer] Total payroll deduction for the period, in cents.
93
+
94
+ # - `weekly` - Weekly
95
+ # - `bi_weekly` - Bi Weekly
96
+ # - `semi_monthly` - Semi Monthly
97
+ # - `monthly` - Monthly
98
+ #
99
+ # @see VitableConnect::Models::EmployerListPayrollDeductionStatementsResponse#deduction_frequency
100
+ module DeductionFrequency
101
+ extend VitableConnect::Internal::Type::Enum
102
+
103
+ WEEKLY = :weekly
104
+ BI_WEEKLY = :bi_weekly
105
+ SEMI_MONTHLY = :semi_monthly
106
+ MONTHLY = :monthly
107
+
108
+ # @!method self.values
109
+ # @return [Array<Symbol>]
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#list
6
+ class EmployerListResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute active
8
+ # Whether the employer is currently active in the system.
9
+ #
10
+ # @return [Boolean]
11
+ required :active, VitableConnect::Internal::Type::Boolean
12
+
13
+ # @!attribute address
14
+ # Shared read serializer for a postal address on public API responses.
15
+ #
16
+ # One definition for the address block every public resource emits (employer,
17
+ # employee, …), so the 5-field shape isn't hand-rolled per endpoint. Read-only: it
18
+ # renders an already-built address value object (e.g. `AddressDVO`) whose
19
+ # attributes map 1:1 to these fields.
20
+ #
21
+ # @return [VitableConnect::Models::EmployerListResponse::Address]
22
+ required :address, -> { VitableConnect::Models::EmployerListResponse::Address }
23
+
24
+ # @!attribute benefit_families
25
+ # Distinct benefit-family tags across the employer's active benefits (e.g. `MEC`,
26
+ # `ICHRA`, `VPC`).
27
+ #
28
+ # @return [Array<String>]
29
+ required :benefit_families, VitableConnect::Internal::Type::ArrayOf[String]
30
+
31
+ # @!attribute benefit_lifecycle_stage
32
+ #
33
+ # @return [VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage]
34
+ required :benefit_lifecycle_stage,
35
+ -> { VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage }
36
+
37
+ # @!attribute created_at
38
+ # Timestamp when the employer was created.
39
+ #
40
+ # @return [Time]
41
+ required :created_at, Time
42
+
43
+ # @!attribute ein
44
+ # Employer Identification Number (masked in responses).
45
+ #
46
+ # @return [String, nil]
47
+ required :ein, String, nil?: true
48
+
49
+ # @!attribute email
50
+ # Email address for billing and communications.
51
+ #
52
+ # @return [String, nil]
53
+ required :email, String, nil?: true
54
+
55
+ # @!attribute employer_id
56
+ # Prefixed employer identifier (`empr_<base64-encoded-uuid>`).
57
+ #
58
+ # @return [String]
59
+ required :employer_id, String
60
+
61
+ # @!attribute enrollment_rate_summary
62
+ # Enrolled/eligible employees roll-up.
63
+ #
64
+ # @return [VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary]
65
+ required :enrollment_rate_summary,
66
+ -> { VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary }
67
+
68
+ # @!attribute hris_status
69
+ # HRIS connection, or null when the employer has none.
70
+ #
71
+ # @return [VitableConnect::Models::EmployerListResponse::HRISStatus, nil]
72
+ required :hris_status, -> { VitableConnect::Models::EmployerListResponse::HRISStatus }, nil?: true
73
+
74
+ # @!attribute legal_name
75
+ # Legal business name for compliance and tax purposes.
76
+ #
77
+ # @return [String, nil]
78
+ required :legal_name, String, nil?: true
79
+
80
+ # @!attribute name
81
+ # Employer name.
82
+ #
83
+ # @return [String]
84
+ required :name, String
85
+
86
+ # @!attribute organization_id
87
+ # ID of the parent organization (`org_*`), or null when unknown.
88
+ #
89
+ # @return [String, nil]
90
+ required :organization_id, String, nil?: true
91
+
92
+ # @!attribute phone_number
93
+ # Employer phone number.
94
+ #
95
+ # @return [String, nil]
96
+ required :phone_number, String, nil?: true
97
+
98
+ # @!attribute reference_id
99
+ # The organization's own reference id for this employer, or null when none was
100
+ # assigned.
101
+ #
102
+ # @return [String, nil]
103
+ required :reference_id, String, nil?: true
104
+
105
+ # @!attribute updated_at
106
+ # Timestamp when the employer was last updated.
107
+ #
108
+ # @return [Time]
109
+ required :updated_at, Time
110
+
111
+ # @!method initialize(active:, address:, benefit_families:, benefit_lifecycle_stage:, created_at:, ein:, email:, employer_id:, enrollment_rate_summary:, hris_status:, legal_name:, name:, organization_id:, phone_number:, reference_id:, updated_at:)
112
+ # Some parameter documentations has been truncated, see
113
+ # {VitableConnect::Models::EmployerListResponse} for more details.
114
+ #
115
+ # One employer row of the organization's book (list projection).
116
+ #
117
+ # Carries the enriched/computed columns (enrollment roll-up, benefit-family tags,
118
+ # HRIS connection, benefit-lifecycle stage) alongside the flat CRM fields of the
119
+ # underlying employer (legal name, EIN, contact, address, timestamps) for parity
120
+ # with the legacy `Employer` contract.
121
+ #
122
+ # @param active [Boolean] Whether the employer is currently active in the system.
123
+ #
124
+ # @param address [VitableConnect::Models::EmployerListResponse::Address] Shared read serializer for a postal address on public API responses.
125
+ #
126
+ # @param benefit_families [Array<String>] Distinct benefit-family tags across the employer's active benefits (e.g. `MEC`,
127
+ #
128
+ # @param benefit_lifecycle_stage [VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage]
129
+ #
130
+ # @param created_at [Time] Timestamp when the employer was created.
131
+ #
132
+ # @param ein [String, nil] Employer Identification Number (masked in responses).
133
+ #
134
+ # @param email [String, nil] Email address for billing and communications.
135
+ #
136
+ # @param employer_id [String] Prefixed employer identifier (`empr_<base64-encoded-uuid>`).
137
+ #
138
+ # @param enrollment_rate_summary [VitableConnect::Models::EmployerListResponse::EnrollmentRateSummary] Enrolled/eligible employees roll-up.
139
+ #
140
+ # @param hris_status [VitableConnect::Models::EmployerListResponse::HRISStatus, nil] HRIS connection, or null when the employer has none.
141
+ #
142
+ # @param legal_name [String, nil] Legal business name for compliance and tax purposes.
143
+ #
144
+ # @param name [String] Employer name.
145
+ #
146
+ # @param organization_id [String, nil] ID of the parent organization (`org_*`), or null when unknown.
147
+ #
148
+ # @param phone_number [String, nil] Employer phone number.
149
+ #
150
+ # @param reference_id [String, nil] The organization's own reference id for this employer, or null when none was ass
151
+ #
152
+ # @param updated_at [Time] Timestamp when the employer was last updated.
153
+
154
+ # @see VitableConnect::Models::EmployerListResponse#address
155
+ class Address < VitableConnect::Internal::Type::BaseModel
156
+ # @!attribute address_line_1
157
+ # Primary street address.
158
+ #
159
+ # @return [String]
160
+ required :address_line_1, String
161
+
162
+ # @!attribute address_line_2
163
+ # Secondary street address (apt, suite, etc.).
164
+ #
165
+ # @return [String, nil]
166
+ required :address_line_2, String, nil?: true
167
+
168
+ # @!attribute city
169
+ # City name.
170
+ #
171
+ # @return [String]
172
+ required :city, String
173
+
174
+ # @!attribute state
175
+ # Two-letter state code (e.g. `CA`, `NY`).
176
+ #
177
+ # @return [String]
178
+ required :state, String
179
+
180
+ # @!attribute zipcode
181
+ # ZIP code (5 or 9 digit).
182
+ #
183
+ # @return [String]
184
+ required :zipcode, String
185
+
186
+ # @!method initialize(address_line_1:, address_line_2:, city:, state:, zipcode:)
187
+ # Shared read serializer for a postal address on public API responses.
188
+ #
189
+ # One definition for the address block every public resource emits (employer,
190
+ # employee, …), so the 5-field shape isn't hand-rolled per endpoint. Read-only: it
191
+ # renders an already-built address value object (e.g. `AddressDVO`) whose
192
+ # attributes map 1:1 to these fields.
193
+ #
194
+ # @param address_line_1 [String] Primary street address.
195
+ #
196
+ # @param address_line_2 [String, nil] Secondary street address (apt, suite, etc.).
197
+ #
198
+ # @param city [String] City name.
199
+ #
200
+ # @param state [String] Two-letter state code (e.g. `CA`, `NY`).
201
+ #
202
+ # @param zipcode [String] ZIP code (5 or 9 digit).
203
+ end
204
+
205
+ # @see VitableConnect::Models::EmployerListResponse#benefit_lifecycle_stage
206
+ class BenefitLifecycleStage < VitableConnect::Internal::Type::BaseModel
207
+ # @!attribute as_of_date
208
+ # Anchor date for the stage (e.g. renewal date); null when not applicable.
209
+ #
210
+ # @return [Date, nil]
211
+ required :as_of_date, Date, nil?: true
212
+
213
+ # @!attribute stage
214
+ # Computed employer benefit-lifecycle stage: `open_enrollment`, `renewal`,
215
+ # `active`, `onboarding`, or `cancelled`.
216
+ #
217
+ # @return [String]
218
+ required :stage, String
219
+
220
+ # @!method initialize(as_of_date:, stage:)
221
+ # Some parameter documentations has been truncated, see
222
+ # {VitableConnect::Models::EmployerListResponse::BenefitLifecycleStage} for more
223
+ # details.
224
+ #
225
+ # @param as_of_date [Date, nil] Anchor date for the stage (e.g. renewal date); null when not applicable.
226
+ #
227
+ # @param stage [String] Computed employer benefit-lifecycle stage: `open_enrollment`, `renewal`, `active
228
+ end
229
+
230
+ # @see VitableConnect::Models::EmployerListResponse#enrollment_rate_summary
231
+ class EnrollmentRateSummary < VitableConnect::Internal::Type::BaseModel
232
+ # @!attribute eligible
233
+ # Employees eligible for at least one active benefit.
234
+ #
235
+ # @return [Integer]
236
+ required :eligible, Integer
237
+
238
+ # @!attribute enrolled
239
+ # Employees enrolled in at least one active benefit.
240
+ #
241
+ # @return [Integer]
242
+ required :enrolled, Integer
243
+
244
+ # @!attribute percentage
245
+ # `enrolled / eligible` as a whole-number percent (0 when none eligible).
246
+ #
247
+ # @return [Integer]
248
+ required :percentage, Integer
249
+
250
+ # @!method initialize(eligible:, enrolled:, percentage:)
251
+ # Enrolled/eligible employees roll-up.
252
+ #
253
+ # @param eligible [Integer] Employees eligible for at least one active benefit.
254
+ #
255
+ # @param enrolled [Integer] Employees enrolled in at least one active benefit.
256
+ #
257
+ # @param percentage [Integer] `enrolled / eligible` as a whole-number percent (0 when none eligible).
258
+ end
259
+
260
+ # @see VitableConnect::Models::EmployerListResponse#hris_status
261
+ class HRISStatus < VitableConnect::Internal::Type::BaseModel
262
+ # @!attribute provider
263
+ # HRIS/payroll provider the employer is connected to (e.g. `Paychex`).
264
+ #
265
+ # @return [String]
266
+ required :provider, String
267
+
268
+ # @!attribute status
269
+ # Connection status reported by the integration.
270
+ #
271
+ # @return [String]
272
+ required :status, String
273
+
274
+ # @!method initialize(provider:, status:)
275
+ # HRIS connection, or null when the employer has none.
276
+ #
277
+ # @param provider [String] HRIS/payroll provider the employer is connected to (e.g. `Paychex`).
278
+ #
279
+ # @param status [String] Connection status reported by the integration.
280
+ end
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#retrieve_benefit_plan_year
6
+ class EmployerRetrieveBenefitPlanYearParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute employer_id
11
+ # Unique employer identifier (empr\_\*)
12
+ #
13
+ # @return [String]
14
+ required :employer_id, String
15
+
16
+ # @!attribute benefit_plan_year_id
17
+ # Unique benefit-plan-year identifier (plyr\_\*).
18
+ #
19
+ # @return [String]
20
+ required :benefit_plan_year_id, String
21
+
22
+ # @!method initialize(employer_id:, benefit_plan_year_id:, request_options: {})
23
+ # @param employer_id [String] Unique employer identifier (empr\_\*)
24
+ #
25
+ # @param benefit_plan_year_id [String] Unique benefit-plan-year identifier (plyr\_\*).
26
+ #
27
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end