fdx-api-sdk-ruby 1.0.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 (634) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +125 -0
  4. data/lib/fdx_api/api_helper.rb +10 -0
  5. data/lib/fdx_api/client.rb +187 -0
  6. data/lib/fdx_api/configuration.rb +133 -0
  7. data/lib/fdx_api/controllers/account_information_controller.rb +135 -0
  8. data/lib/fdx_api/controllers/account_statements_controller.rb +132 -0
  9. data/lib/fdx_api/controllers/account_transactions_controller.rb +126 -0
  10. data/lib/fdx_api/controllers/base_controller.rb +65 -0
  11. data/lib/fdx_api/controllers/event_notifications_controller.rb +274 -0
  12. data/lib/fdx_api/controllers/fraud_notification_controller.rb +37 -0
  13. data/lib/fdx_api/controllers/internal_transfers_controller.rb +206 -0
  14. data/lib/fdx_api/controllers/meta_controller.rb +105 -0
  15. data/lib/fdx_api/controllers/money_movement_controller.rb +92 -0
  16. data/lib/fdx_api/controllers/payee_management_controller.rb +257 -0
  17. data/lib/fdx_api/controllers/payment_initiation_parties_controller.rb +439 -0
  18. data/lib/fdx_api/controllers/payments_controller.rb +280 -0
  19. data/lib/fdx_api/controllers/payroll_information_controller.rb +117 -0
  20. data/lib/fdx_api/controllers/personal_information_controller.rb +155 -0
  21. data/lib/fdx_api/controllers/recipients_controller.rb +197 -0
  22. data/lib/fdx_api/controllers/recurring_payments_controller.rb +339 -0
  23. data/lib/fdx_api/controllers/resource_information_controller.rb +121 -0
  24. data/lib/fdx_api/controllers/reward_program_categories_controller.rb +64 -0
  25. data/lib/fdx_api/controllers/reward_program_information_controller.rb +88 -0
  26. data/lib/fdx_api/controllers/submit_tax_forms_controller.rb +106 -0
  27. data/lib/fdx_api/controllers/tax_forms_controller.rb +190 -0
  28. data/lib/fdx_api/controllers/user_consent_controller.rb +125 -0
  29. data/lib/fdx_api/exceptions/api_exception.rb +21 -0
  30. data/lib/fdx_api/exceptions/error_exception.rb +65 -0
  31. data/lib/fdx_api/exceptions/payee_entity_error_exception.rb +48 -0
  32. data/lib/fdx_api/exceptions/payment_entity_error_exception.rb +160 -0
  33. data/lib/fdx_api/exceptions/recurring_payment_entity_error_exception.rb +140 -0
  34. data/lib/fdx_api/http/api_response.rb +19 -0
  35. data/lib/fdx_api/http/auth/bearer_auth.rb +43 -0
  36. data/lib/fdx_api/http/auth/tax_basic_auth.rb +50 -0
  37. data/lib/fdx_api/http/http_call_back.rb +10 -0
  38. data/lib/fdx_api/http/http_method_enum.rb +10 -0
  39. data/lib/fdx_api/http/http_request.rb +10 -0
  40. data/lib/fdx_api/http/http_response.rb +10 -0
  41. data/lib/fdx_api/http/proxy_settings.rb +13 -0
  42. data/lib/fdx_api/logging/configuration/api_logging_configuration.rb +114 -0
  43. data/lib/fdx_api/logging/sdk_logger.rb +17 -0
  44. data/lib/fdx_api/models/account_bill_pay_status.rb +32 -0
  45. data/lib/fdx_api/models/account_bill_pay_status2.rb +29 -0
  46. data/lib/fdx_api/models/account_category_type.rb +41 -0
  47. data/lib/fdx_api/models/account_contact_entity.rb +132 -0
  48. data/lib/fdx_api/models/account_contact_entity2.rb +142 -0
  49. data/lib/fdx_api/models/account_descriptor_entity.rb +253 -0
  50. data/lib/fdx_api/models/account_entity.rb +380 -0
  51. data/lib/fdx_api/models/account_holder_entity.rb +263 -0
  52. data/lib/fdx_api/models/account_holder_relationship.rb +79 -0
  53. data/lib/fdx_api/models/account_holder_relationship1.rb +79 -0
  54. data/lib/fdx_api/models/account_status.rb +41 -0
  55. data/lib/fdx_api/models/account_status2.rb +42 -0
  56. data/lib/fdx_api/models/account_type.rb +240 -0
  57. data/lib/fdx_api/models/accounts_entity.rb +109 -0
  58. data/lib/fdx_api/models/active_inactive_status.rb +23 -0
  59. data/lib/fdx_api/models/active_inactive_status2.rb +23 -0
  60. data/lib/fdx_api/models/address.rb +151 -0
  61. data/lib/fdx_api/models/an_array_of_statements.rb +105 -0
  62. data/lib/fdx_api/models/annuity_account_entity.rb +347 -0
  63. data/lib/fdx_api/models/array_of_account_payment_networks.rb +104 -0
  64. data/lib/fdx_api/models/asset_class.rb +38 -0
  65. data/lib/fdx_api/models/asset_class2.rb +38 -0
  66. data/lib/fdx_api/models/asset_transfer_network.rb +134 -0
  67. data/lib/fdx_api/models/asset_transfer_network_list.rb +85 -0
  68. data/lib/fdx_api/models/asset_transfer_type.rb +26 -0
  69. data/lib/fdx_api/models/asset_transfer_type2.rb +26 -0
  70. data/lib/fdx_api/models/availability_entity.rb +115 -0
  71. data/lib/fdx_api/models/availability_entity1.rb +115 -0
  72. data/lib/fdx_api/models/availability_list_entity.rb +85 -0
  73. data/lib/fdx_api/models/availability_status.rb +29 -0
  74. data/lib/fdx_api/models/availability_status1.rb +29 -0
  75. data/lib/fdx_api/models/availability_status3.rb +29 -0
  76. data/lib/fdx_api/models/balance_type.rb +25 -0
  77. data/lib/fdx_api/models/balance_type2.rb +24 -0
  78. data/lib/fdx_api/models/base_model.rb +110 -0
  79. data/lib/fdx_api/models/base_payroll_rate.rb +82 -0
  80. data/lib/fdx_api/models/base_payroll_rate1.rb +82 -0
  81. data/lib/fdx_api/models/basic_auth_credentials.rb +105 -0
  82. data/lib/fdx_api/models/basic_auth_credentials1.rb +105 -0
  83. data/lib/fdx_api/models/basic_auth_for_qr.rb +96 -0
  84. data/lib/fdx_api/models/bills_entity.rb +201 -0
  85. data/lib/fdx_api/models/branch_entity.rb +116 -0
  86. data/lib/fdx_api/models/branch_entity1.rb +126 -0
  87. data/lib/fdx_api/models/business_customer_entity.rb +136 -0
  88. data/lib/fdx_api/models/business_income_statement.rb +604 -0
  89. data/lib/fdx_api/models/business_name.rb +85 -0
  90. data/lib/fdx_api/models/business_or_consumer_type.rb +23 -0
  91. data/lib/fdx_api/models/business_or_consumer_type1.rb +23 -0
  92. data/lib/fdx_api/models/call_type.rb +29 -0
  93. data/lib/fdx_api/models/call_type2.rb +29 -0
  94. data/lib/fdx_api/models/capability_entity.rb +139 -0
  95. data/lib/fdx_api/models/card_art_entity.rb +91 -0
  96. data/lib/fdx_api/models/card_art_entity2.rb +101 -0
  97. data/lib/fdx_api/models/certification_metric_entity.rb +172 -0
  98. data/lib/fdx_api/models/certification_metrics_entity.rb +84 -0
  99. data/lib/fdx_api/models/code_and_amount.rb +85 -0
  100. data/lib/fdx_api/models/commercial_account_entity.rb +457 -0
  101. data/lib/fdx_api/models/commercial_balance_entity.rb +106 -0
  102. data/lib/fdx_api/models/commercial_code_entity.rb +91 -0
  103. data/lib/fdx_api/models/commercial_code_entity1.rb +96 -0
  104. data/lib/fdx_api/models/commercial_transaction_entity.rb +286 -0
  105. data/lib/fdx_api/models/compounding_period.rb +38 -0
  106. data/lib/fdx_api/models/compounding_period2.rb +38 -0
  107. data/lib/fdx_api/models/consent_duration_type.rb +26 -0
  108. data/lib/fdx_api/models/consent_grant_entity.rb +232 -0
  109. data/lib/fdx_api/models/consent_grant_resource_entity.rb +92 -0
  110. data/lib/fdx_api/models/consent_grant_status.rb +26 -0
  111. data/lib/fdx_api/models/consent_grant_status1.rb +26 -0
  112. data/lib/fdx_api/models/consent_grant_status3.rb +26 -0
  113. data/lib/fdx_api/models/consent_request_entity.rb +121 -0
  114. data/lib/fdx_api/models/consent_requested_resource_entity.rb +82 -0
  115. data/lib/fdx_api/models/consent_resource_type.rb +27 -0
  116. data/lib/fdx_api/models/consent_resource_type1.rb +26 -0
  117. data/lib/fdx_api/models/consent_resource_type3.rb +26 -0
  118. data/lib/fdx_api/models/consent_revocation_entity.rb +114 -0
  119. data/lib/fdx_api/models/consent_revocation_list_entity.rb +85 -0
  120. data/lib/fdx_api/models/consent_revocation_request_entity.rb +85 -0
  121. data/lib/fdx_api/models/consent_update_reason.rb +23 -0
  122. data/lib/fdx_api/models/consent_update_reason1.rb +23 -0
  123. data/lib/fdx_api/models/contact_preferences_type.rb +32 -0
  124. data/lib/fdx_api/models/contact_preferences_type2.rb +32 -0
  125. data/lib/fdx_api/models/contacts_entity.rb +113 -0
  126. data/lib/fdx_api/models/content_types.rb +38 -0
  127. data/lib/fdx_api/models/contribution_entity.rb +275 -0
  128. data/lib/fdx_api/models/coupon_mature_frequency.rb +32 -0
  129. data/lib/fdx_api/models/coupon_mature_frequency2.rb +32 -0
  130. data/lib/fdx_api/models/coverage_month.rb +56 -0
  131. data/lib/fdx_api/models/coverage_month1.rb +56 -0
  132. data/lib/fdx_api/models/coverage_month3.rb +56 -0
  133. data/lib/fdx_api/models/cryptocurrency_tax_statement_list.rb +239 -0
  134. data/lib/fdx_api/models/cryptocurrency_tax_statement_list1.rb +239 -0
  135. data/lib/fdx_api/models/currency_entity.rb +98 -0
  136. data/lib/fdx_api/models/currency_entity1.rb +108 -0
  137. data/lib/fdx_api/models/currency_entity2.rb +108 -0
  138. data/lib/fdx_api/models/currency_entity4.rb +108 -0
  139. data/lib/fdx_api/models/customer_entity.rb +241 -0
  140. data/lib/fdx_api/models/customer_name_entity.rb +134 -0
  141. data/lib/fdx_api/models/customer_name_entity1.rb +134 -0
  142. data/lib/fdx_api/models/customer_to_account_relationship_entity.rb +114 -0
  143. data/lib/fdx_api/models/customers_entity.rb +104 -0
  144. data/lib/fdx_api/models/data_cluster.rb +63 -0
  145. data/lib/fdx_api/models/date_and_amount.rb +95 -0
  146. data/lib/fdx_api/models/debit_credit_memo.rb +26 -0
  147. data/lib/fdx_api/models/debit_credit_memo2.rb +26 -0
  148. data/lib/fdx_api/models/debt_class.rb +29 -0
  149. data/lib/fdx_api/models/debt_class2.rb +29 -0
  150. data/lib/fdx_api/models/debt_security_entity.rb +209 -0
  151. data/lib/fdx_api/models/debt_type.rb +23 -0
  152. data/lib/fdx_api/models/debt_type2.rb +23 -0
  153. data/lib/fdx_api/models/delivery_address.rb +160 -0
  154. data/lib/fdx_api/models/delivery_address1.rb +150 -0
  155. data/lib/fdx_api/models/delivery_address_type.rb +29 -0
  156. data/lib/fdx_api/models/deposit_account_entity.rb +335 -0
  157. data/lib/fdx_api/models/deposit_transaction_entity.rb +223 -0
  158. data/lib/fdx_api/models/deposit_transaction_type.rb +59 -0
  159. data/lib/fdx_api/models/deposit_transaction_type2.rb +61 -0
  160. data/lib/fdx_api/models/description_and_amount.rb +85 -0
  161. data/lib/fdx_api/models/digital_wallet_account_entity.rb +316 -0
  162. data/lib/fdx_api/models/digital_wallet_transaction_entity.rb +213 -0
  163. data/lib/fdx_api/models/digital_wallet_transaction_type.rb +59 -0
  164. data/lib/fdx_api/models/digital_wallet_transaction_type2.rb +61 -0
  165. data/lib/fdx_api/models/direct_deposit_entity.rb +98 -0
  166. data/lib/fdx_api/models/document_status.rb +26 -0
  167. data/lib/fdx_api/models/document_status2.rb +26 -0
  168. data/lib/fdx_api/models/domicile_entity.rb +95 -0
  169. data/lib/fdx_api/models/domicile_entity1.rb +95 -0
  170. data/lib/fdx_api/models/electronic_address_entity.rb +87 -0
  171. data/lib/fdx_api/models/employee_entity.rb +175 -0
  172. data/lib/fdx_api/models/employee_entity1.rb +175 -0
  173. data/lib/fdx_api/models/employer_entity.rb +125 -0
  174. data/lib/fdx_api/models/employer_entity1.rb +125 -0
  175. data/lib/fdx_api/models/employment.rb +149 -0
  176. data/lib/fdx_api/models/employment1.rb +149 -0
  177. data/lib/fdx_api/models/employment_type.rb +36 -0
  178. data/lib/fdx_api/models/employment_type2.rb +36 -0
  179. data/lib/fdx_api/models/error1.rb +113 -0
  180. data/lib/fdx_api/models/expired_option_type.rb +23 -0
  181. data/lib/fdx_api/models/expired_option_type2.rb +24 -0
  182. data/lib/fdx_api/models/external_account_id_scheme_entity.rb +85 -0
  183. data/lib/fdx_api/models/external_financial_institution_id_scheme_entity.rb +85 -0
  184. data/lib/fdx_api/models/farm_income_statement.rb +628 -0
  185. data/lib/fdx_api/models/farm_rental_income_statement.rb +586 -0
  186. data/lib/fdx_api/models/fdx_api_actor_type.rb +24 -0
  187. data/lib/fdx_api/models/fdx_jwt_profile.rb +171 -0
  188. data/lib/fdx_api/models/fdx_oauth_token_introspection_response.rb +180 -0
  189. data/lib/fdx_api/models/fdx_resource_operation_id.rb +227 -0
  190. data/lib/fdx_api/models/fdx_resource_operation_id1.rb +227 -0
  191. data/lib/fdx_api/models/fdx_resource_operation_id3.rb +227 -0
  192. data/lib/fdx_api/models/fdx_version.rb +119 -0
  193. data/lib/fdx_api/models/fi_attribute_entity.rb +95 -0
  194. data/lib/fdx_api/models/fi_portion_entity.rb +95 -0
  195. data/lib/fdx_api/models/financial_institution_entity.rb +116 -0
  196. data/lib/fdx_api/models/financial_institution_entity2.rb +116 -0
  197. data/lib/fdx_api/models/form1041_k1.rb +572 -0
  198. data/lib/fdx_api/models/form1041_k11.rb +570 -0
  199. data/lib/fdx_api/models/form1042_s.rb +541 -0
  200. data/lib/fdx_api/models/form1042_s1.rb +539 -0
  201. data/lib/fdx_api/models/form1042_s_agent.rb +207 -0
  202. data/lib/fdx_api/models/form1042_s_agent1.rb +196 -0
  203. data/lib/fdx_api/models/form1042_s_agent2.rb +196 -0
  204. data/lib/fdx_api/models/form1042_s_agent3.rb +196 -0
  205. data/lib/fdx_api/models/form1042_s_agent4.rb +196 -0
  206. data/lib/fdx_api/models/form1042_s_recipient.rb +216 -0
  207. data/lib/fdx_api/models/form1042_s_recipient1.rb +216 -0
  208. data/lib/fdx_api/models/form1065_k1.rb +1177 -0
  209. data/lib/fdx_api/models/form1065_k11.rb +1176 -0
  210. data/lib/fdx_api/models/form1095_a.rb +364 -0
  211. data/lib/fdx_api/models/form1095_a1.rb +364 -0
  212. data/lib/fdx_api/models/form1095_b.rb +281 -0
  213. data/lib/fdx_api/models/form1095_b1.rb +280 -0
  214. data/lib/fdx_api/models/form1095_c.rb +294 -0
  215. data/lib/fdx_api/models/form1095_c1.rb +293 -0
  216. data/lib/fdx_api/models/form1097_btc.rb +314 -0
  217. data/lib/fdx_api/models/form1097_btc1.rb +313 -0
  218. data/lib/fdx_api/models/form1098.rb +388 -0
  219. data/lib/fdx_api/models/form10981.rb +387 -0
  220. data/lib/fdx_api/models/form1098_c.rb +421 -0
  221. data/lib/fdx_api/models/form1098_c1.rb +420 -0
  222. data/lib/fdx_api/models/form1098_e.rb +255 -0
  223. data/lib/fdx_api/models/form1098_e1.rb +254 -0
  224. data/lib/fdx_api/models/form1098_ma.rb +276 -0
  225. data/lib/fdx_api/models/form1098_ma1.rb +275 -0
  226. data/lib/fdx_api/models/form1098_q.rb +338 -0
  227. data/lib/fdx_api/models/form1098_q1.rb +337 -0
  228. data/lib/fdx_api/models/form1098_t.rb +338 -0
  229. data/lib/fdx_api/models/form1098_t1.rb +337 -0
  230. data/lib/fdx_api/models/form1099_a.rb +289 -0
  231. data/lib/fdx_api/models/form1099_a1.rb +288 -0
  232. data/lib/fdx_api/models/form1099_b.rb +368 -0
  233. data/lib/fdx_api/models/form1099_b1.rb +367 -0
  234. data/lib/fdx_api/models/form1099_c.rb +310 -0
  235. data/lib/fdx_api/models/form1099_c1.rb +309 -0
  236. data/lib/fdx_api/models/form1099_cap.rb +274 -0
  237. data/lib/fdx_api/models/form1099_cap1.rb +273 -0
  238. data/lib/fdx_api/models/form1099_consolidated_statement.rb +327 -0
  239. data/lib/fdx_api/models/form1099_consolidated_statement1.rb +325 -0
  240. data/lib/fdx_api/models/form1099_div.rb +538 -0
  241. data/lib/fdx_api/models/form1099_div1.rb +537 -0
  242. data/lib/fdx_api/models/form1099_g.rb +363 -0
  243. data/lib/fdx_api/models/form1099_g1.rb +362 -0
  244. data/lib/fdx_api/models/form1099_h.rb +263 -0
  245. data/lib/fdx_api/models/form1099_h1.rb +262 -0
  246. data/lib/fdx_api/models/form1099_int.rb +488 -0
  247. data/lib/fdx_api/models/form1099_int1.rb +487 -0
  248. data/lib/fdx_api/models/form1099_k.rb +413 -0
  249. data/lib/fdx_api/models/form1099_k1.rb +412 -0
  250. data/lib/fdx_api/models/form1099_ls.rb +274 -0
  251. data/lib/fdx_api/models/form1099_ls1.rb +273 -0
  252. data/lib/fdx_api/models/form1099_ltc.rb +339 -0
  253. data/lib/fdx_api/models/form1099_ltc1.rb +338 -0
  254. data/lib/fdx_api/models/form1099_misc.rb +438 -0
  255. data/lib/fdx_api/models/form1099_misc1.rb +437 -0
  256. data/lib/fdx_api/models/form1099_nec.rb +301 -0
  257. data/lib/fdx_api/models/form1099_nec1.rb +300 -0
  258. data/lib/fdx_api/models/form1099_oid.rb +431 -0
  259. data/lib/fdx_api/models/form1099_oid1.rb +430 -0
  260. data/lib/fdx_api/models/form1099_patr.rb +421 -0
  261. data/lib/fdx_api/models/form1099_patr1.rb +420 -0
  262. data/lib/fdx_api/models/form1099_q.rb +335 -0
  263. data/lib/fdx_api/models/form1099_q1.rb +334 -0
  264. data/lib/fdx_api/models/form1099_qa.rb +295 -0
  265. data/lib/fdx_api/models/form1099_qa1.rb +294 -0
  266. data/lib/fdx_api/models/form1099_r.rb +475 -0
  267. data/lib/fdx_api/models/form1099_r1.rb +474 -0
  268. data/lib/fdx_api/models/form1099_s.rb +306 -0
  269. data/lib/fdx_api/models/form1099_s1.rb +305 -0
  270. data/lib/fdx_api/models/form1099_sa.rb +306 -0
  271. data/lib/fdx_api/models/form1099_sa1.rb +305 -0
  272. data/lib/fdx_api/models/form1099_sb.rb +267 -0
  273. data/lib/fdx_api/models/form1099_sb1.rb +266 -0
  274. data/lib/fdx_api/models/form1120_sk1.rb +670 -0
  275. data/lib/fdx_api/models/form1120_sk11.rb +669 -0
  276. data/lib/fdx_api/models/form2439.rb +306 -0
  277. data/lib/fdx_api/models/form24391.rb +305 -0
  278. data/lib/fdx_api/models/form3921.rb +298 -0
  279. data/lib/fdx_api/models/form39211.rb +297 -0
  280. data/lib/fdx_api/models/form3922.rb +327 -0
  281. data/lib/fdx_api/models/form39221.rb +326 -0
  282. data/lib/fdx_api/models/form5498.rb +486 -0
  283. data/lib/fdx_api/models/form54981.rb +485 -0
  284. data/lib/fdx_api/models/form5498_esa.rb +258 -0
  285. data/lib/fdx_api/models/form5498_esa1.rb +257 -0
  286. data/lib/fdx_api/models/form5498_qa.rb +311 -0
  287. data/lib/fdx_api/models/form5498_qa1.rb +310 -0
  288. data/lib/fdx_api/models/form5498_sa.rb +321 -0
  289. data/lib/fdx_api/models/form5498_sa1.rb +320 -0
  290. data/lib/fdx_api/models/form_w2.rb +459 -0
  291. data/lib/fdx_api/models/form_w21.rb +458 -0
  292. data/lib/fdx_api/models/form_w22.rb +458 -0
  293. data/lib/fdx_api/models/form_w24.rb +458 -0
  294. data/lib/fdx_api/models/form_w2_c.rb +276 -0
  295. data/lib/fdx_api/models/form_w2_c2.rb +275 -0
  296. data/lib/fdx_api/models/form_w2_g.rb +354 -0
  297. data/lib/fdx_api/models/form_w2_g2.rb +353 -0
  298. data/lib/fdx_api/models/gain_or_loss_from_cryptocurrency_transaction.rb +173 -0
  299. data/lib/fdx_api/models/generic_account_identification_entity.rb +107 -0
  300. data/lib/fdx_api/models/generic_financial_institution_id_entity.rb +107 -0
  301. data/lib/fdx_api/models/government_issued_id_type.rb +23 -0
  302. data/lib/fdx_api/models/government_issued_id_type2.rb +23 -0
  303. data/lib/fdx_api/models/government_issued_party_identification_entity.rb +118 -0
  304. data/lib/fdx_api/models/hateoas_link.rb +119 -0
  305. data/lib/fdx_api/models/health_insurance_coverage.rb +115 -0
  306. data/lib/fdx_api/models/health_insurance_covered_individual.rb +118 -0
  307. data/lib/fdx_api/models/health_insurance_marketplace_covered_individual.rb +119 -0
  308. data/lib/fdx_api/models/held_in_account.rb +29 -0
  309. data/lib/fdx_api/models/held_in_account2.rb +29 -0
  310. data/lib/fdx_api/models/holding_entity.rb +448 -0
  311. data/lib/fdx_api/models/holding_sub_type.rb +23 -0
  312. data/lib/fdx_api/models/holding_sub_type2.rb +23 -0
  313. data/lib/fdx_api/models/holding_type.rb +51 -0
  314. data/lib/fdx_api/models/holding_type2.rb +41 -0
  315. data/lib/fdx_api/models/http_action_type.rb +32 -0
  316. data/lib/fdx_api/models/iban2007_identifier_entity.rb +86 -0
  317. data/lib/fdx_api/models/income.rb +124 -0
  318. data/lib/fdx_api/models/income_type.rb +26 -0
  319. data/lib/fdx_api/models/income_type2.rb +27 -0
  320. data/lib/fdx_api/models/incoming_and_outgoing_transfer_limits.rb +85 -0
  321. data/lib/fdx_api/models/incoming_and_outgoing_transfer_limits2.rb +85 -0
  322. data/lib/fdx_api/models/individual_name.rb +115 -0
  323. data/lib/fdx_api/models/industry_classification_system.rb +38 -0
  324. data/lib/fdx_api/models/industry_code.rb +95 -0
  325. data/lib/fdx_api/models/insurance_account_entity.rb +326 -0
  326. data/lib/fdx_api/models/insurance_transaction_entity.rb +201 -0
  327. data/lib/fdx_api/models/insurance_transaction_type.rb +29 -0
  328. data/lib/fdx_api/models/interest_rate_type.rb +23 -0
  329. data/lib/fdx_api/models/interest_rate_type2.rb +23 -0
  330. data/lib/fdx_api/models/intermediary.rb +139 -0
  331. data/lib/fdx_api/models/investment401_k_source_type.rb +38 -0
  332. data/lib/fdx_api/models/investment401_k_source_type1.rb +40 -0
  333. data/lib/fdx_api/models/investment401_k_source_type2.rb +39 -0
  334. data/lib/fdx_api/models/investment401_k_source_type4.rb +39 -0
  335. data/lib/fdx_api/models/investment_account_entity.rb +548 -0
  336. data/lib/fdx_api/models/investment_balance_entity.rb +138 -0
  337. data/lib/fdx_api/models/investment_balance_type.rb +23 -0
  338. data/lib/fdx_api/models/investment_balance_type2.rb +23 -0
  339. data/lib/fdx_api/models/investment_loan_entity.rb +261 -0
  340. data/lib/fdx_api/models/investment_sale_type.rb +38 -0
  341. data/lib/fdx_api/models/investment_transaction_entity.rb +669 -0
  342. data/lib/fdx_api/models/investment_transaction_type.rb +155 -0
  343. data/lib/fdx_api/models/investment_transaction_type2.rb +161 -0
  344. data/lib/fdx_api/models/investment_transfer_action_direction.rb +23 -0
  345. data/lib/fdx_api/models/investment_transfer_action_direction2.rb +23 -0
  346. data/lib/fdx_api/models/iso3166_country_code.rb +764 -0
  347. data/lib/fdx_api/models/iso3166_country_code1.rb +764 -0
  348. data/lib/fdx_api/models/iso3166_country_code2.rb +764 -0
  349. data/lib/fdx_api/models/iso4217_currency_code.rb +560 -0
  350. data/lib/fdx_api/models/iso4217_currency_code1.rb +560 -0
  351. data/lib/fdx_api/models/iso4217_currency_code2.rb +560 -0
  352. data/lib/fdx_api/models/iso93622014_business_identifier_code_entity.rb +93 -0
  353. data/lib/fdx_api/models/iso93622022_business_identifier_code_entity.rb +91 -0
  354. data/lib/fdx_api/models/line_item_entity.rb +156 -0
  355. data/lib/fdx_api/models/line_of_credit_account_entity.rb +474 -0
  356. data/lib/fdx_api/models/line_of_credit_transaction_entity.rb +223 -0
  357. data/lib/fdx_api/models/line_of_credit_transaction_type.rb +38 -0
  358. data/lib/fdx_api/models/line_of_credit_transaction_type2.rb +38 -0
  359. data/lib/fdx_api/models/loan_account_entity.rb +432 -0
  360. data/lib/fdx_api/models/loan_payment_frequency.rb +47 -0
  361. data/lib/fdx_api/models/loan_payment_frequency2.rb +48 -0
  362. data/lib/fdx_api/models/loan_transaction_entity.rb +212 -0
  363. data/lib/fdx_api/models/loan_transaction_type.rb +49 -0
  364. data/lib/fdx_api/models/loan_transaction_type2.rb +41 -0
  365. data/lib/fdx_api/models/local_tax_withholding.rb +96 -0
  366. data/lib/fdx_api/models/local_tax_withholding1.rb +96 -0
  367. data/lib/fdx_api/models/merchant_entity.rb +159 -0
  368. data/lib/fdx_api/models/merchant_entity1.rb +159 -0
  369. data/lib/fdx_api/models/merchant_for_update_entity.rb +118 -0
  370. data/lib/fdx_api/models/merchant_for_update_entity1.rb +118 -0
  371. data/lib/fdx_api/models/message_format.rb +20 -0
  372. data/lib/fdx_api/models/message_format2.rb +20 -0
  373. data/lib/fdx_api/models/monetary_amount.rb +84 -0
  374. data/lib/fdx_api/models/monetary_amount1.rb +84 -0
  375. data/lib/fdx_api/models/monetary_amount2.rb +84 -0
  376. data/lib/fdx_api/models/monetary_amount3.rb +84 -0
  377. data/lib/fdx_api/models/monetary_amount4.rb +84 -0
  378. data/lib/fdx_api/models/monetary_amount5.rb +84 -0
  379. data/lib/fdx_api/models/monetary_amount6.rb +84 -0
  380. data/lib/fdx_api/models/month_abbreviation.rb +53 -0
  381. data/lib/fdx_api/models/month_abbreviation1.rb +53 -0
  382. data/lib/fdx_api/models/month_and_amount.rb +85 -0
  383. data/lib/fdx_api/models/mutual_fund_security_entity.rb +161 -0
  384. data/lib/fdx_api/models/mutual_fund_type.rb +26 -0
  385. data/lib/fdx_api/models/mutual_fund_type2.rb +26 -0
  386. data/lib/fdx_api/models/name_address_and_phone.rb +171 -0
  387. data/lib/fdx_api/models/name_address_and_phone1.rb +171 -0
  388. data/lib/fdx_api/models/name_and_address.rb +159 -0
  389. data/lib/fdx_api/models/notification_category.rb +32 -0
  390. data/lib/fdx_api/models/notification_category1.rb +32 -0
  391. data/lib/fdx_api/models/notification_entity.rb +169 -0
  392. data/lib/fdx_api/models/notification_payload_entity.rb +95 -0
  393. data/lib/fdx_api/models/notification_payload_entity2.rb +95 -0
  394. data/lib/fdx_api/models/notification_payload_id_type.rb +32 -0
  395. data/lib/fdx_api/models/notification_payload_id_type2.rb +32 -0
  396. data/lib/fdx_api/models/notification_priority.rb +26 -0
  397. data/lib/fdx_api/models/notification_priority2.rb +26 -0
  398. data/lib/fdx_api/models/notification_severity.rb +32 -0
  399. data/lib/fdx_api/models/notification_severity2.rb +32 -0
  400. data/lib/fdx_api/models/notification_subscription_entity.rb +123 -0
  401. data/lib/fdx_api/models/notification_type.rb +38 -0
  402. data/lib/fdx_api/models/notifications_entity.rb +104 -0
  403. data/lib/fdx_api/models/occurrence_based_limits_for_a_payment_network.rb +95 -0
  404. data/lib/fdx_api/models/occurrence_based_limits_for_a_payment_network2.rb +94 -0
  405. data/lib/fdx_api/models/offer_of_health_insurance_coverage.rb +119 -0
  406. data/lib/fdx_api/models/open_order_entity.rb +231 -0
  407. data/lib/fdx_api/models/operation_entity.rb +150 -0
  408. data/lib/fdx_api/models/option_security_entity.rb +135 -0
  409. data/lib/fdx_api/models/option_type.rb +23 -0
  410. data/lib/fdx_api/models/option_type2.rb +23 -0
  411. data/lib/fdx_api/models/order_duration.rb +26 -0
  412. data/lib/fdx_api/models/order_duration2.rb +26 -0
  413. data/lib/fdx_api/models/order_type.rb +41 -0
  414. data/lib/fdx_api/models/order_type2.rb +42 -0
  415. data/lib/fdx_api/models/organization_name_entity.rb +87 -0
  416. data/lib/fdx_api/models/other_monetary_amount.rb +94 -0
  417. data/lib/fdx_api/models/other_security_entity.rb +94 -0
  418. data/lib/fdx_api/models/page_metadata.rb +108 -0
  419. data/lib/fdx_api/models/page_metadata_links.rb +95 -0
  420. data/lib/fdx_api/models/page_metadata_links1.rb +85 -0
  421. data/lib/fdx_api/models/party_entity.rb +139 -0
  422. data/lib/fdx_api/models/party_group_entity.rb +86 -0
  423. data/lib/fdx_api/models/party_status.rb +33 -0
  424. data/lib/fdx_api/models/party_status1.rb +29 -0
  425. data/lib/fdx_api/models/party_status3.rb +29 -0
  426. data/lib/fdx_api/models/party_type.rb +35 -0
  427. data/lib/fdx_api/models/party_type1.rb +35 -0
  428. data/lib/fdx_api/models/party_type2.rb +35 -0
  429. data/lib/fdx_api/models/payee_entity.rb +75 -0
  430. data/lib/fdx_api/models/payee_for_update_entity.rb +74 -0
  431. data/lib/fdx_api/models/payee_for_update_entity1.rb +74 -0
  432. data/lib/fdx_api/models/payees_entity.rb +113 -0
  433. data/lib/fdx_api/models/payment_amounts.rb +133 -0
  434. data/lib/fdx_api/models/payment_amounts1.rb +92 -0
  435. data/lib/fdx_api/models/payment_amounts2.rb +133 -0
  436. data/lib/fdx_api/models/payment_amounts3.rb +92 -0
  437. data/lib/fdx_api/models/payment_delivery_address_entity.rb +99 -0
  438. data/lib/fdx_api/models/payment_details_entity.rb +142 -0
  439. data/lib/fdx_api/models/payment_entity.rb +262 -0
  440. data/lib/fdx_api/models/payment_for_update_entity.rb +113 -0
  441. data/lib/fdx_api/models/payment_for_update_entity1.rb +113 -0
  442. data/lib/fdx_api/models/payment_for_update_entity2.rb +113 -0
  443. data/lib/fdx_api/models/payment_frequency.rb +38 -0
  444. data/lib/fdx_api/models/payment_frequency1.rb +38 -0
  445. data/lib/fdx_api/models/payment_frequency3.rb +38 -0
  446. data/lib/fdx_api/models/payment_generic_account_entity.rb +138 -0
  447. data/lib/fdx_api/models/payment_generic_account_entity1.rb +138 -0
  448. data/lib/fdx_api/models/payment_generic_account_entity2.rb +138 -0
  449. data/lib/fdx_api/models/payment_initiation_parties_entity.rb +108 -0
  450. data/lib/fdx_api/models/payment_initiation_party_contact_method_entity.rb +97 -0
  451. data/lib/fdx_api/models/payment_initiation_party_create_response_entity.rb +85 -0
  452. data/lib/fdx_api/models/payment_initiation_party_entity.rb +292 -0
  453. data/lib/fdx_api/models/payment_initiation_party_method_create_response_entity.rb +78 -0
  454. data/lib/fdx_api/models/payment_initiation_party_name_entity.rb +98 -0
  455. data/lib/fdx_api/models/payment_initiation_party_name_entity1.rb +97 -0
  456. data/lib/fdx_api/models/payment_initiation_party_name_entity3.rb +97 -0
  457. data/lib/fdx_api/models/payment_initiation_party_summary_entity.rb +90 -0
  458. data/lib/fdx_api/models/payment_initiation_party_to_payment_method_entity.rb +130 -0
  459. data/lib/fdx_api/models/payment_method_credit_account_entity.rb +111 -0
  460. data/lib/fdx_api/models/payment_method_debit_account_entity.rb +100 -0
  461. data/lib/fdx_api/models/payment_method_entity.rb +139 -0
  462. data/lib/fdx_api/models/payment_method_entity2.rb +149 -0
  463. data/lib/fdx_api/models/payment_method_id.rb +96 -0
  464. data/lib/fdx_api/models/payment_method_system_code.rb +90 -0
  465. data/lib/fdx_api/models/payment_method_system_proprietary.rb +85 -0
  466. data/lib/fdx_api/models/payment_network_identifier_type.rb +23 -0
  467. data/lib/fdx_api/models/payment_network_identifier_type1.rb +23 -0
  468. data/lib/fdx_api/models/payment_network_identifier_type3.rb +23 -0
  469. data/lib/fdx_api/models/payment_network_supported_by_account.rb +161 -0
  470. data/lib/fdx_api/models/payment_network_type.rb +43 -0
  471. data/lib/fdx_api/models/payment_network_type2.rb +39 -0
  472. data/lib/fdx_api/models/payment_status.rb +41 -0
  473. data/lib/fdx_api/models/payment_status1.rb +35 -0
  474. data/lib/fdx_api/models/payment_status3.rb +35 -0
  475. data/lib/fdx_api/models/payments_entity.rb +113 -0
  476. data/lib/fdx_api/models/payout_mode.rb +41 -0
  477. data/lib/fdx_api/models/payout_mode2.rb +38 -0
  478. data/lib/fdx_api/models/payout_type.rb +26 -0
  479. data/lib/fdx_api/models/payout_type2.rb +23 -0
  480. data/lib/fdx_api/models/payroll_frequency_type.rb +50 -0
  481. data/lib/fdx_api/models/payroll_frequency_type2.rb +50 -0
  482. data/lib/fdx_api/models/payroll_rate_type.rb +29 -0
  483. data/lib/fdx_api/models/payroll_rate_type2.rb +29 -0
  484. data/lib/fdx_api/models/payroll_report_entity.rb +162 -0
  485. data/lib/fdx_api/models/payroll_report_list_entity.rb +103 -0
  486. data/lib/fdx_api/models/payroll_report_summary_entity.rb +160 -0
  487. data/lib/fdx_api/models/payroll_report_type.rb +24 -0
  488. data/lib/fdx_api/models/payroll_report_type1.rb +23 -0
  489. data/lib/fdx_api/models/pension_source_entity.rb +136 -0
  490. data/lib/fdx_api/models/period_certain_type.rb +36 -0
  491. data/lib/fdx_api/models/period_certain_type2.rb +33 -0
  492. data/lib/fdx_api/models/planned_availability_entity.rb +122 -0
  493. data/lib/fdx_api/models/policy_premium_term_type.rb +23 -0
  494. data/lib/fdx_api/models/policy_premium_term_type2.rb +23 -0
  495. data/lib/fdx_api/models/policy_product_type.rb +26 -0
  496. data/lib/fdx_api/models/policy_product_type2.rb +23 -0
  497. data/lib/fdx_api/models/policy_status.rb +52 -0
  498. data/lib/fdx_api/models/policy_status2.rb +41 -0
  499. data/lib/fdx_api/models/portion_entity.rb +95 -0
  500. data/lib/fdx_api/models/position_type.rb +23 -0
  501. data/lib/fdx_api/models/position_type1.rb +23 -0
  502. data/lib/fdx_api/models/proprietary_account_id_scheme_entity.rb +88 -0
  503. data/lib/fdx_api/models/proprietary_financial_institution_id_scheme_entity.rb +86 -0
  504. data/lib/fdx_api/models/recipient_provider.rb +293 -0
  505. data/lib/fdx_api/models/recipient_record_at_ecosystem_registry.rb +223 -0
  506. data/lib/fdx_api/models/recipient_records_at_ecosystem_registry.rb +105 -0
  507. data/lib/fdx_api/models/recipient_request.rb +214 -0
  508. data/lib/fdx_api/models/recurring_payment_duration_entity.rb +86 -0
  509. data/lib/fdx_api/models/recurring_payment_duration_entity2.rb +86 -0
  510. data/lib/fdx_api/models/recurring_payment_duration_type.rb +24 -0
  511. data/lib/fdx_api/models/recurring_payment_duration_type2.rb +23 -0
  512. data/lib/fdx_api/models/recurring_payment_entity.rb +231 -0
  513. data/lib/fdx_api/models/recurring_payment_for_update_entity.rb +133 -0
  514. data/lib/fdx_api/models/recurring_payment_for_update_entity1.rb +132 -0
  515. data/lib/fdx_api/models/recurring_payment_for_update_entity2.rb +132 -0
  516. data/lib/fdx_api/models/recurring_payment_frequency.rb +46 -0
  517. data/lib/fdx_api/models/recurring_payment_frequency2.rb +44 -0
  518. data/lib/fdx_api/models/recurring_payment_status.rb +33 -0
  519. data/lib/fdx_api/models/recurring_payment_status2.rb +29 -0
  520. data/lib/fdx_api/models/recurring_payments_entity.rb +113 -0
  521. data/lib/fdx_api/models/registry.rb +30 -0
  522. data/lib/fdx_api/models/registry_reference.rb +102 -0
  523. data/lib/fdx_api/models/rental_income_statement.rb +424 -0
  524. data/lib/fdx_api/models/resource_entity.rb +114 -0
  525. data/lib/fdx_api/models/resource_list_entity.rb +104 -0
  526. data/lib/fdx_api/models/resource_status.rb +26 -0
  527. data/lib/fdx_api/models/resource_status2.rb +26 -0
  528. data/lib/fdx_api/models/result_type.rb +26 -0
  529. data/lib/fdx_api/models/reward_balance_entity.rb +144 -0
  530. data/lib/fdx_api/models/reward_categories_entity.rb +104 -0
  531. data/lib/fdx_api/models/reward_category_entity.rb +136 -0
  532. data/lib/fdx_api/models/reward_program_entity.rb +136 -0
  533. data/lib/fdx_api/models/reward_program_membership_entity.rb +147 -0
  534. data/lib/fdx_api/models/reward_programs_entity.rb +104 -0
  535. data/lib/fdx_api/models/reward_type.rb +30 -0
  536. data/lib/fdx_api/models/reward_type2.rb +26 -0
  537. data/lib/fdx_api/models/royalty_income_statement.rb +424 -0
  538. data/lib/fdx_api/models/sale_proceeds_type.rb +23 -0
  539. data/lib/fdx_api/models/sale_proceeds_type2.rb +23 -0
  540. data/lib/fdx_api/models/secured.rb +23 -0
  541. data/lib/fdx_api/models/secured2.rb +23 -0
  542. data/lib/fdx_api/models/security_category.rb +35 -0
  543. data/lib/fdx_api/models/security_detail_irs_form1099_b.rb +390 -0
  544. data/lib/fdx_api/models/security_entity.rb +96 -0
  545. data/lib/fdx_api/models/security_id_entity.rb +95 -0
  546. data/lib/fdx_api/models/security_id_type.rb +60 -0
  547. data/lib/fdx_api/models/security_id_type1.rb +50 -0
  548. data/lib/fdx_api/models/security_type.rb +51 -0
  549. data/lib/fdx_api/models/security_type2.rb +41 -0
  550. data/lib/fdx_api/models/state_and_local_tax_withholding.rb +95 -0
  551. data/lib/fdx_api/models/state_and_local_tax_withholding1.rb +95 -0
  552. data/lib/fdx_api/models/state_and_local_tax_withholding2.rb +95 -0
  553. data/lib/fdx_api/models/state_code.rb +203 -0
  554. data/lib/fdx_api/models/state_tax_withholding.rb +95 -0
  555. data/lib/fdx_api/models/state_tax_withholding2.rb +95 -0
  556. data/lib/fdx_api/models/statement_entity.rb +135 -0
  557. data/lib/fdx_api/models/stock_security_entity.rb +147 -0
  558. data/lib/fdx_api/models/stock_type.rb +29 -0
  559. data/lib/fdx_api/models/stock_type2.rb +29 -0
  560. data/lib/fdx_api/models/sub_account_type.rb +29 -0
  561. data/lib/fdx_api/models/sub_account_type1.rb +29 -0
  562. data/lib/fdx_api/models/sub_account_type2.rb +29 -0
  563. data/lib/fdx_api/models/sub_account_type4.rb +29 -0
  564. data/lib/fdx_api/models/supplemental_status.rb +44 -0
  565. data/lib/fdx_api/models/supplemental_status2.rb +44 -0
  566. data/lib/fdx_api/models/suspected_fraud_incident_entity.rb +133 -0
  567. data/lib/fdx_api/models/sweep_security_entity.rb +135 -0
  568. data/lib/fdx_api/models/synchronizable_array_entity.rb +96 -0
  569. data/lib/fdx_api/models/synchronizable_array_links_entity.rb +95 -0
  570. data/lib/fdx_api/models/synchronizable_array_links_entity2.rb +95 -0
  571. data/lib/fdx_api/models/tax.rb +218 -0
  572. data/lib/fdx_api/models/tax_data.rb +653 -0
  573. data/lib/fdx_api/models/tax_data_for_qr.rb +675 -0
  574. data/lib/fdx_api/models/tax_form_attribute.rb +106 -0
  575. data/lib/fdx_api/models/tax_lot_entity.rb +140 -0
  576. data/lib/fdx_api/models/tax_party.rb +138 -0
  577. data/lib/fdx_api/models/tax_party1.rb +140 -0
  578. data/lib/fdx_api/models/tax_party2.rb +138 -0
  579. data/lib/fdx_api/models/tax_party3.rb +138 -0
  580. data/lib/fdx_api/models/tax_party4.rb +139 -0
  581. data/lib/fdx_api/models/tax_party6.rb +140 -0
  582. data/lib/fdx_api/models/tax_party7.rb +140 -0
  583. data/lib/fdx_api/models/tax_party8.rb +139 -0
  584. data/lib/fdx_api/models/tax_party_type.rb +23 -0
  585. data/lib/fdx_api/models/tax_party_type2.rb +24 -0
  586. data/lib/fdx_api/models/tax_refund_direct_deposit.rb +108 -0
  587. data/lib/fdx_api/models/tax_refund_direct_deposit2.rb +108 -0
  588. data/lib/fdx_api/models/tax_statement.rb +174 -0
  589. data/lib/fdx_api/models/tax_statement1.rb +175 -0
  590. data/lib/fdx_api/models/tax_statement2.rb +175 -0
  591. data/lib/fdx_api/models/tax_statement4.rb +175 -0
  592. data/lib/fdx_api/models/tax_statement6.rb +175 -0
  593. data/lib/fdx_api/models/tax_statement_list.rb +85 -0
  594. data/lib/fdx_api/models/telephone_number.rb +105 -0
  595. data/lib/fdx_api/models/telephone_number_plus_extension.rb +105 -0
  596. data/lib/fdx_api/models/telephone_number_plus_extension1.rb +105 -0
  597. data/lib/fdx_api/models/telephone_number_plus_extension2.rb +105 -0
  598. data/lib/fdx_api/models/telephone_number_type.rb +29 -0
  599. data/lib/fdx_api/models/time_and_occurrence_based_transfer_limits.rb +115 -0
  600. data/lib/fdx_api/models/time_and_occurrence_based_transfer_limits1.rb +115 -0
  601. data/lib/fdx_api/models/time_and_occurrence_based_transfer_limits3.rb +115 -0
  602. data/lib/fdx_api/models/timeframe_based_limits_for_a_payment_network.rb +139 -0
  603. data/lib/fdx_api/models/timeframe_based_limits_for_a_payment_network1.rb +138 -0
  604. data/lib/fdx_api/models/timeframe_based_limits_for_a_payment_network2.rb +138 -0
  605. data/lib/fdx_api/models/timeframe_based_limits_for_a_payment_network3.rb +138 -0
  606. data/lib/fdx_api/models/timeframe_based_limits_for_a_payment_network5.rb +138 -0
  607. data/lib/fdx_api/models/transaction.rb +357 -0
  608. data/lib/fdx_api/models/transaction_reason.rb +26 -0
  609. data/lib/fdx_api/models/transaction_reason2.rb +27 -0
  610. data/lib/fdx_api/models/transaction_reward_entity.rb +97 -0
  611. data/lib/fdx_api/models/transaction_reward_entity2.rb +107 -0
  612. data/lib/fdx_api/models/transaction_status.rb +29 -0
  613. data/lib/fdx_api/models/transaction_status2.rb +29 -0
  614. data/lib/fdx_api/models/transactions_entity.rb +109 -0
  615. data/lib/fdx_api/models/transfer_entity.rb +169 -0
  616. data/lib/fdx_api/models/transfer_for_create_entity.rb +129 -0
  617. data/lib/fdx_api/models/transfer_for_create_entity1.rb +129 -0
  618. data/lib/fdx_api/models/transfers_entity.rb +113 -0
  619. data/lib/fdx_api/models/treasury_management_type.rb +30 -0
  620. data/lib/fdx_api/models/type_data_type.rb +26 -0
  621. data/lib/fdx_api/models/type_data_type2.rb +24 -0
  622. data/lib/fdx_api/models/type_form_type.rb +176 -0
  623. data/lib/fdx_api/models/type_form_type1.rb +176 -0
  624. data/lib/fdx_api/models/unit_type.rb +23 -0
  625. data/lib/fdx_api/models/unit_type1.rb +23 -0
  626. data/lib/fdx_api/models/unit_type3.rb +23 -0
  627. data/lib/fdx_api/models/updates_metadata_entity.rb +77 -0
  628. data/lib/fdx_api/models/updates_metadata_entity2.rb +77 -0
  629. data/lib/fdx_api/models/vesting_entity.rb +186 -0
  630. data/lib/fdx_api/utilities/date_time_helper.rb +11 -0
  631. data/lib/fdx_api/utilities/file_wrapper.rb +28 -0
  632. data/lib/fdx_api/utilities/union_type_lookup.rb +240 -0
  633. data/lib/fdx_api.rb +661 -0
  634. metadata +717 -0
