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,298 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Exercise of an Incentive Stock Option Under Section 422(b), from TRANSFEROR
8
+ # (1st-2nd boxes as issuer) to EMPLOYEE (3rd-4th boxes as recipient)
9
+ class Form3921 < 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, Date option granted
79
+ # @return [Date]
80
+ attr_accessor :option_grant_date
81
+
82
+ # Box 2, Date option exercised
83
+ # @return [Date]
84
+ attr_accessor :option_exercise_date
85
+
86
+ # Box 3, Exercise price per share
87
+ # @return [Float]
88
+ attr_accessor :exercise_price
89
+
90
+ # Box 4, Fair market value per share on exercise date
91
+ # @return [Float]
92
+ attr_accessor :exercise_market_value
93
+
94
+ # Box 5, Number of shares transferred
95
+ # @return [Float]
96
+ attr_accessor :number_of_shares
97
+
98
+ # Box 6, If other than TRANSFEROR, name, address and tin of corporation
99
+ # whose stock is being transferred
100
+ # @return [TaxParty4]
101
+ attr_accessor :corporation
102
+
103
+ # A mapping from model property names to API property names.
104
+ def self.names
105
+ @_hash = {} if @_hash.nil?
106
+ @_hash['tax_year'] = 'taxYear'
107
+ @_hash['corrected'] = 'corrected'
108
+ @_hash['account_id'] = 'accountId'
109
+ @_hash['tax_form_id'] = 'taxFormId'
110
+ @_hash['tax_form_date'] = 'taxFormDate'
111
+ @_hash['additional_information'] = 'additionalInformation'
112
+ @_hash['tax_form_type'] = 'taxFormType'
113
+ @_hash['issuer'] = 'issuer'
114
+ @_hash['recipient'] = 'recipient'
115
+ @_hash['attributes'] = 'attributes'
116
+ @_hash['error'] = 'error'
117
+ @_hash['links'] = 'links'
118
+ @_hash['account_number'] = 'accountNumber'
119
+ @_hash['option_grant_date'] = 'optionGrantDate'
120
+ @_hash['option_exercise_date'] = 'optionExerciseDate'
121
+ @_hash['exercise_price'] = 'exercisePrice'
122
+ @_hash['exercise_market_value'] = 'exerciseMarketValue'
123
+ @_hash['number_of_shares'] = 'numberOfShares'
124
+ @_hash['corporation'] = 'corporation'
125
+ @_hash
126
+ end
127
+
128
+ # An array for optional fields
129
+ def self.optionals
130
+ %w[
131
+ tax_year
132
+ corrected
133
+ account_id
134
+ tax_form_id
135
+ tax_form_date
136
+ additional_information
137
+ tax_form_type
138
+ issuer
139
+ recipient
140
+ attributes
141
+ error
142
+ links
143
+ account_number
144
+ option_grant_date
145
+ option_exercise_date
146
+ exercise_price
147
+ exercise_market_value
148
+ number_of_shares
149
+ corporation
150
+ ]
151
+ end
152
+
153
+ # An array for nullable fields
154
+ def self.nullables
155
+ []
156
+ end
157
+
158
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
159
+ tax_form_id: SKIP, tax_form_date: SKIP,
160
+ additional_information: SKIP, tax_form_type: SKIP,
161
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
162
+ links: SKIP, account_number: SKIP, option_grant_date: SKIP,
163
+ option_exercise_date: SKIP, exercise_price: SKIP,
164
+ exercise_market_value: SKIP, number_of_shares: SKIP,
165
+ corporation: SKIP, additional_properties: nil)
166
+ # Add additional model properties to the instance
167
+ additional_properties = {} if additional_properties.nil?
168
+
169
+ @tax_year = tax_year unless tax_year == SKIP
170
+ @corrected = corrected unless corrected == SKIP
171
+ @account_id = account_id unless account_id == SKIP
172
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
173
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
174
+ @additional_information = additional_information unless additional_information == SKIP
175
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
176
+ @issuer = issuer unless issuer == SKIP
177
+ @recipient = recipient unless recipient == SKIP
178
+ @attributes = attributes unless attributes == SKIP
179
+ @error = error unless error == SKIP
180
+ @links = links unless links == SKIP
181
+ @account_number = account_number unless account_number == SKIP
182
+ @option_grant_date = option_grant_date unless option_grant_date == SKIP
183
+ @option_exercise_date = option_exercise_date unless option_exercise_date == SKIP
184
+ @exercise_price = exercise_price unless exercise_price == SKIP
185
+ @exercise_market_value = exercise_market_value unless exercise_market_value == SKIP
186
+ @number_of_shares = number_of_shares unless number_of_shares == SKIP
187
+ @corporation = corporation unless corporation == SKIP
188
+ @additional_properties = additional_properties
189
+ end
190
+
191
+ # Creates an instance of the object from a hash.
192
+ def self.from_hash(hash)
193
+ return nil unless hash
194
+
195
+ # Extract variables from the hash.
196
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
197
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
198
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
199
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
200
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
201
+ additional_information =
202
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
203
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
204
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
205
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
206
+ # Parameter is an array, so we need to iterate through it
207
+ attributes = nil
208
+ unless hash['attributes'].nil?
209
+ attributes = []
210
+ hash['attributes'].each do |structure|
211
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
212
+ end
213
+ end
214
+
215
+ attributes = SKIP unless hash.key?('attributes')
216
+ error = Error1.from_hash(hash['error']) if hash['error']
217
+ # Parameter is an array, so we need to iterate through it
218
+ links = nil
219
+ unless hash['links'].nil?
220
+ links = []
221
+ hash['links'].each do |structure|
222
+ links << (HateoasLink.from_hash(structure) if structure)
223
+ end
224
+ end
225
+
226
+ links = SKIP unless hash.key?('links')
227
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
228
+ option_grant_date =
229
+ hash.key?('optionGrantDate') ? hash['optionGrantDate'] : SKIP
230
+ option_exercise_date =
231
+ hash.key?('optionExerciseDate') ? hash['optionExerciseDate'] : SKIP
232
+ exercise_price = hash.key?('exercisePrice') ? hash['exercisePrice'] : SKIP
233
+ exercise_market_value =
234
+ hash.key?('exerciseMarketValue') ? hash['exerciseMarketValue'] : SKIP
235
+ number_of_shares =
236
+ hash.key?('numberOfShares') ? hash['numberOfShares'] : SKIP
237
+ corporation = TaxParty4.from_hash(hash['corporation']) if hash['corporation']
238
+
239
+ # Create a new hash for additional properties, removing known properties.
240
+ new_hash = hash.reject { |k, _| names.value?(k) }
241
+
242
+ additional_properties = APIHelper.get_additional_properties(
243
+ new_hash, proc { |value| value }
244
+ )
245
+
246
+ # Create object from extracted values.
247
+ Form3921.new(tax_year: tax_year,
248
+ corrected: corrected,
249
+ account_id: account_id,
250
+ tax_form_id: tax_form_id,
251
+ tax_form_date: tax_form_date,
252
+ additional_information: additional_information,
253
+ tax_form_type: tax_form_type,
254
+ issuer: issuer,
255
+ recipient: recipient,
256
+ attributes: attributes,
257
+ error: error,
258
+ links: links,
259
+ account_number: account_number,
260
+ option_grant_date: option_grant_date,
261
+ option_exercise_date: option_exercise_date,
262
+ exercise_price: exercise_price,
263
+ exercise_market_value: exercise_market_value,
264
+ number_of_shares: number_of_shares,
265
+ corporation: corporation,
266
+ additional_properties: additional_properties)
267
+ end
268
+
269
+ # Provides a human-readable string representation of the object.
270
+ def to_s
271
+ class_name = self.class.name.split('::').last
272
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
273
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
274
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
275
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
276
+ " #{@error}, links: #{@links}, account_number: #{@account_number}, option_grant_date:"\
277
+ " #{@option_grant_date}, option_exercise_date: #{@option_exercise_date}, exercise_price:"\
278
+ " #{@exercise_price}, exercise_market_value: #{@exercise_market_value}, number_of_shares:"\
279
+ " #{@number_of_shares}, corporation: #{@corporation}, additional_properties:"\
280
+ " #{@additional_properties}>"
281
+ end
282
+
283
+ # Provides a debugging-friendly string with detailed object information.
284
+ def inspect
285
+ class_name = self.class.name.split('::').last
286
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
287
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
288
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
289
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
290
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
291
+ " links: #{@links.inspect}, account_number: #{@account_number.inspect}, option_grant_date:"\
292
+ " #{@option_grant_date.inspect}, option_exercise_date: #{@option_exercise_date.inspect},"\
293
+ " exercise_price: #{@exercise_price.inspect}, exercise_market_value:"\
294
+ " #{@exercise_market_value.inspect}, number_of_shares: #{@number_of_shares.inspect},"\
295
+ " corporation: #{@corporation.inspect}, additional_properties: #{@additional_properties}>"
296
+ end
297
+ end
298
+ end
@@ -0,0 +1,297 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Exercise of an Incentive Stock Option Under Section 422(b)
8
+ class Form39211 < 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, Date option granted
78
+ # @return [Date]
79
+ attr_accessor :option_grant_date
80
+
81
+ # Box 2, Date option exercised
82
+ # @return [Date]
83
+ attr_accessor :option_exercise_date
84
+
85
+ # Box 3, Exercise price per share
86
+ # @return [Float]
87
+ attr_accessor :exercise_price
88
+
89
+ # Box 4, Fair market value per share on exercise date
90
+ # @return [Float]
91
+ attr_accessor :exercise_market_value
92
+
93
+ # Box 5, Number of shares transferred
94
+ # @return [Float]
95
+ attr_accessor :number_of_shares
96
+
97
+ # Box 6, If other than TRANSFEROR, name, address and tin of corporation
98
+ # whose stock is being transferred
99
+ # @return [TaxParty4]
100
+ attr_accessor :corporation
101
+
102
+ # A mapping from model property names to API property names.
103
+ def self.names
104
+ @_hash = {} if @_hash.nil?
105
+ @_hash['tax_year'] = 'taxYear'
106
+ @_hash['corrected'] = 'corrected'
107
+ @_hash['account_id'] = 'accountId'
108
+ @_hash['tax_form_id'] = 'taxFormId'
109
+ @_hash['tax_form_date'] = 'taxFormDate'
110
+ @_hash['additional_information'] = 'additionalInformation'
111
+ @_hash['tax_form_type'] = 'taxFormType'
112
+ @_hash['issuer'] = 'issuer'
113
+ @_hash['recipient'] = 'recipient'
114
+ @_hash['attributes'] = 'attributes'
115
+ @_hash['error'] = 'error'
116
+ @_hash['links'] = 'links'
117
+ @_hash['account_number'] = 'accountNumber'
118
+ @_hash['option_grant_date'] = 'optionGrantDate'
119
+ @_hash['option_exercise_date'] = 'optionExerciseDate'
120
+ @_hash['exercise_price'] = 'exercisePrice'
121
+ @_hash['exercise_market_value'] = 'exerciseMarketValue'
122
+ @_hash['number_of_shares'] = 'numberOfShares'
123
+ @_hash['corporation'] = 'corporation'
124
+ @_hash
125
+ end
126
+
127
+ # An array for optional fields
128
+ def self.optionals
129
+ %w[
130
+ tax_year
131
+ corrected
132
+ account_id
133
+ tax_form_id
134
+ tax_form_date
135
+ additional_information
136
+ tax_form_type
137
+ issuer
138
+ recipient
139
+ attributes
140
+ error
141
+ links
142
+ account_number
143
+ option_grant_date
144
+ option_exercise_date
145
+ exercise_price
146
+ exercise_market_value
147
+ number_of_shares
148
+ corporation
149
+ ]
150
+ end
151
+
152
+ # An array for nullable fields
153
+ def self.nullables
154
+ []
155
+ end
156
+
157
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
158
+ tax_form_id: SKIP, tax_form_date: SKIP,
159
+ additional_information: SKIP, tax_form_type: SKIP,
160
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
161
+ links: SKIP, account_number: SKIP, option_grant_date: SKIP,
162
+ option_exercise_date: SKIP, exercise_price: SKIP,
163
+ exercise_market_value: SKIP, number_of_shares: SKIP,
164
+ corporation: SKIP, additional_properties: nil)
165
+ # Add additional model properties to the instance
166
+ additional_properties = {} if additional_properties.nil?
167
+
168
+ @tax_year = tax_year unless tax_year == SKIP
169
+ @corrected = corrected unless corrected == SKIP
170
+ @account_id = account_id unless account_id == SKIP
171
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
172
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
173
+ @additional_information = additional_information unless additional_information == SKIP
174
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
175
+ @issuer = issuer unless issuer == SKIP
176
+ @recipient = recipient unless recipient == SKIP
177
+ @attributes = attributes unless attributes == SKIP
178
+ @error = error unless error == SKIP
179
+ @links = links unless links == SKIP
180
+ @account_number = account_number unless account_number == SKIP
181
+ @option_grant_date = option_grant_date unless option_grant_date == SKIP
182
+ @option_exercise_date = option_exercise_date unless option_exercise_date == SKIP
183
+ @exercise_price = exercise_price unless exercise_price == SKIP
184
+ @exercise_market_value = exercise_market_value unless exercise_market_value == SKIP
185
+ @number_of_shares = number_of_shares unless number_of_shares == SKIP
186
+ @corporation = corporation unless corporation == SKIP
187
+ @additional_properties = additional_properties
188
+ end
189
+
190
+ # Creates an instance of the object from a hash.
191
+ def self.from_hash(hash)
192
+ return nil unless hash
193
+
194
+ # Extract variables from the hash.
195
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
196
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
197
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
198
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
199
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
200
+ additional_information =
201
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
202
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
203
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
204
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
205
+ # Parameter is an array, so we need to iterate through it
206
+ attributes = nil
207
+ unless hash['attributes'].nil?
208
+ attributes = []
209
+ hash['attributes'].each do |structure|
210
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
211
+ end
212
+ end
213
+
214
+ attributes = SKIP unless hash.key?('attributes')
215
+ error = Error1.from_hash(hash['error']) if hash['error']
216
+ # Parameter is an array, so we need to iterate through it
217
+ links = nil
218
+ unless hash['links'].nil?
219
+ links = []
220
+ hash['links'].each do |structure|
221
+ links << (HateoasLink.from_hash(structure) if structure)
222
+ end
223
+ end
224
+
225
+ links = SKIP unless hash.key?('links')
226
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
227
+ option_grant_date =
228
+ hash.key?('optionGrantDate') ? hash['optionGrantDate'] : SKIP
229
+ option_exercise_date =
230
+ hash.key?('optionExerciseDate') ? hash['optionExerciseDate'] : SKIP
231
+ exercise_price = hash.key?('exercisePrice') ? hash['exercisePrice'] : SKIP
232
+ exercise_market_value =
233
+ hash.key?('exerciseMarketValue') ? hash['exerciseMarketValue'] : SKIP
234
+ number_of_shares =
235
+ hash.key?('numberOfShares') ? hash['numberOfShares'] : SKIP
236
+ corporation = TaxParty4.from_hash(hash['corporation']) if hash['corporation']
237
+
238
+ # Create a new hash for additional properties, removing known properties.
239
+ new_hash = hash.reject { |k, _| names.value?(k) }
240
+
241
+ additional_properties = APIHelper.get_additional_properties(
242
+ new_hash, proc { |value| value }
243
+ )
244
+
245
+ # Create object from extracted values.
246
+ Form39211.new(tax_year: tax_year,
247
+ corrected: corrected,
248
+ account_id: account_id,
249
+ tax_form_id: tax_form_id,
250
+ tax_form_date: tax_form_date,
251
+ additional_information: additional_information,
252
+ tax_form_type: tax_form_type,
253
+ issuer: issuer,
254
+ recipient: recipient,
255
+ attributes: attributes,
256
+ error: error,
257
+ links: links,
258
+ account_number: account_number,
259
+ option_grant_date: option_grant_date,
260
+ option_exercise_date: option_exercise_date,
261
+ exercise_price: exercise_price,
262
+ exercise_market_value: exercise_market_value,
263
+ number_of_shares: number_of_shares,
264
+ corporation: corporation,
265
+ additional_properties: additional_properties)
266
+ end
267
+
268
+ # Provides a human-readable string representation of the object.
269
+ def to_s
270
+ class_name = self.class.name.split('::').last
271
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
272
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
273
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
274
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
275
+ " #{@error}, links: #{@links}, account_number: #{@account_number}, option_grant_date:"\
276
+ " #{@option_grant_date}, option_exercise_date: #{@option_exercise_date}, exercise_price:"\
277
+ " #{@exercise_price}, exercise_market_value: #{@exercise_market_value}, number_of_shares:"\
278
+ " #{@number_of_shares}, corporation: #{@corporation}, additional_properties:"\
279
+ " #{@additional_properties}>"
280
+ end
281
+
282
+ # Provides a debugging-friendly string with detailed object information.
283
+ def inspect
284
+ class_name = self.class.name.split('::').last
285
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
286
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
287
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
288
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
289
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
290
+ " links: #{@links.inspect}, account_number: #{@account_number.inspect}, option_grant_date:"\
291
+ " #{@option_grant_date.inspect}, option_exercise_date: #{@option_exercise_date.inspect},"\
292
+ " exercise_price: #{@exercise_price.inspect}, exercise_market_value:"\
293
+ " #{@exercise_market_value.inspect}, number_of_shares: #{@number_of_shares.inspect},"\
294
+ " corporation: #{@corporation.inspect}, additional_properties: #{@additional_properties}>"
295
+ end
296
+ end
297
+ end