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,669 @@
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 'transaction'
8
+
9
+ module FdxApi
10
+ # Specific transaction information
11
+ class InvestmentTransactionEntity < Transaction
12
+ # PURCHASED, SOLD, PURCHASEDTOCOVER, ADJUSTMENT, PURCHASETOOPEN,
13
+ # PURCHASETOCLOSE, SOLDTOOPEN, SOLDTOCLOSE, INTEREST, MARGININTEREST,
14
+ # REINVESTOFINCOME, RETURNOFCAPITAL, TRANSFER, CONTRIBUTION, FEE,
15
+ # OPTIONEXERCISE, OPTIONEXPIRATION, DIVIDEND, DIVIDENDREINVEST, SPLIT,
16
+ # CLOSURE, INCOME, EXPENSE, CLOSUREOPT, INVEXPENSE, JRNLSEC, JRNLFUND,
17
+ # OTHER, DIV, SRVCHG, DEP, DEPOSIT, ATM, POS, XFER, CHECK, PAYMENT, CASH,
18
+ # DIRECTDEP, DIRECTDEBIT, REPEATPMT
19
+ # @return [InvestmentTransactionType2]
20
+ attr_accessor :transaction_type
21
+
22
+ # Required for stock, mutual funds. Number of shares (with decimals).
23
+ # Negative numbers indicate securities are being removed from the account
24
+ # @return [Float]
25
+ attr_accessor :shares
26
+
27
+ # Cash value for bonds
28
+ # @return [Float]
29
+ attr_accessor :face_value
30
+
31
+ # Unit purchase price
32
+ # @return [Float]
33
+ attr_accessor :price
34
+
35
+ # Unique identifier of security
36
+ # @return [String]
37
+ attr_accessor :security_id
38
+
39
+ # CINS, CMC, CME, CUSIP, ISIN, ITSA, NASDAQ, SEDOL, SICC, VALOR, WKN
40
+ # @return [SecurityIdType1]
41
+ attr_accessor :security_id_type
42
+
43
+ # BOND, DEBT, DIGITALASSET, MUTUALFUND, OPTION, OTHER, STOCK, SWEEP
44
+ # @return [SecurityType2]
45
+ attr_accessor :security_type
46
+
47
+ # Ticker symbol
48
+ # @return [String]
49
+ attr_accessor :symbol
50
+
51
+ # Portion of unit price that is attributed to the dealer markup
52
+ # @return [Float]
53
+ attr_accessor :markup
54
+
55
+ # Transaction commission
56
+ # @return [Float]
57
+ attr_accessor :commission
58
+
59
+ # Taxes on the trade
60
+ # @return [Float]
61
+ attr_accessor :taxes
62
+
63
+ # Fees applied to the trade
64
+ # @return [Float]
65
+ attr_accessor :fees
66
+
67
+ # Load on the transaction
68
+ # @return [Float]
69
+ attr_accessor :load
70
+
71
+ # Source of money. One of PRETAX, AFTERTAX, MATCH, PROFITSHARING, ROLLOVER,
72
+ # OTHERVEST, OTHERNONVEST
73
+ # @return [Investment401KSourceType2]
74
+ attr_accessor :inv401k_source
75
+
76
+ # Confirmation number of the transaction
77
+ # @return [String]
78
+ attr_accessor :confirmation_number
79
+
80
+ # Cash for fractional units (used for stock splits)
81
+ # @return [Float]
82
+ attr_accessor :fractional_cash
83
+
84
+ # Type of investment income. One of CGLONG (capital gains-long term),
85
+ # CGSHORT (capital gains-short term), MISC
86
+ # @return [IncomeType2]
87
+ attr_accessor :income_type
88
+
89
+ # Number of shares before split
90
+ # @return [Float]
91
+ attr_accessor :old_units
92
+
93
+ # Split ratio numerator
94
+ # @return [Float]
95
+ attr_accessor :split_ratio_numerator
96
+
97
+ # Split ratio denominator
98
+ # @return [Float]
99
+ attr_accessor :split_ratio_denominator
100
+
101
+ # Number of shares after split
102
+ # @return [Float]
103
+ attr_accessor :new_units
104
+
105
+ # Sub-account security Type. One of CASH, MARGIN, SHORT, OTHERS
106
+ # @return [SubAccountType1]
107
+ attr_accessor :sub_account_sec
108
+
109
+ # From which account money came in. One of CASH, MARGIN, SHORT, OTHERS
110
+ # @return [SubAccountType2]
111
+ attr_accessor :sub_account_fund
112
+
113
+ # For 401k accounts only. This indicates the transaction was due to a loan
114
+ # or a loan repayment
115
+ # @return [String]
116
+ attr_accessor :loan_id
117
+
118
+ # How much loan pre-payment is principal
119
+ # @return [Float]
120
+ attr_accessor :loan_principal
121
+
122
+ # How much loan pre-payment is interest
123
+ # @return [Float]
124
+ attr_accessor :loan_interest
125
+
126
+ # The date for the 401k transaction was obtained in payroll
127
+ # @return [Date]
128
+ attr_accessor :payroll_date
129
+
130
+ # Indicates this buy was made using prior year's contribution
131
+ # @return [TrueClass | FalseClass]
132
+ attr_accessor :prior_year_contrib
133
+
134
+ # Federal tax withholding
135
+ # @return [Float]
136
+ attr_accessor :withholding
137
+
138
+ # Tax-exempt transaction
139
+ # @return [TrueClass | FalseClass]
140
+ attr_accessor :tax_exempt
141
+
142
+ # For sales
143
+ # @return [Float]
144
+ attr_accessor :gain
145
+
146
+ # State tax withholding
147
+ # @return [Float]
148
+ attr_accessor :state_withholding
149
+
150
+ # Indicates amount withheld due to a penalty
151
+ # @return [Float]
152
+ attr_accessor :penalty
153
+
154
+ # Running balance of the position
155
+ # @return [Float]
156
+ attr_accessor :running_balance
157
+
158
+ # Price per commonly-quoted unit. Does not include markup/markdown,
159
+ # unitprice. Share price for stocks, mutual funds, and others. Percentage of
160
+ # par for bonds. Per share (not contract) for options
161
+ # @return [Float]
162
+ attr_accessor :unit_price
163
+
164
+ # For security-based actions other than stock splits, quantity. Shares for
165
+ # stocks, mutual funds, and others. Face value for bonds. Contracts for
166
+ # options
167
+ # @return [Float]
168
+ attr_accessor :units
169
+
170
+ # SHARES, CURRENCY
171
+ # @return [UnitType1]
172
+ attr_accessor :unit_type
173
+
174
+ # Reason for this transaction; CALL (the debt was called), SELL (the debt
175
+ # was sold), MATURITY (the debt reached maturity)
176
+ # @return [TransactionReason2]
177
+ attr_accessor :transaction_reason
178
+
179
+ # Accrued interest
180
+ # @return [Float]
181
+ attr_accessor :accrued_interest
182
+
183
+ # Transfer direction
184
+ # @return [InvestmentTransferActionDirection2]
185
+ attr_accessor :transfer_action
186
+
187
+ # LONG, SHORT
188
+ # @return [PositionType1]
189
+ attr_accessor :position_type
190
+
191
+ # Full precision unit number, unlimited digits after decimal point
192
+ # @return [String]
193
+ attr_accessor :digital_units
194
+
195
+ # When the trade settled
196
+ # @return [DateTime]
197
+ attr_accessor :settlement_timestamp
198
+
199
+ # A mapping from model property names to API property names.
200
+ def self.names
201
+ @_hash = {} if @_hash.nil?
202
+ @_hash['transaction_type'] = 'transactionType'
203
+ @_hash['shares'] = 'shares'
204
+ @_hash['face_value'] = 'faceValue'
205
+ @_hash['price'] = 'price'
206
+ @_hash['security_id'] = 'securityId'
207
+ @_hash['security_id_type'] = 'securityIdType'
208
+ @_hash['security_type'] = 'securityType'
209
+ @_hash['symbol'] = 'symbol'
210
+ @_hash['markup'] = 'markup'
211
+ @_hash['commission'] = 'commission'
212
+ @_hash['taxes'] = 'taxes'
213
+ @_hash['fees'] = 'fees'
214
+ @_hash['load'] = 'load'
215
+ @_hash['inv401k_source'] = 'inv401kSource'
216
+ @_hash['confirmation_number'] = 'confirmationNumber'
217
+ @_hash['fractional_cash'] = 'fractionalCash'
218
+ @_hash['income_type'] = 'incomeType'
219
+ @_hash['old_units'] = 'oldUnits'
220
+ @_hash['split_ratio_numerator'] = 'splitRatioNumerator'
221
+ @_hash['split_ratio_denominator'] = 'splitRatioDenominator'
222
+ @_hash['new_units'] = 'newUnits'
223
+ @_hash['sub_account_sec'] = 'subAccountSec'
224
+ @_hash['sub_account_fund'] = 'subAccountFund'
225
+ @_hash['loan_id'] = 'loanId'
226
+ @_hash['loan_principal'] = 'loanPrincipal'
227
+ @_hash['loan_interest'] = 'loanInterest'
228
+ @_hash['payroll_date'] = 'payrollDate'
229
+ @_hash['prior_year_contrib'] = 'priorYearContrib'
230
+ @_hash['withholding'] = 'withholding'
231
+ @_hash['tax_exempt'] = 'taxExempt'
232
+ @_hash['gain'] = 'gain'
233
+ @_hash['state_withholding'] = 'stateWithholding'
234
+ @_hash['penalty'] = 'penalty'
235
+ @_hash['running_balance'] = 'runningBalance'
236
+ @_hash['unit_price'] = 'unitPrice'
237
+ @_hash['units'] = 'units'
238
+ @_hash['unit_type'] = 'unitType'
239
+ @_hash['transaction_reason'] = 'transactionReason'
240
+ @_hash['accrued_interest'] = 'accruedInterest'
241
+ @_hash['transfer_action'] = 'transferAction'
242
+ @_hash['position_type'] = 'positionType'
243
+ @_hash['digital_units'] = 'digitalUnits'
244
+ @_hash['settlement_timestamp'] = 'settlementTimestamp'
245
+ @_hash = super().merge(@_hash)
246
+ @_hash
247
+ end
248
+
249
+ # An array for optional fields
250
+ def self.optionals
251
+ _arr = %w[
252
+ transaction_type
253
+ shares
254
+ face_value
255
+ price
256
+ security_id
257
+ security_id_type
258
+ security_type
259
+ symbol
260
+ markup
261
+ commission
262
+ taxes
263
+ fees
264
+ load
265
+ inv401k_source
266
+ confirmation_number
267
+ fractional_cash
268
+ income_type
269
+ old_units
270
+ split_ratio_numerator
271
+ split_ratio_denominator
272
+ new_units
273
+ sub_account_sec
274
+ sub_account_fund
275
+ loan_id
276
+ loan_principal
277
+ loan_interest
278
+ payroll_date
279
+ prior_year_contrib
280
+ withholding
281
+ tax_exempt
282
+ gain
283
+ state_withholding
284
+ penalty
285
+ running_balance
286
+ unit_price
287
+ units
288
+ unit_type
289
+ transaction_reason
290
+ accrued_interest
291
+ transfer_action
292
+ position_type
293
+ digital_units
294
+ settlement_timestamp
295
+ ]
296
+ (_arr << super()).flatten!
297
+ end
298
+
299
+ # An array for nullable fields
300
+ def self.nullables
301
+ _arr = []
302
+ (_arr << super()).flatten!
303
+ end
304
+
305
+ def initialize(transaction_type: SKIP, shares: SKIP, face_value: SKIP,
306
+ price: SKIP, security_id: SKIP, security_id_type: SKIP,
307
+ security_type: SKIP, symbol: SKIP, markup: SKIP,
308
+ commission: SKIP, taxes: SKIP, fees: SKIP, load: SKIP,
309
+ inv401k_source: SKIP, confirmation_number: SKIP,
310
+ fractional_cash: SKIP, income_type: SKIP, old_units: SKIP,
311
+ split_ratio_numerator: SKIP, split_ratio_denominator: SKIP,
312
+ new_units: SKIP, sub_account_sec: SKIP,
313
+ sub_account_fund: SKIP, loan_id: SKIP, loan_principal: SKIP,
314
+ loan_interest: SKIP, payroll_date: SKIP,
315
+ prior_year_contrib: SKIP, withholding: SKIP,
316
+ tax_exempt: SKIP, gain: SKIP, state_withholding: SKIP,
317
+ penalty: SKIP, running_balance: SKIP, unit_price: SKIP,
318
+ units: SKIP, unit_type: SKIP, transaction_reason: SKIP,
319
+ accrued_interest: SKIP, transfer_action: SKIP,
320
+ position_type: SKIP, digital_units: SKIP,
321
+ settlement_timestamp: SKIP,
322
+ account_category: 'Investment Transaction entity',
323
+ account_id: SKIP, transaction_id: SKIP,
324
+ reference_transaction_id: SKIP, posted_timestamp: SKIP,
325
+ transaction_timestamp: SKIP, description: SKIP, memo: SKIP,
326
+ debit_credit_memo: SKIP, category: SKIP, sub_category: SKIP,
327
+ reference: SKIP, status: SKIP, amount: SKIP,
328
+ foreign_amount: SKIP, foreign_currency: SKIP,
329
+ image_ids: SKIP, line_item: SKIP, reward: SKIP,
330
+ fi_attributes: SKIP, links: SKIP, additional_properties: nil)
331
+ @transaction_type = transaction_type unless transaction_type == SKIP
332
+ @shares = shares unless shares == SKIP
333
+ @face_value = face_value unless face_value == SKIP
334
+ @price = price unless price == SKIP
335
+ @security_id = security_id unless security_id == SKIP
336
+ @security_id_type = security_id_type unless security_id_type == SKIP
337
+ @security_type = security_type unless security_type == SKIP
338
+ @symbol = symbol unless symbol == SKIP
339
+ @markup = markup unless markup == SKIP
340
+ @commission = commission unless commission == SKIP
341
+ @taxes = taxes unless taxes == SKIP
342
+ @fees = fees unless fees == SKIP
343
+ @load = load unless load == SKIP
344
+ @inv401k_source = inv401k_source unless inv401k_source == SKIP
345
+ @confirmation_number = confirmation_number unless confirmation_number == SKIP
346
+ @fractional_cash = fractional_cash unless fractional_cash == SKIP
347
+ @income_type = income_type unless income_type == SKIP
348
+ @old_units = old_units unless old_units == SKIP
349
+ @split_ratio_numerator = split_ratio_numerator unless split_ratio_numerator == SKIP
350
+ @split_ratio_denominator = split_ratio_denominator unless split_ratio_denominator == SKIP
351
+ @new_units = new_units unless new_units == SKIP
352
+ @sub_account_sec = sub_account_sec unless sub_account_sec == SKIP
353
+ @sub_account_fund = sub_account_fund unless sub_account_fund == SKIP
354
+ @loan_id = loan_id unless loan_id == SKIP
355
+ @loan_principal = loan_principal unless loan_principal == SKIP
356
+ @loan_interest = loan_interest unless loan_interest == SKIP
357
+ @payroll_date = payroll_date unless payroll_date == SKIP
358
+ @prior_year_contrib = prior_year_contrib unless prior_year_contrib == SKIP
359
+ @withholding = withholding unless withholding == SKIP
360
+ @tax_exempt = tax_exempt unless tax_exempt == SKIP
361
+ @gain = gain unless gain == SKIP
362
+ @state_withholding = state_withholding unless state_withholding == SKIP
363
+ @penalty = penalty unless penalty == SKIP
364
+ @running_balance = running_balance unless running_balance == SKIP
365
+ @unit_price = unit_price unless unit_price == SKIP
366
+ @units = units unless units == SKIP
367
+ @unit_type = unit_type unless unit_type == SKIP
368
+ @transaction_reason = transaction_reason unless transaction_reason == SKIP
369
+ @accrued_interest = accrued_interest unless accrued_interest == SKIP
370
+ @transfer_action = transfer_action unless transfer_action == SKIP
371
+ @position_type = position_type unless position_type == SKIP
372
+ @digital_units = digital_units unless digital_units == SKIP
373
+ @settlement_timestamp = settlement_timestamp unless settlement_timestamp == SKIP
374
+ @additional_properties = additional_properties
375
+
376
+ # Call the constructor of the base class
377
+ super(account_category: account_category,
378
+ account_id: account_id,
379
+ transaction_id: transaction_id,
380
+ reference_transaction_id: reference_transaction_id,
381
+ posted_timestamp: posted_timestamp,
382
+ transaction_timestamp: transaction_timestamp,
383
+ description: description,
384
+ memo: memo,
385
+ debit_credit_memo: debit_credit_memo,
386
+ category: category,
387
+ sub_category: sub_category,
388
+ reference: reference,
389
+ status: status,
390
+ amount: amount,
391
+ foreign_amount: foreign_amount,
392
+ foreign_currency: foreign_currency,
393
+ image_ids: image_ids,
394
+ line_item: line_item,
395
+ reward: reward,
396
+ fi_attributes: fi_attributes,
397
+ links: links,
398
+ additional_properties: additional_properties)
399
+ end
400
+
401
+ # Creates an instance of the object from a hash.
402
+ def self.from_hash(hash)
403
+ return nil unless hash
404
+
405
+ # Extract variables from the hash.
406
+ transaction_type =
407
+ hash.key?('transactionType') ? hash['transactionType'] : SKIP
408
+ shares = hash.key?('shares') ? hash['shares'] : SKIP
409
+ face_value = hash.key?('faceValue') ? hash['faceValue'] : SKIP
410
+ price = hash.key?('price') ? hash['price'] : SKIP
411
+ security_id = hash.key?('securityId') ? hash['securityId'] : SKIP
412
+ security_id_type =
413
+ hash.key?('securityIdType') ? hash['securityIdType'] : SKIP
414
+ security_type = hash.key?('securityType') ? hash['securityType'] : SKIP
415
+ symbol = hash.key?('symbol') ? hash['symbol'] : SKIP
416
+ markup = hash.key?('markup') ? hash['markup'] : SKIP
417
+ commission = hash.key?('commission') ? hash['commission'] : SKIP
418
+ taxes = hash.key?('taxes') ? hash['taxes'] : SKIP
419
+ fees = hash.key?('fees') ? hash['fees'] : SKIP
420
+ load = hash.key?('load') ? hash['load'] : SKIP
421
+ inv401k_source = hash.key?('inv401kSource') ? hash['inv401kSource'] : SKIP
422
+ confirmation_number =
423
+ hash.key?('confirmationNumber') ? hash['confirmationNumber'] : SKIP
424
+ fractional_cash =
425
+ hash.key?('fractionalCash') ? hash['fractionalCash'] : SKIP
426
+ income_type = hash.key?('incomeType') ? hash['incomeType'] : SKIP
427
+ old_units = hash.key?('oldUnits') ? hash['oldUnits'] : SKIP
428
+ split_ratio_numerator =
429
+ hash.key?('splitRatioNumerator') ? hash['splitRatioNumerator'] : SKIP
430
+ split_ratio_denominator =
431
+ hash.key?('splitRatioDenominator') ? hash['splitRatioDenominator'] : SKIP
432
+ new_units = hash.key?('newUnits') ? hash['newUnits'] : SKIP
433
+ sub_account_sec =
434
+ hash.key?('subAccountSec') ? hash['subAccountSec'] : SKIP
435
+ sub_account_fund =
436
+ hash.key?('subAccountFund') ? hash['subAccountFund'] : SKIP
437
+ loan_id = hash.key?('loanId') ? hash['loanId'] : SKIP
438
+ loan_principal = hash.key?('loanPrincipal') ? hash['loanPrincipal'] : SKIP
439
+ loan_interest = hash.key?('loanInterest') ? hash['loanInterest'] : SKIP
440
+ payroll_date = hash.key?('payrollDate') ? hash['payrollDate'] : SKIP
441
+ prior_year_contrib =
442
+ hash.key?('priorYearContrib') ? hash['priorYearContrib'] : SKIP
443
+ withholding = hash.key?('withholding') ? hash['withholding'] : SKIP
444
+ tax_exempt = hash.key?('taxExempt') ? hash['taxExempt'] : SKIP
445
+ gain = hash.key?('gain') ? hash['gain'] : SKIP
446
+ state_withholding =
447
+ hash.key?('stateWithholding') ? hash['stateWithholding'] : SKIP
448
+ penalty = hash.key?('penalty') ? hash['penalty'] : SKIP
449
+ running_balance =
450
+ hash.key?('runningBalance') ? hash['runningBalance'] : SKIP
451
+ unit_price = hash.key?('unitPrice') ? hash['unitPrice'] : SKIP
452
+ units = hash.key?('units') ? hash['units'] : SKIP
453
+ unit_type = hash.key?('unitType') ? hash['unitType'] : SKIP
454
+ transaction_reason =
455
+ hash.key?('transactionReason') ? hash['transactionReason'] : SKIP
456
+ accrued_interest =
457
+ hash.key?('accruedInterest') ? hash['accruedInterest'] : SKIP
458
+ transfer_action =
459
+ hash.key?('transferAction') ? hash['transferAction'] : SKIP
460
+ position_type = hash.key?('positionType') ? hash['positionType'] : SKIP
461
+ digital_units = hash.key?('digitalUnits') ? hash['digitalUnits'] : SKIP
462
+ settlement_timestamp = if hash.key?('settlementTimestamp')
463
+ (DateTimeHelper.from_rfc3339(hash['settlementTimestamp']) if hash['settlementTimestamp'])
464
+ else
465
+ SKIP
466
+ end
467
+ account_category =
468
+ hash['accountCategory'] ||= 'Investment Transaction entity'
469
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
470
+ transaction_id = hash.key?('transactionId') ? hash['transactionId'] : SKIP
471
+ reference_transaction_id =
472
+ hash.key?('referenceTransactionId') ? hash['referenceTransactionId'] : SKIP
473
+ posted_timestamp = if hash.key?('postedTimestamp')
474
+ (DateTimeHelper.from_rfc3339(hash['postedTimestamp']) if hash['postedTimestamp'])
475
+ else
476
+ SKIP
477
+ end
478
+ transaction_timestamp = if hash.key?('transactionTimestamp')
479
+ (DateTimeHelper.from_rfc3339(hash['transactionTimestamp']) if hash['transactionTimestamp'])
480
+ else
481
+ SKIP
482
+ end
483
+ description = hash.key?('description') ? hash['description'] : SKIP
484
+ memo = hash.key?('memo') ? hash['memo'] : SKIP
485
+ debit_credit_memo =
486
+ hash.key?('debitCreditMemo') ? hash['debitCreditMemo'] : SKIP
487
+ category = hash.key?('category') ? hash['category'] : SKIP
488
+ sub_category = hash.key?('subCategory') ? hash['subCategory'] : SKIP
489
+ reference = hash.key?('reference') ? hash['reference'] : SKIP
490
+ status = hash.key?('status') ? hash['status'] : SKIP
491
+ amount = hash.key?('amount') ? hash['amount'] : SKIP
492
+ foreign_amount = hash.key?('foreignAmount') ? hash['foreignAmount'] : SKIP
493
+ foreign_currency =
494
+ hash.key?('foreignCurrency') ? hash['foreignCurrency'] : SKIP
495
+ image_ids = hash.key?('imageIds') ? hash['imageIds'] : SKIP
496
+ # Parameter is an array, so we need to iterate through it
497
+ line_item = nil
498
+ unless hash['lineItem'].nil?
499
+ line_item = []
500
+ hash['lineItem'].each do |structure|
501
+ line_item << (LineItemEntity.from_hash(structure) if structure)
502
+ end
503
+ end
504
+
505
+ line_item = SKIP unless hash.key?('lineItem')
506
+ reward = TransactionRewardEntity2.from_hash(hash['reward']) if hash['reward']
507
+ # Parameter is an array, so we need to iterate through it
508
+ fi_attributes = nil
509
+ unless hash['fiAttributes'].nil?
510
+ fi_attributes = []
511
+ hash['fiAttributes'].each do |structure|
512
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
513
+ end
514
+ end
515
+
516
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
517
+ # Parameter is an array, so we need to iterate through it
518
+ links = nil
519
+ unless hash['links'].nil?
520
+ links = []
521
+ hash['links'].each do |structure|
522
+ links << (HateoasLink.from_hash(structure) if structure)
523
+ end
524
+ end
525
+
526
+ links = SKIP unless hash.key?('links')
527
+
528
+ # Create a new hash for additional properties, removing known properties.
529
+ new_hash = hash.reject { |k, _| names.value?(k) }
530
+
531
+ additional_properties = APIHelper.get_additional_properties(
532
+ new_hash, proc { |value| value }
533
+ )
534
+
535
+ # Create object from extracted values.
536
+ InvestmentTransactionEntity.new(transaction_type: transaction_type,
537
+ shares: shares,
538
+ face_value: face_value,
539
+ price: price,
540
+ security_id: security_id,
541
+ security_id_type: security_id_type,
542
+ security_type: security_type,
543
+ symbol: symbol,
544
+ markup: markup,
545
+ commission: commission,
546
+ taxes: taxes,
547
+ fees: fees,
548
+ load: load,
549
+ inv401k_source: inv401k_source,
550
+ confirmation_number: confirmation_number,
551
+ fractional_cash: fractional_cash,
552
+ income_type: income_type,
553
+ old_units: old_units,
554
+ split_ratio_numerator: split_ratio_numerator,
555
+ split_ratio_denominator: split_ratio_denominator,
556
+ new_units: new_units,
557
+ sub_account_sec: sub_account_sec,
558
+ sub_account_fund: sub_account_fund,
559
+ loan_id: loan_id,
560
+ loan_principal: loan_principal,
561
+ loan_interest: loan_interest,
562
+ payroll_date: payroll_date,
563
+ prior_year_contrib: prior_year_contrib,
564
+ withholding: withholding,
565
+ tax_exempt: tax_exempt,
566
+ gain: gain,
567
+ state_withholding: state_withholding,
568
+ penalty: penalty,
569
+ running_balance: running_balance,
570
+ unit_price: unit_price,
571
+ units: units,
572
+ unit_type: unit_type,
573
+ transaction_reason: transaction_reason,
574
+ accrued_interest: accrued_interest,
575
+ transfer_action: transfer_action,
576
+ position_type: position_type,
577
+ digital_units: digital_units,
578
+ settlement_timestamp: settlement_timestamp,
579
+ account_category: account_category,
580
+ account_id: account_id,
581
+ transaction_id: transaction_id,
582
+ reference_transaction_id: reference_transaction_id,
583
+ posted_timestamp: posted_timestamp,
584
+ transaction_timestamp: transaction_timestamp,
585
+ description: description,
586
+ memo: memo,
587
+ debit_credit_memo: debit_credit_memo,
588
+ category: category,
589
+ sub_category: sub_category,
590
+ reference: reference,
591
+ status: status,
592
+ amount: amount,
593
+ foreign_amount: foreign_amount,
594
+ foreign_currency: foreign_currency,
595
+ image_ids: image_ids,
596
+ line_item: line_item,
597
+ reward: reward,
598
+ fi_attributes: fi_attributes,
599
+ links: links,
600
+ additional_properties: additional_properties)
601
+ end
602
+
603
+ def to_custom_settlement_timestamp
604
+ DateTimeHelper.to_rfc3339(settlement_timestamp)
605
+ end
606
+
607
+ # Validates an instance of the object from a given value.
608
+ # @param [InvestmentTransactionEntity | Hash] The value against the validation is performed.
609
+ def self.validate(value)
610
+ return true if value.instance_of? self
611
+
612
+ return false unless value.instance_of? Hash
613
+
614
+ true
615
+ end
616
+
617
+ # Provides a human-readable string representation of the object.
618
+ def to_s
619
+ class_name = self.class.name.split('::').last
620
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
621
+ "<#{class_name} #{super_string}, transaction_type: #{@transaction_type}, shares:"\
622
+ " #{@shares}, face_value: #{@face_value}, price: #{@price}, security_id: #{@security_id},"\
623
+ " security_id_type: #{@security_id_type}, security_type: #{@security_type}, symbol:"\
624
+ " #{@symbol}, markup: #{@markup}, commission: #{@commission}, taxes: #{@taxes}, fees:"\
625
+ " #{@fees}, load: #{@load}, inv401k_source: #{@inv401k_source}, confirmation_number:"\
626
+ " #{@confirmation_number}, fractional_cash: #{@fractional_cash}, income_type:"\
627
+ " #{@income_type}, old_units: #{@old_units}, split_ratio_numerator:"\
628
+ " #{@split_ratio_numerator}, split_ratio_denominator: #{@split_ratio_denominator},"\
629
+ " new_units: #{@new_units}, sub_account_sec: #{@sub_account_sec}, sub_account_fund:"\
630
+ " #{@sub_account_fund}, loan_id: #{@loan_id}, loan_principal: #{@loan_principal},"\
631
+ " loan_interest: #{@loan_interest}, payroll_date: #{@payroll_date}, prior_year_contrib:"\
632
+ " #{@prior_year_contrib}, withholding: #{@withholding}, tax_exempt: #{@tax_exempt}, gain:"\
633
+ " #{@gain}, state_withholding: #{@state_withholding}, penalty: #{@penalty}, running_balance:"\
634
+ " #{@running_balance}, unit_price: #{@unit_price}, units: #{@units}, unit_type:"\
635
+ " #{@unit_type}, transaction_reason: #{@transaction_reason}, accrued_interest:"\
636
+ " #{@accrued_interest}, transfer_action: #{@transfer_action}, position_type:"\
637
+ " #{@position_type}, digital_units: #{@digital_units}, settlement_timestamp:"\
638
+ " #{@settlement_timestamp}>"
639
+ end
640
+
641
+ # Provides a debugging-friendly string with detailed object information.
642
+ def inspect
643
+ class_name = self.class.name.split('::').last
644
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
645
+ "<#{class_name} #{super_string}, transaction_type: #{@transaction_type.inspect}, shares:"\
646
+ " #{@shares.inspect}, face_value: #{@face_value.inspect}, price: #{@price.inspect},"\
647
+ " security_id: #{@security_id.inspect}, security_id_type: #{@security_id_type.inspect},"\
648
+ " security_type: #{@security_type.inspect}, symbol: #{@symbol.inspect}, markup:"\
649
+ " #{@markup.inspect}, commission: #{@commission.inspect}, taxes: #{@taxes.inspect}, fees:"\
650
+ " #{@fees.inspect}, load: #{@load.inspect}, inv401k_source: #{@inv401k_source.inspect},"\
651
+ " confirmation_number: #{@confirmation_number.inspect}, fractional_cash:"\
652
+ " #{@fractional_cash.inspect}, income_type: #{@income_type.inspect}, old_units:"\
653
+ " #{@old_units.inspect}, split_ratio_numerator: #{@split_ratio_numerator.inspect},"\
654
+ " split_ratio_denominator: #{@split_ratio_denominator.inspect}, new_units:"\
655
+ " #{@new_units.inspect}, sub_account_sec: #{@sub_account_sec.inspect}, sub_account_fund:"\
656
+ " #{@sub_account_fund.inspect}, loan_id: #{@loan_id.inspect}, loan_principal:"\
657
+ " #{@loan_principal.inspect}, loan_interest: #{@loan_interest.inspect}, payroll_date:"\
658
+ " #{@payroll_date.inspect}, prior_year_contrib: #{@prior_year_contrib.inspect}, withholding:"\
659
+ " #{@withholding.inspect}, tax_exempt: #{@tax_exempt.inspect}, gain: #{@gain.inspect},"\
660
+ " state_withholding: #{@state_withholding.inspect}, penalty: #{@penalty.inspect},"\
661
+ " running_balance: #{@running_balance.inspect}, unit_price: #{@unit_price.inspect}, units:"\
662
+ " #{@units.inspect}, unit_type: #{@unit_type.inspect}, transaction_reason:"\
663
+ " #{@transaction_reason.inspect}, accrued_interest: #{@accrued_interest.inspect},"\
664
+ " transfer_action: #{@transfer_action.inspect}, position_type: #{@position_type.inspect},"\
665
+ " digital_units: #{@digital_units.inspect}, settlement_timestamp:"\
666
+ " #{@settlement_timestamp.inspect}>"
667
+ end
668
+ end
669
+ end