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,362 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Certain Government Payments
8
+ class Form1099G1 < 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, Unemployment compensation
78
+ # @return [Float]
79
+ attr_accessor :unemployment_compensation
80
+
81
+ # Box 2, State or local income tax refunds, credits, or offsets
82
+ # @return [Float]
83
+ attr_accessor :tax_refund
84
+
85
+ # Box 3, Box 2 amount is for tax year
86
+ # @return [Integer]
87
+ attr_accessor :refund_year
88
+
89
+ # Box 4, Federal income tax withheld
90
+ # @return [Float]
91
+ attr_accessor :federal_tax_withheld
92
+
93
+ # Box 5, RTAA payments
94
+ # @return [Float]
95
+ attr_accessor :rtaa_payments
96
+
97
+ # Box 6, Taxable grants
98
+ # @return [Float]
99
+ attr_accessor :grants
100
+
101
+ # Box 7, Agriculture payments
102
+ # @return [Float]
103
+ attr_accessor :agriculture_payments
104
+
105
+ # Box 8, If checked, box 2 is trade or business income
106
+ # @return [TrueClass | FalseClass]
107
+ attr_accessor :business_income
108
+
109
+ # Box 9, Market gain
110
+ # @return [Float]
111
+ attr_accessor :market_gain
112
+
113
+ # Boxes 10-11, State and Local tax withholding
114
+ # @return [Array[StateAndLocalTaxWithholding]]
115
+ attr_accessor :state_and_local
116
+
117
+ # Second TIN Notice
118
+ # @return [TrueClass | FalseClass]
119
+ attr_accessor :second_tin_notice
120
+
121
+ # A mapping from model property names to API property names.
122
+ def self.names
123
+ @_hash = {} if @_hash.nil?
124
+ @_hash['tax_year'] = 'taxYear'
125
+ @_hash['corrected'] = 'corrected'
126
+ @_hash['account_id'] = 'accountId'
127
+ @_hash['tax_form_id'] = 'taxFormId'
128
+ @_hash['tax_form_date'] = 'taxFormDate'
129
+ @_hash['additional_information'] = 'additionalInformation'
130
+ @_hash['tax_form_type'] = 'taxFormType'
131
+ @_hash['issuer'] = 'issuer'
132
+ @_hash['recipient'] = 'recipient'
133
+ @_hash['attributes'] = 'attributes'
134
+ @_hash['error'] = 'error'
135
+ @_hash['links'] = 'links'
136
+ @_hash['account_number'] = 'accountNumber'
137
+ @_hash['unemployment_compensation'] = 'unemploymentCompensation'
138
+ @_hash['tax_refund'] = 'taxRefund'
139
+ @_hash['refund_year'] = 'refundYear'
140
+ @_hash['federal_tax_withheld'] = 'federalTaxWithheld'
141
+ @_hash['rtaa_payments'] = 'rtaaPayments'
142
+ @_hash['grants'] = 'grants'
143
+ @_hash['agriculture_payments'] = 'agriculturePayments'
144
+ @_hash['business_income'] = 'businessIncome'
145
+ @_hash['market_gain'] = 'marketGain'
146
+ @_hash['state_and_local'] = 'stateAndLocal'
147
+ @_hash['second_tin_notice'] = 'secondTinNotice'
148
+ @_hash
149
+ end
150
+
151
+ # An array for optional fields
152
+ def self.optionals
153
+ %w[
154
+ tax_year
155
+ corrected
156
+ account_id
157
+ tax_form_id
158
+ tax_form_date
159
+ additional_information
160
+ tax_form_type
161
+ issuer
162
+ recipient
163
+ attributes
164
+ error
165
+ links
166
+ account_number
167
+ unemployment_compensation
168
+ tax_refund
169
+ refund_year
170
+ federal_tax_withheld
171
+ rtaa_payments
172
+ grants
173
+ agriculture_payments
174
+ business_income
175
+ market_gain
176
+ state_and_local
177
+ second_tin_notice
178
+ ]
179
+ end
180
+
181
+ # An array for nullable fields
182
+ def self.nullables
183
+ []
184
+ end
185
+
186
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
187
+ tax_form_id: SKIP, tax_form_date: SKIP,
188
+ additional_information: SKIP, tax_form_type: SKIP,
189
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
190
+ links: SKIP, account_number: SKIP,
191
+ unemployment_compensation: SKIP, tax_refund: SKIP,
192
+ refund_year: SKIP, federal_tax_withheld: SKIP,
193
+ rtaa_payments: SKIP, grants: SKIP,
194
+ agriculture_payments: SKIP, business_income: SKIP,
195
+ market_gain: SKIP, state_and_local: SKIP,
196
+ second_tin_notice: SKIP, additional_properties: nil)
197
+ # Add additional model properties to the instance
198
+ additional_properties = {} if additional_properties.nil?
199
+
200
+ @tax_year = tax_year unless tax_year == SKIP
201
+ @corrected = corrected unless corrected == SKIP
202
+ @account_id = account_id unless account_id == SKIP
203
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
204
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
205
+ @additional_information = additional_information unless additional_information == SKIP
206
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
207
+ @issuer = issuer unless issuer == SKIP
208
+ @recipient = recipient unless recipient == SKIP
209
+ @attributes = attributes unless attributes == SKIP
210
+ @error = error unless error == SKIP
211
+ @links = links unless links == SKIP
212
+ @account_number = account_number unless account_number == SKIP
213
+ unless unemployment_compensation == SKIP
214
+ @unemployment_compensation =
215
+ unemployment_compensation
216
+ end
217
+ @tax_refund = tax_refund unless tax_refund == SKIP
218
+ @refund_year = refund_year unless refund_year == SKIP
219
+ @federal_tax_withheld = federal_tax_withheld unless federal_tax_withheld == SKIP
220
+ @rtaa_payments = rtaa_payments unless rtaa_payments == SKIP
221
+ @grants = grants unless grants == SKIP
222
+ @agriculture_payments = agriculture_payments unless agriculture_payments == SKIP
223
+ @business_income = business_income unless business_income == SKIP
224
+ @market_gain = market_gain unless market_gain == SKIP
225
+ @state_and_local = state_and_local unless state_and_local == SKIP
226
+ @second_tin_notice = second_tin_notice unless second_tin_notice == SKIP
227
+ @additional_properties = additional_properties
228
+ end
229
+
230
+ # Creates an instance of the object from a hash.
231
+ def self.from_hash(hash)
232
+ return nil unless hash
233
+
234
+ # Extract variables from the hash.
235
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
236
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
237
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
238
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
239
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
240
+ additional_information =
241
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
242
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
243
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
244
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
245
+ # Parameter is an array, so we need to iterate through it
246
+ attributes = nil
247
+ unless hash['attributes'].nil?
248
+ attributes = []
249
+ hash['attributes'].each do |structure|
250
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
251
+ end
252
+ end
253
+
254
+ attributes = SKIP unless hash.key?('attributes')
255
+ error = Error1.from_hash(hash['error']) if hash['error']
256
+ # Parameter is an array, so we need to iterate through it
257
+ links = nil
258
+ unless hash['links'].nil?
259
+ links = []
260
+ hash['links'].each do |structure|
261
+ links << (HateoasLink.from_hash(structure) if structure)
262
+ end
263
+ end
264
+
265
+ links = SKIP unless hash.key?('links')
266
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
267
+ unemployment_compensation =
268
+ hash.key?('unemploymentCompensation') ? hash['unemploymentCompensation'] : SKIP
269
+ tax_refund = hash.key?('taxRefund') ? hash['taxRefund'] : SKIP
270
+ refund_year = hash.key?('refundYear') ? hash['refundYear'] : SKIP
271
+ federal_tax_withheld =
272
+ hash.key?('federalTaxWithheld') ? hash['federalTaxWithheld'] : SKIP
273
+ rtaa_payments = hash.key?('rtaaPayments') ? hash['rtaaPayments'] : SKIP
274
+ grants = hash.key?('grants') ? hash['grants'] : SKIP
275
+ agriculture_payments =
276
+ hash.key?('agriculturePayments') ? hash['agriculturePayments'] : SKIP
277
+ business_income =
278
+ hash.key?('businessIncome') ? hash['businessIncome'] : SKIP
279
+ market_gain = hash.key?('marketGain') ? hash['marketGain'] : SKIP
280
+ # Parameter is an array, so we need to iterate through it
281
+ state_and_local = nil
282
+ unless hash['stateAndLocal'].nil?
283
+ state_and_local = []
284
+ hash['stateAndLocal'].each do |structure|
285
+ state_and_local << (StateAndLocalTaxWithholding.from_hash(structure) if structure)
286
+ end
287
+ end
288
+
289
+ state_and_local = SKIP unless hash.key?('stateAndLocal')
290
+ second_tin_notice =
291
+ hash.key?('secondTinNotice') ? hash['secondTinNotice'] : SKIP
292
+
293
+ # Create a new hash for additional properties, removing known properties.
294
+ new_hash = hash.reject { |k, _| names.value?(k) }
295
+
296
+ additional_properties = APIHelper.get_additional_properties(
297
+ new_hash, proc { |value| value }
298
+ )
299
+
300
+ # Create object from extracted values.
301
+ Form1099G1.new(tax_year: tax_year,
302
+ corrected: corrected,
303
+ account_id: account_id,
304
+ tax_form_id: tax_form_id,
305
+ tax_form_date: tax_form_date,
306
+ additional_information: additional_information,
307
+ tax_form_type: tax_form_type,
308
+ issuer: issuer,
309
+ recipient: recipient,
310
+ attributes: attributes,
311
+ error: error,
312
+ links: links,
313
+ account_number: account_number,
314
+ unemployment_compensation: unemployment_compensation,
315
+ tax_refund: tax_refund,
316
+ refund_year: refund_year,
317
+ federal_tax_withheld: federal_tax_withheld,
318
+ rtaa_payments: rtaa_payments,
319
+ grants: grants,
320
+ agriculture_payments: agriculture_payments,
321
+ business_income: business_income,
322
+ market_gain: market_gain,
323
+ state_and_local: state_and_local,
324
+ second_tin_notice: second_tin_notice,
325
+ additional_properties: additional_properties)
326
+ end
327
+
328
+ # Provides a human-readable string representation of the object.
329
+ def to_s
330
+ class_name = self.class.name.split('::').last
331
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
332
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
333
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
334
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
335
+ " #{@error}, links: #{@links}, account_number: #{@account_number},"\
336
+ " unemployment_compensation: #{@unemployment_compensation}, tax_refund: #{@tax_refund},"\
337
+ " refund_year: #{@refund_year}, federal_tax_withheld: #{@federal_tax_withheld},"\
338
+ " rtaa_payments: #{@rtaa_payments}, grants: #{@grants}, agriculture_payments:"\
339
+ " #{@agriculture_payments}, business_income: #{@business_income}, market_gain:"\
340
+ " #{@market_gain}, state_and_local: #{@state_and_local}, second_tin_notice:"\
341
+ " #{@second_tin_notice}, additional_properties: #{@additional_properties}>"
342
+ end
343
+
344
+ # Provides a debugging-friendly string with detailed object information.
345
+ def inspect
346
+ class_name = self.class.name.split('::').last
347
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
348
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
349
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
350
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
351
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
352
+ " links: #{@links.inspect}, account_number: #{@account_number.inspect},"\
353
+ " unemployment_compensation: #{@unemployment_compensation.inspect}, tax_refund:"\
354
+ " #{@tax_refund.inspect}, refund_year: #{@refund_year.inspect}, federal_tax_withheld:"\
355
+ " #{@federal_tax_withheld.inspect}, rtaa_payments: #{@rtaa_payments.inspect}, grants:"\
356
+ " #{@grants.inspect}, agriculture_payments: #{@agriculture_payments.inspect},"\
357
+ " business_income: #{@business_income.inspect}, market_gain: #{@market_gain.inspect},"\
358
+ " state_and_local: #{@state_and_local.inspect}, second_tin_notice:"\
359
+ " #{@second_tin_notice.inspect}, additional_properties: #{@additional_properties}>"
360
+ end
361
+ end
362
+ end
@@ -0,0 +1,263 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Health Coverage Tax Credit (HCTC) Advance Payments, from ISSUER/PROVIDER
8
+ # (1st-2nd boxes as issuer) to RECIPIENT (3rd-4th boxes)
9
+ class Form1099H < 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
+ # Box 1, Amount of HCTC advance payments
75
+ # @return [Float]
76
+ attr_accessor :advance_payments
77
+
78
+ # Box 2, Number of months HCTC advance payments and reimbursement credits
79
+ # paid to you
80
+ # @return [Integer]
81
+ attr_accessor :number_of_months
82
+
83
+ # Boxes 3-14, Payments by month
84
+ # @return [Array[MonthAndAmount]]
85
+ attr_accessor :payments
86
+
87
+ # A mapping from model property names to API property names.
88
+ def self.names
89
+ @_hash = {} if @_hash.nil?
90
+ @_hash['tax_year'] = 'taxYear'
91
+ @_hash['corrected'] = 'corrected'
92
+ @_hash['account_id'] = 'accountId'
93
+ @_hash['tax_form_id'] = 'taxFormId'
94
+ @_hash['tax_form_date'] = 'taxFormDate'
95
+ @_hash['additional_information'] = 'additionalInformation'
96
+ @_hash['tax_form_type'] = 'taxFormType'
97
+ @_hash['issuer'] = 'issuer'
98
+ @_hash['recipient'] = 'recipient'
99
+ @_hash['attributes'] = 'attributes'
100
+ @_hash['error'] = 'error'
101
+ @_hash['links'] = 'links'
102
+ @_hash['advance_payments'] = 'advancePayments'
103
+ @_hash['number_of_months'] = 'numberOfMonths'
104
+ @_hash['payments'] = 'payments'
105
+ @_hash
106
+ end
107
+
108
+ # An array for optional fields
109
+ def self.optionals
110
+ %w[
111
+ tax_year
112
+ corrected
113
+ account_id
114
+ tax_form_id
115
+ tax_form_date
116
+ additional_information
117
+ tax_form_type
118
+ issuer
119
+ recipient
120
+ attributes
121
+ error
122
+ links
123
+ advance_payments
124
+ number_of_months
125
+ payments
126
+ ]
127
+ end
128
+
129
+ # An array for nullable fields
130
+ def self.nullables
131
+ []
132
+ end
133
+
134
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
135
+ tax_form_id: SKIP, tax_form_date: SKIP,
136
+ additional_information: SKIP, tax_form_type: SKIP,
137
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
138
+ links: SKIP, advance_payments: SKIP, number_of_months: SKIP,
139
+ payments: SKIP, additional_properties: nil)
140
+ # Add additional model properties to the instance
141
+ additional_properties = {} if additional_properties.nil?
142
+
143
+ @tax_year = tax_year unless tax_year == SKIP
144
+ @corrected = corrected unless corrected == SKIP
145
+ @account_id = account_id unless account_id == SKIP
146
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
147
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
148
+ @additional_information = additional_information unless additional_information == SKIP
149
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
150
+ @issuer = issuer unless issuer == SKIP
151
+ @recipient = recipient unless recipient == SKIP
152
+ @attributes = attributes unless attributes == SKIP
153
+ @error = error unless error == SKIP
154
+ @links = links unless links == SKIP
155
+ @advance_payments = advance_payments unless advance_payments == SKIP
156
+ @number_of_months = number_of_months unless number_of_months == SKIP
157
+ @payments = payments unless payments == SKIP
158
+ @additional_properties = additional_properties
159
+ end
160
+
161
+ # Creates an instance of the object from a hash.
162
+ def self.from_hash(hash)
163
+ return nil unless hash
164
+
165
+ # Extract variables from the hash.
166
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
167
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
168
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
169
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
170
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
171
+ additional_information =
172
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
173
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
174
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
175
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
176
+ # Parameter is an array, so we need to iterate through it
177
+ attributes = nil
178
+ unless hash['attributes'].nil?
179
+ attributes = []
180
+ hash['attributes'].each do |structure|
181
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
182
+ end
183
+ end
184
+
185
+ attributes = SKIP unless hash.key?('attributes')
186
+ error = Error1.from_hash(hash['error']) if hash['error']
187
+ # Parameter is an array, so we need to iterate through it
188
+ links = nil
189
+ unless hash['links'].nil?
190
+ links = []
191
+ hash['links'].each do |structure|
192
+ links << (HateoasLink.from_hash(structure) if structure)
193
+ end
194
+ end
195
+
196
+ links = SKIP unless hash.key?('links')
197
+ advance_payments =
198
+ hash.key?('advancePayments') ? hash['advancePayments'] : SKIP
199
+ number_of_months =
200
+ hash.key?('numberOfMonths') ? hash['numberOfMonths'] : SKIP
201
+ # Parameter is an array, so we need to iterate through it
202
+ payments = nil
203
+ unless hash['payments'].nil?
204
+ payments = []
205
+ hash['payments'].each do |structure|
206
+ payments << (MonthAndAmount.from_hash(structure) if structure)
207
+ end
208
+ end
209
+
210
+ payments = SKIP unless hash.key?('payments')
211
+
212
+ # Create a new hash for additional properties, removing known properties.
213
+ new_hash = hash.reject { |k, _| names.value?(k) }
214
+
215
+ additional_properties = APIHelper.get_additional_properties(
216
+ new_hash, proc { |value| value }
217
+ )
218
+
219
+ # Create object from extracted values.
220
+ Form1099H.new(tax_year: tax_year,
221
+ corrected: corrected,
222
+ account_id: account_id,
223
+ tax_form_id: tax_form_id,
224
+ tax_form_date: tax_form_date,
225
+ additional_information: additional_information,
226
+ tax_form_type: tax_form_type,
227
+ issuer: issuer,
228
+ recipient: recipient,
229
+ attributes: attributes,
230
+ error: error,
231
+ links: links,
232
+ advance_payments: advance_payments,
233
+ number_of_months: number_of_months,
234
+ payments: payments,
235
+ additional_properties: additional_properties)
236
+ end
237
+
238
+ # Provides a human-readable string representation of the object.
239
+ def to_s
240
+ class_name = self.class.name.split('::').last
241
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
242
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
243
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
244
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
245
+ " #{@error}, links: #{@links}, advance_payments: #{@advance_payments}, number_of_months:"\
246
+ " #{@number_of_months}, payments: #{@payments}, additional_properties:"\
247
+ " #{@additional_properties}>"
248
+ end
249
+
250
+ # Provides a debugging-friendly string with detailed object information.
251
+ def inspect
252
+ class_name = self.class.name.split('::').last
253
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
254
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
255
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
256
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
257
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
258
+ " links: #{@links.inspect}, advance_payments: #{@advance_payments.inspect},"\
259
+ " number_of_months: #{@number_of_months.inspect}, payments: #{@payments.inspect},"\
260
+ " additional_properties: #{@additional_properties}>"
261
+ end
262
+ end
263
+ end