apimatic-ak-sdk 0.0.1

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 +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +190 -0
  4. data/bin/console +15 -0
  5. data/lib/akoya/api_helper.rb +10 -0
  6. data/lib/akoya/client.rb +117 -0
  7. data/lib/akoya/configuration.rb +195 -0
  8. data/lib/akoya/controllers/account_information_controller.rb +93 -0
  9. data/lib/akoya/controllers/balances_controller.rb +92 -0
  10. data/lib/akoya/controllers/base_controller.rb +65 -0
  11. data/lib/akoya/controllers/customers_controller.rb +112 -0
  12. data/lib/akoya/controllers/investments_controller.rb +95 -0
  13. data/lib/akoya/controllers/payments_controller.rb +70 -0
  14. data/lib/akoya/controllers/statements_controller.rb +158 -0
  15. data/lib/akoya/controllers/tokens_controller.rb +122 -0
  16. data/lib/akoya/controllers/transactions_controller.rb +108 -0
  17. data/lib/akoya/exceptions/api_exception.rb +21 -0
  18. data/lib/akoya/exceptions/error_entity_exception.rb +54 -0
  19. data/lib/akoya/exceptions/error_response_exception.rb +53 -0
  20. data/lib/akoya/http/api_response.rb +19 -0
  21. data/lib/akoya/http/auth/basic_auth.rb +62 -0
  22. data/lib/akoya/http/auth/bearer_auth.rb +53 -0
  23. data/lib/akoya/http/http_call_back.rb +10 -0
  24. data/lib/akoya/http/http_method_enum.rb +10 -0
  25. data/lib/akoya/http/http_request.rb +10 -0
  26. data/lib/akoya/http/http_response.rb +10 -0
  27. data/lib/akoya/http/proxy_settings.rb +22 -0
  28. data/lib/akoya/logging/configuration/api_logging_configuration.rb +186 -0
  29. data/lib/akoya/logging/sdk_logger.rb +17 -0
  30. data/lib/akoya/models/account.rb +86 -0
  31. data/lib/akoya/models/account_category.rb +50 -0
  32. data/lib/akoya/models/account_contact_entity.rb +132 -0
  33. data/lib/akoya/models/account_holder_entity.rb +178 -0
  34. data/lib/akoya/models/account_holder_relationship.rb +110 -0
  35. data/lib/akoya/models/account_holder_relationship_account_holder_entity.rb +110 -0
  36. data/lib/akoya/models/account_information.rb +335 -0
  37. data/lib/akoya/models/action.rb +48 -0
  38. data/lib/akoya/models/address.rb +144 -0
  39. data/lib/akoya/models/akoya_account_info_product.rb +88 -0
  40. data/lib/akoya/models/an_array_of_statements.rb +95 -0
  41. data/lib/akoya/models/an_investment_holding.rb +493 -0
  42. data/lib/akoya/models/annual_increase_type.rb +40 -0
  43. data/lib/akoya/models/annuity_account.rb +370 -0
  44. data/lib/akoya/models/annuity_account_info.rb +86 -0
  45. data/lib/akoya/models/annuity_balance_details.rb +87 -0
  46. data/lib/akoya/models/annuity_balances.rb +477 -0
  47. data/lib/akoya/models/annuity_product_type.rb +36 -0
  48. data/lib/akoya/models/annuity_value_basis.rb +36 -0
  49. data/lib/akoya/models/array_of_account_payment_networks.rb +85 -0
  50. data/lib/akoya/models/asset_class.rb +95 -0
  51. data/lib/akoya/models/asset_class_an_investment_holding.rb +85 -0
  52. data/lib/akoya/models/asset_class_asset_class.rb +56 -0
  53. data/lib/akoya/models/asset_class_citi_bank_investment_holdings.rb +86 -0
  54. data/lib/akoya/models/balance_type.rb +37 -0
  55. data/lib/akoya/models/balance_type_investment_balance_list.rb +36 -0
  56. data/lib/akoya/models/balances.rb +88 -0
  57. data/lib/akoya/models/base_model.rb +110 -0
  58. data/lib/akoya/models/business_customer_entity.rb +127 -0
  59. data/lib/akoya/models/business_customer_entity_account_holder_entity.rb +126 -0
  60. data/lib/akoya/models/business_customer_entity_customer.rb +126 -0
  61. data/lib/akoya/models/call_type.rb +44 -0
  62. data/lib/akoya/models/citi_bank_investment.rb +535 -0
  63. data/lib/akoya/models/citi_bank_investment_details.rb +75 -0
  64. data/lib/akoya/models/citi_bank_investment_holdings.rb +210 -0
  65. data/lib/akoya/models/compounding_period.rb +56 -0
  66. data/lib/akoya/models/contribution_entity.rb +266 -0
  67. data/lib/akoya/models/coupon_mature_frequency.rb +48 -0
  68. data/lib/akoya/models/currency.rb +108 -0
  69. data/lib/akoya/models/currency_citi_bank_investment_holdings.rb +86 -0
  70. data/lib/akoya/models/currency_entity.rb +109 -0
  71. data/lib/akoya/models/current_customer.rb +75 -0
  72. data/lib/akoya/models/customer.rb +164 -0
  73. data/lib/akoya/models/customer_current_customer.rb +164 -0
  74. data/lib/akoya/models/customer_name.rb +127 -0
  75. data/lib/akoya/models/customer_name_account_holder_entity.rb +127 -0
  76. data/lib/akoya/models/customer_name_customer.rb +127 -0
  77. data/lib/akoya/models/debit_credit_memo.rb +37 -0
  78. data/lib/akoya/models/debt_class.rb +44 -0
  79. data/lib/akoya/models/debt_security.rb +137 -0
  80. data/lib/akoya/models/debt_security_entity.rb +216 -0
  81. data/lib/akoya/models/debt_type.rb +36 -0
  82. data/lib/akoya/models/delivery_address.rb +153 -0
  83. data/lib/akoya/models/deposit_account.rb +375 -0
  84. data/lib/akoya/models/deposit_account_info.rb +86 -0
  85. data/lib/akoya/models/deposit_balance_details.rb +87 -0
  86. data/lib/akoya/models/deposit_balances.rb +438 -0
  87. data/lib/akoya/models/deposit_transaction.rb +369 -0
  88. data/lib/akoya/models/deposit_transaction_details.rb +87 -0
  89. data/lib/akoya/models/domicile.rb +85 -0
  90. data/lib/akoya/models/equity_grant.rb +199 -0
  91. data/lib/akoya/models/error_entity_account_information.rb +97 -0
  92. data/lib/akoya/models/error_entity_annuity_account.rb +97 -0
  93. data/lib/akoya/models/error_entity_annuity_balances.rb +97 -0
  94. data/lib/akoya/models/error_entity_citi_bank_investment.rb +97 -0
  95. data/lib/akoya/models/error_entity_deposit_account.rb +97 -0
  96. data/lib/akoya/models/error_entity_deposit_balances.rb +97 -0
  97. data/lib/akoya/models/error_entity_insurance_account.rb +97 -0
  98. data/lib/akoya/models/error_entity_insurance_balances.rb +97 -0
  99. data/lib/akoya/models/error_entity_investment_account.rb +97 -0
  100. data/lib/akoya/models/error_entity_investment_balances.rb +97 -0
  101. data/lib/akoya/models/error_entity_line_of_credit_balances.rb +97 -0
  102. data/lib/akoya/models/error_entity_loan_account.rb +97 -0
  103. data/lib/akoya/models/error_entity_loan_balances.rb +97 -0
  104. data/lib/akoya/models/error_entity_us_bank_investment.rb +97 -0
  105. data/lib/akoya/models/fi_asset_class.rb +95 -0
  106. data/lib/akoya/models/fi_asset_class_an_investment_holding.rb +85 -0
  107. data/lib/akoya/models/fi_attribute.rb +95 -0
  108. data/lib/akoya/models/fi_attribute_entity.rb +95 -0
  109. data/lib/akoya/models/frequency.rb +56 -0
  110. data/lib/akoya/models/hateoas_link.rb +105 -0
  111. data/lib/akoya/models/held_in_account.rb +44 -0
  112. data/lib/akoya/models/holding_sub_type.rb +36 -0
  113. data/lib/akoya/models/holding_type.rb +56 -0
  114. data/lib/akoya/models/income_type.rb +41 -0
  115. data/lib/akoya/models/industry_code.rb +85 -0
  116. data/lib/akoya/models/insurance_account.rb +349 -0
  117. data/lib/akoya/models/insurance_account_info.rb +87 -0
  118. data/lib/akoya/models/insurance_balance_details.rb +87 -0
  119. data/lib/akoya/models/insurance_balances.rb +420 -0
  120. data/lib/akoya/models/insurance_transaction.rb +351 -0
  121. data/lib/akoya/models/insurance_transaction_details.rb +87 -0
  122. data/lib/akoya/models/interest_rate_type.rb +36 -0
  123. data/lib/akoya/models/inv401_k_source.rb +56 -0
  124. data/lib/akoya/models/inv401_k_source_open_order_entity.rb +57 -0
  125. data/lib/akoya/models/inv401_k_surce.rb +56 -0
  126. data/lib/akoya/models/investment_account.rb +411 -0
  127. data/lib/akoya/models/investment_account_annuity_balance.rb +87 -0
  128. data/lib/akoya/models/investment_account_deposit_balance.rb +87 -0
  129. data/lib/akoya/models/investment_account_info.rb +87 -0
  130. data/lib/akoya/models/investment_account_insurance_balance.rb +87 -0
  131. data/lib/akoya/models/investment_account_loan_balance.rb +86 -0
  132. data/lib/akoya/models/investment_account_loc_balance.rb +86 -0
  133. data/lib/akoya/models/investment_balance_details.rb +87 -0
  134. data/lib/akoya/models/investment_balance_list.rb +148 -0
  135. data/lib/akoya/models/investment_balances.rb +525 -0
  136. data/lib/akoya/models/investment_details.rb +88 -0
  137. data/lib/akoya/models/investment_loan_entity.rb +271 -0
  138. data/lib/akoya/models/investment_transaction.rb +783 -0
  139. data/lib/akoya/models/investment_transaction_details.rb +87 -0
  140. data/lib/akoya/models/investments.rb +88 -0
  141. data/lib/akoya/models/line_item.rb +156 -0
  142. data/lib/akoya/models/line_of_credit_balances.rb +601 -0
  143. data/lib/akoya/models/links.rb +95 -0
  144. data/lib/akoya/models/loan_account.rb +417 -0
  145. data/lib/akoya/models/loan_account_info.rb +86 -0
  146. data/lib/akoya/models/loan_balance_details.rb +86 -0
  147. data/lib/akoya/models/loan_balances.rb +556 -0
  148. data/lib/akoya/models/loan_payment_frequency.rb +68 -0
  149. data/lib/akoya/models/loan_transaction.rb +360 -0
  150. data/lib/akoya/models/loan_transaction_details.rb +87 -0
  151. data/lib/akoya/models/loc_account_info.rb +86 -0
  152. data/lib/akoya/models/loc_balance_details.rb +86 -0
  153. data/lib/akoya/models/loc_transaction.rb +372 -0
  154. data/lib/akoya/models/loc_transaction_details.rb +86 -0
  155. data/lib/akoya/models/mnext.rb +84 -0
  156. data/lib/akoya/models/mode.rb +36 -0
  157. data/lib/akoya/models/mutual_fund_security.rb +99 -0
  158. data/lib/akoya/models/mutual_fund_security_entity.rb +150 -0
  159. data/lib/akoya/models/mutual_fund_type.rb +40 -0
  160. data/lib/akoya/models/obtain_tokens.rb +99 -0
  161. data/lib/akoya/models/open_order_entity.rb +228 -0
  162. data/lib/akoya/models/option_security.rb +125 -0
  163. data/lib/akoya/models/option_security_entity.rb +127 -0
  164. data/lib/akoya/models/option_type.rb +36 -0
  165. data/lib/akoya/models/order_duration.rb +40 -0
  166. data/lib/akoya/models/order_type.rb +60 -0
  167. data/lib/akoya/models/other_security_entity.rb +77 -0
  168. data/lib/akoya/models/paginated_array.rb +75 -0
  169. data/lib/akoya/models/payment_details.rb +142 -0
  170. data/lib/akoya/models/payment_frequency.rb +56 -0
  171. data/lib/akoya/models/payment_frequency_annuity_account.rb +44 -0
  172. data/lib/akoya/models/payment_frequency_annuity_balances.rb +44 -0
  173. data/lib/akoya/models/payment_network_supported_by_account.rb +129 -0
  174. data/lib/akoya/models/pension_source_entity.rb +143 -0
  175. data/lib/akoya/models/period_certain_guarantee.rb +48 -0
  176. data/lib/akoya/models/policy_premium_term.rb +36 -0
  177. data/lib/akoya/models/position_type.rb +36 -0
  178. data/lib/akoya/models/postion_type.rb +36 -0
  179. data/lib/akoya/models/prev.rb +84 -0
  180. data/lib/akoya/models/refresh_tokens.rb +103 -0
  181. data/lib/akoya/models/secured.rb +36 -0
  182. data/lib/akoya/models/security_id_type.rb +52 -0
  183. data/lib/akoya/models/security_id_type_investment_transaction.rb +52 -0
  184. data/lib/akoya/models/security_type.rb +56 -0
  185. data/lib/akoya/models/statement_entity.rb +136 -0
  186. data/lib/akoya/models/status.rb +56 -0
  187. data/lib/akoya/models/status_deposit_transaction.rb +44 -0
  188. data/lib/akoya/models/status_insurance_transaction.rb +44 -0
  189. data/lib/akoya/models/status_investment_transaction.rb +44 -0
  190. data/lib/akoya/models/status_loan_transaction.rb +44 -0
  191. data/lib/akoya/models/status_loc_transaction.rb +44 -0
  192. data/lib/akoya/models/status_statement_entity.rb +40 -0
  193. data/lib/akoya/models/status_transaction.rb +44 -0
  194. data/lib/akoya/models/stock_security_entity.rb +137 -0
  195. data/lib/akoya/models/stock_type.rb +56 -0
  196. data/lib/akoya/models/sub_account.rb +44 -0
  197. data/lib/akoya/models/sub_account_fund.rb +44 -0
  198. data/lib/akoya/models/sub_account_sec.rb +44 -0
  199. data/lib/akoya/models/sweep_security_entity.rb +118 -0
  200. data/lib/akoya/models/tax_lot.rb +137 -0
  201. data/lib/akoya/models/tax_lot_an_investment_holding.rb +139 -0
  202. data/lib/akoya/models/telephone.rb +95 -0
  203. data/lib/akoya/models/telephone_number.rb +95 -0
  204. data/lib/akoya/models/token_example_response.rb +101 -0
  205. data/lib/akoya/models/transaction.rb +328 -0
  206. data/lib/akoya/models/transaction_reason.rb +41 -0
  207. data/lib/akoya/models/transaction_type.rb +84 -0
  208. data/lib/akoya/models/transaction_type_insurance_transaction.rb +44 -0
  209. data/lib/akoya/models/transaction_type_investment_transaction.rb +192 -0
  210. data/lib/akoya/models/transaction_type_loan_transaction.rb +44 -0
  211. data/lib/akoya/models/transaction_type_loc_transaction.rb +84 -0
  212. data/lib/akoya/models/transactions_entity.rb +98 -0
  213. data/lib/akoya/models/transfer_action.rb +36 -0
  214. data/lib/akoya/models/type.rb +44 -0
  215. data/lib/akoya/models/type_hateoas_link.rb +52 -0
  216. data/lib/akoya/models/type_telephone_number.rb +44 -0
  217. data/lib/akoya/models/unit_type.rb +36 -0
  218. data/lib/akoya/models/unit_type_open_order_entity.rb +36 -0
  219. data/lib/akoya/models/us_bank_investment.rb +535 -0
  220. data/lib/akoya/models/us_bank_investment_details.rb +75 -0
  221. data/lib/akoya/models/us_bank_investment_holdings.rb +403 -0
  222. data/lib/akoya/models/vesting.rb +135 -0
  223. data/lib/akoya/models/vesting_entity.rb +185 -0
  224. data/lib/akoya/models/x_akoya_interaction_type.rb +36 -0
  225. data/lib/akoya/utilities/date_time_helper.rb +11 -0
  226. data/lib/akoya/utilities/file_wrapper.rb +28 -0
  227. data/lib/akoya/utilities/union_type_lookup.rb +91 -0
  228. data/lib/akoya.rb +250 -0
  229. metadata +312 -0
