@@ -7,6 +7,20 @@ module FinchAPI
77 extend FinchAPI ::Internal ::Type ::RequestParameters ::Converter
88 include FinchAPI ::Internal ::Type ::RequestParameters
99
10+ # The company match for this benefit.
11+ sig { returns ( T . nilable ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ) ) }
12+ attr_reader :company_contribution
13+
14+ sig do
15+ params (
16+ company_contribution : T . nilable (
17+ T . any ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution , FinchAPI ::Internal ::AnyHash )
18+ )
19+ )
20+ . void
21+ end
22+ attr_writer :company_contribution
23+
1024 # Name of the benefit as it appears in the provider and pay statements. Recommend
1125 # limiting this to <30 characters due to limitations in specific providers (e.g.
1226 # Justworks).
@@ -26,6 +40,9 @@ module FinchAPI
2640
2741 sig do
2842 params (
43+ company_contribution : T . nilable (
44+ T . any ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution , FinchAPI ::Internal ::AnyHash )
45+ ) ,
2946 description : String ,
3047 frequency : T . nilable ( FinchAPI ::Models ::HRIS ::BenefitFrequency ::OrSymbol ) ,
3148 type : T . nilable ( FinchAPI ::Models ::HRIS ::BenefitType ::OrSymbol ) ,
@@ -34,6 +51,8 @@ module FinchAPI
3451 . returns ( T . attached_class )
3552 end
3653 def self . new (
54+ # The company match for this benefit.
55+ company_contribution : nil ,
3756 # Name of the benefit as it appears in the provider and pay statements. Recommend
3857 # limiting this to <30 characters due to limitations in specific providers (e.g.
3958 # Justworks).
@@ -48,6 +67,7 @@ module FinchAPI
4867 override
4968 . returns (
5069 {
70+ company_contribution : T . nilable ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ) ,
5171 description : String ,
5272 frequency : T . nilable ( FinchAPI ::Models ::HRIS ::BenefitFrequency ::OrSymbol ) ,
5373 type : T . nilable ( FinchAPI ::Models ::HRIS ::BenefitType ::OrSymbol ) ,
@@ -56,6 +76,83 @@ module FinchAPI
5676 )
5777 end
5878 def to_hash ; end
79+
80+ class CompanyContribution < FinchAPI ::Internal ::Type ::BaseModel
81+ sig { returns ( T . nilable ( T ::Array [ FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Tier ] ) ) }
82+ attr_reader :tiers
83+
84+ sig do
85+ params (
86+ tiers : T ::Array [ T . any ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Tier , FinchAPI ::Internal ::AnyHash ) ]
87+ )
88+ . void
89+ end
90+ attr_writer :tiers
91+
92+ sig { returns ( T . nilable ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ::OrSymbol ) ) }
93+ attr_reader :type
94+
95+ sig { params ( type : FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ::OrSymbol ) . void }
96+ attr_writer :type
97+
98+ # The company match for this benefit.
99+ sig do
100+ params (
101+ tiers : T ::Array [ T . any ( FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Tier , FinchAPI ::Internal ::AnyHash ) ] ,
102+ type : FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ::OrSymbol
103+ )
104+ . returns ( T . attached_class )
105+ end
106+ def self . new ( tiers : nil , type : nil ) ; end
107+
108+ sig do
109+ override
110+ . returns (
111+ {
112+ tiers : T ::Array [ FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Tier ] ,
113+ type : FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ::OrSymbol
114+ }
115+ )
116+ end
117+ def to_hash ; end
118+
119+ class Tier < FinchAPI ::Internal ::Type ::BaseModel
120+ sig { returns ( T . nilable ( Integer ) ) }
121+ attr_reader :match
122+
123+ sig { params ( match : Integer ) . void }
124+ attr_writer :match
125+
126+ sig { returns ( T . nilable ( Integer ) ) }
127+ attr_reader :threshold
128+
129+ sig { params ( threshold : Integer ) . void }
130+ attr_writer :threshold
131+
132+ sig { params ( match : Integer , threshold : Integer ) . returns ( T . attached_class ) }
133+ def self . new ( match : nil , threshold : nil ) ; end
134+
135+ sig { override . returns ( { match : Integer , threshold : Integer } ) }
136+ def to_hash ; end
137+ end
138+
139+ module Type
140+ extend FinchAPI ::Internal ::Type ::Enum
141+
142+ TaggedSymbol =
143+ T . type_alias { T . all ( Symbol , FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ) }
144+ OrSymbol = T . type_alias { T . any ( Symbol , String ) }
145+
146+ MATCH =
147+ T . let ( :match , FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ::TaggedSymbol )
148+
149+ sig do
150+ override
151+ . returns ( T ::Array [ FinchAPI ::Models ::HRIS ::BenefitCreateParams ::CompanyContribution ::Type ::TaggedSymbol ] )
152+ end
153+ def self . values ; end
154+ end
155+ end
59156 end
60157 end
61158 end
0 commit comments