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,311 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # ABLE Account Contribution Information, from ISSUER (1st-2nd boxes) to
8
+ # BENEFICIARY (3rd-4th boxes as recipient)
9
+ class Form5498Qa < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Year for which taxes are being paid
14
+ # @return [Integer]
15
+ attr_accessor :tax_year
16
+
17
+ # True to indicate this is a corrected tax form
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :corrected
20
+
21
+ # Long-term persistent identity of the source account. Not the account
22
+ # number
23
+ # @return [String]
24
+ attr_accessor :account_id
25
+
26
+ # Long-term persistent id for this tax form. Depending upon the data
27
+ # provider, this may be the same id as the enclosing tax statement id, or
28
+ # this may be a different id, or this id may be omitted.
29
+ # @return [String]
30
+ attr_accessor :tax_form_id
31
+
32
+ # Date of production or delivery of the tax form
33
+ # @return [Date]
34
+ attr_accessor :tax_form_date
35
+
36
+ # Additional explanation text or content about this tax form
37
+ # @return [String]
38
+ attr_accessor :additional_information
39
+
40
+ # Enumerated name of the tax form entity e.g. "TaxW2"
41
+ # @return [TypeFormType1]
42
+ attr_accessor :tax_form_type
43
+
44
+ # Issuer's name, address, phone, and TIN. Issuer data need only be
45
+ # transmitted on enclosing TaxStatement, if it is the same on all its
46
+ # included tax forms.
47
+ # @return [TaxParty8]
48
+ attr_accessor :issuer
49
+
50
+ # Recipient's name, address, phone, and TIN. Recipient data need only be
51
+ # transmitted on enclosing TaxStatement, if it is the same on all its
52
+ # included tax forms.
53
+ # @return [TaxParty1]
54
+ attr_accessor :recipient
55
+
56
+ # Additional attributes for this tax form when defined fields are not
57
+ # available. Some specific additional attributes already defined by
58
+ # providers: Fields required by [IRS
59
+ # FIRE](https://www.irs.gov/e-file-providers/filing-information-returns-elec
60
+ # tronically-fire): Name Control, Type of Identification Number (EIN, SSN,
61
+ # ITIN, ATIN). (ATIN is tax ID number for pending adoptions.) Tax form
62
+ # provider field for taxpayer notification: Recipient Email Address.
63
+ # @return [Array[TaxFormAttribute]]
64
+ attr_accessor :attributes
65
+
66
+ # Present if an error was encountered while retrieving this form
67
+ # @return [Error1]
68
+ attr_accessor :error
69
+
70
+ # Links to retrieve this form as data or image, or to invoke other APIs
71
+ # @return [Array[HateoasLink]]
72
+ attr_accessor :links
73
+
74
+ # Account number
75
+ # @return [String]
76
+ attr_accessor :account_number
77
+
78
+ # Box 1, ABLE contributions
79
+ # @return [Float]
80
+ attr_accessor :able_contributions
81
+
82
+ # Box 2, ABLE to ABLE Rollovers
83
+ # @return [Float]
84
+ attr_accessor :rollovers
85
+
86
+ # Box 3, Cumulative contributions
87
+ # @return [Float]
88
+ attr_accessor :cumulative_contributions
89
+
90
+ # Box 4, Fair market value
91
+ # @return [Float]
92
+ attr_accessor :fair_market_value
93
+
94
+ # Box 5, Check if account opened in current tax year
95
+ # @return [TrueClass | FalseClass]
96
+ attr_accessor :opened_in_tax_year
97
+
98
+ # Box 6, Basis of eligibility
99
+ # @return [String]
100
+ attr_accessor :basis_of_disability_code
101
+
102
+ # Box 7, Code
103
+ # @return [String]
104
+ attr_accessor :type_of_disability_code
105
+
106
+ # A mapping from model property names to API property names.
107
+ def self.names
108
+ @_hash = {} if @_hash.nil?
109
+ @_hash['tax_year'] = 'taxYear'
110
+ @_hash['corrected'] = 'corrected'
111
+ @_hash['account_id'] = 'accountId'
112
+ @_hash['tax_form_id'] = 'taxFormId'
113
+ @_hash['tax_form_date'] = 'taxFormDate'
114
+ @_hash['additional_information'] = 'additionalInformation'
115
+ @_hash['tax_form_type'] = 'taxFormType'
116
+ @_hash['issuer'] = 'issuer'
117
+ @_hash['recipient'] = 'recipient'
118
+ @_hash['attributes'] = 'attributes'
119
+ @_hash['error'] = 'error'
120
+ @_hash['links'] = 'links'
121
+ @_hash['account_number'] = 'accountNumber'
122
+ @_hash['able_contributions'] = 'ableContributions'
123
+ @_hash['rollovers'] = 'rollovers'
124
+ @_hash['cumulative_contributions'] = 'cumulativeContributions'
125
+ @_hash['fair_market_value'] = 'fairMarketValue'
126
+ @_hash['opened_in_tax_year'] = 'openedInTaxYear'
127
+ @_hash['basis_of_disability_code'] = 'basisOfDisabilityCode'
128
+ @_hash['type_of_disability_code'] = 'typeOfDisabilityCode'
129
+ @_hash
130
+ end
131
+
132
+ # An array for optional fields
133
+ def self.optionals
134
+ %w[
135
+ tax_year
136
+ corrected
137
+ account_id
138
+ tax_form_id
139
+ tax_form_date
140
+ additional_information
141
+ tax_form_type
142
+ issuer
143
+ recipient
144
+ attributes
145
+ error
146
+ links
147
+ account_number
148
+ able_contributions
149
+ rollovers
150
+ cumulative_contributions
151
+ fair_market_value
152
+ opened_in_tax_year
153
+ basis_of_disability_code
154
+ type_of_disability_code
155
+ ]
156
+ end
157
+
158
+ # An array for nullable fields
159
+ def self.nullables
160
+ []
161
+ end
162
+
163
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
164
+ tax_form_id: SKIP, tax_form_date: SKIP,
165
+ additional_information: SKIP, tax_form_type: SKIP,
166
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
167
+ links: SKIP, account_number: SKIP, able_contributions: SKIP,
168
+ rollovers: SKIP, cumulative_contributions: SKIP,
169
+ fair_market_value: SKIP, opened_in_tax_year: SKIP,
170
+ basis_of_disability_code: SKIP,
171
+ type_of_disability_code: SKIP, additional_properties: nil)
172
+ # Add additional model properties to the instance
173
+ additional_properties = {} if additional_properties.nil?
174
+
175
+ @tax_year = tax_year unless tax_year == SKIP
176
+ @corrected = corrected unless corrected == SKIP
177
+ @account_id = account_id unless account_id == SKIP
178
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
179
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
180
+ @additional_information = additional_information unless additional_information == SKIP
181
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
182
+ @issuer = issuer unless issuer == SKIP
183
+ @recipient = recipient unless recipient == SKIP
184
+ @attributes = attributes unless attributes == SKIP
185
+ @error = error unless error == SKIP
186
+ @links = links unless links == SKIP
187
+ @account_number = account_number unless account_number == SKIP
188
+ @able_contributions = able_contributions unless able_contributions == SKIP
189
+ @rollovers = rollovers unless rollovers == SKIP
190
+ @cumulative_contributions = cumulative_contributions unless cumulative_contributions == SKIP
191
+ @fair_market_value = fair_market_value unless fair_market_value == SKIP
192
+ @opened_in_tax_year = opened_in_tax_year unless opened_in_tax_year == SKIP
193
+ @basis_of_disability_code = basis_of_disability_code unless basis_of_disability_code == SKIP
194
+ @type_of_disability_code = type_of_disability_code unless type_of_disability_code == SKIP
195
+ @additional_properties = additional_properties
196
+ end
197
+
198
+ # Creates an instance of the object from a hash.
199
+ def self.from_hash(hash)
200
+ return nil unless hash
201
+
202
+ # Extract variables from the hash.
203
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
204
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
205
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
206
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
207
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
208
+ additional_information =
209
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
210
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
211
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
212
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
213
+ # Parameter is an array, so we need to iterate through it
214
+ attributes = nil
215
+ unless hash['attributes'].nil?
216
+ attributes = []
217
+ hash['attributes'].each do |structure|
218
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
219
+ end
220
+ end
221
+
222
+ attributes = SKIP unless hash.key?('attributes')
223
+ error = Error1.from_hash(hash['error']) if hash['error']
224
+ # Parameter is an array, so we need to iterate through it
225
+ links = nil
226
+ unless hash['links'].nil?
227
+ links = []
228
+ hash['links'].each do |structure|
229
+ links << (HateoasLink.from_hash(structure) if structure)
230
+ end
231
+ end
232
+
233
+ links = SKIP unless hash.key?('links')
234
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
235
+ able_contributions =
236
+ hash.key?('ableContributions') ? hash['ableContributions'] : SKIP
237
+ rollovers = hash.key?('rollovers') ? hash['rollovers'] : SKIP
238
+ cumulative_contributions =
239
+ hash.key?('cumulativeContributions') ? hash['cumulativeContributions'] : SKIP
240
+ fair_market_value =
241
+ hash.key?('fairMarketValue') ? hash['fairMarketValue'] : SKIP
242
+ opened_in_tax_year =
243
+ hash.key?('openedInTaxYear') ? hash['openedInTaxYear'] : SKIP
244
+ basis_of_disability_code =
245
+ hash.key?('basisOfDisabilityCode') ? hash['basisOfDisabilityCode'] : SKIP
246
+ type_of_disability_code =
247
+ hash.key?('typeOfDisabilityCode') ? hash['typeOfDisabilityCode'] : SKIP
248
+
249
+ # Create a new hash for additional properties, removing known properties.
250
+ new_hash = hash.reject { |k, _| names.value?(k) }
251
+
252
+ additional_properties = APIHelper.get_additional_properties(
253
+ new_hash, proc { |value| value }
254
+ )
255
+
256
+ # Create object from extracted values.
257
+ Form5498Qa.new(tax_year: tax_year,
258
+ corrected: corrected,
259
+ account_id: account_id,
260
+ tax_form_id: tax_form_id,
261
+ tax_form_date: tax_form_date,
262
+ additional_information: additional_information,
263
+ tax_form_type: tax_form_type,
264
+ issuer: issuer,
265
+ recipient: recipient,
266
+ attributes: attributes,
267
+ error: error,
268
+ links: links,
269
+ account_number: account_number,
270
+ able_contributions: able_contributions,
271
+ rollovers: rollovers,
272
+ cumulative_contributions: cumulative_contributions,
273
+ fair_market_value: fair_market_value,
274
+ opened_in_tax_year: opened_in_tax_year,
275
+ basis_of_disability_code: basis_of_disability_code,
276
+ type_of_disability_code: type_of_disability_code,
277
+ additional_properties: additional_properties)
278
+ end
279
+
280
+ # Provides a human-readable string representation of the object.
281
+ def to_s
282
+ class_name = self.class.name.split('::').last
283
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
284
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
285
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
286
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
287
+ " #{@error}, links: #{@links}, account_number: #{@account_number}, able_contributions:"\
288
+ " #{@able_contributions}, rollovers: #{@rollovers}, cumulative_contributions:"\
289
+ " #{@cumulative_contributions}, fair_market_value: #{@fair_market_value},"\
290
+ " opened_in_tax_year: #{@opened_in_tax_year}, basis_of_disability_code:"\
291
+ " #{@basis_of_disability_code}, type_of_disability_code: #{@type_of_disability_code},"\
292
+ " additional_properties: #{@additional_properties}>"
293
+ end
294
+
295
+ # Provides a debugging-friendly string with detailed object information.
296
+ def inspect
297
+ class_name = self.class.name.split('::').last
298
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
299
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
300
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
301
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
302
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
303
+ " links: #{@links.inspect}, account_number: #{@account_number.inspect}, able_contributions:"\
304
+ " #{@able_contributions.inspect}, rollovers: #{@rollovers.inspect},"\
305
+ " cumulative_contributions: #{@cumulative_contributions.inspect}, fair_market_value:"\
306
+ " #{@fair_market_value.inspect}, opened_in_tax_year: #{@opened_in_tax_year.inspect},"\
307
+ " basis_of_disability_code: #{@basis_of_disability_code.inspect}, type_of_disability_code:"\
308
+ " #{@type_of_disability_code.inspect}, additional_properties: #{@additional_properties}>"
309
+ end
310
+ end
311
+ end
@@ -0,0 +1,310 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # ABLE Account Contribution Information
8
+ class Form5498Qa1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Year for which taxes are being paid
13
+ # @return [Integer]
14
+ attr_accessor :tax_year
15
+
16
+ # True to indicate this is a corrected tax form
17
+ # @return [TrueClass | FalseClass]
18
+ attr_accessor :corrected
19
+
20
+ # Long-term persistent identity of the source account. Not the account
21
+ # number
22
+ # @return [String]
23
+ attr_accessor :account_id
24
+
25
+ # Long-term persistent id for this tax form. Depending upon the data
26
+ # provider, this may be the same id as the enclosing tax statement id, or
27
+ # this may be a different id, or this id may be omitted.
28
+ # @return [String]
29
+ attr_accessor :tax_form_id
30
+
31
+ # Date of production or delivery of the tax form
32
+ # @return [Date]
33
+ attr_accessor :tax_form_date
34
+
35
+ # Additional explanation text or content about this tax form
36
+ # @return [String]
37
+ attr_accessor :additional_information
38
+
39
+ # Enumerated name of the tax form entity e.g. "TaxW2"
40
+ # @return [TypeFormType1]
41
+ attr_accessor :tax_form_type
42
+
43
+ # Issuer's name, address, phone, and TIN. Issuer data need only be
44
+ # transmitted on enclosing TaxStatement, if it is the same on all its
45
+ # included tax forms.
46
+ # @return [TaxParty8]
47
+ attr_accessor :issuer
48
+
49
+ # Recipient's name, address, phone, and TIN. Recipient data need only be
50
+ # transmitted on enclosing TaxStatement, if it is the same on all its
51
+ # included tax forms.
52
+ # @return [TaxParty1]
53
+ attr_accessor :recipient
54
+
55
+ # Additional attributes for this tax form when defined fields are not
56
+ # available. Some specific additional attributes already defined by
57
+ # providers: Fields required by [IRS
58
+ # FIRE](https://www.irs.gov/e-file-providers/filing-information-returns-elec
59
+ # tronically-fire): Name Control, Type of Identification Number (EIN, SSN,
60
+ # ITIN, ATIN). (ATIN is tax ID number for pending adoptions.) Tax form
61
+ # provider field for taxpayer notification: Recipient Email Address.
62
+ # @return [Array[TaxFormAttribute]]
63
+ attr_accessor :attributes
64
+
65
+ # Present if an error was encountered while retrieving this form
66
+ # @return [Error1]
67
+ attr_accessor :error
68
+
69
+ # Links to retrieve this form as data or image, or to invoke other APIs
70
+ # @return [Array[HateoasLink]]
71
+ attr_accessor :links
72
+
73
+ # Account number
74
+ # @return [String]
75
+ attr_accessor :account_number
76
+
77
+ # Box 1, ABLE contributions
78
+ # @return [Float]
79
+ attr_accessor :able_contributions
80
+
81
+ # Box 2, ABLE to ABLE Rollovers
82
+ # @return [Float]
83
+ attr_accessor :rollovers
84
+
85
+ # Box 3, Cumulative contributions
86
+ # @return [Float]
87
+ attr_accessor :cumulative_contributions
88
+
89
+ # Box 4, Fair market value
90
+ # @return [Float]
91
+ attr_accessor :fair_market_value
92
+
93
+ # Box 5, Check if account opened in current tax year
94
+ # @return [TrueClass | FalseClass]
95
+ attr_accessor :opened_in_tax_year
96
+
97
+ # Box 6, Basis of eligibility
98
+ # @return [String]
99
+ attr_accessor :basis_of_disability_code
100
+
101
+ # Box 7, Code
102
+ # @return [String]
103
+ attr_accessor :type_of_disability_code
104
+
105
+ # A mapping from model property names to API property names.
106
+ def self.names
107
+ @_hash = {} if @_hash.nil?
108
+ @_hash['tax_year'] = 'taxYear'
109
+ @_hash['corrected'] = 'corrected'
110
+ @_hash['account_id'] = 'accountId'
111
+ @_hash['tax_form_id'] = 'taxFormId'
112
+ @_hash['tax_form_date'] = 'taxFormDate'
113
+ @_hash['additional_information'] = 'additionalInformation'
114
+ @_hash['tax_form_type'] = 'taxFormType'
115
+ @_hash['issuer'] = 'issuer'
116
+ @_hash['recipient'] = 'recipient'
117
+ @_hash['attributes'] = 'attributes'
118
+ @_hash['error'] = 'error'
119
+ @_hash['links'] = 'links'
120
+ @_hash['account_number'] = 'accountNumber'
121
+ @_hash['able_contributions'] = 'ableContributions'
122
+ @_hash['rollovers'] = 'rollovers'
123
+ @_hash['cumulative_contributions'] = 'cumulativeContributions'
124
+ @_hash['fair_market_value'] = 'fairMarketValue'
125
+ @_hash['opened_in_tax_year'] = 'openedInTaxYear'
126
+ @_hash['basis_of_disability_code'] = 'basisOfDisabilityCode'
127
+ @_hash['type_of_disability_code'] = 'typeOfDisabilityCode'
128
+ @_hash
129
+ end
130
+
131
+ # An array for optional fields
132
+ def self.optionals
133
+ %w[
134
+ tax_year
135
+ corrected
136
+ account_id
137
+ tax_form_id
138
+ tax_form_date
139
+ additional_information
140
+ tax_form_type
141
+ issuer
142
+ recipient
143
+ attributes
144
+ error
145
+ links
146
+ account_number
147
+ able_contributions
148
+ rollovers
149
+ cumulative_contributions
150
+ fair_market_value
151
+ opened_in_tax_year
152
+ basis_of_disability_code
153
+ type_of_disability_code
154
+ ]
155
+ end
156
+
157
+ # An array for nullable fields
158
+ def self.nullables
159
+ []
160
+ end
161
+
162
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
163
+ tax_form_id: SKIP, tax_form_date: SKIP,
164
+ additional_information: SKIP, tax_form_type: SKIP,
165
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
166
+ links: SKIP, account_number: SKIP, able_contributions: SKIP,
167
+ rollovers: SKIP, cumulative_contributions: SKIP,
168
+ fair_market_value: SKIP, opened_in_tax_year: SKIP,
169
+ basis_of_disability_code: SKIP,
170
+ type_of_disability_code: SKIP, additional_properties: nil)
171
+ # Add additional model properties to the instance
172
+ additional_properties = {} if additional_properties.nil?
173
+
174
+ @tax_year = tax_year unless tax_year == SKIP
175
+ @corrected = corrected unless corrected == SKIP
176
+ @account_id = account_id unless account_id == SKIP
177
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
178
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
179
+ @additional_information = additional_information unless additional_information == SKIP
180
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
181
+ @issuer = issuer unless issuer == SKIP
182
+ @recipient = recipient unless recipient == SKIP
183
+ @attributes = attributes unless attributes == SKIP
184
+ @error = error unless error == SKIP
185
+ @links = links unless links == SKIP
186
+ @account_number = account_number unless account_number == SKIP
187
+ @able_contributions = able_contributions unless able_contributions == SKIP
188
+ @rollovers = rollovers unless rollovers == SKIP
189
+ @cumulative_contributions = cumulative_contributions unless cumulative_contributions == SKIP
190
+ @fair_market_value = fair_market_value unless fair_market_value == SKIP
191
+ @opened_in_tax_year = opened_in_tax_year unless opened_in_tax_year == SKIP
192
+ @basis_of_disability_code = basis_of_disability_code unless basis_of_disability_code == SKIP
193
+ @type_of_disability_code = type_of_disability_code unless type_of_disability_code == SKIP
194
+ @additional_properties = additional_properties
195
+ end
196
+
197
+ # Creates an instance of the object from a hash.
198
+ def self.from_hash(hash)
199
+ return nil unless hash
200
+
201
+ # Extract variables from the hash.
202
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
203
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
204
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
205
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
206
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
207
+ additional_information =
208
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
209
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
210
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
211
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
212
+ # Parameter is an array, so we need to iterate through it
213
+ attributes = nil
214
+ unless hash['attributes'].nil?
215
+ attributes = []
216
+ hash['attributes'].each do |structure|
217
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
218
+ end
219
+ end
220
+
221
+ attributes = SKIP unless hash.key?('attributes')
222
+ error = Error1.from_hash(hash['error']) if hash['error']
223
+ # Parameter is an array, so we need to iterate through it
224
+ links = nil
225
+ unless hash['links'].nil?
226
+ links = []
227
+ hash['links'].each do |structure|
228
+ links << (HateoasLink.from_hash(structure) if structure)
229
+ end
230
+ end
231
+
232
+ links = SKIP unless hash.key?('links')
233
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
234
+ able_contributions =
235
+ hash.key?('ableContributions') ? hash['ableContributions'] : SKIP
236
+ rollovers = hash.key?('rollovers') ? hash['rollovers'] : SKIP
237
+ cumulative_contributions =
238
+ hash.key?('cumulativeContributions') ? hash['cumulativeContributions'] : SKIP
239
+ fair_market_value =
240
+ hash.key?('fairMarketValue') ? hash['fairMarketValue'] : SKIP
241
+ opened_in_tax_year =
242
+ hash.key?('openedInTaxYear') ? hash['openedInTaxYear'] : SKIP
243
+ basis_of_disability_code =
244
+ hash.key?('basisOfDisabilityCode') ? hash['basisOfDisabilityCode'] : SKIP
245
+ type_of_disability_code =
246
+ hash.key?('typeOfDisabilityCode') ? hash['typeOfDisabilityCode'] : SKIP
247
+
248
+ # Create a new hash for additional properties, removing known properties.
249
+ new_hash = hash.reject { |k, _| names.value?(k) }
250
+
251
+ additional_properties = APIHelper.get_additional_properties(
252
+ new_hash, proc { |value| value }
253
+ )
254
+
255
+ # Create object from extracted values.
256
+ Form5498Qa1.new(tax_year: tax_year,
257
+ corrected: corrected,
258
+ account_id: account_id,
259
+ tax_form_id: tax_form_id,
260
+ tax_form_date: tax_form_date,
261
+ additional_information: additional_information,
262
+ tax_form_type: tax_form_type,
263
+ issuer: issuer,
264
+ recipient: recipient,
265
+ attributes: attributes,
266
+ error: error,
267
+ links: links,
268
+ account_number: account_number,
269
+ able_contributions: able_contributions,
270
+ rollovers: rollovers,
271
+ cumulative_contributions: cumulative_contributions,
272
+ fair_market_value: fair_market_value,
273
+ opened_in_tax_year: opened_in_tax_year,
274
+ basis_of_disability_code: basis_of_disability_code,
275
+ type_of_disability_code: type_of_disability_code,
276
+ additional_properties: additional_properties)
277
+ end
278
+
279
+ # Provides a human-readable string representation of the object.
280
+ def to_s
281
+ class_name = self.class.name.split('::').last
282
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
283
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
284
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
285
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
286
+ " #{@error}, links: #{@links}, account_number: #{@account_number}, able_contributions:"\
287
+ " #{@able_contributions}, rollovers: #{@rollovers}, cumulative_contributions:"\
288
+ " #{@cumulative_contributions}, fair_market_value: #{@fair_market_value},"\
289
+ " opened_in_tax_year: #{@opened_in_tax_year}, basis_of_disability_code:"\
290
+ " #{@basis_of_disability_code}, type_of_disability_code: #{@type_of_disability_code},"\
291
+ " additional_properties: #{@additional_properties}>"
292
+ end
293
+
294
+ # Provides a debugging-friendly string with detailed object information.
295
+ def inspect
296
+ class_name = self.class.name.split('::').last
297
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
298
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
299
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
300
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
301
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
302
+ " links: #{@links.inspect}, account_number: #{@account_number.inspect}, able_contributions:"\
303
+ " #{@able_contributions.inspect}, rollovers: #{@rollovers.inspect},"\
304
+ " cumulative_contributions: #{@cumulative_contributions.inspect}, fair_market_value:"\
305
+ " #{@fair_market_value.inspect}, opened_in_tax_year: #{@opened_in_tax_year.inspect},"\
306
+ " basis_of_disability_code: #{@basis_of_disability_code.inspect}, type_of_disability_code:"\
307
+ " #{@type_of_disability_code.inspect}, additional_properties: #{@additional_properties}>"
308
+ end
309
+ end
310
+ end