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,196 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Boxes 15a-i, Intermediary or flow thru entity
8
+ class Form1042SAgent3 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Issuer or recipient Tax Identification Number. Usually EIN for issuer and
13
+ # SSN for recipient
14
+ # @return [String]
15
+ attr_accessor :tin
16
+
17
+ # Type of issuer or recipient legal entity, as "BUSINESS" or "INDIVIDUAL".
18
+ # Commonly BUSINESS for issuer and INDIVIDUAL for recipient
19
+ # @return [TaxPartyType2]
20
+ attr_accessor :party_type
21
+
22
+ # Individual issuer or recipient name
23
+ # @return [IndividualName]
24
+ attr_accessor :individual_name
25
+
26
+ # Business issuer or recipient name
27
+ # @return [BusinessName]
28
+ attr_accessor :business_name
29
+
30
+ # Issuer or recipient address
31
+ # @return [Address]
32
+ attr_accessor :address
33
+
34
+ # Issuer or recipient telephone number
35
+ # @return [TelephoneNumberPlusExtension]
36
+ attr_accessor :phone
37
+
38
+ # Issuer or recipient email address. (Additional information, not part of
39
+ # IRS forms)
40
+ # @return [String]
41
+ attr_accessor :email
42
+
43
+ # Ch. 3 status code,
44
+ # * Box 12b, Withholding Agent,
45
+ # * Box 13f, Recipient,
46
+ # * Box 15b, Intermediary or flow-through entity,
47
+ # * Box 16d, Payer
48
+ # @return [String]
49
+ attr_accessor :ch3_status_code
50
+
51
+ # Ch. 4 status code,
52
+ # * Box 12c, Withholding Agent,
53
+ # * Box 13g, Recipient,
54
+ # * Box 15c, Intermediary or flow-through entity,
55
+ # * Box 16e, Payer
56
+ # @return [String]
57
+ attr_accessor :ch4_status_code
58
+
59
+ # Agent's Global Intermediary Identification Number (GIIN),
60
+ # * Box 12e, Withholding Agent,
61
+ # * Box 13h, Recipient,
62
+ # * Box 15e, Intermediary or flow-through entity,
63
+ # * Box 16c, Payer
64
+ # @return [String]
65
+ attr_accessor :giin
66
+
67
+ # Foreign tax identification number, if any,
68
+ # * Box 12g, Withholding Agent,
69
+ # * Box 13i, Recipient,
70
+ # * Box 15g, Intermediary or flow-through entity
71
+ # @return [String]
72
+ attr_accessor :foreign_tin
73
+
74
+ # A mapping from model property names to API property names.
75
+ def self.names
76
+ @_hash = {} if @_hash.nil?
77
+ @_hash['tin'] = 'tin'
78
+ @_hash['party_type'] = 'partyType'
79
+ @_hash['individual_name'] = 'individualName'
80
+ @_hash['business_name'] = 'businessName'
81
+ @_hash['address'] = 'address'
82
+ @_hash['phone'] = 'phone'
83
+ @_hash['email'] = 'email'
84
+ @_hash['ch3_status_code'] = 'ch3StatusCode'
85
+ @_hash['ch4_status_code'] = 'ch4StatusCode'
86
+ @_hash['giin'] = 'giin'
87
+ @_hash['foreign_tin'] = 'foreignTin'
88
+ @_hash
89
+ end
90
+
91
+ # An array for optional fields
92
+ def self.optionals
93
+ %w[
94
+ tin
95
+ party_type
96
+ individual_name
97
+ business_name
98
+ address
99
+ phone
100
+ email
101
+ ch3_status_code
102
+ ch4_status_code
103
+ giin
104
+ foreign_tin
105
+ ]
106
+ end
107
+
108
+ # An array for nullable fields
109
+ def self.nullables
110
+ []
111
+ end
112
+
113
+ def initialize(tin: SKIP, party_type: SKIP, individual_name: SKIP,
114
+ business_name: SKIP, address: SKIP, phone: SKIP, email: SKIP,
115
+ ch3_status_code: SKIP, ch4_status_code: SKIP, giin: SKIP,
116
+ foreign_tin: SKIP, additional_properties: nil)
117
+ # Add additional model properties to the instance
118
+ additional_properties = {} if additional_properties.nil?
119
+
120
+ @tin = tin unless tin == SKIP
121
+ @party_type = party_type unless party_type == SKIP
122
+ @individual_name = individual_name unless individual_name == SKIP
123
+ @business_name = business_name unless business_name == SKIP
124
+ @address = address unless address == SKIP
125
+ @phone = phone unless phone == SKIP
126
+ @email = email unless email == SKIP
127
+ @ch3_status_code = ch3_status_code unless ch3_status_code == SKIP
128
+ @ch4_status_code = ch4_status_code unless ch4_status_code == SKIP
129
+ @giin = giin unless giin == SKIP
130
+ @foreign_tin = foreign_tin unless foreign_tin == SKIP
131
+ @additional_properties = additional_properties
132
+ end
133
+
134
+ # Creates an instance of the object from a hash.
135
+ def self.from_hash(hash)
136
+ return nil unless hash
137
+
138
+ # Extract variables from the hash.
139
+ tin = hash.key?('tin') ? hash['tin'] : SKIP
140
+ party_type = hash.key?('partyType') ? hash['partyType'] : SKIP
141
+ individual_name = IndividualName.from_hash(hash['individualName']) if hash['individualName']
142
+ business_name = BusinessName.from_hash(hash['businessName']) if hash['businessName']
143
+ address = Address.from_hash(hash['address']) if hash['address']
144
+ phone = TelephoneNumberPlusExtension.from_hash(hash['phone']) if hash['phone']
145
+ email = hash.key?('email') ? hash['email'] : SKIP
146
+ ch3_status_code =
147
+ hash.key?('ch3StatusCode') ? hash['ch3StatusCode'] : SKIP
148
+ ch4_status_code =
149
+ hash.key?('ch4StatusCode') ? hash['ch4StatusCode'] : SKIP
150
+ giin = hash.key?('giin') ? hash['giin'] : SKIP
151
+ foreign_tin = hash.key?('foreignTin') ? hash['foreignTin'] : SKIP
152
+
153
+ # Create a new hash for additional properties, removing known properties.
154
+ new_hash = hash.reject { |k, _| names.value?(k) }
155
+
156
+ additional_properties = APIHelper.get_additional_properties(
157
+ new_hash, proc { |value| value }
158
+ )
159
+
160
+ # Create object from extracted values.
161
+ Form1042SAgent3.new(tin: tin,
162
+ party_type: party_type,
163
+ individual_name: individual_name,
164
+ business_name: business_name,
165
+ address: address,
166
+ phone: phone,
167
+ email: email,
168
+ ch3_status_code: ch3_status_code,
169
+ ch4_status_code: ch4_status_code,
170
+ giin: giin,
171
+ foreign_tin: foreign_tin,
172
+ additional_properties: additional_properties)
173
+ end
174
+
175
+ # Provides a human-readable string representation of the object.
176
+ def to_s
177
+ class_name = self.class.name.split('::').last
178
+ "<#{class_name} tin: #{@tin}, party_type: #{@party_type}, individual_name:"\
179
+ " #{@individual_name}, business_name: #{@business_name}, address: #{@address}, phone:"\
180
+ " #{@phone}, email: #{@email}, ch3_status_code: #{@ch3_status_code}, ch4_status_code:"\
181
+ " #{@ch4_status_code}, giin: #{@giin}, foreign_tin: #{@foreign_tin}, additional_properties:"\
182
+ " #{@additional_properties}>"
183
+ end
184
+
185
+ # Provides a debugging-friendly string with detailed object information.
186
+ def inspect
187
+ class_name = self.class.name.split('::').last
188
+ "<#{class_name} tin: #{@tin.inspect}, party_type: #{@party_type.inspect}, individual_name:"\
189
+ " #{@individual_name.inspect}, business_name: #{@business_name.inspect}, address:"\
190
+ " #{@address.inspect}, phone: #{@phone.inspect}, email: #{@email.inspect}, ch3_status_code:"\
191
+ " #{@ch3_status_code.inspect}, ch4_status_code: #{@ch4_status_code.inspect}, giin:"\
192
+ " #{@giin.inspect}, foreign_tin: #{@foreign_tin.inspect}, additional_properties:"\
193
+ " #{@additional_properties}>"
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,196 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Boxes 16a-e, Payer
8
+ class Form1042SAgent4 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Issuer or recipient Tax Identification Number. Usually EIN for issuer and
13
+ # SSN for recipient
14
+ # @return [String]
15
+ attr_accessor :tin
16
+
17
+ # Type of issuer or recipient legal entity, as "BUSINESS" or "INDIVIDUAL".
18
+ # Commonly BUSINESS for issuer and INDIVIDUAL for recipient
19
+ # @return [TaxPartyType2]
20
+ attr_accessor :party_type
21
+
22
+ # Individual issuer or recipient name
23
+ # @return [IndividualName]
24
+ attr_accessor :individual_name
25
+
26
+ # Business issuer or recipient name
27
+ # @return [BusinessName]
28
+ attr_accessor :business_name
29
+
30
+ # Issuer or recipient address
31
+ # @return [Address]
32
+ attr_accessor :address
33
+
34
+ # Issuer or recipient telephone number
35
+ # @return [TelephoneNumberPlusExtension]
36
+ attr_accessor :phone
37
+
38
+ # Issuer or recipient email address. (Additional information, not part of
39
+ # IRS forms)
40
+ # @return [String]
41
+ attr_accessor :email
42
+
43
+ # Ch. 3 status code,
44
+ # * Box 12b, Withholding Agent,
45
+ # * Box 13f, Recipient,
46
+ # * Box 15b, Intermediary or flow-through entity,
47
+ # * Box 16d, Payer
48
+ # @return [String]
49
+ attr_accessor :ch3_status_code
50
+
51
+ # Ch. 4 status code,
52
+ # * Box 12c, Withholding Agent,
53
+ # * Box 13g, Recipient,
54
+ # * Box 15c, Intermediary or flow-through entity,
55
+ # * Box 16e, Payer
56
+ # @return [String]
57
+ attr_accessor :ch4_status_code
58
+
59
+ # Agent's Global Intermediary Identification Number (GIIN),
60
+ # * Box 12e, Withholding Agent,
61
+ # * Box 13h, Recipient,
62
+ # * Box 15e, Intermediary or flow-through entity,
63
+ # * Box 16c, Payer
64
+ # @return [String]
65
+ attr_accessor :giin
66
+
67
+ # Foreign tax identification number, if any,
68
+ # * Box 12g, Withholding Agent,
69
+ # * Box 13i, Recipient,
70
+ # * Box 15g, Intermediary or flow-through entity
71
+ # @return [String]
72
+ attr_accessor :foreign_tin
73
+
74
+ # A mapping from model property names to API property names.
75
+ def self.names
76
+ @_hash = {} if @_hash.nil?
77
+ @_hash['tin'] = 'tin'
78
+ @_hash['party_type'] = 'partyType'
79
+ @_hash['individual_name'] = 'individualName'
80
+ @_hash['business_name'] = 'businessName'
81
+ @_hash['address'] = 'address'
82
+ @_hash['phone'] = 'phone'
83
+ @_hash['email'] = 'email'
84
+ @_hash['ch3_status_code'] = 'ch3StatusCode'
85
+ @_hash['ch4_status_code'] = 'ch4StatusCode'
86
+ @_hash['giin'] = 'giin'
87
+ @_hash['foreign_tin'] = 'foreignTin'
88
+ @_hash
89
+ end
90
+
91
+ # An array for optional fields
92
+ def self.optionals
93
+ %w[
94
+ tin
95
+ party_type
96
+ individual_name
97
+ business_name
98
+ address
99
+ phone
100
+ email
101
+ ch3_status_code
102
+ ch4_status_code
103
+ giin
104
+ foreign_tin
105
+ ]
106
+ end
107
+
108
+ # An array for nullable fields
109
+ def self.nullables
110
+ []
111
+ end
112
+
113
+ def initialize(tin: SKIP, party_type: SKIP, individual_name: SKIP,
114
+ business_name: SKIP, address: SKIP, phone: SKIP, email: SKIP,
115
+ ch3_status_code: SKIP, ch4_status_code: SKIP, giin: SKIP,
116
+ foreign_tin: SKIP, additional_properties: nil)
117
+ # Add additional model properties to the instance
118
+ additional_properties = {} if additional_properties.nil?
119
+
120
+ @tin = tin unless tin == SKIP
121
+ @party_type = party_type unless party_type == SKIP
122
+ @individual_name = individual_name unless individual_name == SKIP
123
+ @business_name = business_name unless business_name == SKIP
124
+ @address = address unless address == SKIP
125
+ @phone = phone unless phone == SKIP
126
+ @email = email unless email == SKIP
127
+ @ch3_status_code = ch3_status_code unless ch3_status_code == SKIP
128
+ @ch4_status_code = ch4_status_code unless ch4_status_code == SKIP
129
+ @giin = giin unless giin == SKIP
130
+ @foreign_tin = foreign_tin unless foreign_tin == SKIP
131
+ @additional_properties = additional_properties
132
+ end
133
+
134
+ # Creates an instance of the object from a hash.
135
+ def self.from_hash(hash)
136
+ return nil unless hash
137
+
138
+ # Extract variables from the hash.
139
+ tin = hash.key?('tin') ? hash['tin'] : SKIP
140
+ party_type = hash.key?('partyType') ? hash['partyType'] : SKIP
141
+ individual_name = IndividualName.from_hash(hash['individualName']) if hash['individualName']
142
+ business_name = BusinessName.from_hash(hash['businessName']) if hash['businessName']
143
+ address = Address.from_hash(hash['address']) if hash['address']
144
+ phone = TelephoneNumberPlusExtension.from_hash(hash['phone']) if hash['phone']
145
+ email = hash.key?('email') ? hash['email'] : SKIP
146
+ ch3_status_code =
147
+ hash.key?('ch3StatusCode') ? hash['ch3StatusCode'] : SKIP
148
+ ch4_status_code =
149
+ hash.key?('ch4StatusCode') ? hash['ch4StatusCode'] : SKIP
150
+ giin = hash.key?('giin') ? hash['giin'] : SKIP
151
+ foreign_tin = hash.key?('foreignTin') ? hash['foreignTin'] : SKIP
152
+
153
+ # Create a new hash for additional properties, removing known properties.
154
+ new_hash = hash.reject { |k, _| names.value?(k) }
155
+
156
+ additional_properties = APIHelper.get_additional_properties(
157
+ new_hash, proc { |value| value }
158
+ )
159
+
160
+ # Create object from extracted values.
161
+ Form1042SAgent4.new(tin: tin,
162
+ party_type: party_type,
163
+ individual_name: individual_name,
164
+ business_name: business_name,
165
+ address: address,
166
+ phone: phone,
167
+ email: email,
168
+ ch3_status_code: ch3_status_code,
169
+ ch4_status_code: ch4_status_code,
170
+ giin: giin,
171
+ foreign_tin: foreign_tin,
172
+ additional_properties: additional_properties)
173
+ end
174
+
175
+ # Provides a human-readable string representation of the object.
176
+ def to_s
177
+ class_name = self.class.name.split('::').last
178
+ "<#{class_name} tin: #{@tin}, party_type: #{@party_type}, individual_name:"\
179
+ " #{@individual_name}, business_name: #{@business_name}, address: #{@address}, phone:"\
180
+ " #{@phone}, email: #{@email}, ch3_status_code: #{@ch3_status_code}, ch4_status_code:"\
181
+ " #{@ch4_status_code}, giin: #{@giin}, foreign_tin: #{@foreign_tin}, additional_properties:"\
182
+ " #{@additional_properties}>"
183
+ end
184
+
185
+ # Provides a debugging-friendly string with detailed object information.
186
+ def inspect
187
+ class_name = self.class.name.split('::').last
188
+ "<#{class_name} tin: #{@tin.inspect}, party_type: #{@party_type.inspect}, individual_name:"\
189
+ " #{@individual_name.inspect}, business_name: #{@business_name.inspect}, address:"\
190
+ " #{@address.inspect}, phone: #{@phone.inspect}, email: #{@email.inspect}, ch3_status_code:"\
191
+ " #{@ch3_status_code.inspect}, ch4_status_code: #{@ch4_status_code.inspect}, giin:"\
192
+ " #{@giin.inspect}, foreign_tin: #{@foreign_tin.inspect}, additional_properties:"\
193
+ " #{@additional_properties}>"
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,216 @@
1
+ # fdx_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module FdxApi
7
+ # Recipient for Form 1042-S, Boxes 13a-j, 13l
8
+ class Form1042SRecipient < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Issuer or recipient Tax Identification Number. Usually EIN for issuer and
13
+ # SSN for recipient
14
+ # @return [String]
15
+ attr_accessor :tin
16
+
17
+ # Type of issuer or recipient legal entity, as "BUSINESS" or "INDIVIDUAL".
18
+ # Commonly BUSINESS for issuer and INDIVIDUAL for recipient
19
+ # @return [TaxPartyType2]
20
+ attr_accessor :party_type
21
+
22
+ # Individual issuer or recipient name
23
+ # @return [IndividualName]
24
+ attr_accessor :individual_name
25
+
26
+ # Business issuer or recipient name
27
+ # @return [BusinessName]
28
+ attr_accessor :business_name
29
+
30
+ # Issuer or recipient address
31
+ # @return [Address]
32
+ attr_accessor :address
33
+
34
+ # Issuer or recipient telephone number
35
+ # @return [TelephoneNumberPlusExtension]
36
+ attr_accessor :phone
37
+
38
+ # Issuer or recipient email address. (Additional information, not part of
39
+ # IRS forms)
40
+ # @return [String]
41
+ attr_accessor :email
42
+
43
+ # Ch. 3 status code,
44
+ # * Box 12b, Withholding Agent,
45
+ # * Box 13f, Recipient,
46
+ # * Box 15b, Intermediary or flow-through entity,
47
+ # * Box 16d, Payer
48
+ # @return [String]
49
+ attr_accessor :ch3_status_code
50
+
51
+ # Ch. 4 status code,
52
+ # * Box 12c, Withholding Agent,
53
+ # * Box 13g, Recipient,
54
+ # * Box 15c, Intermediary or flow-through entity,
55
+ # * Box 16e, Payer
56
+ # @return [String]
57
+ attr_accessor :ch4_status_code
58
+
59
+ # Agent's Global Intermediary Identification Number (GIIN),
60
+ # * Box 12e, Withholding Agent,
61
+ # * Box 13h, Recipient,
62
+ # * Box 15e, Intermediary or flow-through entity,
63
+ # * Box 16c, Payer
64
+ # @return [String]
65
+ attr_accessor :giin
66
+
67
+ # Foreign tax identification number, if any,
68
+ # * Box 12g, Withholding Agent,
69
+ # * Box 13i, Recipient,
70
+ # * Box 15g, Intermediary or flow-through entity
71
+ # @return [String]
72
+ attr_accessor :foreign_tin
73
+
74
+ # Box 13j, Recipient's LOB code, if any
75
+ # @return [String]
76
+ attr_accessor :lob_code
77
+
78
+ # Box 13l, Recipient's date of birth
79
+ # @return [Date]
80
+ attr_accessor :date_of_birth
81
+
82
+ # A mapping from model property names to API property names.
83
+ def self.names
84
+ @_hash = {} if @_hash.nil?
85
+ @_hash['tin'] = 'tin'
86
+ @_hash['party_type'] = 'partyType'
87
+ @_hash['individual_name'] = 'individualName'
88
+ @_hash['business_name'] = 'businessName'
89
+ @_hash['address'] = 'address'
90
+ @_hash['phone'] = 'phone'
91
+ @_hash['email'] = 'email'
92
+ @_hash['ch3_status_code'] = 'ch3StatusCode'
93
+ @_hash['ch4_status_code'] = 'ch4StatusCode'
94
+ @_hash['giin'] = 'giin'
95
+ @_hash['foreign_tin'] = 'foreignTin'
96
+ @_hash['lob_code'] = 'lobCode'
97
+ @_hash['date_of_birth'] = 'dateOfBirth'
98
+ @_hash
99
+ end
100
+
101
+ # An array for optional fields
102
+ def self.optionals
103
+ %w[
104
+ tin
105
+ party_type
106
+ individual_name
107
+ business_name
108
+ address
109
+ phone
110
+ email
111
+ ch3_status_code
112
+ ch4_status_code
113
+ giin
114
+ foreign_tin
115
+ lob_code
116
+ date_of_birth
117
+ ]
118
+ end
119
+
120
+ # An array for nullable fields
121
+ def self.nullables
122
+ []
123
+ end
124
+
125
+ def initialize(tin: SKIP, party_type: SKIP, individual_name: SKIP,
126
+ business_name: SKIP, address: SKIP, phone: SKIP, email: SKIP,
127
+ ch3_status_code: SKIP, ch4_status_code: SKIP, giin: SKIP,
128
+ foreign_tin: SKIP, lob_code: SKIP, date_of_birth: SKIP,
129
+ additional_properties: nil)
130
+ # Add additional model properties to the instance
131
+ additional_properties = {} if additional_properties.nil?
132
+
133
+ @tin = tin unless tin == SKIP
134
+ @party_type = party_type unless party_type == SKIP
135
+ @individual_name = individual_name unless individual_name == SKIP
136
+ @business_name = business_name unless business_name == SKIP
137
+ @address = address unless address == SKIP
138
+ @phone = phone unless phone == SKIP
139
+ @email = email unless email == SKIP
140
+ @ch3_status_code = ch3_status_code unless ch3_status_code == SKIP
141
+ @ch4_status_code = ch4_status_code unless ch4_status_code == SKIP
142
+ @giin = giin unless giin == SKIP
143
+ @foreign_tin = foreign_tin unless foreign_tin == SKIP
144
+ @lob_code = lob_code unless lob_code == SKIP
145
+ @date_of_birth = date_of_birth unless date_of_birth == SKIP
146
+ @additional_properties = additional_properties
147
+ end
148
+
149
+ # Creates an instance of the object from a hash.
150
+ def self.from_hash(hash)
151
+ return nil unless hash
152
+
153
+ # Extract variables from the hash.
154
+ tin = hash.key?('tin') ? hash['tin'] : SKIP
155
+ party_type = hash.key?('partyType') ? hash['partyType'] : SKIP
156
+ individual_name = IndividualName.from_hash(hash['individualName']) if hash['individualName']
157
+ business_name = BusinessName.from_hash(hash['businessName']) if hash['businessName']
158
+ address = Address.from_hash(hash['address']) if hash['address']
159
+ phone = TelephoneNumberPlusExtension.from_hash(hash['phone']) if hash['phone']
160
+ email = hash.key?('email') ? hash['email'] : SKIP
161
+ ch3_status_code =
162
+ hash.key?('ch3StatusCode') ? hash['ch3StatusCode'] : SKIP
163
+ ch4_status_code =
164
+ hash.key?('ch4StatusCode') ? hash['ch4StatusCode'] : SKIP
165
+ giin = hash.key?('giin') ? hash['giin'] : SKIP
166
+ foreign_tin = hash.key?('foreignTin') ? hash['foreignTin'] : SKIP
167
+ lob_code = hash.key?('lobCode') ? hash['lobCode'] : SKIP
168
+ date_of_birth = hash.key?('dateOfBirth') ? hash['dateOfBirth'] : SKIP
169
+
170
+ # Create a new hash for additional properties, removing known properties.
171
+ new_hash = hash.reject { |k, _| names.value?(k) }
172
+
173
+ additional_properties = APIHelper.get_additional_properties(
174
+ new_hash, proc { |value| value }
175
+ )
176
+
177
+ # Create object from extracted values.
178
+ Form1042SRecipient.new(tin: tin,
179
+ party_type: party_type,
180
+ individual_name: individual_name,
181
+ business_name: business_name,
182
+ address: address,
183
+ phone: phone,
184
+ email: email,
185
+ ch3_status_code: ch3_status_code,
186
+ ch4_status_code: ch4_status_code,
187
+ giin: giin,
188
+ foreign_tin: foreign_tin,
189
+ lob_code: lob_code,
190
+ date_of_birth: date_of_birth,
191
+ additional_properties: additional_properties)
192
+ end
193
+
194
+ # Provides a human-readable string representation of the object.
195
+ def to_s
196
+ class_name = self.class.name.split('::').last
197
+ "<#{class_name} tin: #{@tin}, party_type: #{@party_type}, individual_name:"\
198
+ " #{@individual_name}, business_name: #{@business_name}, address: #{@address}, phone:"\
199
+ " #{@phone}, email: #{@email}, ch3_status_code: #{@ch3_status_code}, ch4_status_code:"\
200
+ " #{@ch4_status_code}, giin: #{@giin}, foreign_tin: #{@foreign_tin}, lob_code: #{@lob_code},"\
201
+ " date_of_birth: #{@date_of_birth}, additional_properties: #{@additional_properties}>"
202
+ end
203
+
204
+ # Provides a debugging-friendly string with detailed object information.
205
+ def inspect
206
+ class_name = self.class.name.split('::').last
207
+ "<#{class_name} tin: #{@tin.inspect}, party_type: #{@party_type.inspect}, individual_name:"\
208
+ " #{@individual_name.inspect}, business_name: #{@business_name.inspect}, address:"\
209
+ " #{@address.inspect}, phone: #{@phone.inspect}, email: #{@email.inspect}, ch3_status_code:"\
210
+ " #{@ch3_status_code.inspect}, ch4_status_code: #{@ch4_status_code.inspect}, giin:"\
211
+ " #{@giin.inspect}, foreign_tin: #{@foreign_tin.inspect}, lob_code: #{@lob_code.inspect},"\
212
+ " date_of_birth: #{@date_of_birth.inspect}, additional_properties:"\
213
+ " #{@additional_properties}>"
214
+ end
215
+ end
216
+ end