@@ -0,0 +1,556 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Akoya
8
+ # Data elements included with balances specific to loan accounts
9
+ class LoanBalances < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Long-term persistent identity of the account. Not an account number. This
14
+ # identity must be unique to the owning institution.
15
+ # @return [String]
16
+ attr_accessor :account_id
17
+
18
+ # The type of an account. For instance, CHECKING, SAVINGS, 401K, etc.
19
+ # @return [String]
20
+ attr_accessor :account_type
21
+
22
+ # Account display number for the end user’s handle at owning institution.
23
+ # This is to be displayed by the Interface Provider.
24
+ # @return [String]
25
+ attr_accessor :account_number_display
26
+
27
+ # Indicates the currency code used by the account. May also include currency
28
+ # rate.
29
+ # @return [CurrencyEntity]
30
+ attr_accessor :currency
31
+
32
+ # Indicates the currency code used by the account. May also include currency
33
+ # rate.
34
+ # @return [String]
35
+ attr_accessor :description
36
+
37
+ # Present if an error was encountered while retrieving this account
38
+ # @return [ErrorEntityLoanBalances]
39
+ attr_accessor :error
40
+
41
+ # Present if an error was encountered while retrieving this account
42
+ # @return [Array[FiAttributeEntity]]
43
+ attr_accessor :fi_attributes
44
+
45
+ # Name given by the user. Used in UIs to assist in account selection
46
+ # @return [String]
47
+ attr_accessor :nickname
48
+
49
+ # Marketed product name for this account. Used in UIs to assist in account
50
+ # selection
51
+ # @return [String]
52
+ attr_accessor :product_name
53
+
54
+ # The status of an account.
55
+ # @return [Status]
56
+ attr_accessor :status
57
+
58
+ # The line of business, such as consumer, consumer joint, small business,
59
+ # corporate, etc.
60
+ # @return [String]
61
+ attr_accessor :line_of_business
62
+
63
+ # ASSET (positive transaction amount increases balance), LIABILITY (positive
64
+ # transaction amount decreases balance)
65
+ # @return [BalanceType]
66
+ attr_accessor :balance_type
67
+
68
+ # Interest Rate of Account
69
+ # @return [Float]
70
+ attr_accessor :interest_rate
71
+
72
+ # The type of interest rate. FIXED or VARIABLE.
73
+ # @return [InterestRateType]
74
+ attr_accessor :interest_rate_type
75
+
76
+ # Date of account’s interest rate
77
+ # @return [DateTime]
78
+ attr_accessor :interest_rate_as_of
79
+
80
+ # Date that last transaction occurred on account
81
+ # @return [DateTime]
82
+ attr_accessor :last_activity_date
83
+
84
+ # MICR Number. (Magnetic Ink Character Recognition)
85
+ # @return [String]
86
+ attr_accessor :micr_number
87
+
88
+ # Long-term persistent identity of the parent account. This is used to group
89
+ # accounts.
90
+ # @return [String]
91
+ attr_accessor :parent_account_id
92
+
93
+ # Previous Interest Rate of Account
94
+ # @return [Float]
95
+ attr_accessor :prior_interest_rate
96
+
97
+ # Account is eligible for incoming transfers
98
+ # @return [TrueClass | FalseClass]
99
+ attr_accessor :transfer_in
100
+
101
+ # Account is eligible for outgoing transfers
102
+ # @return [TrueClass | FalseClass]
103
+ attr_accessor :transfer_out
104
+
105
+ # Account is eligible for outgoing transfers
106
+ # @return [CompoundingPeriod]
107
+ attr_accessor :compounding_period
108
+
109
+ # Term of loan in months
110
+ # @return [Integer]
111
+ attr_accessor :loan_term
112
+
113
+ # Maturity date is required for CDs
114
+ # @return [DateTime]
115
+ attr_accessor :maturity_date
116
+
117
+ # Loan origination date
118
+ # @return [DateTime]
119
+ attr_accessor :originating_date
120
+
121
+ # Loan origination date
122
+ # @return [PaymentFrequency]
123
+ attr_accessor :payment_frequency
124
+
125
+ # Total number of payments
126
+ # @return [Integer]
127
+ attr_accessor :total_number_of_payments
128
+
129
+ # As-of date of balances
130
+ # @return [DateTime]
131
+ attr_accessor :balance_as_of
132
+
133
+ # Escrow balance of loan
134
+ # @return [Float]
135
+ attr_accessor :escrow_balance
136
+
137
+ # Interest paid year to date
138
+ # @return [Float]
139
+ attr_accessor :interest_paid_year_to_date
140
+
141
+ # Last payment amount
142
+ # @return [Float]
143
+ attr_accessor :last_payment_amount
144
+
145
+ # Last payment date
146
+ # @return [DateTime]
147
+ attr_accessor :last_payment_date
148
+
149
+ # Amount of next payment
150
+ # @return [Float]
151
+ attr_accessor :next_payment_amount
152
+
153
+ # Date of next payment
154
+ # @return [DateTime]
155
+ attr_accessor :next_payment_date
156
+
157
+ # Original principal of loan
158
+ # @return [Float]
159
+ attr_accessor :original_principal
160
+
161
+ # Payoff amount
162
+ # @return [Float]
163
+ attr_accessor :pay_off_amount
164
+
165
+ # Principal balance of loan
166
+ # @return [Float]
167
+ attr_accessor :principal_balance
168
+
169
+ # A mapping from model property names to API property names.
170
+ def self.names
171
+ @_hash = {} if @_hash.nil?
172
+ @_hash['account_id'] = 'accountId'
173
+ @_hash['account_type'] = 'accountType'
174
+ @_hash['account_number_display'] = 'accountNumberDisplay'
175
+ @_hash['currency'] = 'currency'
176
+ @_hash['description'] = 'description'
177
+ @_hash['error'] = 'error'
178
+ @_hash['fi_attributes'] = 'fiAttributes'
179
+ @_hash['nickname'] = 'nickname'
180
+ @_hash['product_name'] = 'productName'
181
+ @_hash['status'] = 'status'
182
+ @_hash['line_of_business'] = 'lineOfBusiness'
183
+ @_hash['balance_type'] = 'balanceType'
184
+ @_hash['interest_rate'] = 'interestRate'
185
+ @_hash['interest_rate_type'] = 'interestRateType'
186
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
187
+ @_hash['last_activity_date'] = 'lastActivityDate'
188
+ @_hash['micr_number'] = 'micrNumber'
189
+ @_hash['parent_account_id'] = 'parentAccountId'
190
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
191
+ @_hash['transfer_in'] = 'transferIn'
192
+ @_hash['transfer_out'] = 'transferOut'
193
+ @_hash['compounding_period'] = 'compoundingPeriod'
194
+ @_hash['loan_term'] = 'loanTerm'
195
+ @_hash['maturity_date'] = 'maturityDate'
196
+ @_hash['originating_date'] = 'originatingDate'
197
+ @_hash['payment_frequency'] = 'paymentFrequency'
198
+ @_hash['total_number_of_payments'] = 'totalNumberOfPayments'
199
+ @_hash['balance_as_of'] = 'balanceAsOf'
200
+ @_hash['escrow_balance'] = 'escrowBalance'
201
+ @_hash['interest_paid_year_to_date'] = 'interestPaidYearToDate'
202
+ @_hash['last_payment_amount'] = 'lastPaymentAmount'
203
+ @_hash['last_payment_date'] = 'lastPaymentDate'
204
+ @_hash['next_payment_amount'] = 'nextPaymentAmount'
205
+ @_hash['next_payment_date'] = 'nextPaymentDate'
206
+ @_hash['original_principal'] = 'originalPrincipal'
207
+ @_hash['pay_off_amount'] = 'payOffAmount'
208
+ @_hash['principal_balance'] = 'principalBalance'
209
+ @_hash
210
+ end
211
+
212
+ # An array for optional fields
213
+ def self.optionals
214
+ %w[
215
+ account_type
216
+ account_number_display
217
+ currency
218
+ description
219
+ error
220
+ fi_attributes
221
+ nickname
222
+ product_name
223
+ status
224
+ line_of_business
225
+ balance_type
226
+ interest_rate
227
+ interest_rate_type
228
+ interest_rate_as_of
229
+ last_activity_date
230
+ micr_number
231
+ parent_account_id
232
+ prior_interest_rate
233
+ transfer_in
234
+ transfer_out
235
+ compounding_period
236
+ loan_term
237
+ maturity_date
238
+ originating_date
239
+ payment_frequency
240
+ total_number_of_payments
241
+ balance_as_of
242
+ escrow_balance
243
+ interest_paid_year_to_date
244
+ last_payment_amount
245
+ last_payment_date
246
+ next_payment_amount
247
+ next_payment_date
248
+ original_principal
249
+ pay_off_amount
250
+ principal_balance
251
+ ]
252
+ end
253
+
254
+ # An array for nullable fields
255
+ def self.nullables
256
+ []
257
+ end
258
+
259
+ def initialize(account_id:, account_type: SKIP,
260
+ account_number_display: SKIP, currency: SKIP,
261
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
262
+ nickname: SKIP, product_name: SKIP, status: SKIP,
263
+ line_of_business: SKIP, balance_type: SKIP,
264
+ interest_rate: SKIP, interest_rate_type: SKIP,
265
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
266
+ micr_number: SKIP, parent_account_id: SKIP,
267
+ prior_interest_rate: SKIP, transfer_in: SKIP,
268
+ transfer_out: SKIP, compounding_period: SKIP,
269
+ loan_term: SKIP, maturity_date: SKIP, originating_date: SKIP,
270
+ payment_frequency: SKIP, total_number_of_payments: SKIP,
271
+ balance_as_of: SKIP, escrow_balance: SKIP,
272
+ interest_paid_year_to_date: SKIP, last_payment_amount: SKIP,
273
+ last_payment_date: SKIP, next_payment_amount: SKIP,
274
+ next_payment_date: SKIP, original_principal: SKIP,
275
+ pay_off_amount: SKIP, principal_balance: SKIP,
276
+ additional_properties: nil)
277
+ # Add additional model properties to the instance
278
+ additional_properties = {} if additional_properties.nil?
279
+
280
+ @account_id = account_id
281
+ @account_type = account_type unless account_type == SKIP
282
+ @account_number_display = account_number_display unless account_number_display == SKIP
283
+ @currency = currency unless currency == SKIP
284
+ @description = description unless description == SKIP
285
+ @error = error unless error == SKIP
286
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
287
+ @nickname = nickname unless nickname == SKIP
288
+ @product_name = product_name unless product_name == SKIP
289
+ @status = status unless status == SKIP
290
+ @line_of_business = line_of_business unless line_of_business == SKIP
291
+ @balance_type = balance_type unless balance_type == SKIP
292
+ @interest_rate = interest_rate unless interest_rate == SKIP
293
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
294
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
295
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
296
+ @micr_number = micr_number unless micr_number == SKIP
297
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
298
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
299
+ @transfer_in = transfer_in unless transfer_in == SKIP
300
+ @transfer_out = transfer_out unless transfer_out == SKIP
301
+ @compounding_period = compounding_period unless compounding_period == SKIP
302
+ @loan_term = loan_term unless loan_term == SKIP
303
+ @maturity_date = maturity_date unless maturity_date == SKIP
304
+ @originating_date = originating_date unless originating_date == SKIP
305
+ @payment_frequency = payment_frequency unless payment_frequency == SKIP
306
+ @total_number_of_payments = total_number_of_payments unless total_number_of_payments == SKIP
307
+ @balance_as_of = balance_as_of unless balance_as_of == SKIP
308
+ @escrow_balance = escrow_balance unless escrow_balance == SKIP
309
+ unless interest_paid_year_to_date == SKIP
310
+ @interest_paid_year_to_date =
311
+ interest_paid_year_to_date
312
+ end
313
+ @last_payment_amount = last_payment_amount unless last_payment_amount == SKIP
314
+ @last_payment_date = last_payment_date unless last_payment_date == SKIP
315
+ @next_payment_amount = next_payment_amount unless next_payment_amount == SKIP
316
+ @next_payment_date = next_payment_date unless next_payment_date == SKIP
317
+ @original_principal = original_principal unless original_principal == SKIP
318
+ @pay_off_amount = pay_off_amount unless pay_off_amount == SKIP
319
+ @principal_balance = principal_balance unless principal_balance == SKIP
320
+ @additional_properties = additional_properties
321
+ end
322
+
323
+ # Creates an instance of the object from a hash.
324
+ def self.from_hash(hash)
325
+ return nil unless hash
326
+
327
+ # Extract variables from the hash.
328
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
329
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
330
+ account_number_display =
331
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
332
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
333
+ description = hash.key?('description') ? hash['description'] : SKIP
334
+ error = ErrorEntityLoanBalances.from_hash(hash['error']) if hash['error']
335
+ # Parameter is an array, so we need to iterate through it
336
+ fi_attributes = nil
337
+ unless hash['fiAttributes'].nil?
338
+ fi_attributes = []
339
+ hash['fiAttributes'].each do |structure|
340
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
341
+ end
342
+ end
343
+
344
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
345
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
346
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
347
+ status = hash.key?('status') ? hash['status'] : SKIP
348
+ line_of_business =
349
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
350
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
351
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
352
+ interest_rate_type =
353
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
354
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
355
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
356
+ else
357
+ SKIP
358
+ end
359
+ last_activity_date = if hash.key?('lastActivityDate')
360
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
361
+ else
362
+ SKIP
363
+ end
364
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
365
+ parent_account_id =
366
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
367
+ prior_interest_rate =
368
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
369
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
370
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
371
+ compounding_period =
372
+ hash.key?('compoundingPeriod') ? hash['compoundingPeriod'] : SKIP
373
+ loan_term = hash.key?('loanTerm') ? hash['loanTerm'] : SKIP
374
+ maturity_date = if hash.key?('maturityDate')
375
+ (DateTimeHelper.from_rfc3339(hash['maturityDate']) if hash['maturityDate'])
376
+ else
377
+ SKIP
378
+ end
379
+ originating_date = if hash.key?('originatingDate')
380
+ (DateTimeHelper.from_rfc3339(hash['originatingDate']) if hash['originatingDate'])
381
+ else
382
+ SKIP
383
+ end
384
+ payment_frequency =
385
+ hash.key?('paymentFrequency') ? hash['paymentFrequency'] : SKIP
386
+ total_number_of_payments =
387
+ hash.key?('totalNumberOfPayments') ? hash['totalNumberOfPayments'] : SKIP
388
+ balance_as_of = if hash.key?('balanceAsOf')
389
+ (DateTimeHelper.from_rfc3339(hash['balanceAsOf']) if hash['balanceAsOf'])
390
+ else
391
+ SKIP
392
+ end
393
+ escrow_balance = hash.key?('escrowBalance') ? hash['escrowBalance'] : SKIP
394
+ interest_paid_year_to_date =
395
+ hash.key?('interestPaidYearToDate') ? hash['interestPaidYearToDate'] : SKIP
396
+ last_payment_amount =
397
+ hash.key?('lastPaymentAmount') ? hash['lastPaymentAmount'] : SKIP
398
+ last_payment_date = if hash.key?('lastPaymentDate')
399
+ (DateTimeHelper.from_rfc3339(hash['lastPaymentDate']) if hash['lastPaymentDate'])
400
+ else
401
+ SKIP
402
+ end
403
+ next_payment_amount =
404
+ hash.key?('nextPaymentAmount') ? hash['nextPaymentAmount'] : SKIP
405
+ next_payment_date = if hash.key?('nextPaymentDate')
406
+ (DateTimeHelper.from_rfc3339(hash['nextPaymentDate']) if hash['nextPaymentDate'])
407
+ else
408
+ SKIP
409
+ end
410
+ original_principal =
411
+ hash.key?('originalPrincipal') ? hash['originalPrincipal'] : SKIP
412
+ pay_off_amount = hash.key?('payOffAmount') ? hash['payOffAmount'] : SKIP
413
+ principal_balance =
414
+ hash.key?('principalBalance') ? hash['principalBalance'] : SKIP
415
+
416
+ # Create a new hash for additional properties, removing known properties.
417
+ new_hash = hash.reject { |k, _| names.value?(k) }
418
+
419
+ additional_properties = APIHelper.get_additional_properties(
420
+ new_hash, proc { |value| value }
421
+ )
422
+
423
+ # Create object from extracted values.
424
+ LoanBalances.new(account_id: account_id,
425
+ account_type: account_type,
426
+ account_number_display: account_number_display,
427
+ currency: currency,
428
+ description: description,
429
+ error: error,
430
+ fi_attributes: fi_attributes,
431
+ nickname: nickname,
432
+ product_name: product_name,
433
+ status: status,
434
+ line_of_business: line_of_business,
435
+ balance_type: balance_type,
436
+ interest_rate: interest_rate,
437
+ interest_rate_type: interest_rate_type,
438
+ interest_rate_as_of: interest_rate_as_of,
439
+ last_activity_date: last_activity_date,
440
+ micr_number: micr_number,
441
+ parent_account_id: parent_account_id,
442
+ prior_interest_rate: prior_interest_rate,
443
+ transfer_in: transfer_in,
444
+ transfer_out: transfer_out,
445
+ compounding_period: compounding_period,
446
+ loan_term: loan_term,
447
+ maturity_date: maturity_date,
448
+ originating_date: originating_date,
449
+ payment_frequency: payment_frequency,
450
+ total_number_of_payments: total_number_of_payments,
451
+ balance_as_of: balance_as_of,
452
+ escrow_balance: escrow_balance,
453
+ interest_paid_year_to_date: interest_paid_year_to_date,
454
+ last_payment_amount: last_payment_amount,
455
+ last_payment_date: last_payment_date,
456
+ next_payment_amount: next_payment_amount,
457
+ next_payment_date: next_payment_date,
458
+ original_principal: original_principal,
459
+ pay_off_amount: pay_off_amount,
460
+ principal_balance: principal_balance,
461
+ additional_properties: additional_properties)
462
+ end
463
+
464
+ def to_custom_interest_rate_as_of
465
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
466
+ end
467
+
468
+ def to_custom_last_activity_date
469
+ DateTimeHelper.to_rfc3339(last_activity_date)
470
+ end
471
+
472
+ def to_custom_maturity_date
473
+ DateTimeHelper.to_rfc3339(maturity_date)
474
+ end
475
+
476
+ def to_custom_originating_date
477
+ DateTimeHelper.to_rfc3339(originating_date)
478
+ end
479
+
480
+ def to_custom_balance_as_of
481
+ DateTimeHelper.to_rfc3339(balance_as_of)
482
+ end
483
+
484
+ def to_custom_last_payment_date
485
+ DateTimeHelper.to_rfc3339(last_payment_date)
486
+ end
487
+
488
+ def to_custom_next_payment_date
489
+ DateTimeHelper.to_rfc3339(next_payment_date)
490
+ end
491
+
492
+ # Validates an instance of the object from a given value.
493
+ # @param [LoanBalances | Hash] The value against the validation is performed.
494
+ def self.validate(value)
495
+ if value.instance_of? self
496
+ return APIHelper.valid_type?(value.account_id,
497
+ ->(val) { val.instance_of? String })
498
+ end
499
+
500
+ return false unless value.instance_of? Hash
501
+
502
+ APIHelper.valid_type?(value['accountId'],
503
+ ->(val) { val.instance_of? String })
504
+ end
505
+
506
+ # Provides a human-readable string representation of the object.
507
+ def to_s
508
+ class_name = self.class.name.split('::').last
509
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
510
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
511
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
512
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
513
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
514
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
515
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
516
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
517
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, compounding_period:"\
518
+ " #{@compounding_period}, loan_term: #{@loan_term}, maturity_date: #{@maturity_date},"\
519
+ " originating_date: #{@originating_date}, payment_frequency: #{@payment_frequency},"\
520
+ " total_number_of_payments: #{@total_number_of_payments}, balance_as_of: #{@balance_as_of},"\
521
+ " escrow_balance: #{@escrow_balance}, interest_paid_year_to_date:"\
522
+ " #{@interest_paid_year_to_date}, last_payment_amount: #{@last_payment_amount},"\
523
+ " last_payment_date: #{@last_payment_date}, next_payment_amount: #{@next_payment_amount},"\
524
+ " next_payment_date: #{@next_payment_date}, original_principal: #{@original_principal},"\
525
+ " pay_off_amount: #{@pay_off_amount}, principal_balance: #{@principal_balance},"\
526
+ " additional_properties: #{@additional_properties}>"
527
+ end
528
+
529
+ # Provides a debugging-friendly string with detailed object information.
530
+ def inspect
531
+ class_name = self.class.name.split('::').last
532
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
533
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
534
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
535
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
536
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
537
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
538
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
539
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
540
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
541
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
542
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
543
+ " compounding_period: #{@compounding_period.inspect}, loan_term: #{@loan_term.inspect},"\
544
+ " maturity_date: #{@maturity_date.inspect}, originating_date: #{@originating_date.inspect},"\
545
+ " payment_frequency: #{@payment_frequency.inspect}, total_number_of_payments:"\
546
+ " #{@total_number_of_payments.inspect}, balance_as_of: #{@balance_as_of.inspect},"\
547
+ " escrow_balance: #{@escrow_balance.inspect}, interest_paid_year_to_date:"\
548
+ " #{@interest_paid_year_to_date.inspect}, last_payment_amount:"\
549
+ " #{@last_payment_amount.inspect}, last_payment_date: #{@last_payment_date.inspect},"\
550
+ " next_payment_amount: #{@next_payment_amount.inspect}, next_payment_date:"\
551
+ " #{@next_payment_date.inspect}, original_principal: #{@original_principal.inspect},"\
552
+ " pay_off_amount: #{@pay_off_amount.inspect}, principal_balance:"\
553
+ " #{@principal_balance.inspect}, additional_properties: #{@additional_properties}>"
554
+ end
555
+ end
556
+ end
@@ -0,0 +1,68 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # LoanPaymentFrequency.
8
+ class LoanPaymentFrequency
9
+ LOAN_PAYMENT_FREQUENCY = [
10
+ # TODO: Write general description for WEEKLY
11
+ WEEKLY = 'WEEKLY'.freeze,
12
+
13
+ # TODO: Write general description for BIWEEKLY
14
+ BIWEEKLY = 'BIWEEKLY'.freeze,
15
+
16
+ # TODO: Write general description for TWICEMONTHLY
17
+ TWICEMONTHLY = 'TWICEMONTHLY'.freeze,
18
+
19
+ # TODO: Write general description for MONTHLY
20
+ MONTHLY = 'MONTHLY'.freeze,
21
+
22
+ # TODO: Write general description for FOURWEEKS
23
+ FOURWEEKS = 'FOURWEEKS'.freeze,
24
+
25
+ # TODO: Write general description for BIMONTHLY
26
+ BIMONTHLY = 'BIMONTHLY'.freeze,
27
+
28
+ # TODO: Write general description for QUARTERLY
29
+ QUARTERLY = 'QUARTERLY'.freeze,
30
+
31
+ # TODO: Write general description for SEMIANNUALLY
32
+ SEMIANNUALLY = 'SEMIANNUALLY'.freeze,
33
+
34
+ # TODO: Write general description for ANNUALLY
35
+ ANNUALLY = 'ANNUALLY'.freeze,
36
+
37
+ # TODO: Write general description for OTHER
38
+ OTHER = 'OTHER'.freeze
39
+ ].freeze
40
+
41
+ def self.validate(value)
42
+ return false if value.nil?
43
+
44
+ true
45
+ end
46
+
47
+ def self.from_value(value, default_value = WEEKLY)
48
+ return default_value if value.nil?
49
+
50
+ str = value.to_s.strip
51
+
52
+ case str.downcase
53
+ when 'weekly' then WEEKLY
54
+ when 'biweekly' then BIWEEKLY
55
+ when 'twicemonthly' then TWICEMONTHLY
56
+ when 'monthly' then MONTHLY
57
+ when 'fourweeks' then FOURWEEKS
58
+ when 'bimonthly' then BIMONTHLY
59
+ when 'quarterly' then QUARTERLY
60
+ when 'semiannually' then SEMIANNUALLY
61
+ when 'annually' then ANNUALLY
62
+ when 'other' then OTHER
63
+ else
64
+ default_value
65
+ end
66
+ end
67
+ end
68
+ end