@@ -10,24 +10,336 @@ class PaymentCreateParams < FinchAPI::Internal::Type::BaseModel
1010
1111 # @!attribute end_date
1212 #
13- # @return [String , nil]
14- optional :end_date , String
13+ # @return [Date , nil]
14+ optional :end_date , Date
1515
1616 # @!attribute pay_statements
17+ # Array of pay statements to include in the payment.
1718 #
18- # @return [Array<FinchAPI::Models::HRIS::PayStatement>, nil]
19- optional :pay_statements , -> { FinchAPI ::Internal ::Type ::ArrayOf [ FinchAPI ::HRIS ::PayStatement ] }
19+ # @return [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement>, nil]
20+ optional :pay_statements ,
21+ -> {
22+ FinchAPI ::Internal ::Type ::ArrayOf [ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ]
23+ }
2024
2125 # @!attribute start_date
2226 #
23- # @return [String , nil]
24- optional :start_date , String
27+ # @return [Date , nil]
28+ optional :start_date , Date
2529
2630 # @!method initialize(end_date: nil, pay_statements: nil, start_date: nil, request_options: {})
27- # @param end_date [String]
28- # @param pay_statements [Array<FinchAPI::Models::HRIS::PayStatement>]
29- # @param start_date [String]
31+ # @param end_date [Date]
32+ #
33+ # @param pay_statements [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement>] Array of pay statements to include in the payment.
34+ #
35+ # @param start_date [Date]
36+ #
3037 # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
38+
39+ class PayStatement < FinchAPI ::Internal ::Type ::BaseModel
40+ # @!attribute individual_id
41+ #
42+ # @return [String]
43+ required :individual_id , String
44+
45+ # @!attribute earnings
46+ #
47+ # @return [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Earning>, nil]
48+ optional :earnings ,
49+ -> {
50+ FinchAPI ::Internal ::Type ::ArrayOf [ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::Earning ]
51+ }
52+
53+ # @!attribute employee_deductions
54+ #
55+ # @return [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction>, nil]
56+ optional :employee_deductions ,
57+ -> {
58+ FinchAPI ::Internal ::Type ::ArrayOf [ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::EmployeeDeduction ]
59+ }
60+
61+ # @!attribute employer_contributions
62+ #
63+ # @return [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution>, nil]
64+ optional :employer_contributions ,
65+ -> {
66+ FinchAPI ::Internal ::Type ::ArrayOf [ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::EmployerContribution ]
67+ }
68+
69+ # @!attribute gross_pay
70+ #
71+ # @return [Integer, nil]
72+ optional :gross_pay , Integer
73+
74+ # @!attribute net_pay
75+ #
76+ # @return [Integer, nil]
77+ optional :net_pay , Integer
78+
79+ # @!attribute payment_method
80+ #
81+ # @return [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod, nil]
82+ optional :payment_method ,
83+ enum : -> { FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::PaymentMethod } ,
84+ nil? : true
85+
86+ # @!attribute taxes
87+ #
88+ # @return [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Tax>, nil]
89+ optional :taxes ,
90+ -> {
91+ FinchAPI ::Internal ::Type ::ArrayOf [ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::Tax ]
92+ }
93+
94+ # @!attribute total_hours
95+ #
96+ # @return [Float, nil]
97+ optional :total_hours , Float
98+
99+ # @!attribute type
100+ #
101+ # @return [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Type, nil]
102+ optional :type , enum : -> { FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::Type } , nil? : true
103+
104+ # @!method initialize(individual_id:, earnings: nil, employee_deductions: nil, employer_contributions: nil, gross_pay: nil, net_pay: nil, payment_method: nil, taxes: nil, total_hours: nil, type: nil)
105+ # @param individual_id [String]
106+ # @param earnings [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Earning>]
107+ # @param employee_deductions [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction>]
108+ # @param employer_contributions [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution>]
109+ # @param gross_pay [Integer]
110+ # @param net_pay [Integer]
111+ # @param payment_method [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod, nil]
112+ # @param taxes [Array<FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Tax>]
113+ # @param total_hours [Float]
114+ # @param type [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Type, nil]
115+
116+ class Earning < FinchAPI ::Internal ::Type ::BaseModel
117+ # @!attribute amount
118+ #
119+ # @return [Integer, nil]
120+ optional :amount , Integer
121+
122+ # @!attribute hours
123+ #
124+ # @return [Float, nil]
125+ optional :hours , Float
126+
127+ # @!attribute name
128+ #
129+ # @return [String, nil]
130+ optional :name , String
131+
132+ # @!attribute type
133+ #
134+ # @return [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Earning::Type, nil]
135+ optional :type , enum : -> { FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::Earning ::Type }
136+
137+ # @!method initialize(amount: nil, hours: nil, name: nil, type: nil)
138+ # @param amount [Integer]
139+ # @param hours [Float]
140+ # @param name [String]
141+ # @param type [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Earning::Type]
142+
143+ # @see FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Earning#type
144+ module Type
145+ extend FinchAPI ::Internal ::Type ::Enum
146+
147+ BONUS = :bonus
148+ COMMISSION = :commission
149+ DOUBLE_OVERTIME = :double_overtime
150+ OTHER = :other
151+ OVERTIME = :overtime
152+ PTO = :pto
153+ REIMBURSEMENT = :reimbursement
154+ SALARY = :salary
155+ SEVERANCE = :severance
156+ SICK = :sick
157+ TIPS = :tips
158+ WAGE = :wage
159+ TYPE_1099 = :"1099"
160+
161+ # @!method self.values
162+ # @return [Array<Symbol>]
163+ end
164+ end
165+
166+ class EmployeeDeduction < FinchAPI ::Internal ::Type ::BaseModel
167+ # @!attribute amount
168+ #
169+ # @return [Integer, nil]
170+ optional :amount , Integer
171+
172+ # @!attribute name
173+ #
174+ # @return [String, nil]
175+ optional :name , String
176+
177+ # @!attribute pre_tax
178+ #
179+ # @return [Boolean, nil]
180+ optional :pre_tax , FinchAPI ::Internal ::Type ::Boolean
181+
182+ # @!attribute type
183+ #
184+ # @return [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Type, nil]
185+ optional :type ,
186+ enum : -> {
187+ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::EmployeeDeduction ::Type
188+ }
189+
190+ # @!method initialize(amount: nil, name: nil, pre_tax: nil, type: nil)
191+ # @param amount [Integer]
192+ # @param name [String]
193+ # @param pre_tax [Boolean]
194+ # @param type [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Type]
195+
196+ # @see FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction#type
197+ module Type
198+ extend FinchAPI ::Internal ::Type ::Enum
199+
200+ TYPE_457 = :"457"
201+ TYPE_401K = :"401k"
202+ TYPE_401K_ROTH = :"401k_roth"
203+ TYPE_401K_LOAN = :"401k_loan"
204+ TYPE_403B = :"403b"
205+ TYPE_403B_ROTH = :"403b_roth"
206+ TYPE_457_ROTH = :"457_roth"
207+ COMMUTER = :commuter
208+ CUSTOM_POST_TAX = :custom_post_tax
209+ CUSTOM_PRE_TAX = :custom_pre_tax
210+ FSA_DEPENDENT_CARE = :fsa_dependent_care
211+ FSA_MEDICAL = :fsa_medical
212+ HSA_POST = :hsa_post
213+ HSA_PRE = :hsa_pre
214+ S125_DENTAL = :s125_dental
215+ S125_MEDICAL = :s125_medical
216+ S125_VISION = :s125_vision
217+ SIMPLE = :simple
218+ SIMPLE_IRA = :simple_ira
219+
220+ # @!method self.values
221+ # @return [Array<Symbol>]
222+ end
223+ end
224+
225+ class EmployerContribution < FinchAPI ::Internal ::Type ::BaseModel
226+ # @!attribute amount
227+ #
228+ # @return [Integer, nil]
229+ optional :amount , Integer
230+
231+ # @!attribute name
232+ #
233+ # @return [String, nil]
234+ optional :name , String
235+
236+ # @!attribute type
237+ #
238+ # @return [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Type, nil]
239+ optional :type ,
240+ enum : -> {
241+ FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::EmployerContribution ::Type
242+ }
243+
244+ # @!method initialize(amount: nil, name: nil, type: nil)
245+ # @param amount [Integer]
246+ # @param name [String]
247+ # @param type [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Type]
248+
249+ # @see FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution#type
250+ module Type
251+ extend FinchAPI ::Internal ::Type ::Enum
252+
253+ TYPE_457 = :"457"
254+ TYPE_401K = :"401k"
255+ TYPE_401K_ROTH = :"401k_roth"
256+ TYPE_401K_LOAN = :"401k_loan"
257+ TYPE_403B = :"403b"
258+ TYPE_403B_ROTH = :"403b_roth"
259+ TYPE_457_ROTH = :"457_roth"
260+ COMMUTER = :commuter
261+ CUSTOM_POST_TAX = :custom_post_tax
262+ CUSTOM_PRE_TAX = :custom_pre_tax
263+ FSA_DEPENDENT_CARE = :fsa_dependent_care
264+ FSA_MEDICAL = :fsa_medical
265+ HSA_POST = :hsa_post
266+ HSA_PRE = :hsa_pre
267+ S125_DENTAL = :s125_dental
268+ S125_MEDICAL = :s125_medical
269+ S125_VISION = :s125_vision
270+ SIMPLE = :simple
271+ SIMPLE_IRA = :simple_ira
272+
273+ # @!method self.values
274+ # @return [Array<Symbol>]
275+ end
276+ end
277+
278+ # @see FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement#payment_method
279+ module PaymentMethod
280+ extend FinchAPI ::Internal ::Type ::Enum
281+
282+ CHECK = :check
283+ DIRECT_DEPOSIT = :direct_deposit
284+ OTHER = :other
285+
286+ # @!method self.values
287+ # @return [Array<Symbol>]
288+ end
289+
290+ class Tax < FinchAPI ::Internal ::Type ::BaseModel
291+ # @!attribute amount
292+ #
293+ # @return [Integer, nil]
294+ optional :amount , Integer
295+
296+ # @!attribute employer
297+ #
298+ # @return [Boolean, nil]
299+ optional :employer , FinchAPI ::Internal ::Type ::Boolean
300+
301+ # @!attribute name
302+ #
303+ # @return [String, nil]
304+ optional :name , String
305+
306+ # @!attribute type
307+ #
308+ # @return [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Tax::Type, nil]
309+ optional :type , enum : -> { FinchAPI ::Sandbox ::PaymentCreateParams ::PayStatement ::Tax ::Type }
310+
311+ # @!method initialize(amount: nil, employer: nil, name: nil, type: nil)
312+ # @param amount [Integer]
313+ # @param employer [Boolean]
314+ # @param name [String]
315+ # @param type [Symbol, FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Tax::Type]
316+
317+ # @see FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement::Tax#type
318+ module Type
319+ extend FinchAPI ::Internal ::Type ::Enum
320+
321+ FEDERAL = :federal
322+ FICA = :fica
323+ LOCAL = :local
324+ STATE = :state
325+
326+ # @!method self.values
327+ # @return [Array<Symbol>]
328+ end
329+ end
330+
331+ # @see FinchAPI::Models::Sandbox::PaymentCreateParams::PayStatement#type
332+ module Type
333+ extend FinchAPI ::Internal ::Type ::Enum
334+
335+ OFF_CYCLE_PAYROLL = :off_cycle_payroll
336+ ONE_TIME_PAYMENT = :one_time_payment
337+ REGULAR_PAYROLL = :regular_payroll
338+
339+ # @!method self.values
340+ # @return [Array<Symbol>]
341+ end
342+ end
31343 end
32344 end
33345 end
0 commit comments