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