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,273 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Reportable Life Insurance Sale
8
+ class Form1099Ls1 < 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
+ # Policy number
74
+ # @return [String]
75
+ attr_accessor :policy_number
76
+
77
+ # Box 1, Amount paid to payment recipient
78
+ # @return [Float]
79
+ attr_accessor :payment
80
+
81
+ # Box 2, Date of sale
82
+ # @return [Date]
83
+ attr_accessor :sale_date
84
+
85
+ # Issuer's name
86
+ # @return [String]
87
+ attr_accessor :issuer_name
88
+
89
+ # Acquirer's information contact name, street address, city or town, state
90
+ # or province, country, ZIP or foreign postal code, and telephone no. (If
91
+ # different from ACQUIRER)
92
+ # @return [NameAddressAndPhone]
93
+ attr_accessor :contact_name_address
94
+
95
+ # A mapping from model property names to API property names.
96
+ def self.names
97
+ @_hash = {} if @_hash.nil?
98
+ @_hash['tax_year'] = 'taxYear'
99
+ @_hash['corrected'] = 'corrected'
100
+ @_hash['account_id'] = 'accountId'
101
+ @_hash['tax_form_id'] = 'taxFormId'
102
+ @_hash['tax_form_date'] = 'taxFormDate'
103
+ @_hash['additional_information'] = 'additionalInformation'
104
+ @_hash['tax_form_type'] = 'taxFormType'
105
+ @_hash['issuer'] = 'issuer'
106
+ @_hash['recipient'] = 'recipient'
107
+ @_hash['attributes'] = 'attributes'
108
+ @_hash['error'] = 'error'
109
+ @_hash['links'] = 'links'
110
+ @_hash['policy_number'] = 'policyNumber'
111
+ @_hash['payment'] = 'payment'
112
+ @_hash['sale_date'] = 'saleDate'
113
+ @_hash['issuer_name'] = 'issuerName'
114
+ @_hash['contact_name_address'] = 'contactNameAddress'
115
+ @_hash
116
+ end
117
+
118
+ # An array for optional fields
119
+ def self.optionals
120
+ %w[
121
+ tax_year
122
+ corrected
123
+ account_id
124
+ tax_form_id
125
+ tax_form_date
126
+ additional_information
127
+ tax_form_type
128
+ issuer
129
+ recipient
130
+ attributes
131
+ error
132
+ links
133
+ policy_number
134
+ payment
135
+ sale_date
136
+ issuer_name
137
+ contact_name_address
138
+ ]
139
+ end
140
+
141
+ # An array for nullable fields
142
+ def self.nullables
143
+ []
144
+ end
145
+
146
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
147
+ tax_form_id: SKIP, tax_form_date: SKIP,
148
+ additional_information: SKIP, tax_form_type: SKIP,
149
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
150
+ links: SKIP, policy_number: SKIP, payment: SKIP,
151
+ sale_date: SKIP, issuer_name: SKIP,
152
+ contact_name_address: SKIP, additional_properties: nil)
153
+ # Add additional model properties to the instance
154
+ additional_properties = {} if additional_properties.nil?
155
+
156
+ @tax_year = tax_year unless tax_year == SKIP
157
+ @corrected = corrected unless corrected == SKIP
158
+ @account_id = account_id unless account_id == SKIP
159
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
160
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
161
+ @additional_information = additional_information unless additional_information == SKIP
162
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
163
+ @issuer = issuer unless issuer == SKIP
164
+ @recipient = recipient unless recipient == SKIP
165
+ @attributes = attributes unless attributes == SKIP
166
+ @error = error unless error == SKIP
167
+ @links = links unless links == SKIP
168
+ @policy_number = policy_number unless policy_number == SKIP
169
+ @payment = payment unless payment == SKIP
170
+ @sale_date = sale_date unless sale_date == SKIP
171
+ @issuer_name = issuer_name unless issuer_name == SKIP
172
+ @contact_name_address = contact_name_address unless contact_name_address == SKIP
173
+ @additional_properties = additional_properties
174
+ end
175
+
176
+ # Creates an instance of the object from a hash.
177
+ def self.from_hash(hash)
178
+ return nil unless hash
179
+
180
+ # Extract variables from the hash.
181
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
182
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
183
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
184
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
185
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
186
+ additional_information =
187
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
188
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
189
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
190
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
191
+ # Parameter is an array, so we need to iterate through it
192
+ attributes = nil
193
+ unless hash['attributes'].nil?
194
+ attributes = []
195
+ hash['attributes'].each do |structure|
196
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
197
+ end
198
+ end
199
+
200
+ attributes = SKIP unless hash.key?('attributes')
201
+ error = Error1.from_hash(hash['error']) if hash['error']
202
+ # Parameter is an array, so we need to iterate through it
203
+ links = nil
204
+ unless hash['links'].nil?
205
+ links = []
206
+ hash['links'].each do |structure|
207
+ links << (HateoasLink.from_hash(structure) if structure)
208
+ end
209
+ end
210
+
211
+ links = SKIP unless hash.key?('links')
212
+ policy_number = hash.key?('policyNumber') ? hash['policyNumber'] : SKIP
213
+ payment = hash.key?('payment') ? hash['payment'] : SKIP
214
+ sale_date = hash.key?('saleDate') ? hash['saleDate'] : SKIP
215
+ issuer_name = hash.key?('issuerName') ? hash['issuerName'] : SKIP
216
+ contact_name_address = NameAddressAndPhone.from_hash(hash['contactNameAddress']) if
217
+ hash['contactNameAddress']
218
+
219
+ # Create a new hash for additional properties, removing known properties.
220
+ new_hash = hash.reject { |k, _| names.value?(k) }
221
+
222
+ additional_properties = APIHelper.get_additional_properties(
223
+ new_hash, proc { |value| value }
224
+ )
225
+
226
+ # Create object from extracted values.
227
+ Form1099Ls1.new(tax_year: tax_year,
228
+ corrected: corrected,
229
+ account_id: account_id,
230
+ tax_form_id: tax_form_id,
231
+ tax_form_date: tax_form_date,
232
+ additional_information: additional_information,
233
+ tax_form_type: tax_form_type,
234
+ issuer: issuer,
235
+ recipient: recipient,
236
+ attributes: attributes,
237
+ error: error,
238
+ links: links,
239
+ policy_number: policy_number,
240
+ payment: payment,
241
+ sale_date: sale_date,
242
+ issuer_name: issuer_name,
243
+ contact_name_address: contact_name_address,
244
+ additional_properties: additional_properties)
245
+ end
246
+
247
+ # Provides a human-readable string representation of the object.
248
+ def to_s
249
+ class_name = self.class.name.split('::').last
250
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
251
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
252
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
253
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
254
+ " #{@error}, links: #{@links}, policy_number: #{@policy_number}, payment: #{@payment},"\
255
+ " sale_date: #{@sale_date}, issuer_name: #{@issuer_name}, contact_name_address:"\
256
+ " #{@contact_name_address}, additional_properties: #{@additional_properties}>"
257
+ end
258
+
259
+ # Provides a debugging-friendly string with detailed object information.
260
+ def inspect
261
+ class_name = self.class.name.split('::').last
262
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
263
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
264
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
265
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
266
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
267
+ " links: #{@links.inspect}, policy_number: #{@policy_number.inspect}, payment:"\
268
+ " #{@payment.inspect}, sale_date: #{@sale_date.inspect}, issuer_name:"\
269
+ " #{@issuer_name.inspect}, contact_name_address: #{@contact_name_address.inspect},"\
270
+ " additional_properties: #{@additional_properties}>"
271
+ end
272
+ end
273
+ end
@@ -0,0 +1,339 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Long-Term Care and Accelerated Death Benefits, from PAYER (1st-2nd boxes as
8
+ # issuer) to POLICY HOLDER (3rd-4th boxes as recipient)
9
+ class Form1099Ltc < 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, Gross long-term care benefits paid
79
+ # @return [Float]
80
+ attr_accessor :ltc_benefits
81
+
82
+ # Box 2, Accelerated death benefits paid
83
+ # @return [Float]
84
+ attr_accessor :death_benefits
85
+
86
+ # Box 3, Per diem
87
+ # @return [TrueClass | FalseClass]
88
+ attr_accessor :per_diem
89
+
90
+ # Box 3, Reimbursed amount
91
+ # @return [TrueClass | FalseClass]
92
+ attr_accessor :reimbursed_amount
93
+
94
+ # INSURED'S taxpayer identification no.
95
+ # @return [String]
96
+ attr_accessor :insured_id
97
+
98
+ # Insured name and address
99
+ # @return [NameAndAddress]
100
+ attr_accessor :insured_name_address
101
+
102
+ # Box 4, Qualified contract
103
+ # @return [TrueClass | FalseClass]
104
+ attr_accessor :qualified_contract
105
+
106
+ # Box 5, Chronically ill
107
+ # @return [TrueClass | FalseClass]
108
+ attr_accessor :chronically_ill
109
+
110
+ # Box 5, Terminally ill
111
+ # @return [TrueClass | FalseClass]
112
+ attr_accessor :terminally_ill
113
+
114
+ # Date certified
115
+ # @return [Date]
116
+ attr_accessor :date_certified
117
+
118
+ # A mapping from model property names to API property names.
119
+ def self.names
120
+ @_hash = {} if @_hash.nil?
121
+ @_hash['tax_year'] = 'taxYear'
122
+ @_hash['corrected'] = 'corrected'
123
+ @_hash['account_id'] = 'accountId'
124
+ @_hash['tax_form_id'] = 'taxFormId'
125
+ @_hash['tax_form_date'] = 'taxFormDate'
126
+ @_hash['additional_information'] = 'additionalInformation'
127
+ @_hash['tax_form_type'] = 'taxFormType'
128
+ @_hash['issuer'] = 'issuer'
129
+ @_hash['recipient'] = 'recipient'
130
+ @_hash['attributes'] = 'attributes'
131
+ @_hash['error'] = 'error'
132
+ @_hash['links'] = 'links'
133
+ @_hash['account_number'] = 'accountNumber'
134
+ @_hash['ltc_benefits'] = 'ltcBenefits'
135
+ @_hash['death_benefits'] = 'deathBenefits'
136
+ @_hash['per_diem'] = 'perDiem'
137
+ @_hash['reimbursed_amount'] = 'reimbursedAmount'
138
+ @_hash['insured_id'] = 'insuredId'
139
+ @_hash['insured_name_address'] = 'insuredNameAddress'
140
+ @_hash['qualified_contract'] = 'qualifiedContract'
141
+ @_hash['chronically_ill'] = 'chronicallyIll'
142
+ @_hash['terminally_ill'] = 'terminallyIll'
143
+ @_hash['date_certified'] = 'dateCertified'
144
+ @_hash
145
+ end
146
+
147
+ # An array for optional fields
148
+ def self.optionals
149
+ %w[
150
+ tax_year
151
+ corrected
152
+ account_id
153
+ tax_form_id
154
+ tax_form_date
155
+ additional_information
156
+ tax_form_type
157
+ issuer
158
+ recipient
159
+ attributes
160
+ error
161
+ links
162
+ account_number
163
+ ltc_benefits
164
+ death_benefits
165
+ per_diem
166
+ reimbursed_amount
167
+ insured_id
168
+ insured_name_address
169
+ qualified_contract
170
+ chronically_ill
171
+ terminally_ill
172
+ date_certified
173
+ ]
174
+ end
175
+
176
+ # An array for nullable fields
177
+ def self.nullables
178
+ []
179
+ end
180
+
181
+ def initialize(tax_year: SKIP, corrected: SKIP, account_id: SKIP,
182
+ tax_form_id: SKIP, tax_form_date: SKIP,
183
+ additional_information: SKIP, tax_form_type: SKIP,
184
+ issuer: SKIP, recipient: SKIP, attributes: SKIP, error: SKIP,
185
+ links: SKIP, account_number: SKIP, ltc_benefits: SKIP,
186
+ death_benefits: SKIP, per_diem: SKIP,
187
+ reimbursed_amount: SKIP, insured_id: SKIP,
188
+ insured_name_address: SKIP, qualified_contract: SKIP,
189
+ chronically_ill: SKIP, terminally_ill: SKIP,
190
+ date_certified: SKIP, additional_properties: nil)
191
+ # Add additional model properties to the instance
192
+ additional_properties = {} if additional_properties.nil?
193
+
194
+ @tax_year = tax_year unless tax_year == SKIP
195
+ @corrected = corrected unless corrected == SKIP
196
+ @account_id = account_id unless account_id == SKIP
197
+ @tax_form_id = tax_form_id unless tax_form_id == SKIP
198
+ @tax_form_date = tax_form_date unless tax_form_date == SKIP
199
+ @additional_information = additional_information unless additional_information == SKIP
200
+ @tax_form_type = tax_form_type unless tax_form_type == SKIP
201
+ @issuer = issuer unless issuer == SKIP
202
+ @recipient = recipient unless recipient == SKIP
203
+ @attributes = attributes unless attributes == SKIP
204
+ @error = error unless error == SKIP
205
+ @links = links unless links == SKIP
206
+ @account_number = account_number unless account_number == SKIP
207
+ @ltc_benefits = ltc_benefits unless ltc_benefits == SKIP
208
+ @death_benefits = death_benefits unless death_benefits == SKIP
209
+ @per_diem = per_diem unless per_diem == SKIP
210
+ @reimbursed_amount = reimbursed_amount unless reimbursed_amount == SKIP
211
+ @insured_id = insured_id unless insured_id == SKIP
212
+ @insured_name_address = insured_name_address unless insured_name_address == SKIP
213
+ @qualified_contract = qualified_contract unless qualified_contract == SKIP
214
+ @chronically_ill = chronically_ill unless chronically_ill == SKIP
215
+ @terminally_ill = terminally_ill unless terminally_ill == SKIP
216
+ @date_certified = date_certified unless date_certified == SKIP
217
+ @additional_properties = additional_properties
218
+ end
219
+
220
+ # Creates an instance of the object from a hash.
221
+ def self.from_hash(hash)
222
+ return nil unless hash
223
+
224
+ # Extract variables from the hash.
225
+ tax_year = hash.key?('taxYear') ? hash['taxYear'] : SKIP
226
+ corrected = hash.key?('corrected') ? hash['corrected'] : SKIP
227
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
228
+ tax_form_id = hash.key?('taxFormId') ? hash['taxFormId'] : SKIP
229
+ tax_form_date = hash.key?('taxFormDate') ? hash['taxFormDate'] : SKIP
230
+ additional_information =
231
+ hash.key?('additionalInformation') ? hash['additionalInformation'] : SKIP
232
+ tax_form_type = hash.key?('taxFormType') ? hash['taxFormType'] : SKIP
233
+ issuer = TaxParty8.from_hash(hash['issuer']) if hash['issuer']
234
+ recipient = TaxParty1.from_hash(hash['recipient']) if hash['recipient']
235
+ # Parameter is an array, so we need to iterate through it
236
+ attributes = nil
237
+ unless hash['attributes'].nil?
238
+ attributes = []
239
+ hash['attributes'].each do |structure|
240
+ attributes << (TaxFormAttribute.from_hash(structure) if structure)
241
+ end
242
+ end
243
+
244
+ attributes = SKIP unless hash.key?('attributes')
245
+ error = Error1.from_hash(hash['error']) if hash['error']
246
+ # Parameter is an array, so we need to iterate through it
247
+ links = nil
248
+ unless hash['links'].nil?
249
+ links = []
250
+ hash['links'].each do |structure|
251
+ links << (HateoasLink.from_hash(structure) if structure)
252
+ end
253
+ end
254
+
255
+ links = SKIP unless hash.key?('links')
256
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
257
+ ltc_benefits = hash.key?('ltcBenefits') ? hash['ltcBenefits'] : SKIP
258
+ death_benefits = hash.key?('deathBenefits') ? hash['deathBenefits'] : SKIP
259
+ per_diem = hash.key?('perDiem') ? hash['perDiem'] : SKIP
260
+ reimbursed_amount =
261
+ hash.key?('reimbursedAmount') ? hash['reimbursedAmount'] : SKIP
262
+ insured_id = hash.key?('insuredId') ? hash['insuredId'] : SKIP
263
+ insured_name_address = NameAndAddress.from_hash(hash['insuredNameAddress']) if
264
+ hash['insuredNameAddress']
265
+ qualified_contract =
266
+ hash.key?('qualifiedContract') ? hash['qualifiedContract'] : SKIP
267
+ chronically_ill =
268
+ hash.key?('chronicallyIll') ? hash['chronicallyIll'] : SKIP
269
+ terminally_ill = hash.key?('terminallyIll') ? hash['terminallyIll'] : SKIP
270
+ date_certified = hash.key?('dateCertified') ? hash['dateCertified'] : SKIP
271
+
272
+ # Create a new hash for additional properties, removing known properties.
273
+ new_hash = hash.reject { |k, _| names.value?(k) }
274
+
275
+ additional_properties = APIHelper.get_additional_properties(
276
+ new_hash, proc { |value| value }
277
+ )
278
+
279
+ # Create object from extracted values.
280
+ Form1099Ltc.new(tax_year: tax_year,
281
+ corrected: corrected,
282
+ account_id: account_id,
283
+ tax_form_id: tax_form_id,
284
+ tax_form_date: tax_form_date,
285
+ additional_information: additional_information,
286
+ tax_form_type: tax_form_type,
287
+ issuer: issuer,
288
+ recipient: recipient,
289
+ attributes: attributes,
290
+ error: error,
291
+ links: links,
292
+ account_number: account_number,
293
+ ltc_benefits: ltc_benefits,
294
+ death_benefits: death_benefits,
295
+ per_diem: per_diem,
296
+ reimbursed_amount: reimbursed_amount,
297
+ insured_id: insured_id,
298
+ insured_name_address: insured_name_address,
299
+ qualified_contract: qualified_contract,
300
+ chronically_ill: chronically_ill,
301
+ terminally_ill: terminally_ill,
302
+ date_certified: date_certified,
303
+ additional_properties: additional_properties)
304
+ end
305
+
306
+ # Provides a human-readable string representation of the object.
307
+ def to_s
308
+ class_name = self.class.name.split('::').last
309
+ "<#{class_name} tax_year: #{@tax_year}, corrected: #{@corrected}, account_id:"\
310
+ " #{@account_id}, tax_form_id: #{@tax_form_id}, tax_form_date: #{@tax_form_date},"\
311
+ " additional_information: #{@additional_information}, tax_form_type: #{@tax_form_type},"\
312
+ " issuer: #{@issuer}, recipient: #{@recipient}, attributes: #{@attributes}, error:"\
313
+ " #{@error}, links: #{@links}, account_number: #{@account_number}, ltc_benefits:"\
314
+ " #{@ltc_benefits}, death_benefits: #{@death_benefits}, per_diem: #{@per_diem},"\
315
+ " reimbursed_amount: #{@reimbursed_amount}, insured_id: #{@insured_id},"\
316
+ " insured_name_address: #{@insured_name_address}, qualified_contract:"\
317
+ " #{@qualified_contract}, chronically_ill: #{@chronically_ill}, terminally_ill:"\
318
+ " #{@terminally_ill}, date_certified: #{@date_certified}, additional_properties:"\
319
+ " #{@additional_properties}>"
320
+ end
321
+
322
+ # Provides a debugging-friendly string with detailed object information.
323
+ def inspect
324
+ class_name = self.class.name.split('::').last
325
+ "<#{class_name} tax_year: #{@tax_year.inspect}, corrected: #{@corrected.inspect},"\
326
+ " account_id: #{@account_id.inspect}, tax_form_id: #{@tax_form_id.inspect}, tax_form_date:"\
327
+ " #{@tax_form_date.inspect}, additional_information: #{@additional_information.inspect},"\
328
+ " tax_form_type: #{@tax_form_type.inspect}, issuer: #{@issuer.inspect}, recipient:"\
329
+ " #{@recipient.inspect}, attributes: #{@attributes.inspect}, error: #{@error.inspect},"\
330
+ " links: #{@links.inspect}, account_number: #{@account_number.inspect}, ltc_benefits:"\
331
+ " #{@ltc_benefits.inspect}, death_benefits: #{@death_benefits.inspect}, per_diem:"\
332
+ " #{@per_diem.inspect}, reimbursed_amount: #{@reimbursed_amount.inspect}, insured_id:"\
333
+ " #{@insured_id.inspect}, insured_name_address: #{@insured_name_address.inspect},"\
334
+ " qualified_contract: #{@qualified_contract.inspect}, chronically_ill:"\
335
+ " #{@chronically_ill.inspect}, terminally_ill: #{@terminally_ill.inspect}, date_certified:"\
336
+ " #{@date_certified.inspect}, additional_properties: #{@additional_properties}>"
337
+ end
338
+ end
339
+ end