vitable-connect 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +39 -0
  4. data/README.md +267 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/vitable_connect/client.rb +118 -0
  7. data/lib/vitable_connect/errors.rb +228 -0
  8. data/lib/vitable_connect/file_part.rb +58 -0
  9. data/lib/vitable_connect/internal/page_number_page.rb +113 -0
  10. data/lib/vitable_connect/internal/transport/base_client.rb +577 -0
  11. data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/vitable_connect/internal/type/array_of.rb +168 -0
  13. data/lib/vitable_connect/internal/type/base_model.rb +534 -0
  14. data/lib/vitable_connect/internal/type/base_page.rb +55 -0
  15. data/lib/vitable_connect/internal/type/boolean.rb +77 -0
  16. data/lib/vitable_connect/internal/type/converter.rb +327 -0
  17. data/lib/vitable_connect/internal/type/enum.rb +152 -0
  18. data/lib/vitable_connect/internal/type/file_input.rb +111 -0
  19. data/lib/vitable_connect/internal/type/hash_of.rb +188 -0
  20. data/lib/vitable_connect/internal/type/request_parameters.rb +42 -0
  21. data/lib/vitable_connect/internal/type/union.rb +245 -0
  22. data/lib/vitable_connect/internal/type/unknown.rb +81 -0
  23. data/lib/vitable_connect/internal/util.rb +951 -0
  24. data/lib/vitable_connect/internal.rb +20 -0
  25. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +68 -0
  26. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +70 -0
  27. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +53 -0
  28. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +18 -0
  29. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +22 -0
  30. data/lib/vitable_connect/models/employee.rb +244 -0
  31. data/lib/vitable_connect/models/employee_class.rb +25 -0
  32. data/lib/vitable_connect/models/employee_list_enrollments_params.rb +38 -0
  33. data/lib/vitable_connect/models/employee_retrieve_params.rb +22 -0
  34. data/lib/vitable_connect/models/employee_retrieve_response.rb +18 -0
  35. data/lib/vitable_connect/models/employer.rb +163 -0
  36. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +43 -0
  37. data/lib/vitable_connect/models/employer_create_params.rb +115 -0
  38. data/lib/vitable_connect/models/employer_list_employees_params.rb +38 -0
  39. data/lib/vitable_connect/models/employer_list_params.rb +30 -0
  40. data/lib/vitable_connect/models/employer_response.rb +19 -0
  41. data/lib/vitable_connect/models/employer_retrieve_params.rb +22 -0
  42. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +374 -0
  43. data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +35 -0
  44. data/lib/vitable_connect/models/enrollment.rb +234 -0
  45. data/lib/vitable_connect/models/enrollment_retrieve_params.rb +22 -0
  46. data/lib/vitable_connect/models/enrollment_retrieve_response.rb +18 -0
  47. data/lib/vitable_connect/models/enrollment_status.rb +21 -0
  48. data/lib/vitable_connect/models/pagination.rb +42 -0
  49. data/lib/vitable_connect/models/type.rb +17 -0
  50. data/lib/vitable_connect/models/webhook_event.rb +62 -0
  51. data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +20 -0
  52. data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +92 -0
  53. data/lib/vitable_connect/models/webhook_event_list_params.rb +135 -0
  54. data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +20 -0
  55. data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +18 -0
  56. data/lib/vitable_connect/models.rb +95 -0
  57. data/lib/vitable_connect/request_options.rb +78 -0
  58. data/lib/vitable_connect/resources/auth.rb +41 -0
  59. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +35 -0
  60. data/lib/vitable_connect/resources/employees.rb +63 -0
  61. data/lib/vitable_connect/resources/employers.rb +184 -0
  62. data/lib/vitable_connect/resources/enrollments.rb +35 -0
  63. data/lib/vitable_connect/resources/webhook_events.rb +95 -0
  64. data/lib/vitable_connect/version.rb +5 -0
  65. data/lib/vitable_connect.rb +93 -0
  66. data/manifest.yaml +17 -0
  67. data/rbi/vitable_connect/client.rbi +88 -0
  68. data/rbi/vitable_connect/errors.rbi +205 -0
  69. data/rbi/vitable_connect/file_part.rbi +37 -0
  70. data/rbi/vitable_connect/internal/page_number_page.rbi +49 -0
  71. data/rbi/vitable_connect/internal/transport/base_client.rbi +307 -0
  72. data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +84 -0
  73. data/rbi/vitable_connect/internal/type/array_of.rbi +108 -0
  74. data/rbi/vitable_connect/internal/type/base_model.rbi +314 -0
  75. data/rbi/vitable_connect/internal/type/base_page.rbi +43 -0
  76. data/rbi/vitable_connect/internal/type/boolean.rbi +58 -0
  77. data/rbi/vitable_connect/internal/type/converter.rbi +225 -0
  78. data/rbi/vitable_connect/internal/type/enum.rbi +82 -0
  79. data/rbi/vitable_connect/internal/type/file_input.rbi +59 -0
  80. data/rbi/vitable_connect/internal/type/hash_of.rbi +108 -0
  81. data/rbi/vitable_connect/internal/type/request_parameters.rbi +31 -0
  82. data/rbi/vitable_connect/internal/type/union.rbi +130 -0
  83. data/rbi/vitable_connect/internal/type/unknown.rbi +58 -0
  84. data/rbi/vitable_connect/internal/util.rbi +507 -0
  85. data/rbi/vitable_connect/internal.rbi +18 -0
  86. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +147 -0
  87. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +128 -0
  88. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +74 -0
  89. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +38 -0
  90. data/rbi/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbi +43 -0
  91. data/rbi/vitable_connect/models/employee.rbi +316 -0
  92. data/rbi/vitable_connect/models/employee_class.rbi +38 -0
  93. data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +68 -0
  94. data/rbi/vitable_connect/models/employee_retrieve_params.rbi +46 -0
  95. data/rbi/vitable_connect/models/employee_retrieve_response.rbi +32 -0
  96. data/rbi/vitable_connect/models/employer.rbi +205 -0
  97. data/rbi/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbi +64 -0
  98. data/rbi/vitable_connect/models/employer_create_params.rbi +169 -0
  99. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +68 -0
  100. data/rbi/vitable_connect/models/employer_list_params.rbi +60 -0
  101. data/rbi/vitable_connect/models/employer_response.rbi +36 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_params.rbi +46 -0
  103. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +819 -0
  104. data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +76 -0
  105. data/rbi/vitable_connect/models/enrollment.rbi +401 -0
  106. data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +46 -0
  107. data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +34 -0
  108. data/rbi/vitable_connect/models/enrollment_status.rbi +32 -0
  109. data/rbi/vitable_connect/models/pagination.rbi +62 -0
  110. data/rbi/vitable_connect/models/type.rbi +21 -0
  111. data/rbi/vitable_connect/models/webhook_event.rbi +81 -0
  112. data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +38 -0
  113. data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +147 -0
  114. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +307 -0
  115. data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +38 -0
  116. data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +34 -0
  117. data/rbi/vitable_connect/models.rbi +62 -0
  118. data/rbi/vitable_connect/request_options.rbi +61 -0
  119. data/rbi/vitable_connect/resources/auth.rbi +36 -0
  120. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +27 -0
  121. data/rbi/vitable_connect/resources/employees.rbi +49 -0
  122. data/rbi/vitable_connect/resources/employers.rbi +147 -0
  123. data/rbi/vitable_connect/resources/enrollments.rbi +27 -0
  124. data/rbi/vitable_connect/resources/webhook_events.rbi +84 -0
  125. data/rbi/vitable_connect/version.rbi +5 -0
  126. data/sig/vitable_connect/client.rbs +42 -0
  127. data/sig/vitable_connect/errors.rbs +117 -0
  128. data/sig/vitable_connect/file_part.rbs +21 -0
  129. data/sig/vitable_connect/internal/page_number_page.rbs +28 -0
  130. data/sig/vitable_connect/internal/transport/base_client.rbs +133 -0
  131. data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +48 -0
  132. data/sig/vitable_connect/internal/type/array_of.rbs +48 -0
  133. data/sig/vitable_connect/internal/type/base_model.rbs +104 -0
  134. data/sig/vitable_connect/internal/type/base_page.rbs +24 -0
  135. data/sig/vitable_connect/internal/type/boolean.rbs +26 -0
  136. data/sig/vitable_connect/internal/type/converter.rbs +79 -0
  137. data/sig/vitable_connect/internal/type/enum.rbs +32 -0
  138. data/sig/vitable_connect/internal/type/file_input.rbs +25 -0
  139. data/sig/vitable_connect/internal/type/hash_of.rbs +48 -0
  140. data/sig/vitable_connect/internal/type/request_parameters.rbs +20 -0
  141. data/sig/vitable_connect/internal/type/union.rbs +52 -0
  142. data/sig/vitable_connect/internal/type/unknown.rbs +26 -0
  143. data/sig/vitable_connect/internal/util.rbs +195 -0
  144. data/sig/vitable_connect/internal.rbs +10 -0
  145. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +56 -0
  146. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +50 -0
  147. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +50 -0
  148. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +14 -0
  149. data/sig/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbs +23 -0
  150. data/sig/vitable_connect/models/employee.rbs +169 -0
  151. data/sig/vitable_connect/models/employee_class.rbs +24 -0
  152. data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +36 -0
  153. data/sig/vitable_connect/models/employee_retrieve_params.rbs +24 -0
  154. data/sig/vitable_connect/models/employee_retrieve_response.rbs +13 -0
  155. data/sig/vitable_connect/models/employer.rbs +117 -0
  156. data/sig/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbs +32 -0
  157. data/sig/vitable_connect/models/employer_create_params.rbs +93 -0
  158. data/sig/vitable_connect/models/employer_list_employees_params.rbs +36 -0
  159. data/sig/vitable_connect/models/employer_list_params.rbs +32 -0
  160. data/sig/vitable_connect/models/employer_response.rbs +13 -0
  161. data/sig/vitable_connect/models/employer_retrieve_params.rbs +24 -0
  162. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +274 -0
  163. data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +30 -0
  164. data/sig/vitable_connect/models/enrollment.rbs +164 -0
  165. data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +24 -0
  166. data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +13 -0
  167. data/sig/vitable_connect/models/enrollment_status.rbs +16 -0
  168. data/sig/vitable_connect/models/pagination.rbs +30 -0
  169. data/sig/vitable_connect/models/type.rbs +14 -0
  170. data/sig/vitable_connect/models/webhook_event.rbs +45 -0
  171. data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +23 -0
  172. data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +77 -0
  173. data/sig/vitable_connect/models/webhook_event_list_params.rbs +126 -0
  174. data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +23 -0
  175. data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +14 -0
  176. data/sig/vitable_connect/models.rbs +51 -0
  177. data/sig/vitable_connect/request_options.rbs +36 -0
  178. data/sig/vitable_connect/resources/auth.rbs +13 -0
  179. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +12 -0
  180. data/sig/vitable_connect/resources/employees.rbs +19 -0
  181. data/sig/vitable_connect/resources/employers.rbs +49 -0
  182. data/sig/vitable_connect/resources/enrollments.rbs +12 -0
  183. data/sig/vitable_connect/resources/webhook_events.rbs +28 -0
  184. data/sig/vitable_connect/version.rbs +3 -0
  185. metadata +256 -0