@@ -0,0 +1,380 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ require_relative 'account_descriptor_entity'
8
+
9
+ module FdxApi
10
+ # An abstract account entity that concrete account entities extend
11
+ class AccountEntity < AccountDescriptorEntity
12
+ # Long-term persistent identity of the parent account. This is used to group
13
+ # accounts
14
+ # @return [String]
15
+ attr_accessor :parent_account_id
16
+
17
+ # The line of business, such as consumer, consumer joint, small business,
18
+ # corporate, etc.
19
+ # @return [String]
20
+ attr_accessor :line_of_business
21
+
22
+ # The routing transit number (RTN) associated with the account number at the
23
+ # owning institution. This also serves as the 3-digit Institution (FID) and
24
+ # 5-digit Transit numbers for Canadian institutions, including leading
25
+ # zeroes
26
+ # @return [String]
27
+ attr_accessor :routing_transit_number
28
+
29
+ # ASSET (positive transaction amount increases balance), LIABILITY (positive
30
+ # transaction amount decreases balance)
31
+ # @return [BalanceType2]
32
+ attr_accessor :balance_type
33
+
34
+ # Contact information associated with this account
35
+ # @return [AccountContactEntity2]
36
+ attr_accessor :contact
37
+
38
+ # Interest Rate of Account
39
+ # @return [Float]
40
+ attr_accessor :interest_rate
41
+
42
+ # FIXED or VARIABLE
43
+ # @return [InterestRateType2]
44
+ attr_accessor :interest_rate_type
45
+
46
+ # Date of account's interest rate
47
+ # @return [DateTime]
48
+ attr_accessor :interest_rate_as_of
49
+
50
+ # Previous Interest Rate of Account
51
+ # @return [Float]
52
+ attr_accessor :prior_interest_rate
53
+
54
+ # Variable rate index name such as EONIA, EURIBOR, EURREPO, FEFUND, LIBOR,
55
+ # PRIME, SOFR, SONIA, etc.
56
+ # @return [String]
57
+ attr_accessor :interest_rate_index
58
+
59
+ # Flag that indicates if there is an early penalty for withdrawal/payoff
60
+ # @return [TrueClass | FalseClass]
61
+ attr_accessor :early_penalty_flag
62
+
63
+ # Account is eligible for incoming transfers
64
+ # @return [TrueClass | FalseClass]
65
+ attr_accessor :transfer_in
66
+
67
+ # Account is eligible for outgoing transfers
68
+ # @return [TrueClass | FalseClass]
69
+ attr_accessor :transfer_out
70
+
71
+ # Defines account's ability to participate in bill payments
72
+ # @return [AccountBillPayStatus2]
73
+ attr_accessor :bill_pay_status
74
+
75
+ # MICR Number
76
+ # @return [String]
77
+ attr_accessor :micr_number
78
+
79
+ # Date that last transaction occurred on account
80
+ # @return [Date]
81
+ attr_accessor :last_activity_date
82
+
83
+ # Long-term persistent identity of rewards program associated with this
84
+ # account
85
+ # @return [String]
86
+ attr_accessor :reward_program_id
87
+
88
+ # Default is false. If present and true, a call to retrieve transactions
89
+ # will not return any further details about this account. This is an
90
+ # optimization that allows an FDX API server to return transactions and
91
+ # account details in a single call
92
+ # @return [TrueClass | FalseClass]
93
+ attr_accessor :transactions_included
94
+
95
+ # The country and region of the account's legal jurisdiction
96
+ # @return [DomicileEntity1]
97
+ attr_accessor :domicile
98
+
99
+ # Discriminators mapping.
100
+ def self.discriminators
101
+ if @_discriminators.nil?
102
+ @_discriminators = {}
103
+ @_discriminators['Annuity Account entity'] = AnnuityAccountEntity
104
+ @_discriminators['Commercial Account entity'] = CommercialAccountEntity
105
+ @_discriminators['Deposit Account entity'] = DepositAccountEntity
106
+ @_discriminators['Digital Wallet account entity'] = DigitalWalletAccountEntity
107
+ @_discriminators['Insurance Account entity'] = InsuranceAccountEntity
108
+ @_discriminators['Investment Account entity'] = InvestmentAccountEntity
109
+ @_discriminators['Line of Credit Account entity'] = LineOfCreditAccountEntity
110
+ @_discriminators['Loan Account entity'] = LoanAccountEntity
111
+ end
112
+ @_discriminators
113
+ end
114
+
115
+ # A mapping from model property names to API property names.
116
+ def self.names
117
+ @_hash = {} if @_hash.nil?
118
+ @_hash['parent_account_id'] = 'parentAccountId'
119
+ @_hash['line_of_business'] = 'lineOfBusiness'
120
+ @_hash['routing_transit_number'] = 'routingTransitNumber'
121
+ @_hash['balance_type'] = 'balanceType'
122
+ @_hash['contact'] = 'contact'
123
+ @_hash['interest_rate'] = 'interestRate'
124
+ @_hash['interest_rate_type'] = 'interestRateType'
125
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
126
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
127
+ @_hash['interest_rate_index'] = 'interestRateIndex'
128
+ @_hash['early_penalty_flag'] = 'earlyPenaltyFlag'
129
+ @_hash['transfer_in'] = 'transferIn'
130
+ @_hash['transfer_out'] = 'transferOut'
131
+ @_hash['bill_pay_status'] = 'billPayStatus'
132
+ @_hash['micr_number'] = 'micrNumber'
133
+ @_hash['last_activity_date'] = 'lastActivityDate'
134
+ @_hash['reward_program_id'] = 'rewardProgramId'
135
+ @_hash['transactions_included'] = 'transactionsIncluded'
136
+ @_hash['domicile'] = 'domicile'
137
+ @_hash = super().merge(@_hash)
138
+ @_hash
139
+ end
140
+
141
+ # An array for optional fields
142
+ def self.optionals
143
+ _arr = %w[
144
+ parent_account_id
145
+ line_of_business
146
+ routing_transit_number
147
+ balance_type
148
+ contact
149
+ interest_rate
150
+ interest_rate_type
151
+ interest_rate_as_of
152
+ prior_interest_rate
153
+ interest_rate_index
154
+ early_penalty_flag
155
+ transfer_in
156
+ transfer_out
157
+ bill_pay_status
158
+ micr_number
159
+ last_activity_date
160
+ reward_program_id
161
+ transactions_included
162
+ domicile
163
+ ]
164
+ (_arr << super()).flatten!
165
+ end
166
+
167
+ # An array for nullable fields
168
+ def self.nullables
169
+ _arr = []
170
+ (_arr << super()).flatten!
171
+ end
172
+
173
+ def initialize(parent_account_id: SKIP, line_of_business: SKIP,
174
+ routing_transit_number: SKIP, balance_type: SKIP,
175
+ contact: SKIP, interest_rate: SKIP, interest_rate_type: SKIP,
176
+ interest_rate_as_of: SKIP, prior_interest_rate: SKIP,
177
+ interest_rate_index: SKIP, early_penalty_flag: SKIP,
178
+ transfer_in: SKIP, transfer_out: SKIP, bill_pay_status: SKIP,
179
+ micr_number: SKIP, last_activity_date: SKIP,
180
+ reward_program_id: SKIP, transactions_included: SKIP,
181
+ domicile: SKIP, account_category: 'Account entity',
182
+ account_id: SKIP, error: SKIP, account_type: SKIP,
183
+ account_number: SKIP, account_number_display: SKIP,
184
+ product_name: SKIP, nickname: SKIP, status: SKIP,
185
+ description: SKIP, account_open_date: SKIP,
186
+ account_close_date: SKIP, currency: SKIP,
187
+ fi_attributes: SKIP, additional_properties: nil)
188
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
189
+ @line_of_business = line_of_business unless line_of_business == SKIP
190
+ @routing_transit_number = routing_transit_number unless routing_transit_number == SKIP
191
+ @balance_type = balance_type unless balance_type == SKIP
192
+ @contact = contact unless contact == SKIP
193
+ @interest_rate = interest_rate unless interest_rate == SKIP
194
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
195
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
196
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
197
+ @interest_rate_index = interest_rate_index unless interest_rate_index == SKIP
198
+ @early_penalty_flag = early_penalty_flag unless early_penalty_flag == SKIP
199
+ @transfer_in = transfer_in unless transfer_in == SKIP
200
+ @transfer_out = transfer_out unless transfer_out == SKIP
201
+ @bill_pay_status = bill_pay_status unless bill_pay_status == SKIP
202
+ @micr_number = micr_number unless micr_number == SKIP
203
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
204
+ @reward_program_id = reward_program_id unless reward_program_id == SKIP
205
+ @transactions_included = transactions_included unless transactions_included == SKIP
206
+ @domicile = domicile unless domicile == SKIP
207
+ @additional_properties = additional_properties
208
+
209
+ # Call the constructor of the base class
210
+ super(account_category: account_category,
211
+ account_id: account_id,
212
+ error: error,
213
+ account_type: account_type,
214
+ account_number: account_number,
215
+ account_number_display: account_number_display,
216
+ product_name: product_name,
217
+ nickname: nickname,
218
+ status: status,
219
+ description: description,
220
+ account_open_date: account_open_date,
221
+ account_close_date: account_close_date,
222
+ currency: currency,
223
+ fi_attributes: fi_attributes,
224
+ additional_properties: additional_properties)
225
+ end
226
+
227
+ # Creates an instance of the object from a hash.
228
+ def self.from_hash(hash)
229
+ return nil unless hash
230
+
231
+ # Delegate unboxing to another function if a discriminator
232
+ # value for a child class is present.
233
+ unboxer = discriminators[hash['accountCategory']]
234
+ return unboxer.send(:from_hash, hash) if unboxer
235
+
236
+ # Extract variables from the hash.
237
+ parent_account_id =
238
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
239
+ line_of_business =
240
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
241
+ routing_transit_number =
242
+ hash.key?('routingTransitNumber') ? hash['routingTransitNumber'] : SKIP
243
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
244
+ contact = AccountContactEntity2.from_hash(hash['contact']) if hash['contact']
245
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
246
+ interest_rate_type =
247
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
248
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
249
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
250
+ else
251
+ SKIP
252
+ end
253
+ prior_interest_rate =
254
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
255
+ interest_rate_index =
256
+ hash.key?('interestRateIndex') ? hash['interestRateIndex'] : SKIP
257
+ early_penalty_flag =
258
+ hash.key?('earlyPenaltyFlag') ? hash['earlyPenaltyFlag'] : SKIP
259
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
260
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
261
+ bill_pay_status =
262
+ hash.key?('billPayStatus') ? hash['billPayStatus'] : SKIP
263
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
264
+ last_activity_date =
265
+ hash.key?('lastActivityDate') ? hash['lastActivityDate'] : SKIP
266
+ reward_program_id =
267
+ hash.key?('rewardProgramId') ? hash['rewardProgramId'] : SKIP
268
+ transactions_included =
269
+ hash.key?('transactionsIncluded') ? hash['transactionsIncluded'] : SKIP
270
+ domicile = DomicileEntity1.from_hash(hash['domicile']) if hash['domicile']
271
+ account_category = hash['accountCategory'] ||= 'Account entity'
272
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
273
+ error = Error1.from_hash(hash['error']) if hash['error']
274
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
275
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
276
+ account_number_display =
277
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
278
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
279
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
280
+ status = hash.key?('status') ? hash['status'] : SKIP
281
+ description = hash.key?('description') ? hash['description'] : SKIP
282
+ account_open_date =
283
+ hash.key?('accountOpenDate') ? hash['accountOpenDate'] : SKIP
284
+ account_close_date =
285
+ hash.key?('accountCloseDate') ? hash['accountCloseDate'] : SKIP
286
+ currency = CurrencyEntity4.from_hash(hash['currency']) if hash['currency']
287
+ # Parameter is an array, so we need to iterate through it
288
+ fi_attributes = nil
289
+ unless hash['fiAttributes'].nil?
290
+ fi_attributes = []
291
+ hash['fiAttributes'].each do |structure|
292
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
293
+ end
294
+ end
295
+
296
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
297
+
298
+ # Create a new hash for additional properties, removing known properties.
299
+ new_hash = hash.reject { |k, _| names.value?(k) }
300
+
301
+ additional_properties = APIHelper.get_additional_properties(
302
+ new_hash, proc { |value| value }
303
+ )
304
+
305
+ # Create object from extracted values.
306
+ AccountEntity.new(parent_account_id: parent_account_id,
307
+ line_of_business: line_of_business,
308
+ routing_transit_number: routing_transit_number,
309
+ balance_type: balance_type,
310
+ contact: contact,
311
+ interest_rate: interest_rate,
312
+ interest_rate_type: interest_rate_type,
313
+ interest_rate_as_of: interest_rate_as_of,
314
+ prior_interest_rate: prior_interest_rate,
315
+ interest_rate_index: interest_rate_index,
316
+ early_penalty_flag: early_penalty_flag,
317
+ transfer_in: transfer_in,
318
+ transfer_out: transfer_out,
319
+ bill_pay_status: bill_pay_status,
320
+ micr_number: micr_number,
321
+ last_activity_date: last_activity_date,
322
+ reward_program_id: reward_program_id,
323
+ transactions_included: transactions_included,
324
+ domicile: domicile,
325
+ account_category: account_category,
326
+ account_id: account_id,
327
+ error: error,
328
+ account_type: account_type,
329
+ account_number: account_number,
330
+ account_number_display: account_number_display,
331
+ product_name: product_name,
332
+ nickname: nickname,
333
+ status: status,
334
+ description: description,
335
+ account_open_date: account_open_date,
336
+ account_close_date: account_close_date,
337
+ currency: currency,
338
+ fi_attributes: fi_attributes,
339
+ additional_properties: additional_properties)
340
+ end
341
+
342
+ def to_custom_interest_rate_as_of
343
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
344
+ end
345
+
346
+ # Provides a human-readable string representation of the object.
347
+ def to_s
348
+ class_name = self.class.name.split('::').last
349
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
350
+ "<#{class_name} #{super_string}, parent_account_id: #{@parent_account_id},"\
351
+ " line_of_business: #{@line_of_business}, routing_transit_number:"\
352
+ " #{@routing_transit_number}, balance_type: #{@balance_type}, contact: #{@contact},"\
353
+ " interest_rate: #{@interest_rate}, interest_rate_type: #{@interest_rate_type},"\
354
+ " interest_rate_as_of: #{@interest_rate_as_of}, prior_interest_rate:"\
355
+ " #{@prior_interest_rate}, interest_rate_index: #{@interest_rate_index}, early_penalty_flag:"\
356
+ " #{@early_penalty_flag}, transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out},"\
357
+ " bill_pay_status: #{@bill_pay_status}, micr_number: #{@micr_number}, last_activity_date:"\
358
+ " #{@last_activity_date}, reward_program_id: #{@reward_program_id}, transactions_included:"\
359
+ " #{@transactions_included}, domicile: #{@domicile}>"
360
+ end
361
+
362
+ # Provides a debugging-friendly string with detailed object information.
363
+ def inspect
364
+ class_name = self.class.name.split('::').last
365
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
366
+ "<#{class_name} #{super_string}, parent_account_id: #{@parent_account_id.inspect},"\
367
+ " line_of_business: #{@line_of_business.inspect}, routing_transit_number:"\
368
+ " #{@routing_transit_number.inspect}, balance_type: #{@balance_type.inspect}, contact:"\
369
+ " #{@contact.inspect}, interest_rate: #{@interest_rate.inspect}, interest_rate_type:"\
370
+ " #{@interest_rate_type.inspect}, interest_rate_as_of: #{@interest_rate_as_of.inspect},"\
371
+ " prior_interest_rate: #{@prior_interest_rate.inspect}, interest_rate_index:"\
372
+ " #{@interest_rate_index.inspect}, early_penalty_flag: #{@early_penalty_flag.inspect},"\
373
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
374
+ " bill_pay_status: #{@bill_pay_status.inspect}, micr_number: #{@micr_number.inspect},"\
375
+ " last_activity_date: #{@last_activity_date.inspect}, reward_program_id:"\
376
+ " #{@reward_program_id.inspect}, transactions_included: #{@transactions_included.inspect},"\
377
+ " domicile: #{@domicile.inspect}>"
378
+ end
379
+ end
380
+ end
@@ -0,0 +1,263 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Extends `Customer` and adds a `relationship` field to define the customer's
8
+ # relationship with an account
9
+ class AccountHolderEntity < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Array of the contact email addresses
14
+ # @return [Array[String]]
15
+ attr_accessor :emails
16
+
17
+ # Array of the contact physical addresses
18
+ # @return [Array[DeliveryAddress]]
19
+ attr_accessor :addresses
20
+
21
+ # Array of the contact telephone numbers
22
+ # @return [Array[TelephoneNumber]]
23
+ attr_accessor :telephones
24
+
25
+ # The person's date of birth
26
+ # @return [Date]
27
+ attr_accessor :date_of_birth
28
+
29
+ # Country specific Tax Id associated with this customer (SIN or NAS in
30
+ # Canada, SSN or TIN in US, etc.)
31
+ # @return [String]
32
+ attr_accessor :tax_id
33
+
34
+ # Country originating the Customer's taxId element
35
+ # @return [Iso3166CountryCode1]
36
+ attr_accessor :tax_id_country
37
+
38
+ # A federal (such as passport) or state (such as driver's license) issued
39
+ # identifier
40
+ # @return [String]
41
+ attr_accessor :government_id
42
+
43
+ # Long-term persistent identity of the customer. This identity must be
44
+ # unique to the owning institution
45
+ # @return [String]
46
+ attr_accessor :customer_id
47
+
48
+ # Type of entity. One of BUSINESS or CONSUMER
49
+ # @return [BusinessOrConsumerType]
50
+ attr_accessor :type
51
+
52
+ # The customer's name
53
+ # @return [CustomerNameEntity]
54
+ attr_accessor :name
55
+
56
+ # The business customer information, only used if 'type' is 'BUSINESS'.
57
+ # @return [BusinessCustomerEntity]
58
+ attr_accessor :business_customer
59
+
60
+ # The customer's start date at the financial institution
61
+ # @return [Date]
62
+ attr_accessor :customer_start_date
63
+
64
+ # The customer's date of last account activity at the financial institution
65
+ # @return [Date]
66
+ attr_accessor :last_activity_date
67
+
68
+ # List of accounts related to this customer
69
+ # @return [Array[CustomerToAccountRelationshipEntity]]
70
+ attr_accessor :accounts
71
+
72
+ # Customer's relationship to the account
73
+ # @return [AccountHolderRelationship1]
74
+ attr_accessor :relationship
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['emails'] = 'emails'
80
+ @_hash['addresses'] = 'addresses'
81
+ @_hash['telephones'] = 'telephones'
82
+ @_hash['date_of_birth'] = 'dateOfBirth'
83
+ @_hash['tax_id'] = 'taxId'
84
+ @_hash['tax_id_country'] = 'taxIdCountry'
85
+ @_hash['government_id'] = 'governmentId'
86
+ @_hash['customer_id'] = 'customerId'
87
+ @_hash['type'] = 'type'
88
+ @_hash['name'] = 'name'
89
+ @_hash['business_customer'] = 'businessCustomer'
90
+ @_hash['customer_start_date'] = 'customerStartDate'
91
+ @_hash['last_activity_date'] = 'lastActivityDate'
92
+ @_hash['accounts'] = 'accounts'
93
+ @_hash['relationship'] = 'relationship'
94
+ @_hash
95
+ end
96
+
97
+ # An array for optional fields
98
+ def self.optionals
99
+ %w[
100
+ emails
101
+ addresses
102
+ telephones
103
+ date_of_birth
104
+ tax_id
105
+ tax_id_country
106
+ government_id
107
+ customer_id
108
+ type
109
+ name
110
+ business_customer
111
+ customer_start_date
112
+ last_activity_date
113
+ accounts
114
+ relationship
115
+ ]
116
+ end
117
+
118
+ # An array for nullable fields
119
+ def self.nullables
120
+ []
121
+ end
122
+
123
+ def initialize(emails: SKIP, addresses: SKIP, telephones: SKIP,
124
+ date_of_birth: SKIP, tax_id: SKIP, tax_id_country: SKIP,
125
+ government_id: SKIP, customer_id: SKIP, type: SKIP,
126
+ name: SKIP, business_customer: SKIP,
127
+ customer_start_date: SKIP, last_activity_date: SKIP,
128
+ accounts: SKIP, relationship: SKIP,
129
+ additional_properties: nil)
130
+ # Add additional model properties to the instance
131
+ additional_properties = {} if additional_properties.nil?
132
+
133
+ @emails = emails unless emails == SKIP
134
+ @addresses = addresses unless addresses == SKIP
135
+ @telephones = telephones unless telephones == SKIP
136
+ @date_of_birth = date_of_birth unless date_of_birth == SKIP
137
+ @tax_id = tax_id unless tax_id == SKIP
138
+ @tax_id_country = tax_id_country unless tax_id_country == SKIP
139
+ @government_id = government_id unless government_id == SKIP
140
+ @customer_id = customer_id unless customer_id == SKIP
141
+ @type = type unless type == SKIP
142
+ @name = name unless name == SKIP
143
+ @business_customer = business_customer unless business_customer == SKIP
144
+ @customer_start_date = customer_start_date unless customer_start_date == SKIP
145
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
146
+ @accounts = accounts unless accounts == SKIP
147
+ @relationship = relationship unless relationship == SKIP
148
+ @additional_properties = additional_properties
149
+ end
150
+
151
+ # Creates an instance of the object from a hash.
152
+ def self.from_hash(hash)
153
+ return nil unless hash
154
+
155
+ # Extract variables from the hash.
156
+ emails = hash.key?('emails') ? hash['emails'] : SKIP
157
+ # Parameter is an array, so we need to iterate through it
158
+ addresses = nil
159
+ unless hash['addresses'].nil?
160
+ addresses = []
161
+ hash['addresses'].each do |structure|
162
+ addresses << (DeliveryAddress.from_hash(structure) if structure)
163
+ end
164
+ end
165
+
166
+ addresses = SKIP unless hash.key?('addresses')
167
+ # Parameter is an array, so we need to iterate through it
168
+ telephones = nil
169
+ unless hash['telephones'].nil?
170
+ telephones = []
171
+ hash['telephones'].each do |structure|
172
+ telephones << (TelephoneNumber.from_hash(structure) if structure)
173
+ end
174
+ end
175
+
176
+ telephones = SKIP unless hash.key?('telephones')
177
+ date_of_birth = hash.key?('dateOfBirth') ? hash['dateOfBirth'] : SKIP
178
+ tax_id = hash.key?('taxId') ? hash['taxId'] : SKIP
179
+ tax_id_country = hash.key?('taxIdCountry') ? hash['taxIdCountry'] : SKIP
180
+ government_id = hash.key?('governmentId') ? hash['governmentId'] : SKIP
181
+ customer_id = hash.key?('customerId') ? hash['customerId'] : SKIP
182
+ type = hash.key?('type') ? hash['type'] : SKIP
183
+ name = CustomerNameEntity.from_hash(hash['name']) if hash['name']
184
+ business_customer = BusinessCustomerEntity.from_hash(hash['businessCustomer']) if
185
+ hash['businessCustomer']
186
+ customer_start_date =
187
+ hash.key?('customerStartDate') ? hash['customerStartDate'] : SKIP
188
+ last_activity_date =
189
+ hash.key?('lastActivityDate') ? hash['lastActivityDate'] : SKIP
190
+ # Parameter is an array, so we need to iterate through it
191
+ accounts = nil
192
+ unless hash['accounts'].nil?
193
+ accounts = []
194
+ hash['accounts'].each do |structure|
195
+ accounts << (CustomerToAccountRelationshipEntity.from_hash(structure) if structure)
196
+ end
197
+ end
198
+
199
+ accounts = SKIP unless hash.key?('accounts')
200
+ relationship = hash.key?('relationship') ? hash['relationship'] : SKIP
201
+
202
+ # Create a new hash for additional properties, removing known properties.
203
+ new_hash = hash.reject { |k, _| names.value?(k) }
204
+
205
+ additional_properties = APIHelper.get_additional_properties(
206
+ new_hash, proc { |value| value }
207
+ )
208
+
209
+ # Create object from extracted values.
210
+ AccountHolderEntity.new(emails: emails,
211
+ addresses: addresses,
212
+ telephones: telephones,
213
+ date_of_birth: date_of_birth,
214
+ tax_id: tax_id,
215
+ tax_id_country: tax_id_country,
216
+ government_id: government_id,
217
+ customer_id: customer_id,
218
+ type: type,
219
+ name: name,
220
+ business_customer: business_customer,
221
+ customer_start_date: customer_start_date,
222
+ last_activity_date: last_activity_date,
223
+ accounts: accounts,
224
+ relationship: relationship,
225
+ additional_properties: additional_properties)
226
+ end
227
+
228
+ # Validates an instance of the object from a given value.
229
+ # @param [AccountHolderEntity | Hash] The value against the validation is performed.
230
+ def self.validate(value)
231
+ return true if value.instance_of? self
232
+
233
+ return false unless value.instance_of? Hash
234
+
235
+ true
236
+ end
237
+
238
+ # Provides a human-readable string representation of the object.
239
+ def to_s
240
+ class_name = self.class.name.split('::').last
241
+ "<#{class_name} emails: #{@emails}, addresses: #{@addresses}, telephones: #{@telephones},"\
242
+ " date_of_birth: #{@date_of_birth}, tax_id: #{@tax_id}, tax_id_country: #{@tax_id_country},"\
243
+ " government_id: #{@government_id}, customer_id: #{@customer_id}, type: #{@type}, name:"\
244
+ " #{@name}, business_customer: #{@business_customer}, customer_start_date:"\
245
+ " #{@customer_start_date}, last_activity_date: #{@last_activity_date}, accounts:"\
246
+ " #{@accounts}, relationship: #{@relationship}, additional_properties:"\
247
+ " #{@additional_properties}>"
248
+ end
249
+
250
+ # Provides a debugging-friendly string with detailed object information.
251
+ def inspect
252
+ class_name = self.class.name.split('::').last
253
+ "<#{class_name} emails: #{@emails.inspect}, addresses: #{@addresses.inspect}, telephones:"\
254
+ " #{@telephones.inspect}, date_of_birth: #{@date_of_birth.inspect}, tax_id:"\
255
+ " #{@tax_id.inspect}, tax_id_country: #{@tax_id_country.inspect}, government_id:"\
256
+ " #{@government_id.inspect}, customer_id: #{@customer_id.inspect}, type: #{@type.inspect},"\
257
+ " name: #{@name.inspect}, business_customer: #{@business_customer.inspect},"\
258
+ " customer_start_date: #{@customer_start_date.inspect}, last_activity_date:"\
259
+ " #{@last_activity_date.inspect}, accounts: #{@accounts.inspect}, relationship:"\
260
+ " #{@relationship.inspect}, additional_properties: #{@additional_properties}>"
261
+ end
262
+ end
263
+ end