@@ -0,0 +1,163 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#list
6
+ class Employer < 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
+ # Nested address within EmployerSerializer.
15
+ #
16
+ # @return [VitableConnect::Models::Employer::Address]
17
+ required :address, -> { VitableConnect::Employer::Address }
18
+
19
+ # @!attribute created_at
20
+ # Timestamp when the employer was created
21
+ #
22
+ # @return [Time]
23
+ required :created_at, Time
24
+
25
+ # @!attribute legal_name
26
+ # Legal business name for compliance and tax purposes
27
+ #
28
+ # @return [String]
29
+ required :legal_name, String
30
+
31
+ # @!attribute name
32
+ # Display name of the employer
33
+ #
34
+ # @return [String]
35
+ required :name, String
36
+
37
+ # @!attribute updated_at
38
+ # Timestamp when the employer was last updated
39
+ #
40
+ # @return [Time]
41
+ required :updated_at, Time
42
+
43
+ # @!attribute email
44
+ # Email address for billing and communications
45
+ #
46
+ # @return [String, nil]
47
+ optional :email, String, nil?: true
48
+
49
+ # @!attribute phone_number
50
+ # Employer phone number (E.164 format recommended)
51
+ #
52
+ # @return [String, nil]
53
+ optional :phone_number, String, nil?: true
54
+
55
+ # @!attribute reference_id
56
+ # Partner-assigned reference ID for the employer
57
+ #
58
+ # @return [String, nil]
59
+ optional :reference_id, String, nil?: true
60
+
61
+ response_only do
62
+ # @!attribute id
63
+ # Unique employer identifier with 'empr\_' prefix
64
+ #
65
+ # @return [String]
66
+ required :id, String
67
+
68
+ # @!attribute ein
69
+ # Employer Identification Number (masked in responses)
70
+ #
71
+ # @return [String, nil]
72
+ required :ein, String, nil?: true
73
+
74
+ # @!attribute eligibility_policy_id
75
+ # ID of the benefit eligibility policy (epol\_\*), if assigned
76
+ #
77
+ # @return [String, nil]
78
+ required :eligibility_policy_id, String, nil?: true
79
+
80
+ # @!attribute organization_id
81
+ # ID of the parent organization (org\_\*)
82
+ #
83
+ # @return [String, nil]
84
+ required :organization_id, String, nil?: true
85
+ end
86
+
87
+ # @!method initialize(id:, active:, address:, created_at:, ein:, eligibility_policy_id:, legal_name:, name:, organization_id:, updated_at:, email: nil, phone_number: nil, reference_id: nil)
88
+ # Serializer for Employer entity in public API responses.
89
+ #
90
+ # @param id [String] Unique employer identifier with 'empr\_' prefix
91
+ #
92
+ # @param active [Boolean] Whether the employer is currently active in the system
93
+ #
94
+ # @param address [VitableConnect::Models::Employer::Address] Nested address within EmployerSerializer.
95
+ #
96
+ # @param created_at [Time] Timestamp when the employer was created
97
+ #
98
+ # @param ein [String, nil] Employer Identification Number (masked in responses)
99
+ #
100
+ # @param eligibility_policy_id [String, nil] ID of the benefit eligibility policy (epol\_\*), if assigned
101
+ #
102
+ # @param legal_name [String] Legal business name for compliance and tax purposes
103
+ #
104
+ # @param name [String] Display name of the employer
105
+ #
106
+ # @param organization_id [String, nil] ID of the parent organization (org\_\*)
107
+ #
108
+ # @param updated_at [Time] Timestamp when the employer was last updated
109
+ #
110
+ # @param email [String, nil] Email address for billing and communications
111
+ #
112
+ # @param phone_number [String, nil] Employer phone number (E.164 format recommended)
113
+ #
114
+ # @param reference_id [String, nil] Partner-assigned reference ID for the employer
115
+
116
+ # @see VitableConnect::Models::Employer#address
117
+ class Address < VitableConnect::Internal::Type::BaseModel
118
+ # @!attribute address_line_1
119
+ # Primary street address
120
+ #
121
+ # @return [String]
122
+ required :address_line_1, String
123
+
124
+ # @!attribute city
125
+ # City name
126
+ #
127
+ # @return [String]
128
+ required :city, String
129
+
130
+ # @!attribute state
131
+ # Two-letter state code (e.g., CA, NY)
132
+ #
133
+ # @return [String]
134
+ required :state, String
135
+
136
+ # @!attribute zipcode
137
+ # ZIP code (5 or 9 digit)
138
+ #
139
+ # @return [String]
140
+ required :zipcode, String
141
+
142
+ # @!attribute address_line_2
143
+ # Secondary street address (apt, suite, etc.)
144
+ #
145
+ # @return [String, nil]
146
+ optional :address_line_2, String, nil?: true
147
+
148
+ # @!method initialize(address_line_1:, city:, state:, zipcode:, address_line_2: nil)
149
+ # Nested address within EmployerSerializer.
150
+ #
151
+ # @param address_line_1 [String] Primary street address
152
+ #
153
+ # @param city [String] City name
154
+ #
155
+ # @param state [String] Two-letter state code (e.g., CA, NY)
156
+ #
157
+ # @param zipcode [String] ZIP code (5 or 9 digit)
158
+ #
159
+ # @param address_line_2 [String, nil] Secondary street address (apt, suite, etc.)
160
+ end
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#create_benefit_eligibility_policy
6
+ class EmployerCreateBenefitEligibilityPolicyParams < 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 classification
17
+ # Which employee classifications are eligible. One of: full_time, part_time, all
18
+ #
19
+ # @return [String]
20
+ required :classification, String
21
+
22
+ # @!attribute waiting_period
23
+ # Waiting period before eligibility. One of: first_of_following_month, 30_days,
24
+ # 60_days, none
25
+ #
26
+ # @return [String]
27
+ required :waiting_period, String
28
+
29
+ # @!method initialize(employer_id:, classification:, waiting_period:, request_options: {})
30
+ # Some parameter documentations has been truncated, see
31
+ # {VitableConnect::Models::EmployerCreateBenefitEligibilityPolicyParams} for more
32
+ # details.
33
+ #
34
+ # @param employer_id [String] Unique employer identifier (empr\_\*)
35
+ #
36
+ # @param classification [String] Which employee classifications are eligible. One of: full_time, part_time, all
37
+ #
38
+ # @param waiting_period [String] Waiting period before eligibility. One of: first_of_following_month, 30_days, 60
39
+ #
40
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#create
6
+ class EmployerCreateParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute address
11
+ # Employer address
12
+ #
13
+ # @return [VitableConnect::Models::EmployerCreateParams::Address]
14
+ required :address, -> { VitableConnect::EmployerCreateParams::Address }
15
+
16
+ # @!attribute ein
17
+ # Employer Identification Number (format: XX-XXXXXXX)
18
+ #
19
+ # @return [String]
20
+ required :ein, String
21
+
22
+ # @!attribute email
23
+ # Email address for billing and communications
24
+ #
25
+ # @return [String]
26
+ required :email, String
27
+
28
+ # @!attribute legal_name
29
+ # Legal business name
30
+ #
31
+ # @return [String]
32
+ required :legal_name, String
33
+
34
+ # @!attribute name
35
+ # Employer display name
36
+ #
37
+ # @return [String]
38
+ required :name, String
39
+
40
+ # @!attribute phone_number
41
+ # Employer phone number (10-digit US format, e.g. 5551234567)
42
+ #
43
+ # @return [String, nil]
44
+ optional :phone_number, String, nil?: true
45
+
46
+ # @!attribute reference_id
47
+ # External reference ID for this employer
48
+ #
49
+ # @return [String, nil]
50
+ optional :reference_id, String, nil?: true
51
+
52
+ # @!method initialize(address:, ein:, email:, legal_name:, name:, phone_number: nil, reference_id: nil, request_options: {})
53
+ # @param address [VitableConnect::Models::EmployerCreateParams::Address] Employer address
54
+ #
55
+ # @param ein [String] Employer Identification Number (format: XX-XXXXXXX)
56
+ #
57
+ # @param email [String] Email address for billing and communications
58
+ #
59
+ # @param legal_name [String] Legal business name
60
+ #
61
+ # @param name [String] Employer display name
62
+ #
63
+ # @param phone_number [String, nil] Employer phone number (10-digit US format, e.g. 5551234567)
64
+ #
65
+ # @param reference_id [String, nil] External reference ID for this employer
66
+ #
67
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
68
+
69
+ class Address < VitableConnect::Internal::Type::BaseModel
70
+ # @!attribute address_line_1
71
+ # Primary street address
72
+ #
73
+ # @return [String]
74
+ required :address_line_1, String
75
+
76
+ # @!attribute city
77
+ # City name
78
+ #
79
+ # @return [String]
80
+ required :city, String
81
+
82
+ # @!attribute state
83
+ # Two-letter state code
84
+ #
85
+ # @return [String]
86
+ required :state, String
87
+
88
+ # @!attribute zipcode
89
+ # ZIP code
90
+ #
91
+ # @return [String]
92
+ required :zipcode, String
93
+
94
+ # @!attribute address_line_2
95
+ # Secondary street address
96
+ #
97
+ # @return [String, nil]
98
+ optional :address_line_2, String, nil?: true
99
+
100
+ # @!method initialize(address_line_1:, city:, state:, zipcode:, address_line_2: nil)
101
+ # Employer address
102
+ #
103
+ # @param address_line_1 [String] Primary street address
104
+ #
105
+ # @param city [String] City name
106
+ #
107
+ # @param state [String] Two-letter state code
108
+ #
109
+ # @param zipcode [String] ZIP code
110
+ #
111
+ # @param address_line_2 [String, nil] Secondary street address
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#list_employees
6
+ class EmployerListEmployeesParams < 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 limit
17
+ # Items per page (default: 20, max: 100)
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :limit, Integer
21
+
22
+ # @!attribute page
23
+ # Page number (default: 1)
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :page, Integer
27
+
28
+ # @!method initialize(employer_id:, limit: nil, page: nil, request_options: {})
29
+ # @param employer_id [String] Unique employer identifier (empr\_\*)
30
+ #
31
+ # @param limit [Integer] Items per page (default: 20, max: 100)
32
+ #
33
+ # @param page [Integer] Page number (default: 1)
34
+ #
35
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#list
6
+ class EmployerListParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute limit
11
+ # Items per page (default: 20, max: 100)
12
+ #
13
+ # @return [Integer, nil]
14
+ optional :limit, Integer
15
+
16
+ # @!attribute page
17
+ # Page number (default: 1)
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :page, Integer
21
+
22
+ # @!method initialize(limit: nil, page: nil, request_options: {})
23
+ # @param limit [Integer] Items per page (default: 20, max: 100)
24
+ #
25
+ # @param page [Integer] Page number (default: 1)
26
+ #
27
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#create
6
+ class EmployerResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Serializer for Employer entity in public API responses.
9
+ #
10
+ # @return [VitableConnect::Models::Employer]
11
+ required :data, -> { VitableConnect::Employer }
12
+
13
+ # @!method initialize(data:)
14
+ # Response containing a single employer resource.
15
+ #
16
+ # @param data [VitableConnect::Models::Employer] Serializer for Employer entity in public API responses.
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#retrieve
6
+ class EmployerRetrieveParams < 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
+ # @!method initialize(employer_id:, request_options: {})
17
+ # @param employer_id [String] Unique employer identifier (empr\_\*)
18
+ #
19
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end