modern_treasury 0.0.0 → 0.1.0.pre.alpha.15

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 (827) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +125 -0
  3. data/lib/modern_treasury/base_client.rb +475 -0
  4. data/lib/modern_treasury/base_model.rb +1191 -0
  5. data/lib/modern_treasury/base_page.rb +40 -0
  6. data/lib/modern_treasury/client.rb +236 -0
  7. data/lib/modern_treasury/errors.rb +187 -0
  8. data/lib/modern_treasury/extern.rb +10 -0
  9. data/lib/modern_treasury/models/account_collection_flow.rb +244 -0
  10. data/lib/modern_treasury/models/account_collection_flow_create_params.rb +91 -0
  11. data/lib/modern_treasury/models/account_collection_flow_list_params.rb +85 -0
  12. data/lib/modern_treasury/models/account_collection_flow_retrieve_params.rb +18 -0
  13. data/lib/modern_treasury/models/account_collection_flow_update_params.rb +49 -0
  14. data/lib/modern_treasury/models/account_detail.rb +132 -0
  15. data/lib/modern_treasury/models/account_detail_create_params.rb +106 -0
  16. data/lib/modern_treasury/models/account_detail_delete_params.rb +50 -0
  17. data/lib/modern_treasury/models/account_detail_list_params.rb +40 -0
  18. data/lib/modern_treasury/models/account_detail_retrieve_params.rb +30 -0
  19. data/lib/modern_treasury/models/accounts_type.rb +28 -0
  20. data/lib/modern_treasury/models/async_response.rb +25 -0
  21. data/lib/modern_treasury/models/bank_settings.rb +97 -0
  22. data/lib/modern_treasury/models/bulk_request.rb +200 -0
  23. data/lib/modern_treasury/models/bulk_request_create_params.rb +4666 -0
  24. data/lib/modern_treasury/models/bulk_request_list_params.rb +178 -0
  25. data/lib/modern_treasury/models/bulk_request_retrieve_params.rb +18 -0
  26. data/lib/modern_treasury/models/bulk_result.rb +323 -0
  27. data/lib/modern_treasury/models/bulk_result_list_params.rb +190 -0
  28. data/lib/modern_treasury/models/bulk_result_retrieve_params.rb +18 -0
  29. data/lib/modern_treasury/models/client_ping_params.rb +18 -0
  30. data/lib/modern_treasury/models/connection.rb +85 -0
  31. data/lib/modern_treasury/models/connection_legal_entity.rb +124 -0
  32. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +1191 -0
  33. data/lib/modern_treasury/models/connection_legal_entity_list_params.rb +103 -0
  34. data/lib/modern_treasury/models/connection_legal_entity_retrieve_params.rb +18 -0
  35. data/lib/modern_treasury/models/connection_legal_entity_update_params.rb +51 -0
  36. data/lib/modern_treasury/models/connection_list_params.rb +56 -0
  37. data/lib/modern_treasury/models/counterparty.rb +623 -0
  38. data/lib/modern_treasury/models/counterparty_collect_account_params.rb +128 -0
  39. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +38 -0
  40. data/lib/modern_treasury/models/counterparty_create_params.rb +2033 -0
  41. data/lib/modern_treasury/models/counterparty_delete_params.rb +18 -0
  42. data/lib/modern_treasury/models/counterparty_list_params.rb +117 -0
  43. data/lib/modern_treasury/models/counterparty_retrieve_params.rb +18 -0
  44. data/lib/modern_treasury/models/counterparty_update_params.rb +93 -0
  45. data/lib/modern_treasury/models/currency.rb +225 -0
  46. data/lib/modern_treasury/models/document.rb +266 -0
  47. data/lib/modern_treasury/models/document_create_params.rb +89 -0
  48. data/lib/modern_treasury/models/document_list_params.rb +103 -0
  49. data/lib/modern_treasury/models/document_retrieve_params.rb +18 -0
  50. data/lib/modern_treasury/models/event.rb +94 -0
  51. data/lib/modern_treasury/models/event_list_params.rb +98 -0
  52. data/lib/modern_treasury/models/event_retrieve_params.rb +18 -0
  53. data/lib/modern_treasury/models/expected_payment.rb +322 -0
  54. data/lib/modern_treasury/models/expected_payment_create_params.rb +580 -0
  55. data/lib/modern_treasury/models/expected_payment_delete_params.rb +18 -0
  56. data/lib/modern_treasury/models/expected_payment_list_params.rb +233 -0
  57. data/lib/modern_treasury/models/expected_payment_retrieve_params.rb +18 -0
  58. data/lib/modern_treasury/models/expected_payment_type.rb +67 -0
  59. data/lib/modern_treasury/models/expected_payment_update_params.rb +227 -0
  60. data/lib/modern_treasury/models/external_account.rb +436 -0
  61. data/lib/modern_treasury/models/external_account_complete_verification_params.rb +28 -0
  62. data/lib/modern_treasury/models/external_account_create_params.rb +662 -0
  63. data/lib/modern_treasury/models/external_account_delete_params.rb +18 -0
  64. data/lib/modern_treasury/models/external_account_list_params.rb +78 -0
  65. data/lib/modern_treasury/models/external_account_retrieve_params.rb +18 -0
  66. data/lib/modern_treasury/models/external_account_type.rb +44 -0
  67. data/lib/modern_treasury/models/external_account_update_params.rb +170 -0
  68. data/lib/modern_treasury/models/external_account_verify_params.rb +190 -0
  69. data/lib/modern_treasury/models/external_account_verify_response.rb +236 -0
  70. data/lib/modern_treasury/models/foreign_exchange_quote.rb +180 -0
  71. data/lib/modern_treasury/models/foreign_exchange_quote_create_params.rb +89 -0
  72. data/lib/modern_treasury/models/foreign_exchange_quote_list_params.rb +127 -0
  73. data/lib/modern_treasury/models/foreign_exchange_quote_retrieve_params.rb +18 -0
  74. data/lib/modern_treasury/models/incoming_payment_detail.rb +390 -0
  75. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +171 -0
  76. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +202 -0
  77. data/lib/modern_treasury/models/incoming_payment_detail_retrieve_params.rb +18 -0
  78. data/lib/modern_treasury/models/incoming_payment_detail_update_params.rb +30 -0
  79. data/lib/modern_treasury/models/internal_account.rb +329 -0
  80. data/lib/modern_treasury/models/internal_account_create_params.rb +197 -0
  81. data/lib/modern_treasury/models/internal_account_list_params.rb +176 -0
  82. data/lib/modern_treasury/models/internal_account_retrieve_params.rb +18 -0
  83. data/lib/modern_treasury/models/internal_account_update_params.rb +84 -0
  84. data/lib/modern_treasury/models/internal_accounts/balance_report.rb +294 -0
  85. data/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rb +169 -0
  86. data/lib/modern_treasury/models/internal_accounts/balance_report_delete_params.rb +26 -0
  87. data/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rb +92 -0
  88. data/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rb +26 -0
  89. data/lib/modern_treasury/models/invoice.rb +679 -0
  90. data/lib/modern_treasury/models/invoice_add_payment_order_params.rb +24 -0
  91. data/lib/modern_treasury/models/invoice_create_params.rb +674 -0
  92. data/lib/modern_treasury/models/invoice_list_params.rb +181 -0
  93. data/lib/modern_treasury/models/invoice_retrieve_params.rb +18 -0
  94. data/lib/modern_treasury/models/invoice_update_params.rb +690 -0
  95. data/lib/modern_treasury/models/invoices/invoice_line_item.rb +130 -0
  96. data/lib/modern_treasury/models/invoices/line_item_create_params.rb +108 -0
  97. data/lib/modern_treasury/models/invoices/line_item_delete_params.rb +26 -0
  98. data/lib/modern_treasury/models/invoices/line_item_list_params.rb +36 -0
  99. data/lib/modern_treasury/models/invoices/line_item_retrieve_params.rb +26 -0
  100. data/lib/modern_treasury/models/invoices/line_item_update_params.rb +123 -0
  101. data/lib/modern_treasury/models/ledger.rb +73 -0
  102. data/lib/modern_treasury/models/ledger_account.rb +366 -0
  103. data/lib/modern_treasury/models/ledger_account_balance_monitor.rb +337 -0
  104. data/lib/modern_treasury/models/ledger_account_balance_monitor_create_params.rb +92 -0
  105. data/lib/modern_treasury/models/ledger_account_balance_monitor_delete_params.rb +18 -0
  106. data/lib/modern_treasury/models/ledger_account_balance_monitor_list_params.rb +70 -0
  107. data/lib/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rb +18 -0
  108. data/lib/modern_treasury/models/ledger_account_balance_monitor_update_params.rb +41 -0
  109. data/lib/modern_treasury/models/ledger_account_category.rb +282 -0
  110. data/lib/modern_treasury/models/ledger_account_category_add_ledger_account_params.rb +24 -0
  111. data/lib/modern_treasury/models/ledger_account_category_add_nested_category_params.rb +24 -0
  112. data/lib/modern_treasury/models/ledger_account_category_create_params.rb +97 -0
  113. data/lib/modern_treasury/models/ledger_account_category_delete_params.rb +18 -0
  114. data/lib/modern_treasury/models/ledger_account_category_list_params.rb +162 -0
  115. data/lib/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rb +24 -0
  116. data/lib/modern_treasury/models/ledger_account_category_remove_nested_category_params.rb +24 -0
  117. data/lib/modern_treasury/models/ledger_account_category_retrieve_params.rb +63 -0
  118. data/lib/modern_treasury/models/ledger_account_category_update_params.rb +48 -0
  119. data/lib/modern_treasury/models/ledger_account_create_params.rb +157 -0
  120. data/lib/modern_treasury/models/ledger_account_delete_params.rb +18 -0
  121. data/lib/modern_treasury/models/ledger_account_list_params.rb +467 -0
  122. data/lib/modern_treasury/models/ledger_account_retrieve_params.rb +108 -0
  123. data/lib/modern_treasury/models/ledger_account_settlement.rb +194 -0
  124. data/lib/modern_treasury/models/ledger_account_settlement_create_params.rb +128 -0
  125. data/lib/modern_treasury/models/ledger_account_settlement_list_params.rb +140 -0
  126. data/lib/modern_treasury/models/ledger_account_settlement_retrieve_params.rb +18 -0
  127. data/lib/modern_treasury/models/ledger_account_settlement_update_params.rb +75 -0
  128. data/lib/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rb +28 -0
  129. data/lib/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rb +28 -0
  130. data/lib/modern_treasury/models/ledger_account_statement_create_params.rb +71 -0
  131. data/lib/modern_treasury/models/ledger_account_statement_create_response.rb +488 -0
  132. data/lib/modern_treasury/models/ledger_account_statement_retrieve_params.rb +18 -0
  133. data/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rb +488 -0
  134. data/lib/modern_treasury/models/ledger_account_update_params.rb +48 -0
  135. data/lib/modern_treasury/models/ledger_create_params.rb +44 -0
  136. data/lib/modern_treasury/models/ledger_delete_params.rb +18 -0
  137. data/lib/modern_treasury/models/ledger_entry.rb +359 -0
  138. data/lib/modern_treasury/models/ledger_entry_list_params.rb +380 -0
  139. data/lib/modern_treasury/models/ledger_entry_retrieve_params.rb +30 -0
  140. data/lib/modern_treasury/models/ledger_entry_update_params.rb +30 -0
  141. data/lib/modern_treasury/models/ledger_event_handler.rb +214 -0
  142. data/lib/modern_treasury/models/ledger_event_handler_create_params.rb +182 -0
  143. data/lib/modern_treasury/models/ledger_event_handler_delete_params.rb +18 -0
  144. data/lib/modern_treasury/models/ledger_event_handler_list_params.rb +70 -0
  145. data/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rb +18 -0
  146. data/lib/modern_treasury/models/ledger_event_handler_variable.rb +56 -0
  147. data/lib/modern_treasury/models/ledger_list_params.rb +72 -0
  148. data/lib/modern_treasury/models/ledger_retrieve_params.rb +18 -0
  149. data/lib/modern_treasury/models/ledger_transaction.rb +245 -0
  150. data/lib/modern_treasury/models/ledger_transaction_create_params.rb +304 -0
  151. data/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rb +138 -0
  152. data/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rb +178 -0
  153. data/lib/modern_treasury/models/ledger_transaction_list_params.rb +389 -0
  154. data/lib/modern_treasury/models/ledger_transaction_retrieve_params.rb +18 -0
  155. data/lib/modern_treasury/models/ledger_transaction_update_params.rb +282 -0
  156. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +600 -0
  157. data/lib/modern_treasury/models/ledger_transactions/version_list_params.rb +96 -0
  158. data/lib/modern_treasury/models/ledger_update_params.rb +48 -0
  159. data/lib/modern_treasury/models/ledgerable_event.rb +95 -0
  160. data/lib/modern_treasury/models/ledgerable_event_create_params.rb +51 -0
  161. data/lib/modern_treasury/models/ledgerable_event_retrieve_params.rb +18 -0
  162. data/lib/modern_treasury/models/legal_entity.rb +624 -0
  163. data/lib/modern_treasury/models/legal_entity_association.rb +746 -0
  164. data/lib/modern_treasury/models/legal_entity_association_create_params.rb +620 -0
  165. data/lib/modern_treasury/models/legal_entity_create_params.rb +1131 -0
  166. data/lib/modern_treasury/models/legal_entity_list_params.rb +100 -0
  167. data/lib/modern_treasury/models/legal_entity_retrieve_params.rb +18 -0
  168. data/lib/modern_treasury/models/legal_entity_update_params.rb +484 -0
  169. data/lib/modern_treasury/models/line_item.rb +172 -0
  170. data/lib/modern_treasury/models/line_item_list_params.rb +63 -0
  171. data/lib/modern_treasury/models/line_item_retrieve_params.rb +53 -0
  172. data/lib/modern_treasury/models/line_item_update_params.rb +65 -0
  173. data/lib/modern_treasury/models/paper_item.rb +188 -0
  174. data/lib/modern_treasury/models/paper_item_list_params.rb +78 -0
  175. data/lib/modern_treasury/models/paper_item_retrieve_params.rb +18 -0
  176. data/lib/modern_treasury/models/payment_flow.rb +339 -0
  177. data/lib/modern_treasury/models/payment_flow_create_params.rb +106 -0
  178. data/lib/modern_treasury/models/payment_flow_list_params.rb +107 -0
  179. data/lib/modern_treasury/models/payment_flow_retrieve_params.rb +18 -0
  180. data/lib/modern_treasury/models/payment_flow_update_params.rb +49 -0
  181. data/lib/modern_treasury/models/payment_order.rb +933 -0
  182. data/lib/modern_treasury/models/payment_order_create_async_params.rb +1566 -0
  183. data/lib/modern_treasury/models/payment_order_create_params.rb +1657 -0
  184. data/lib/modern_treasury/models/payment_order_list_params.rb +346 -0
  185. data/lib/modern_treasury/models/payment_order_retrieve_params.rb +18 -0
  186. data/lib/modern_treasury/models/payment_order_subtype.rb +68 -0
  187. data/lib/modern_treasury/models/payment_order_type.rb +68 -0
  188. data/lib/modern_treasury/models/payment_order_update_params.rb +1312 -0
  189. data/lib/modern_treasury/models/payment_orders/reversal.rb +175 -0
  190. data/lib/modern_treasury/models/payment_orders/reversal_create_params.rb +389 -0
  191. data/lib/modern_treasury/models/payment_orders/reversal_list_params.rb +36 -0
  192. data/lib/modern_treasury/models/payment_orders/reversal_retrieve_params.rb +26 -0
  193. data/lib/modern_treasury/models/payment_reference.rb +220 -0
  194. data/lib/modern_treasury/models/payment_reference_list_params.rb +109 -0
  195. data/lib/modern_treasury/models/payment_reference_retireve_params.rb +18 -0
  196. data/lib/modern_treasury/models/payment_reference_retrieve_params.rb +18 -0
  197. data/lib/modern_treasury/models/ping_response.rb +19 -0
  198. data/lib/modern_treasury/models/reconciliation_rule.rb +193 -0
  199. data/lib/modern_treasury/models/return_create_params.rb +182 -0
  200. data/lib/modern_treasury/models/return_list_params.rb +127 -0
  201. data/lib/modern_treasury/models/return_object.rb +588 -0
  202. data/lib/modern_treasury/models/return_retrieve_params.rb +18 -0
  203. data/lib/modern_treasury/models/routing_detail.rb +314 -0
  204. data/lib/modern_treasury/models/routing_detail_create_params.rb +187 -0
  205. data/lib/modern_treasury/models/routing_detail_delete_params.rb +50 -0
  206. data/lib/modern_treasury/models/routing_detail_list_params.rb +40 -0
  207. data/lib/modern_treasury/models/routing_detail_retrieve_params.rb +30 -0
  208. data/lib/modern_treasury/models/routing_number_lookup_request.rb +248 -0
  209. data/lib/modern_treasury/models/transaction.rb +421 -0
  210. data/lib/modern_treasury/models/transaction_create_params.rb +182 -0
  211. data/lib/modern_treasury/models/transaction_delete_params.rb +18 -0
  212. data/lib/modern_treasury/models/transaction_direction.rb +28 -0
  213. data/lib/modern_treasury/models/transaction_list_params.rb +186 -0
  214. data/lib/modern_treasury/models/transaction_retrieve_params.rb +18 -0
  215. data/lib/modern_treasury/models/transaction_update_params.rb +30 -0
  216. data/lib/modern_treasury/models/transactions/line_item_create_params.rb +42 -0
  217. data/lib/modern_treasury/models/transactions/line_item_delete_params.rb +20 -0
  218. data/lib/modern_treasury/models/transactions/line_item_list_params.rb +85 -0
  219. data/lib/modern_treasury/models/transactions/line_item_retrieve_params.rb +20 -0
  220. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +212 -0
  221. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +91 -0
  222. data/lib/modern_treasury/models/virtual_account.rb +148 -0
  223. data/lib/modern_treasury/models/virtual_account_create_params.rb +516 -0
  224. data/lib/modern_treasury/models/virtual_account_delete_params.rb +18 -0
  225. data/lib/modern_treasury/models/virtual_account_list_params.rb +77 -0
  226. data/lib/modern_treasury/models/virtual_account_retrieve_params.rb +18 -0
  227. data/lib/modern_treasury/models/virtual_account_update_params.rb +55 -0
  228. data/lib/modern_treasury/models/wealth_and_employment_details.rb +436 -0
  229. data/lib/modern_treasury/page.rb +94 -0
  230. data/lib/modern_treasury/pooled_net_requester.rb +163 -0
  231. data/lib/modern_treasury/request_options.rb +115 -0
  232. data/lib/modern_treasury/resources/account_collection_flows.rb +113 -0
  233. data/lib/modern_treasury/resources/account_details.rb +135 -0
  234. data/lib/modern_treasury/resources/bulk_requests.rb +95 -0
  235. data/lib/modern_treasury/resources/bulk_results.rb +69 -0
  236. data/lib/modern_treasury/resources/connection_legal_entities.rb +110 -0
  237. data/lib/modern_treasury/resources/connections.rb +41 -0
  238. data/lib/modern_treasury/resources/counterparties.rb +210 -0
  239. data/lib/modern_treasury/resources/documents.rb +90 -0
  240. data/lib/modern_treasury/resources/events.rb +66 -0
  241. data/lib/modern_treasury/resources/expected_payments.rb +233 -0
  242. data/lib/modern_treasury/resources/external_accounts.rb +230 -0
  243. data/lib/modern_treasury/resources/foreign_exchange_quotes.rb +105 -0
  244. data/lib/modern_treasury/resources/incoming_payment_details.rb +138 -0
  245. data/lib/modern_treasury/resources/internal_accounts/balance_reports.rb +128 -0
  246. data/lib/modern_treasury/resources/internal_accounts.rb +145 -0
  247. data/lib/modern_treasury/resources/invoices/line_items.rb +180 -0
  248. data/lib/modern_treasury/resources/invoices.rb +291 -0
  249. data/lib/modern_treasury/resources/ledger_account_balance_monitors.rb +138 -0
  250. data/lib/modern_treasury/resources/ledger_account_categories.rb +268 -0
  251. data/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rb +63 -0
  252. data/lib/modern_treasury/resources/ledger_account_settlements.rb +156 -0
  253. data/lib/modern_treasury/resources/ledger_account_statements.rb +65 -0
  254. data/lib/modern_treasury/resources/ledger_accounts.rb +195 -0
  255. data/lib/modern_treasury/resources/ledger_entries.rb +141 -0
  256. data/lib/modern_treasury/resources/ledger_event_handlers.rb +119 -0
  257. data/lib/modern_treasury/resources/ledger_transactions/versions.rb +52 -0
  258. data/lib/modern_treasury/resources/ledger_transactions.rb +269 -0
  259. data/lib/modern_treasury/resources/ledgerable_events.rb +60 -0
  260. data/lib/modern_treasury/resources/ledgers.rb +140 -0
  261. data/lib/modern_treasury/resources/legal_entities.rb +198 -0
  262. data/lib/modern_treasury/resources/legal_entity_associations.rb +45 -0
  263. data/lib/modern_treasury/resources/line_items.rb +108 -0
  264. data/lib/modern_treasury/resources/paper_items.rb +63 -0
  265. data/lib/modern_treasury/resources/payment_flows.rb +128 -0
  266. data/lib/modern_treasury/resources/payment_orders/reversals.rb +98 -0
  267. data/lib/modern_treasury/resources/payment_orders.rb +523 -0
  268. data/lib/modern_treasury/resources/payment_references.rb +85 -0
  269. data/lib/modern_treasury/resources/returns.rb +102 -0
  270. data/lib/modern_treasury/resources/routing_details.rb +139 -0
  271. data/lib/modern_treasury/resources/transactions/line_items.rb +109 -0
  272. data/lib/modern_treasury/resources/transactions.rb +180 -0
  273. data/lib/modern_treasury/resources/validations.rb +40 -0
  274. data/lib/modern_treasury/resources/virtual_accounts.rb +158 -0
  275. data/lib/modern_treasury/util.rb +468 -0
  276. data/lib/modern_treasury/version.rb +5 -0
  277. data/lib/modern_treasury.rb +293 -0
  278. data/manifest.yaml +12 -0
  279. data/rbi/lib/modern_treasury/base_client.rbi +161 -0
  280. data/rbi/lib/modern_treasury/base_model.rbi +480 -0
  281. data/rbi/lib/modern_treasury/base_page.rbi +39 -0
  282. data/rbi/lib/modern_treasury/client.rbi +198 -0
  283. data/rbi/lib/modern_treasury/errors.rbi +145 -0
  284. data/rbi/lib/modern_treasury/extern.rbi +7 -0
  285. data/rbi/lib/modern_treasury/models/account_collection_flow.rbi +198 -0
  286. data/rbi/lib/modern_treasury/models/account_collection_flow_create_params.rbi +87 -0
  287. data/rbi/lib/modern_treasury/models/account_collection_flow_list_params.rbi +98 -0
  288. data/rbi/lib/modern_treasury/models/account_collection_flow_retrieve_params.rbi +18 -0
  289. data/rbi/lib/modern_treasury/models/account_collection_flow_update_params.rbi +42 -0
  290. data/rbi/lib/modern_treasury/models/account_detail.rbi +144 -0
  291. data/rbi/lib/modern_treasury/models/account_detail_create_params.rbi +89 -0
  292. data/rbi/lib/modern_treasury/models/account_detail_delete_params.rbi +58 -0
  293. data/rbi/lib/modern_treasury/models/account_detail_list_params.rbi +60 -0
  294. data/rbi/lib/modern_treasury/models/account_detail_retrieve_params.rbi +48 -0
  295. data/rbi/lib/modern_treasury/models/accounts_type.rbi +16 -0
  296. data/rbi/lib/modern_treasury/models/async_response.rbi +31 -0
  297. data/rbi/lib/modern_treasury/models/bank_settings.rbi +136 -0
  298. data/rbi/lib/modern_treasury/models/bulk_request.rbi +195 -0
  299. data/rbi/lib/modern_treasury/models/bulk_request_create_params.rbi +4685 -0
  300. data/rbi/lib/modern_treasury/models/bulk_request_list_params.rbi +135 -0
  301. data/rbi/lib/modern_treasury/models/bulk_request_retrieve_params.rbi +18 -0
  302. data/rbi/lib/modern_treasury/models/bulk_result.rbi +365 -0
  303. data/rbi/lib/modern_treasury/models/bulk_result_list_params.rbi +145 -0
  304. data/rbi/lib/modern_treasury/models/bulk_result_retrieve_params.rbi +18 -0
  305. data/rbi/lib/modern_treasury/models/client_ping_params.rbi +18 -0
  306. data/rbi/lib/modern_treasury/models/connection.rbi +125 -0
  307. data/rbi/lib/modern_treasury/models/connection_legal_entity.rbi +149 -0
  308. data/rbi/lib/modern_treasury/models/connection_legal_entity_create_params.rbi +1307 -0
  309. data/rbi/lib/modern_treasury/models/connection_legal_entity_list_params.rbi +100 -0
  310. data/rbi/lib/modern_treasury/models/connection_legal_entity_retrieve_params.rbi +18 -0
  311. data/rbi/lib/modern_treasury/models/connection_legal_entity_update_params.rbi +42 -0
  312. data/rbi/lib/modern_treasury/models/connection_list_params.rbi +76 -0
  313. data/rbi/lib/modern_treasury/models/counterparty.rbi +714 -0
  314. data/rbi/lib/modern_treasury/models/counterparty_collect_account_params.rbi +108 -0
  315. data/rbi/lib/modern_treasury/models/counterparty_collect_account_response.rbi +39 -0
  316. data/rbi/lib/modern_treasury/models/counterparty_create_params.rbi +2028 -0
  317. data/rbi/lib/modern_treasury/models/counterparty_delete_params.rbi +18 -0
  318. data/rbi/lib/modern_treasury/models/counterparty_list_params.rbi +120 -0
  319. data/rbi/lib/modern_treasury/models/counterparty_retrieve_params.rbi +18 -0
  320. data/rbi/lib/modern_treasury/models/counterparty_update_params.rbi +98 -0
  321. data/rbi/lib/modern_treasury/models/currency.rbi +203 -0
  322. data/rbi/lib/modern_treasury/models/document.rbi +325 -0
  323. data/rbi/lib/modern_treasury/models/document_create_params.rbi +91 -0
  324. data/rbi/lib/modern_treasury/models/document_list_params.rbi +97 -0
  325. data/rbi/lib/modern_treasury/models/document_retrieve_params.rbi +18 -0
  326. data/rbi/lib/modern_treasury/models/event.rbi +136 -0
  327. data/rbi/lib/modern_treasury/models/event_list_params.rbi +109 -0
  328. data/rbi/lib/modern_treasury/models/event_retrieve_params.rbi +18 -0
  329. data/rbi/lib/modern_treasury/models/expected_payment.rbi +350 -0
  330. data/rbi/lib/modern_treasury/models/expected_payment_create_params.rbi +591 -0
  331. data/rbi/lib/modern_treasury/models/expected_payment_delete_params.rbi +18 -0
  332. data/rbi/lib/modern_treasury/models/expected_payment_list_params.rbi +194 -0
  333. data/rbi/lib/modern_treasury/models/expected_payment_retrieve_params.rbi +18 -0
  334. data/rbi/lib/modern_treasury/models/expected_payment_type.rbi +44 -0
  335. data/rbi/lib/modern_treasury/models/expected_payment_update_params.rbi +243 -0
  336. data/rbi/lib/modern_treasury/models/external_account.rbi +545 -0
  337. data/rbi/lib/modern_treasury/models/external_account_complete_verification_params.rbi +32 -0
  338. data/rbi/lib/modern_treasury/models/external_account_create_params.rbi +611 -0
  339. data/rbi/lib/modern_treasury/models/external_account_delete_params.rbi +18 -0
  340. data/rbi/lib/modern_treasury/models/external_account_list_params.rbi +87 -0
  341. data/rbi/lib/modern_treasury/models/external_account_retrieve_params.rbi +18 -0
  342. data/rbi/lib/modern_treasury/models/external_account_type.rbi +22 -0
  343. data/rbi/lib/modern_treasury/models/external_account_update_params.rbi +203 -0
  344. data/rbi/lib/modern_treasury/models/external_account_verify_params.rbi +147 -0
  345. data/rbi/lib/modern_treasury/models/external_account_verify_response.rbi +212 -0
  346. data/rbi/lib/modern_treasury/models/foreign_exchange_quote.rbi +259 -0
  347. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_create_params.rbi +98 -0
  348. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_list_params.rbi +131 -0
  349. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbi +18 -0
  350. data/rbi/lib/modern_treasury/models/incoming_payment_detail.rbi +383 -0
  351. data/rbi/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +149 -0
  352. data/rbi/lib/modern_treasury/models/incoming_payment_detail_list_params.rbi +161 -0
  353. data/rbi/lib/modern_treasury/models/incoming_payment_detail_retrieve_params.rbi +18 -0
  354. data/rbi/lib/modern_treasury/models/incoming_payment_detail_update_params.rbi +34 -0
  355. data/rbi/lib/modern_treasury/models/internal_account.rbi +414 -0
  356. data/rbi/lib/modern_treasury/models/internal_account_create_params.rbi +225 -0
  357. data/rbi/lib/modern_treasury/models/internal_account_list_params.rbi +159 -0
  358. data/rbi/lib/modern_treasury/models/internal_account_retrieve_params.rbi +18 -0
  359. data/rbi/lib/modern_treasury/models/internal_account_update_params.rbi +87 -0
  360. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report.rbi +336 -0
  361. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rbi +164 -0
  362. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_delete_params.rbi +36 -0
  363. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rbi +91 -0
  364. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbi +36 -0
  365. data/rbi/lib/modern_treasury/models/invoice.rbi +850 -0
  366. data/rbi/lib/modern_treasury/models/invoice_add_payment_order_params.rbi +35 -0
  367. data/rbi/lib/modern_treasury/models/invoice_create_params.rbi +793 -0
  368. data/rbi/lib/modern_treasury/models/invoice_list_params.rbi +168 -0
  369. data/rbi/lib/modern_treasury/models/invoice_retrieve_params.rbi +18 -0
  370. data/rbi/lib/modern_treasury/models/invoice_update_params.rbi +793 -0
  371. data/rbi/lib/modern_treasury/models/invoices/invoice_line_item.rbi +173 -0
  372. data/rbi/lib/modern_treasury/models/invoices/line_item_create_params.rbi +111 -0
  373. data/rbi/lib/modern_treasury/models/invoices/line_item_delete_params.rbi +34 -0
  374. data/rbi/lib/modern_treasury/models/invoices/line_item_list_params.rbi +52 -0
  375. data/rbi/lib/modern_treasury/models/invoices/line_item_retrieve_params.rbi +34 -0
  376. data/rbi/lib/modern_treasury/models/invoices/line_item_update_params.rbi +122 -0
  377. data/rbi/lib/modern_treasury/models/ledger.rbi +125 -0
  378. data/rbi/lib/modern_treasury/models/ledger_account.rbi +502 -0
  379. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor.rbi +533 -0
  380. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_create_params.rbi +113 -0
  381. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbi +18 -0
  382. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_list_params.rbi +87 -0
  383. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbi +18 -0
  384. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_update_params.rbi +50 -0
  385. data/rbi/lib/modern_treasury/models/ledger_account_category.rbi +430 -0
  386. data/rbi/lib/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbi +35 -0
  387. data/rbi/lib/modern_treasury/models/ledger_account_category_add_nested_category_params.rbi +35 -0
  388. data/rbi/lib/modern_treasury/models/ledger_account_category_create_params.rbi +120 -0
  389. data/rbi/lib/modern_treasury/models/ledger_account_category_delete_params.rbi +18 -0
  390. data/rbi/lib/modern_treasury/models/ledger_account_category_list_params.rbi +163 -0
  391. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbi +35 -0
  392. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbi +35 -0
  393. data/rbi/lib/modern_treasury/models/ledger_account_category_retrieve_params.rbi +69 -0
  394. data/rbi/lib/modern_treasury/models/ledger_account_category_update_params.rbi +60 -0
  395. data/rbi/lib/modern_treasury/models/ledger_account_create_params.rbi +155 -0
  396. data/rbi/lib/modern_treasury/models/ledger_account_delete_params.rbi +18 -0
  397. data/rbi/lib/modern_treasury/models/ledger_account_list_params.rbi +476 -0
  398. data/rbi/lib/modern_treasury/models/ledger_account_retrieve_params.rbi +119 -0
  399. data/rbi/lib/modern_treasury/models/ledger_account_settlement.rbi +228 -0
  400. data/rbi/lib/modern_treasury/models/ledger_account_settlement_create_params.rbi +131 -0
  401. data/rbi/lib/modern_treasury/models/ledger_account_settlement_list_params.rbi +142 -0
  402. data/rbi/lib/modern_treasury/models/ledger_account_settlement_retrieve_params.rbi +18 -0
  403. data/rbi/lib/modern_treasury/models/ledger_account_settlement_update_params.rbi +71 -0
  404. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbi +42 -0
  405. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbi +40 -0
  406. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_params.rbi +87 -0
  407. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_response.rbi +735 -0
  408. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_params.rbi +18 -0
  409. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rbi +737 -0
  410. data/rbi/lib/modern_treasury/models/ledger_account_update_params.rbi +60 -0
  411. data/rbi/lib/modern_treasury/models/ledger_create_params.rbi +60 -0
  412. data/rbi/lib/modern_treasury/models/ledger_delete_params.rbi +18 -0
  413. data/rbi/lib/modern_treasury/models/ledger_entry.rbi +486 -0
  414. data/rbi/lib/modern_treasury/models/ledger_entry_list_params.rbi +315 -0
  415. data/rbi/lib/modern_treasury/models/ledger_entry_retrieve_params.rbi +32 -0
  416. data/rbi/lib/modern_treasury/models/ledger_entry_update_params.rbi +34 -0
  417. data/rbi/lib/modern_treasury/models/ledger_event_handler.rbi +309 -0
  418. data/rbi/lib/modern_treasury/models/ledger_event_handler_create_params.rbi +257 -0
  419. data/rbi/lib/modern_treasury/models/ledger_event_handler_delete_params.rbi +18 -0
  420. data/rbi/lib/modern_treasury/models/ledger_event_handler_list_params.rbi +87 -0
  421. data/rbi/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rbi +18 -0
  422. data/rbi/lib/modern_treasury/models/ledger_event_handler_variable.rbi +68 -0
  423. data/rbi/lib/modern_treasury/models/ledger_list_params.rbi +87 -0
  424. data/rbi/lib/modern_treasury/models/ledger_retrieve_params.rbi +18 -0
  425. data/rbi/lib/modern_treasury/models/ledger_transaction.rbi +265 -0
  426. data/rbi/lib/modern_treasury/models/ledger_transaction_create_params.rbi +281 -0
  427. data/rbi/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rbi +150 -0
  428. data/rbi/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rbi +136 -0
  429. data/rbi/lib/modern_treasury/models/ledger_transaction_list_params.rbi +319 -0
  430. data/rbi/lib/modern_treasury/models/ledger_transaction_retrieve_params.rbi +18 -0
  431. data/rbi/lib/modern_treasury/models/ledger_transaction_update_params.rbi +259 -0
  432. data/rbi/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +781 -0
  433. data/rbi/lib/modern_treasury/models/ledger_transactions/version_list_params.rbi +100 -0
  434. data/rbi/lib/modern_treasury/models/ledger_update_params.rbi +60 -0
  435. data/rbi/lib/modern_treasury/models/ledgerable_event.rbi +136 -0
  436. data/rbi/lib/modern_treasury/models/ledgerable_event_create_params.rbi +70 -0
  437. data/rbi/lib/modern_treasury/models/ledgerable_event_retrieve_params.rbi +18 -0
  438. data/rbi/lib/modern_treasury/models/legal_entity.rbi +748 -0
  439. data/rbi/lib/modern_treasury/models/legal_entity_association.rbi +890 -0
  440. data/rbi/lib/modern_treasury/models/legal_entity_association_create_params.rbi +649 -0
  441. data/rbi/lib/modern_treasury/models/legal_entity_create_params.rbi +1175 -0
  442. data/rbi/lib/modern_treasury/models/legal_entity_list_params.rbi +98 -0
  443. data/rbi/lib/modern_treasury/models/legal_entity_retrieve_params.rbi +18 -0
  444. data/rbi/lib/modern_treasury/models/legal_entity_update_params.rbi +502 -0
  445. data/rbi/lib/modern_treasury/models/line_item.rbi +209 -0
  446. data/rbi/lib/modern_treasury/models/line_item_list_params.rbi +71 -0
  447. data/rbi/lib/modern_treasury/models/line_item_retrieve_params.rbi +59 -0
  448. data/rbi/lib/modern_treasury/models/line_item_update_params.rbi +71 -0
  449. data/rbi/lib/modern_treasury/models/paper_item.rbi +236 -0
  450. data/rbi/lib/modern_treasury/models/paper_item_list_params.rbi +87 -0
  451. data/rbi/lib/modern_treasury/models/paper_item_retrieve_params.rbi +18 -0
  452. data/rbi/lib/modern_treasury/models/payment_flow.rbi +280 -0
  453. data/rbi/lib/modern_treasury/models/payment_flow_create_params.rbi +109 -0
  454. data/rbi/lib/modern_treasury/models/payment_flow_list_params.rbi +120 -0
  455. data/rbi/lib/modern_treasury/models/payment_flow_retrieve_params.rbi +18 -0
  456. data/rbi/lib/modern_treasury/models/payment_flow_update_params.rbi +42 -0
  457. data/rbi/lib/modern_treasury/models/payment_order.rbi +997 -0
  458. data/rbi/lib/modern_treasury/models/payment_order_create_async_params.rbi +1455 -0
  459. data/rbi/lib/modern_treasury/models/payment_order_create_params.rbi +1538 -0
  460. data/rbi/lib/modern_treasury/models/payment_order_list_params.rbi +289 -0
  461. data/rbi/lib/modern_treasury/models/payment_order_retrieve_params.rbi +18 -0
  462. data/rbi/lib/modern_treasury/models/payment_order_subtype.rbi +43 -0
  463. data/rbi/lib/modern_treasury/models/payment_order_type.rbi +44 -0
  464. data/rbi/lib/modern_treasury/models/payment_order_update_params.rbi +1179 -0
  465. data/rbi/lib/modern_treasury/models/payment_orders/reversal.rbi +178 -0
  466. data/rbi/lib/modern_treasury/models/payment_orders/reversal_create_params.rbi +363 -0
  467. data/rbi/lib/modern_treasury/models/payment_orders/reversal_list_params.rbi +52 -0
  468. data/rbi/lib/modern_treasury/models/payment_orders/reversal_retrieve_params.rbi +34 -0
  469. data/rbi/lib/modern_treasury/models/payment_reference.rbi +217 -0
  470. data/rbi/lib/modern_treasury/models/payment_reference_list_params.rbi +99 -0
  471. data/rbi/lib/modern_treasury/models/payment_reference_retireve_params.rbi +18 -0
  472. data/rbi/lib/modern_treasury/models/payment_reference_retrieve_params.rbi +18 -0
  473. data/rbi/lib/modern_treasury/models/ping_response.rbi +23 -0
  474. data/rbi/lib/modern_treasury/models/reconciliation_rule.rbi +186 -0
  475. data/rbi/lib/modern_treasury/models/return_create_params.rbi +170 -0
  476. data/rbi/lib/modern_treasury/models/return_list_params.rbi +112 -0
  477. data/rbi/lib/modern_treasury/models/return_object.rbi +587 -0
  478. data/rbi/lib/modern_treasury/models/return_retrieve_params.rbi +18 -0
  479. data/rbi/lib/modern_treasury/models/routing_detail.rbi +361 -0
  480. data/rbi/lib/modern_treasury/models/routing_detail_create_params.rbi +155 -0
  481. data/rbi/lib/modern_treasury/models/routing_detail_delete_params.rbi +58 -0
  482. data/rbi/lib/modern_treasury/models/routing_detail_list_params.rbi +60 -0
  483. data/rbi/lib/modern_treasury/models/routing_detail_retrieve_params.rbi +48 -0
  484. data/rbi/lib/modern_treasury/models/routing_number_lookup_request.rbi +231 -0
  485. data/rbi/lib/modern_treasury/models/transaction.rbi +474 -0
  486. data/rbi/lib/modern_treasury/models/transaction_create_params.rbi +182 -0
  487. data/rbi/lib/modern_treasury/models/transaction_delete_params.rbi +18 -0
  488. data/rbi/lib/modern_treasury/models/transaction_direction.rbi +16 -0
  489. data/rbi/lib/modern_treasury/models/transaction_list_params.rbi +186 -0
  490. data/rbi/lib/modern_treasury/models/transaction_retrieve_params.rbi +18 -0
  491. data/rbi/lib/modern_treasury/models/transaction_update_params.rbi +34 -0
  492. data/rbi/lib/modern_treasury/models/transactions/line_item_create_params.rbi +62 -0
  493. data/rbi/lib/modern_treasury/models/transactions/line_item_delete_params.rbi +22 -0
  494. data/rbi/lib/modern_treasury/models/transactions/line_item_list_params.rbi +100 -0
  495. data/rbi/lib/modern_treasury/models/transactions/line_item_retrieve_params.rbi +22 -0
  496. data/rbi/lib/modern_treasury/models/transactions/transaction_line_item.rbi +221 -0
  497. data/rbi/lib/modern_treasury/models/validation_validate_routing_number_params.rbi +80 -0
  498. data/rbi/lib/modern_treasury/models/virtual_account.rbi +208 -0
  499. data/rbi/lib/modern_treasury/models/virtual_account_create_params.rbi +453 -0
  500. data/rbi/lib/modern_treasury/models/virtual_account_delete_params.rbi +18 -0
  501. data/rbi/lib/modern_treasury/models/virtual_account_list_params.rbi +87 -0
  502. data/rbi/lib/modern_treasury/models/virtual_account_retrieve_params.rbi +18 -0
  503. data/rbi/lib/modern_treasury/models/virtual_account_update_params.rbi +76 -0
  504. data/rbi/lib/modern_treasury/models/wealth_and_employment_details.rbi +363 -0
  505. data/rbi/lib/modern_treasury/page.rbi +49 -0
  506. data/rbi/lib/modern_treasury/pooled_net_requester.rbi +59 -0
  507. data/rbi/lib/modern_treasury/request_options.rbi +84 -0
  508. data/rbi/lib/modern_treasury/resources/account_collection_flows.rbi +67 -0
  509. data/rbi/lib/modern_treasury/resources/account_details.rbi +61 -0
  510. data/rbi/lib/modern_treasury/resources/bulk_requests.rbi +69 -0
  511. data/rbi/lib/modern_treasury/resources/bulk_results.rbi +46 -0
  512. data/rbi/lib/modern_treasury/resources/connection_legal_entities.rbi +65 -0
  513. data/rbi/lib/modern_treasury/resources/connections.rbi +24 -0
  514. data/rbi/lib/modern_treasury/resources/counterparties.rbi +137 -0
  515. data/rbi/lib/modern_treasury/resources/documents.rbi +53 -0
  516. data/rbi/lib/modern_treasury/resources/events.rbi +46 -0
  517. data/rbi/lib/modern_treasury/resources/expected_payments.rbi +158 -0
  518. data/rbi/lib/modern_treasury/resources/external_accounts.rbi +155 -0
  519. data/rbi/lib/modern_treasury/resources/foreign_exchange_quotes.rbi +73 -0
  520. data/rbi/lib/modern_treasury/resources/incoming_payment_details.rbi +88 -0
  521. data/rbi/lib/modern_treasury/resources/internal_accounts/balance_reports.rbi +77 -0
  522. data/rbi/lib/modern_treasury/resources/internal_accounts.rbi +104 -0
  523. data/rbi/lib/modern_treasury/resources/invoices/line_items.rbi +103 -0
  524. data/rbi/lib/modern_treasury/resources/invoices.rbi +193 -0
  525. data/rbi/lib/modern_treasury/resources/ledger_account_balance_monitors.rbi +77 -0
  526. data/rbi/lib/modern_treasury/resources/ledger_account_categories.rbi +147 -0
  527. data/rbi/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rbi +35 -0
  528. data/rbi/lib/modern_treasury/resources/ledger_account_settlements.rbi +96 -0
  529. data/rbi/lib/modern_treasury/resources/ledger_account_statements.rbi +42 -0
  530. data/rbi/lib/modern_treasury/resources/ledger_accounts.rbi +115 -0
  531. data/rbi/lib/modern_treasury/resources/ledger_entries.rbi +84 -0
  532. data/rbi/lib/modern_treasury/resources/ledger_event_handlers.rbi +77 -0
  533. data/rbi/lib/modern_treasury/resources/ledger_transactions/versions.rbi +36 -0
  534. data/rbi/lib/modern_treasury/resources/ledger_transactions.rbi +178 -0
  535. data/rbi/lib/modern_treasury/resources/ledgerable_events.rbi +34 -0
  536. data/rbi/lib/modern_treasury/resources/ledgers.rbi +70 -0
  537. data/rbi/lib/modern_treasury/resources/legal_entities.rbi +158 -0
  538. data/rbi/lib/modern_treasury/resources/legal_entity_associations.rbi +34 -0
  539. data/rbi/lib/modern_treasury/resources/line_items.rbi +49 -0
  540. data/rbi/lib/modern_treasury/resources/paper_items.rbi +42 -0
  541. data/rbi/lib/modern_treasury/resources/payment_flows.rbi +82 -0
  542. data/rbi/lib/modern_treasury/resources/payment_orders/reversals.rbi +49 -0
  543. data/rbi/lib/modern_treasury/resources/payment_orders.rbi +315 -0
  544. data/rbi/lib/modern_treasury/resources/payment_references.rbi +52 -0
  545. data/rbi/lib/modern_treasury/resources/returns.rbi +67 -0
  546. data/rbi/lib/modern_treasury/resources/routing_details.rbi +69 -0
  547. data/rbi/lib/modern_treasury/resources/transactions/line_items.rbi +66 -0
  548. data/rbi/lib/modern_treasury/resources/transactions.rbi +116 -0
  549. data/rbi/lib/modern_treasury/resources/validations.rbi +22 -0
  550. data/rbi/lib/modern_treasury/resources/virtual_accounts.rbi +104 -0
  551. data/rbi/lib/modern_treasury/util.rbi +135 -0
  552. data/rbi/lib/modern_treasury/version.rbi +5 -0
  553. data/sig/modern_treasury/base_client.rbs +100 -0
  554. data/sig/modern_treasury/base_model.rbs +246 -0
  555. data/sig/modern_treasury/base_page.rbs +20 -0
  556. data/sig/modern_treasury/client.rbs +102 -0
  557. data/sig/modern_treasury/errors.rbs +98 -0
  558. data/sig/modern_treasury/extern.rbs +4 -0
  559. data/sig/modern_treasury/models/account_collection_flow.rbs +146 -0
  560. data/sig/modern_treasury/models/account_collection_flow_create_params.rbs +83 -0
  561. data/sig/modern_treasury/models/account_collection_flow_list_params.rbs +58 -0
  562. data/sig/modern_treasury/models/account_collection_flow_retrieve_params.rbs +20 -0
  563. data/sig/modern_treasury/models/account_collection_flow_update_params.rbs +36 -0
  564. data/sig/modern_treasury/models/account_detail.rbs +84 -0
  565. data/sig/modern_treasury/models/account_detail_create_params.rbs +75 -0
  566. data/sig/modern_treasury/models/account_detail_delete_params.rbs +40 -0
  567. data/sig/modern_treasury/models/account_detail_list_params.rbs +38 -0
  568. data/sig/modern_treasury/models/account_detail_retrieve_params.rbs +32 -0
  569. data/sig/modern_treasury/models/accounts_type.rbs +12 -0
  570. data/sig/modern_treasury/models/async_response.rbs +20 -0
  571. data/sig/modern_treasury/models/bank_settings.rbs +59 -0
  572. data/sig/modern_treasury/models/bulk_request.rbs +98 -0
  573. data/sig/modern_treasury/models/bulk_request_create_params.rbs +2680 -0
  574. data/sig/modern_treasury/models/bulk_request_list_params.rbs +96 -0
  575. data/sig/modern_treasury/models/bulk_request_retrieve_params.rbs +20 -0
  576. data/sig/modern_treasury/models/bulk_result.rbs +178 -0
  577. data/sig/modern_treasury/models/bulk_result_list_params.rbs +105 -0
  578. data/sig/modern_treasury/models/bulk_result_retrieve_params.rbs +19 -0
  579. data/sig/modern_treasury/models/client_ping_params.rbs +19 -0
  580. data/sig/modern_treasury/models/connection.rbs +54 -0
  581. data/sig/modern_treasury/models/connection_legal_entity.rbs +70 -0
  582. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +739 -0
  583. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +65 -0
  584. data/sig/modern_treasury/models/connection_legal_entity_retrieve_params.rbs +20 -0
  585. data/sig/modern_treasury/models/connection_legal_entity_update_params.rbs +40 -0
  586. data/sig/modern_treasury/models/connection_list_params.rbs +46 -0
  587. data/sig/modern_treasury/models/counterparty.rbs +352 -0
  588. data/sig/modern_treasury/models/counterparty_collect_account_params.rbs +113 -0
  589. data/sig/modern_treasury/models/counterparty_collect_account_response.rbs +23 -0
  590. data/sig/modern_treasury/models/counterparty_create_params.rbs +1310 -0
  591. data/sig/modern_treasury/models/counterparty_delete_params.rbs +19 -0
  592. data/sig/modern_treasury/models/counterparty_list_params.rbs +70 -0
  593. data/sig/modern_treasury/models/counterparty_retrieve_params.rbs +20 -0
  594. data/sig/modern_treasury/models/counterparty_update_params.rbs +58 -0
  595. data/sig/modern_treasury/models/currency.rbs +388 -0
  596. data/sig/modern_treasury/models/document.rbs +170 -0
  597. data/sig/modern_treasury/models/document_create_params.rbs +73 -0
  598. data/sig/modern_treasury/models/document_list_params.rbs +79 -0
  599. data/sig/modern_treasury/models/document_retrieve_params.rbs +19 -0
  600. data/sig/modern_treasury/models/event.rbs +58 -0
  601. data/sig/modern_treasury/models/event_list_params.rbs +64 -0
  602. data/sig/modern_treasury/models/event_retrieve_params.rbs +19 -0
  603. data/sig/modern_treasury/models/expected_payment.rbs +153 -0
  604. data/sig/modern_treasury/models/expected_payment_create_params.rbs +308 -0
  605. data/sig/modern_treasury/models/expected_payment_delete_params.rbs +20 -0
  606. data/sig/modern_treasury/models/expected_payment_list_params.rbs +167 -0
  607. data/sig/modern_treasury/models/expected_payment_retrieve_params.rbs +20 -0
  608. data/sig/modern_treasury/models/expected_payment_type.rbs +70 -0
  609. data/sig/modern_treasury/models/expected_payment_update_params.rbs +111 -0
  610. data/sig/modern_treasury/models/external_account.rbs +242 -0
  611. data/sig/modern_treasury/models/external_account_complete_verification_params.rbs +27 -0
  612. data/sig/modern_treasury/models/external_account_create_params.rbs +481 -0
  613. data/sig/modern_treasury/models/external_account_delete_params.rbs +20 -0
  614. data/sig/modern_treasury/models/external_account_list_params.rbs +52 -0
  615. data/sig/modern_treasury/models/external_account_retrieve_params.rbs +20 -0
  616. data/sig/modern_treasury/models/external_account_type.rbs +26 -0
  617. data/sig/modern_treasury/models/external_account_update_params.rbs +113 -0
  618. data/sig/modern_treasury/models/external_account_verify_params.rbs +140 -0
  619. data/sig/modern_treasury/models/external_account_verify_response.rbs +154 -0
  620. data/sig/modern_treasury/models/foreign_exchange_quote.rbs +113 -0
  621. data/sig/modern_treasury/models/foreign_exchange_quote_create_params.rbs +58 -0
  622. data/sig/modern_treasury/models/foreign_exchange_quote_list_params.rbs +76 -0
  623. data/sig/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbs +20 -0
  624. data/sig/modern_treasury/models/incoming_payment_detail.rbs +222 -0
  625. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +94 -0
  626. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +109 -0
  627. data/sig/modern_treasury/models/incoming_payment_detail_retrieve_params.rbs +20 -0
  628. data/sig/modern_treasury/models/incoming_payment_detail_update_params.rbs +27 -0
  629. data/sig/modern_treasury/models/internal_account.rbs +187 -0
  630. data/sig/modern_treasury/models/internal_account_create_params.rbs +123 -0
  631. data/sig/modern_treasury/models/internal_account_list_params.rbs +143 -0
  632. data/sig/modern_treasury/models/internal_account_retrieve_params.rbs +20 -0
  633. data/sig/modern_treasury/models/internal_account_update_params.rbs +54 -0
  634. data/sig/modern_treasury/models/internal_accounts/balance_report.rbs +166 -0
  635. data/sig/modern_treasury/models/internal_accounts/balance_report_create_params.rbs +111 -0
  636. data/sig/modern_treasury/models/internal_accounts/balance_report_delete_params.rbs +27 -0
  637. data/sig/modern_treasury/models/internal_accounts/balance_report_list_params.rbs +62 -0
  638. data/sig/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbs +27 -0
  639. data/sig/modern_treasury/models/invoice.rbs +383 -0
  640. data/sig/modern_treasury/models/invoice_add_payment_order_params.rbs +22 -0
  641. data/sig/modern_treasury/models/invoice_create_params.rbs +396 -0
  642. data/sig/modern_treasury/models/invoice_list_params.rbs +104 -0
  643. data/sig/modern_treasury/models/invoice_retrieve_params.rbs +19 -0
  644. data/sig/modern_treasury/models/invoice_update_params.rbs +404 -0
  645. data/sig/modern_treasury/models/invoices/invoice_line_item.rbs +76 -0
  646. data/sig/modern_treasury/models/invoices/line_item_create_params.rbs +64 -0
  647. data/sig/modern_treasury/models/invoices/line_item_delete_params.rbs +27 -0
  648. data/sig/modern_treasury/models/invoices/line_item_list_params.rbs +33 -0
  649. data/sig/modern_treasury/models/invoices/line_item_retrieve_params.rbs +27 -0
  650. data/sig/modern_treasury/models/invoices/line_item_update_params.rbs +72 -0
  651. data/sig/modern_treasury/models/ledger.rbs +54 -0
  652. data/sig/modern_treasury/models/ledger_account.rbs +235 -0
  653. data/sig/modern_treasury/models/ledger_account_balance_monitor.rbs +246 -0
  654. data/sig/modern_treasury/models/ledger_account_balance_monitor_create_params.rbs +63 -0
  655. data/sig/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbs +20 -0
  656. data/sig/modern_treasury/models/ledger_account_balance_monitor_list_params.rbs +52 -0
  657. data/sig/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbs +20 -0
  658. data/sig/modern_treasury/models/ledger_account_balance_monitor_update_params.rbs +33 -0
  659. data/sig/modern_treasury/models/ledger_account_category.rbs +203 -0
  660. data/sig/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbs +22 -0
  661. data/sig/modern_treasury/models/ledger_account_category_add_nested_category_params.rbs +22 -0
  662. data/sig/modern_treasury/models/ledger_account_category_create_params.rbs +60 -0
  663. data/sig/modern_treasury/models/ledger_account_category_delete_params.rbs +20 -0
  664. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +101 -0
  665. data/sig/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbs +22 -0
  666. data/sig/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbs +22 -0
  667. data/sig/modern_treasury/models/ledger_account_category_retrieve_params.rbs +53 -0
  668. data/sig/modern_treasury/models/ledger_account_category_update_params.rbs +36 -0
  669. data/sig/modern_treasury/models/ledger_account_create_params.rbs +86 -0
  670. data/sig/modern_treasury/models/ledger_account_delete_params.rbs +20 -0
  671. data/sig/modern_treasury/models/ledger_account_list_params.rbs +310 -0
  672. data/sig/modern_treasury/models/ledger_account_retrieve_params.rbs +78 -0
  673. data/sig/modern_treasury/models/ledger_account_settlement.rbs +101 -0
  674. data/sig/modern_treasury/models/ledger_account_settlement_create_params.rbs +67 -0
  675. data/sig/modern_treasury/models/ledger_account_settlement_list_params.rbs +82 -0
  676. data/sig/modern_treasury/models/ledger_account_settlement_retrieve_params.rbs +20 -0
  677. data/sig/modern_treasury/models/ledger_account_settlement_update_params.rbs +51 -0
  678. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbs +27 -0
  679. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbs +28 -0
  680. data/sig/modern_treasury/models/ledger_account_statement_create_params.rbs +46 -0
  681. data/sig/modern_treasury/models/ledger_account_statement_create_response.rbs +351 -0
  682. data/sig/modern_treasury/models/ledger_account_statement_retrieve_params.rbs +20 -0
  683. data/sig/modern_treasury/models/ledger_account_statement_retrieve_response.rbs +351 -0
  684. data/sig/modern_treasury/models/ledger_account_update_params.rbs +36 -0
  685. data/sig/modern_treasury/models/ledger_create_params.rbs +34 -0
  686. data/sig/modern_treasury/models/ledger_delete_params.rbs +19 -0
  687. data/sig/modern_treasury/models/ledger_entry.rbs +228 -0
  688. data/sig/modern_treasury/models/ledger_entry_list_params.rbs +210 -0
  689. data/sig/modern_treasury/models/ledger_entry_retrieve_params.rbs +27 -0
  690. data/sig/modern_treasury/models/ledger_entry_update_params.rbs +27 -0
  691. data/sig/modern_treasury/models/ledger_event_handler.rbs +146 -0
  692. data/sig/modern_treasury/models/ledger_event_handler_create_params.rbs +129 -0
  693. data/sig/modern_treasury/models/ledger_event_handler_delete_params.rbs +20 -0
  694. data/sig/modern_treasury/models/ledger_event_handler_list_params.rbs +52 -0
  695. data/sig/modern_treasury/models/ledger_event_handler_retrieve_params.rbs +20 -0
  696. data/sig/modern_treasury/models/ledger_event_handler_variable.rbs +46 -0
  697. data/sig/modern_treasury/models/ledger_list_params.rbs +52 -0
  698. data/sig/modern_treasury/models/ledger_retrieve_params.rbs +19 -0
  699. data/sig/modern_treasury/models/ledger_transaction.rbs +124 -0
  700. data/sig/modern_treasury/models/ledger_transaction_create_params.rbs +161 -0
  701. data/sig/modern_treasury/models/ledger_transaction_create_partial_post_params.rbs +89 -0
  702. data/sig/modern_treasury/models/ledger_transaction_create_reversal_params.rbs +97 -0
  703. data/sig/modern_treasury/models/ledger_transaction_list_params.rbs +221 -0
  704. data/sig/modern_treasury/models/ledger_transaction_retrieve_params.rbs +20 -0
  705. data/sig/modern_treasury/models/ledger_transaction_update_params.rbs +153 -0
  706. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +351 -0
  707. data/sig/modern_treasury/models/ledger_transactions/version_list_params.rbs +60 -0
  708. data/sig/modern_treasury/models/ledger_update_params.rbs +36 -0
  709. data/sig/modern_treasury/models/ledgerable_event.rbs +59 -0
  710. data/sig/modern_treasury/models/ledgerable_event_create_params.rbs +42 -0
  711. data/sig/modern_treasury/models/ledgerable_event_retrieve_params.rbs +20 -0
  712. data/sig/modern_treasury/models/legal_entity.rbs +372 -0
  713. data/sig/modern_treasury/models/legal_entity_association.rbs +438 -0
  714. data/sig/modern_treasury/models/legal_entity_association_create_params.rbs +384 -0
  715. data/sig/modern_treasury/models/legal_entity_create_params.rbs +701 -0
  716. data/sig/modern_treasury/models/legal_entity_list_params.rbs +63 -0
  717. data/sig/modern_treasury/models/legal_entity_retrieve_params.rbs +20 -0
  718. data/sig/modern_treasury/models/legal_entity_update_params.rbs +312 -0
  719. data/sig/modern_treasury/models/line_item.rbs +96 -0
  720. data/sig/modern_treasury/models/line_item_list_params.rbs +47 -0
  721. data/sig/modern_treasury/models/line_item_retrieve_params.rbs +41 -0
  722. data/sig/modern_treasury/models/line_item_update_params.rbs +47 -0
  723. data/sig/modern_treasury/models/paper_item.rbs +100 -0
  724. data/sig/modern_treasury/models/paper_item_list_params.rbs +52 -0
  725. data/sig/modern_treasury/models/paper_item_retrieve_params.rbs +19 -0
  726. data/sig/modern_treasury/models/payment_flow.rbs +161 -0
  727. data/sig/modern_treasury/models/payment_flow_create_params.rbs +59 -0
  728. data/sig/modern_treasury/models/payment_flow_list_params.rbs +70 -0
  729. data/sig/modern_treasury/models/payment_flow_retrieve_params.rbs +20 -0
  730. data/sig/modern_treasury/models/payment_flow_update_params.rbs +34 -0
  731. data/sig/modern_treasury/models/payment_order.rbs +566 -0
  732. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +922 -0
  733. data/sig/modern_treasury/models/payment_order_create_params.rbs +995 -0
  734. data/sig/modern_treasury/models/payment_order_list_params.rbs +237 -0
  735. data/sig/modern_treasury/models/payment_order_retrieve_params.rbs +20 -0
  736. data/sig/modern_treasury/models/payment_order_subtype.rbs +68 -0
  737. data/sig/modern_treasury/models/payment_order_type.rbs +70 -0
  738. data/sig/modern_treasury/models/payment_order_update_params.rbs +802 -0
  739. data/sig/modern_treasury/models/payment_orders/reversal.rbs +96 -0
  740. data/sig/modern_treasury/models/payment_orders/reversal_create_params.rbs +214 -0
  741. data/sig/modern_treasury/models/payment_orders/reversal_list_params.rbs +33 -0
  742. data/sig/modern_treasury/models/payment_orders/reversal_retrieve_params.rbs +27 -0
  743. data/sig/modern_treasury/models/payment_reference.rbs +214 -0
  744. data/sig/modern_treasury/models/payment_reference_list_params.rbs +64 -0
  745. data/sig/modern_treasury/models/payment_reference_retireve_params.rbs +20 -0
  746. data/sig/modern_treasury/models/payment_reference_retrieve_params.rbs +20 -0
  747. data/sig/modern_treasury/models/ping_response.rbs +18 -0
  748. data/sig/modern_treasury/models/reconciliation_rule.rbs +139 -0
  749. data/sig/modern_treasury/models/return_create_params.rbs +169 -0
  750. data/sig/modern_treasury/models/return_list_params.rbs +77 -0
  751. data/sig/modern_treasury/models/return_object.rbs +490 -0
  752. data/sig/modern_treasury/models/return_retrieve_params.rbs +19 -0
  753. data/sig/modern_treasury/models/routing_detail.rbs +239 -0
  754. data/sig/modern_treasury/models/routing_detail_create_params.rbs +164 -0
  755. data/sig/modern_treasury/models/routing_detail_delete_params.rbs +40 -0
  756. data/sig/modern_treasury/models/routing_detail_list_params.rbs +38 -0
  757. data/sig/modern_treasury/models/routing_detail_retrieve_params.rbs +32 -0
  758. data/sig/modern_treasury/models/routing_number_lookup_request.rbs +191 -0
  759. data/sig/modern_treasury/models/transaction.rbs +286 -0
  760. data/sig/modern_treasury/models/transaction_create_params.rbs +137 -0
  761. data/sig/modern_treasury/models/transaction_delete_params.rbs +19 -0
  762. data/sig/modern_treasury/models/transaction_direction.rbs +12 -0
  763. data/sig/modern_treasury/models/transaction_list_params.rbs +106 -0
  764. data/sig/modern_treasury/models/transaction_retrieve_params.rbs +19 -0
  765. data/sig/modern_treasury/models/transaction_update_params.rbs +27 -0
  766. data/sig/modern_treasury/models/transactions/line_item_create_params.rbs +34 -0
  767. data/sig/modern_treasury/models/transactions/line_item_delete_params.rbs +21 -0
  768. data/sig/modern_treasury/models/transactions/line_item_list_params.rbs +61 -0
  769. data/sig/modern_treasury/models/transactions/line_item_retrieve_params.rbs +21 -0
  770. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +112 -0
  771. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +81 -0
  772. data/sig/modern_treasury/models/virtual_account.rbs +83 -0
  773. data/sig/modern_treasury/models/virtual_account_create_params.rbs +366 -0
  774. data/sig/modern_treasury/models/virtual_account_delete_params.rbs +20 -0
  775. data/sig/modern_treasury/models/virtual_account_list_params.rbs +52 -0
  776. data/sig/modern_treasury/models/virtual_account_retrieve_params.rbs +20 -0
  777. data/sig/modern_treasury/models/virtual_account_update_params.rbs +46 -0
  778. data/sig/modern_treasury/models/wealth_and_employment_details.rbs +299 -0
  779. data/sig/modern_treasury/page.rbs +22 -0
  780. data/sig/modern_treasury/pooled_net_requester.rbs +42 -0
  781. data/sig/modern_treasury/request_options.rbs +42 -0
  782. data/sig/modern_treasury/resources/account_collection_flows.rbs +57 -0
  783. data/sig/modern_treasury/resources/account_details.rbs +61 -0
  784. data/sig/modern_treasury/resources/bulk_requests.rbs +46 -0
  785. data/sig/modern_treasury/resources/bulk_results.rbs +34 -0
  786. data/sig/modern_treasury/resources/connection_legal_entities.rbs +56 -0
  787. data/sig/modern_treasury/resources/connections.rbs +20 -0
  788. data/sig/modern_treasury/resources/counterparties.rbs +95 -0
  789. data/sig/modern_treasury/resources/documents.rbs +44 -0
  790. data/sig/modern_treasury/resources/events.rbs +33 -0
  791. data/sig/modern_treasury/resources/expected_payments.rbs +104 -0
  792. data/sig/modern_treasury/resources/external_accounts.rbs +108 -0
  793. data/sig/modern_treasury/resources/foreign_exchange_quotes.rbs +51 -0
  794. data/sig/modern_treasury/resources/incoming_payment_details.rbs +65 -0
  795. data/sig/modern_treasury/resources/internal_accounts/balance_reports.rbs +63 -0
  796. data/sig/modern_treasury/resources/internal_accounts.rbs +71 -0
  797. data/sig/modern_treasury/resources/invoices/line_items.rbs +83 -0
  798. data/sig/modern_treasury/resources/invoices.rbs +122 -0
  799. data/sig/modern_treasury/resources/ledger_account_balance_monitors.rbs +69 -0
  800. data/sig/modern_treasury/resources/ledger_account_categories.rbs +128 -0
  801. data/sig/modern_treasury/resources/ledger_account_settlements/account_entries.rbs +33 -0
  802. data/sig/modern_treasury/resources/ledger_account_settlements.rbs +70 -0
  803. data/sig/modern_treasury/resources/ledger_account_statements.rbs +32 -0
  804. data/sig/modern_treasury/resources/ledger_accounts.rbs +86 -0
  805. data/sig/modern_treasury/resources/ledger_entries.rbs +60 -0
  806. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +59 -0
  807. data/sig/modern_treasury/resources/ledger_transactions/versions.rbs +24 -0
  808. data/sig/modern_treasury/resources/ledger_transactions.rbs +117 -0
  809. data/sig/modern_treasury/resources/ledgerable_events.rbs +31 -0
  810. data/sig/modern_treasury/resources/ledgers.rbs +68 -0
  811. data/sig/modern_treasury/resources/legal_entities.rbs +98 -0
  812. data/sig/modern_treasury/resources/legal_entity_associations.rbs +22 -0
  813. data/sig/modern_treasury/resources/line_items.rbs +48 -0
  814. data/sig/modern_treasury/resources/paper_items.rbs +32 -0
  815. data/sig/modern_treasury/resources/payment_flows.rbs +62 -0
  816. data/sig/modern_treasury/resources/payment_orders/reversals.rbs +48 -0
  817. data/sig/modern_treasury/resources/payment_orders.rbs +180 -0
  818. data/sig/modern_treasury/resources/payment_references.rbs +43 -0
  819. data/sig/modern_treasury/resources/returns.rbs +47 -0
  820. data/sig/modern_treasury/resources/routing_details.rbs +62 -0
  821. data/sig/modern_treasury/resources/transactions/line_items.rbs +54 -0
  822. data/sig/modern_treasury/resources/transactions.rbs +82 -0
  823. data/sig/modern_treasury/resources/validations.rbs +18 -0
  824. data/sig/modern_treasury/resources/virtual_accounts.rbs +77 -0
  825. data/sig/modern_treasury/util.rbs +91 -0
  826. data/sig/modern_treasury/version.rbs +3 -0
  827. metadata +861 -20
@@ -0,0 +1,4666 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class BulkRequestCreateParams < ModernTreasury::BaseModel
6
+ # @!parse
7
+ # extend ModernTreasury::RequestParameters::Converter
8
+ include ModernTreasury::RequestParameters
9
+
10
+ # @!attribute action_type
11
+ # One of create, or update.
12
+ #
13
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::ActionType]
14
+ required :action_type, enum: -> { ModernTreasury::Models::BulkRequestCreateParams::ActionType }
15
+
16
+ # @!attribute resource_type
17
+ # One of payment_order, expected_payment, or ledger_transaction.
18
+ #
19
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::ResourceType]
20
+ required :resource_type, enum: -> { ModernTreasury::Models::BulkRequestCreateParams::ResourceType }
21
+
22
+ # @!attribute resources
23
+ # An array of objects where each object contains the input params for a single
24
+ # `action_type` request on a `resource_type` resource
25
+ #
26
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID>]
27
+ required :resources,
28
+ -> { ModernTreasury::ArrayOf[union: ModernTreasury::Models::BulkRequestCreateParams::Resource] }
29
+
30
+ # @!attribute [r] metadata
31
+ # Additional data represented as key-value pairs. Both the key and value must be
32
+ # strings.
33
+ #
34
+ # @return [Hash{Symbol=>String}, nil]
35
+ optional :metadata, ModernTreasury::HashOf[String]
36
+
37
+ # @!parse
38
+ # # @return [Hash{Symbol=>String}]
39
+ # attr_writer :metadata
40
+
41
+ # @!parse
42
+ # # @param action_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::ActionType]
43
+ # # @param resource_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::ResourceType]
44
+ # # @param resources [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID>]
45
+ # # @param metadata [Hash{Symbol=>String}]
46
+ # # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}]
47
+ # #
48
+ # def initialize(action_type:, resource_type:, resources:, metadata: nil, request_options: {}, **) = super
49
+
50
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
51
+
52
+ # @abstract
53
+ #
54
+ # One of create, or update.
55
+ #
56
+ # @example
57
+ # ```ruby
58
+ # case action_type
59
+ # in :create
60
+ # # ...
61
+ # in :update
62
+ # # ...
63
+ # in :delete
64
+ # # ...
65
+ # end
66
+ # ```
67
+ class ActionType < ModernTreasury::Enum
68
+ CREATE = :create
69
+ UPDATE = :update
70
+ DELETE = :delete
71
+
72
+ finalize!
73
+
74
+ # @!parse
75
+ # # @return [Array<Symbol>]
76
+ # #
77
+ # def self.values; end
78
+ end
79
+
80
+ # @abstract
81
+ #
82
+ # One of payment_order, expected_payment, or ledger_transaction.
83
+ #
84
+ # @example
85
+ # ```ruby
86
+ # case resource_type
87
+ # in :payment_order
88
+ # # ...
89
+ # in :ledger_transaction
90
+ # # ...
91
+ # in :transaction
92
+ # # ...
93
+ # in :expected_payment
94
+ # # ...
95
+ # end
96
+ # ```
97
+ class ResourceType < ModernTreasury::Enum
98
+ PAYMENT_ORDER = :payment_order
99
+ LEDGER_TRANSACTION = :ledger_transaction
100
+ TRANSACTION = :transaction
101
+ EXPECTED_PAYMENT = :expected_payment
102
+
103
+ finalize!
104
+
105
+ # @!parse
106
+ # # @return [Array<Symbol>]
107
+ # #
108
+ # def self.values; end
109
+ end
110
+
111
+ # @abstract
112
+ #
113
+ # @example
114
+ # ```ruby
115
+ # case resource
116
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest
117
+ # # ...
118
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest
119
+ # # ...
120
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest
121
+ # # ...
122
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest
123
+ # # ...
124
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::ID
125
+ # # ...
126
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID
127
+ # # ...
128
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID
129
+ # # ...
130
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID
131
+ # # ...
132
+ # in ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID
133
+ # # ...
134
+ # end
135
+ # ```
136
+ class Resource < ModernTreasury::Union
137
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest }
138
+
139
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest }
140
+
141
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest }
142
+
143
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest }
144
+
145
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ID }
146
+
147
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID }
148
+
149
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID }
150
+
151
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID }
152
+
153
+ variant -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID }
154
+
155
+ class PaymentOrderAsyncCreateRequest < ModernTreasury::BaseModel
156
+ # @!attribute amount
157
+ # Value in specified currency's smallest unit. e.g. $10 would be represented as
158
+ # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
159
+ #
160
+ # @return [Integer]
161
+ required :amount, Integer
162
+
163
+ # @!attribute direction
164
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
165
+ # transaction. A `credit` moves money from your account to someone else's. A
166
+ # `debit` pulls money from someone else's account to your own. Note that wire,
167
+ # rtp, and check payments will always be `credit`.
168
+ #
169
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction]
170
+ required :direction,
171
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction }
172
+
173
+ # @!attribute originating_account_id
174
+ # The ID of one of your organization's internal accounts.
175
+ #
176
+ # @return [String]
177
+ required :originating_account_id, String
178
+
179
+ # @!attribute type
180
+ # One of `ach`, `se_bankgirot`, `eft`, `wire`, `check`, `sen`, `book`, `rtp`,
181
+ # `sepa`, `bacs`, `au_becs`, `interac`, `neft`, `nics`,
182
+ # `nz_national_clearing_code`, `sic`, `signet`, `provexchange`, `zengin`.
183
+ #
184
+ # @return [Symbol, ModernTreasury::Models::PaymentOrderType]
185
+ required :type, enum: -> { ModernTreasury::Models::PaymentOrderType }
186
+
187
+ # @!attribute [r] accounting
188
+ #
189
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting, nil]
190
+ optional :accounting,
191
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting }
192
+
193
+ # @!parse
194
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting]
195
+ # attr_writer :accounting
196
+
197
+ # @!attribute accounting_category_id
198
+ # The ID of one of your accounting categories. Note that these will only be
199
+ # accessible if your accounting system has been connected.
200
+ #
201
+ # @return [String, nil]
202
+ optional :accounting_category_id, String, nil?: true
203
+
204
+ # @!attribute accounting_ledger_class_id
205
+ # The ID of one of your accounting ledger classes. Note that these will only be
206
+ # accessible if your accounting system has been connected.
207
+ #
208
+ # @return [String, nil]
209
+ optional :accounting_ledger_class_id, String, nil?: true
210
+
211
+ # @!attribute charge_bearer
212
+ # The party that will pay the fees for the payment order. Only applies to wire
213
+ # payment orders. Can be one of shared, sender, or receiver, which correspond
214
+ # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
215
+ #
216
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer, nil]
217
+ optional :charge_bearer,
218
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer },
219
+ nil?: true
220
+
221
+ # @!attribute [r] currency
222
+ # Defaults to the currency of the originating account.
223
+ #
224
+ # @return [Symbol, ModernTreasury::Models::Currency, nil]
225
+ optional :currency, enum: -> { ModernTreasury::Models::Currency }
226
+
227
+ # @!parse
228
+ # # @return [Symbol, ModernTreasury::Models::Currency]
229
+ # attr_writer :currency
230
+
231
+ # @!attribute description
232
+ # An optional description for internal use.
233
+ #
234
+ # @return [String, nil]
235
+ optional :description, String, nil?: true
236
+
237
+ # @!attribute [r] effective_date
238
+ # Date transactions are to be posted to the participants' account. Defaults to the
239
+ # current business day or the next business day if the current day is a bank
240
+ # holiday or weekend. Format: yyyy-mm-dd.
241
+ #
242
+ # @return [Date, nil]
243
+ optional :effective_date, Date
244
+
245
+ # @!parse
246
+ # # @return [Date]
247
+ # attr_writer :effective_date
248
+
249
+ # @!attribute expires_at
250
+ # RFP payments require an expires_at. This value must be past the effective_date.
251
+ #
252
+ # @return [Time, nil]
253
+ optional :expires_at, Time, nil?: true
254
+
255
+ # @!attribute [r] fallback_type
256
+ # A payment type to fallback to if the original type is not valid for the
257
+ # receiving account. Currently, this only supports falling back from RTP to ACH
258
+ # (type=rtp and fallback_type=ach)
259
+ #
260
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::FallbackType, nil]
261
+ optional :fallback_type,
262
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::FallbackType }
263
+
264
+ # @!parse
265
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::FallbackType]
266
+ # attr_writer :fallback_type
267
+
268
+ # @!attribute foreign_exchange_contract
269
+ # If present, indicates a specific foreign exchange contract number that has been
270
+ # generated by your financial institution.
271
+ #
272
+ # @return [String, nil]
273
+ optional :foreign_exchange_contract, String, nil?: true
274
+
275
+ # @!attribute foreign_exchange_indicator
276
+ # Indicates the type of FX transfer to initiate, can be either
277
+ # `variable_to_fixed`, `fixed_to_variable`, or `null` if the payment order
278
+ # currency matches the originating account currency.
279
+ #
280
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ForeignExchangeIndicator, nil]
281
+ optional :foreign_exchange_indicator,
282
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ForeignExchangeIndicator },
283
+ nil?: true
284
+
285
+ # @!attribute [r] ledger_transaction
286
+ # Specifies a ledger transaction object that will be created with the payment
287
+ # order. If the ledger transaction cannot be created, then the payment order
288
+ # creation will fail. The resulting ledger transaction will mirror the status of
289
+ # the payment order.
290
+ #
291
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction, nil]
292
+ optional :ledger_transaction,
293
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction }
294
+
295
+ # @!parse
296
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction]
297
+ # attr_writer :ledger_transaction
298
+
299
+ # @!attribute [r] ledger_transaction_id
300
+ # Either ledger_transaction or ledger_transaction_id can be provided. Only a
301
+ # pending ledger transaction can be attached upon payment order creation. Once the
302
+ # payment order is created, the status of the ledger transaction tracks the
303
+ # payment order automatically.
304
+ #
305
+ # @return [String, nil]
306
+ optional :ledger_transaction_id, String
307
+
308
+ # @!parse
309
+ # # @return [String]
310
+ # attr_writer :ledger_transaction_id
311
+
312
+ # @!attribute [r] line_items
313
+ # An array of line items that must sum up to the amount of the payment order.
314
+ #
315
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LineItem>, nil]
316
+ optional :line_items,
317
+ -> { ModernTreasury::ArrayOf[ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LineItem] }
318
+
319
+ # @!parse
320
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LineItem>]
321
+ # attr_writer :line_items
322
+
323
+ # @!attribute [r] metadata
324
+ # Additional data represented as key-value pairs. Both the key and value must be
325
+ # strings.
326
+ #
327
+ # @return [Hash{Symbol=>String}, nil]
328
+ optional :metadata, ModernTreasury::HashOf[String]
329
+
330
+ # @!parse
331
+ # # @return [Hash{Symbol=>String}]
332
+ # attr_writer :metadata
333
+
334
+ # @!attribute [r] nsf_protected
335
+ # A boolean to determine if NSF Protection is enabled for this payment order. Note
336
+ # that this setting must also be turned on in your organization settings page.
337
+ #
338
+ # @return [Boolean, nil]
339
+ optional :nsf_protected, ModernTreasury::BooleanModel
340
+
341
+ # @!parse
342
+ # # @return [Boolean]
343
+ # attr_writer :nsf_protected
344
+
345
+ # @!attribute originating_party_name
346
+ # If present, this will replace your default company name on receiver's bank
347
+ # statement. This field can only be used for ACH payments currently. For ACH, only
348
+ # the first 16 characters of this string will be used. Any additional characters
349
+ # will be truncated.
350
+ #
351
+ # @return [String, nil]
352
+ optional :originating_party_name, String, nil?: true
353
+
354
+ # @!attribute [r] priority
355
+ # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
356
+ # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
357
+ # an overnight check rather than standard mail.
358
+ #
359
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority, nil]
360
+ optional :priority,
361
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority }
362
+
363
+ # @!parse
364
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority]
365
+ # attr_writer :priority
366
+
367
+ # @!attribute process_after
368
+ # If present, Modern Treasury will not process the payment until after this time.
369
+ # If `process_after` is past the cutoff for `effective_date`, `process_after` will
370
+ # take precedence and `effective_date` will automatically update to reflect the
371
+ # earliest possible sending date after `process_after`. Format is ISO8601
372
+ # timestamp.
373
+ #
374
+ # @return [Time, nil]
375
+ optional :process_after, Time, nil?: true
376
+
377
+ # @!attribute purpose
378
+ # For `wire`, this is usually the purpose which is transmitted via the
379
+ # "InstrForDbtrAgt" field in the ISO20022 file. For `eft`, this field is the 3
380
+ # digit CPA Code that will be attached to the payment.
381
+ #
382
+ # @return [String, nil]
383
+ optional :purpose, String, nil?: true
384
+
385
+ # @!attribute [r] receiving_account
386
+ # Either `receiving_account` or `receiving_account_id` must be present. When using
387
+ # `receiving_account_id`, you may pass the id of an external account or an
388
+ # internal account.
389
+ #
390
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount, nil]
391
+ optional :receiving_account,
392
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount }
393
+
394
+ # @!parse
395
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount]
396
+ # attr_writer :receiving_account
397
+
398
+ # @!attribute [r] receiving_account_id
399
+ # Either `receiving_account` or `receiving_account_id` must be present. When using
400
+ # `receiving_account_id`, you may pass the id of an external account or an
401
+ # internal account.
402
+ #
403
+ # @return [String, nil]
404
+ optional :receiving_account_id, String
405
+
406
+ # @!parse
407
+ # # @return [String]
408
+ # attr_writer :receiving_account_id
409
+
410
+ # @!attribute remittance_information
411
+ # For `ach`, this field will be passed through on an addenda record. For `wire`
412
+ # payments the field will be passed through as the "Originator to Beneficiary
413
+ # Information", also known as OBI or Fedwire tag 6000.
414
+ #
415
+ # @return [String, nil]
416
+ optional :remittance_information, String, nil?: true
417
+
418
+ # @!attribute send_remittance_advice
419
+ # Send an email to the counterparty when the payment order is sent to the bank. If
420
+ # `null`, `send_remittance_advice` on the Counterparty is used.
421
+ #
422
+ # @return [Boolean, nil]
423
+ optional :send_remittance_advice, ModernTreasury::BooleanModel, nil?: true
424
+
425
+ # @!attribute statement_descriptor
426
+ # An optional descriptor which will appear in the receiver's statement. For
427
+ # `check` payments this field will be used as the memo line. For `ach` the maximum
428
+ # length is 10 characters. Note that for ACH payments, the name on your bank
429
+ # account will be included automatically by the bank, so you can use the
430
+ # characters for other useful information. For `eft` the maximum length is 15
431
+ # characters.
432
+ #
433
+ # @return [String, nil]
434
+ optional :statement_descriptor, String, nil?: true
435
+
436
+ # @!attribute subtype
437
+ # An additional layer of classification for the type of payment order you are
438
+ # doing. This field is only used for `ach` payment orders currently. For `ach`
439
+ # payment orders, the `subtype` represents the SEC code. We currently support
440
+ # `CCD`, `PPD`, `IAT`, `CTX`, `WEB`, `CIE`, and `TEL`.
441
+ #
442
+ # @return [Symbol, ModernTreasury::Models::PaymentOrderSubtype, nil]
443
+ optional :subtype, enum: -> { ModernTreasury::Models::PaymentOrderSubtype }, nil?: true
444
+
445
+ # @!attribute [r] transaction_monitoring_enabled
446
+ # A flag that determines whether a payment order should go through transaction
447
+ # monitoring.
448
+ #
449
+ # @return [Boolean, nil]
450
+ optional :transaction_monitoring_enabled, ModernTreasury::BooleanModel
451
+
452
+ # @!parse
453
+ # # @return [Boolean]
454
+ # attr_writer :transaction_monitoring_enabled
455
+
456
+ # @!attribute ultimate_originating_party_identifier
457
+ # Identifier of the ultimate originator of the payment order.
458
+ #
459
+ # @return [String, nil]
460
+ optional :ultimate_originating_party_identifier, String, nil?: true
461
+
462
+ # @!attribute ultimate_originating_party_name
463
+ # Name of the ultimate originator of the payment order.
464
+ #
465
+ # @return [String, nil]
466
+ optional :ultimate_originating_party_name, String, nil?: true
467
+
468
+ # @!attribute ultimate_receiving_party_identifier
469
+ # Identifier of the ultimate funds recipient.
470
+ #
471
+ # @return [String, nil]
472
+ optional :ultimate_receiving_party_identifier, String, nil?: true
473
+
474
+ # @!attribute ultimate_receiving_party_name
475
+ # Name of the ultimate funds recipient.
476
+ #
477
+ # @return [String, nil]
478
+ optional :ultimate_receiving_party_name, String, nil?: true
479
+
480
+ # @!parse
481
+ # # @param amount [Integer]
482
+ # # @param direction [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Direction]
483
+ # # @param originating_account_id [String]
484
+ # # @param type [Symbol, ModernTreasury::Models::PaymentOrderType]
485
+ # # @param accounting [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Accounting]
486
+ # # @param accounting_category_id [String, nil]
487
+ # # @param accounting_ledger_class_id [String, nil]
488
+ # # @param charge_bearer [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer, nil]
489
+ # # @param currency [Symbol, ModernTreasury::Models::Currency]
490
+ # # @param description [String, nil]
491
+ # # @param effective_date [Date]
492
+ # # @param expires_at [Time, nil]
493
+ # # @param fallback_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::FallbackType]
494
+ # # @param foreign_exchange_contract [String, nil]
495
+ # # @param foreign_exchange_indicator [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ForeignExchangeIndicator, nil]
496
+ # # @param ledger_transaction [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction]
497
+ # # @param ledger_transaction_id [String]
498
+ # # @param line_items [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LineItem>]
499
+ # # @param metadata [Hash{Symbol=>String}]
500
+ # # @param nsf_protected [Boolean]
501
+ # # @param originating_party_name [String, nil]
502
+ # # @param priority [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority]
503
+ # # @param process_after [Time, nil]
504
+ # # @param purpose [String, nil]
505
+ # # @param receiving_account [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount]
506
+ # # @param receiving_account_id [String]
507
+ # # @param remittance_information [String, nil]
508
+ # # @param send_remittance_advice [Boolean, nil]
509
+ # # @param statement_descriptor [String, nil]
510
+ # # @param subtype [Symbol, ModernTreasury::Models::PaymentOrderSubtype, nil]
511
+ # # @param transaction_monitoring_enabled [Boolean]
512
+ # # @param ultimate_originating_party_identifier [String, nil]
513
+ # # @param ultimate_originating_party_name [String, nil]
514
+ # # @param ultimate_receiving_party_identifier [String, nil]
515
+ # # @param ultimate_receiving_party_name [String, nil]
516
+ # #
517
+ # def initialize(
518
+ # amount:,
519
+ # direction:,
520
+ # originating_account_id:,
521
+ # type:,
522
+ # accounting: nil,
523
+ # accounting_category_id: nil,
524
+ # accounting_ledger_class_id: nil,
525
+ # charge_bearer: nil,
526
+ # currency: nil,
527
+ # description: nil,
528
+ # effective_date: nil,
529
+ # expires_at: nil,
530
+ # fallback_type: nil,
531
+ # foreign_exchange_contract: nil,
532
+ # foreign_exchange_indicator: nil,
533
+ # ledger_transaction: nil,
534
+ # ledger_transaction_id: nil,
535
+ # line_items: nil,
536
+ # metadata: nil,
537
+ # nsf_protected: nil,
538
+ # originating_party_name: nil,
539
+ # priority: nil,
540
+ # process_after: nil,
541
+ # purpose: nil,
542
+ # receiving_account: nil,
543
+ # receiving_account_id: nil,
544
+ # remittance_information: nil,
545
+ # send_remittance_advice: nil,
546
+ # statement_descriptor: nil,
547
+ # subtype: nil,
548
+ # transaction_monitoring_enabled: nil,
549
+ # ultimate_originating_party_identifier: nil,
550
+ # ultimate_originating_party_name: nil,
551
+ # ultimate_receiving_party_identifier: nil,
552
+ # ultimate_receiving_party_name: nil,
553
+ # **
554
+ # )
555
+ # super
556
+ # end
557
+
558
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
559
+
560
+ # @abstract
561
+ #
562
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
563
+ # transaction. A `credit` moves money from your account to someone else's. A
564
+ # `debit` pulls money from someone else's account to your own. Note that wire,
565
+ # rtp, and check payments will always be `credit`.
566
+ #
567
+ # @example
568
+ # ```ruby
569
+ # case direction
570
+ # in :credit
571
+ # # ...
572
+ # in :debit
573
+ # # ...
574
+ # end
575
+ # ```
576
+ class Direction < ModernTreasury::Enum
577
+ CREDIT = :credit
578
+ DEBIT = :debit
579
+
580
+ finalize!
581
+
582
+ # @!parse
583
+ # # @return [Array<Symbol>]
584
+ # #
585
+ # def self.values; end
586
+ end
587
+
588
+ class Accounting < ModernTreasury::BaseModel
589
+ # @!attribute account_id
590
+ # The ID of one of your accounting categories. Note that these will only be
591
+ # accessible if your accounting system has been connected.
592
+ #
593
+ # @return [String, nil]
594
+ optional :account_id, String, nil?: true
595
+
596
+ # @!attribute class_id
597
+ # The ID of one of the class objects in your accounting system. Class objects
598
+ # track segments of your business independent of client or project. Note that
599
+ # these will only be accessible if your accounting system has been connected.
600
+ #
601
+ # @return [String, nil]
602
+ optional :class_id, String, nil?: true
603
+
604
+ # @!parse
605
+ # # @param account_id [String, nil]
606
+ # # @param class_id [String, nil]
607
+ # #
608
+ # def initialize(account_id: nil, class_id: nil, **) = super
609
+
610
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
611
+ end
612
+
613
+ # @abstract
614
+ #
615
+ # The party that will pay the fees for the payment order. Only applies to wire
616
+ # payment orders. Can be one of shared, sender, or receiver, which correspond
617
+ # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
618
+ #
619
+ # @example
620
+ # ```ruby
621
+ # case charge_bearer
622
+ # in :shared
623
+ # # ...
624
+ # in :sender
625
+ # # ...
626
+ # in :receiver
627
+ # # ...
628
+ # end
629
+ # ```
630
+ class ChargeBearer < ModernTreasury::Enum
631
+ SHARED = :shared
632
+ SENDER = :sender
633
+ RECEIVER = :receiver
634
+
635
+ finalize!
636
+
637
+ # @!parse
638
+ # # @return [Array<Symbol>]
639
+ # #
640
+ # def self.values; end
641
+ end
642
+
643
+ # @abstract
644
+ #
645
+ # A payment type to fallback to if the original type is not valid for the
646
+ # receiving account. Currently, this only supports falling back from RTP to ACH
647
+ # (type=rtp and fallback_type=ach)
648
+ #
649
+ # @example
650
+ # ```ruby
651
+ # case fallback_type
652
+ # in :ach
653
+ # # ...
654
+ # end
655
+ # ```
656
+ class FallbackType < ModernTreasury::Enum
657
+ ACH = :ach
658
+
659
+ finalize!
660
+
661
+ # @!parse
662
+ # # @return [Array<Symbol>]
663
+ # #
664
+ # def self.values; end
665
+ end
666
+
667
+ # @abstract
668
+ #
669
+ # Indicates the type of FX transfer to initiate, can be either
670
+ # `variable_to_fixed`, `fixed_to_variable`, or `null` if the payment order
671
+ # currency matches the originating account currency.
672
+ #
673
+ # @example
674
+ # ```ruby
675
+ # case foreign_exchange_indicator
676
+ # in :fixed_to_variable
677
+ # # ...
678
+ # in :variable_to_fixed
679
+ # # ...
680
+ # end
681
+ # ```
682
+ class ForeignExchangeIndicator < ModernTreasury::Enum
683
+ FIXED_TO_VARIABLE = :fixed_to_variable
684
+ VARIABLE_TO_FIXED = :variable_to_fixed
685
+
686
+ finalize!
687
+
688
+ # @!parse
689
+ # # @return [Array<Symbol>]
690
+ # #
691
+ # def self.values; end
692
+ end
693
+
694
+ class LedgerTransaction < ModernTreasury::BaseModel
695
+ # @!attribute ledger_entries
696
+ # An array of ledger entry objects.
697
+ #
698
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry>]
699
+ required :ledger_entries,
700
+ -> do
701
+ ModernTreasury::ArrayOf[
702
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry
703
+ ]
704
+ end
705
+
706
+ # @!attribute description
707
+ # An optional description for internal use.
708
+ #
709
+ # @return [String, nil]
710
+ optional :description, String, nil?: true
711
+
712
+ # @!attribute [r] effective_at
713
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
714
+ # reporting purposes.
715
+ #
716
+ # @return [Time, nil]
717
+ optional :effective_at, Time
718
+
719
+ # @!parse
720
+ # # @return [Time]
721
+ # attr_writer :effective_at
722
+
723
+ # @!attribute [r] effective_date
724
+ # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
725
+ # purposes.
726
+ #
727
+ # @return [Date, nil]
728
+ optional :effective_date, Date
729
+
730
+ # @!parse
731
+ # # @return [Date]
732
+ # attr_writer :effective_date
733
+
734
+ # @!attribute [r] external_id
735
+ # A unique string to represent the ledger transaction. Only one pending or posted
736
+ # ledger transaction may have this ID in the ledger.
737
+ #
738
+ # @return [String, nil]
739
+ optional :external_id, String
740
+
741
+ # @!parse
742
+ # # @return [String]
743
+ # attr_writer :external_id
744
+
745
+ # @!attribute [r] ledgerable_id
746
+ # If the ledger transaction can be reconciled to another object in Modern
747
+ # Treasury, the id will be populated here, otherwise null.
748
+ #
749
+ # @return [String, nil]
750
+ optional :ledgerable_id, String
751
+
752
+ # @!parse
753
+ # # @return [String]
754
+ # attr_writer :ledgerable_id
755
+
756
+ # @!attribute [r] ledgerable_type
757
+ # If the ledger transaction can be reconciled to another object in Modern
758
+ # Treasury, the type will be populated here, otherwise null. This can be one of
759
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
760
+ # reversal.
761
+ #
762
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType, nil]
763
+ optional :ledgerable_type,
764
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType }
765
+
766
+ # @!parse
767
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType]
768
+ # attr_writer :ledgerable_type
769
+
770
+ # @!attribute [r] metadata
771
+ # Additional data represented as key-value pairs. Both the key and value must be
772
+ # strings.
773
+ #
774
+ # @return [Hash{Symbol=>String}, nil]
775
+ optional :metadata, ModernTreasury::HashOf[String]
776
+
777
+ # @!parse
778
+ # # @return [Hash{Symbol=>String}]
779
+ # attr_writer :metadata
780
+
781
+ # @!attribute [r] status
782
+ # To post a ledger transaction at creation, use `posted`.
783
+ #
784
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status, nil]
785
+ optional :status,
786
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status }
787
+
788
+ # @!parse
789
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status]
790
+ # attr_writer :status
791
+
792
+ # @!parse
793
+ # # Specifies a ledger transaction object that will be created with the payment
794
+ # # order. If the ledger transaction cannot be created, then the payment order
795
+ # # creation will fail. The resulting ledger transaction will mirror the status of
796
+ # # the payment order.
797
+ # #
798
+ # # @param ledger_entries [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerEntry>]
799
+ # # @param description [String, nil]
800
+ # # @param effective_at [Time]
801
+ # # @param effective_date [Date]
802
+ # # @param external_id [String]
803
+ # # @param ledgerable_id [String]
804
+ # # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::LedgerableType]
805
+ # # @param metadata [Hash{Symbol=>String}]
806
+ # # @param status [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::LedgerTransaction::Status]
807
+ # #
808
+ # def initialize(
809
+ # ledger_entries:,
810
+ # description: nil,
811
+ # effective_at: nil,
812
+ # effective_date: nil,
813
+ # external_id: nil,
814
+ # ledgerable_id: nil,
815
+ # ledgerable_type: nil,
816
+ # metadata: nil,
817
+ # status: nil,
818
+ # **
819
+ # )
820
+ # super
821
+ # end
822
+
823
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
824
+
825
+ class LedgerEntry < ModernTreasury::BaseModel
826
+ # @!attribute amount
827
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
828
+ # as 1000. Can be any integer up to 36 digits.
829
+ #
830
+ # @return [Integer]
831
+ required :amount, Integer
832
+
833
+ # @!attribute direction
834
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
835
+ # transaction. A `credit` moves money from your account to someone else's. A
836
+ # `debit` pulls money from someone else's account to your own. Note that wire,
837
+ # rtp, and check payments will always be `credit`.
838
+ #
839
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
840
+ required :direction, enum: -> { ModernTreasury::Models::TransactionDirection }
841
+
842
+ # @!attribute ledger_account_id
843
+ # The ledger account that this ledger entry is associated with.
844
+ #
845
+ # @return [String]
846
+ required :ledger_account_id, String
847
+
848
+ # @!attribute available_balance_amount
849
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
850
+ # account’s available balance. If any of these conditions would be false after the
851
+ # transaction is created, the entire call will fail with error code 422.
852
+ #
853
+ # @return [Hash{Symbol=>Integer}, nil]
854
+ optional :available_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
855
+
856
+ # @!attribute lock_version
857
+ # Lock version of the ledger account. This can be passed when creating a ledger
858
+ # transaction to only succeed if no ledger transactions have posted since the
859
+ # given version. See our post about Designing the Ledgers API with Optimistic
860
+ # Locking for more details.
861
+ #
862
+ # @return [Integer, nil]
863
+ optional :lock_version, Integer, nil?: true
864
+
865
+ # @!attribute [r] metadata
866
+ # Additional data represented as key-value pairs. Both the key and value must be
867
+ # strings.
868
+ #
869
+ # @return [Hash{Symbol=>String}, nil]
870
+ optional :metadata, ModernTreasury::HashOf[String]
871
+
872
+ # @!parse
873
+ # # @return [Hash{Symbol=>String}]
874
+ # attr_writer :metadata
875
+
876
+ # @!attribute pending_balance_amount
877
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
878
+ # account’s pending balance. If any of these conditions would be false after the
879
+ # transaction is created, the entire call will fail with error code 422.
880
+ #
881
+ # @return [Hash{Symbol=>Integer}, nil]
882
+ optional :pending_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
883
+
884
+ # @!attribute posted_balance_amount
885
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
886
+ # account’s posted balance. If any of these conditions would be false after the
887
+ # transaction is created, the entire call will fail with error code 422.
888
+ #
889
+ # @return [Hash{Symbol=>Integer}, nil]
890
+ optional :posted_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
891
+
892
+ # @!attribute show_resulting_ledger_account_balances
893
+ # If true, response will include the balance of the associated ledger account for
894
+ # the entry.
895
+ #
896
+ # @return [Boolean, nil]
897
+ optional :show_resulting_ledger_account_balances, ModernTreasury::BooleanModel, nil?: true
898
+
899
+ # @!parse
900
+ # # @param amount [Integer]
901
+ # # @param direction [Symbol, ModernTreasury::Models::TransactionDirection]
902
+ # # @param ledger_account_id [String]
903
+ # # @param available_balance_amount [Hash{Symbol=>Integer}, nil]
904
+ # # @param lock_version [Integer, nil]
905
+ # # @param metadata [Hash{Symbol=>String}]
906
+ # # @param pending_balance_amount [Hash{Symbol=>Integer}, nil]
907
+ # # @param posted_balance_amount [Hash{Symbol=>Integer}, nil]
908
+ # # @param show_resulting_ledger_account_balances [Boolean, nil]
909
+ # #
910
+ # def initialize(
911
+ # amount:,
912
+ # direction:,
913
+ # ledger_account_id:,
914
+ # available_balance_amount: nil,
915
+ # lock_version: nil,
916
+ # metadata: nil,
917
+ # pending_balance_amount: nil,
918
+ # posted_balance_amount: nil,
919
+ # show_resulting_ledger_account_balances: nil,
920
+ # **
921
+ # )
922
+ # super
923
+ # end
924
+
925
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
926
+ end
927
+
928
+ # @abstract
929
+ #
930
+ # If the ledger transaction can be reconciled to another object in Modern
931
+ # Treasury, the type will be populated here, otherwise null. This can be one of
932
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
933
+ # reversal.
934
+ #
935
+ # @example
936
+ # ```ruby
937
+ # case ledgerable_type
938
+ # in :expected_payment
939
+ # # ...
940
+ # in :incoming_payment_detail
941
+ # # ...
942
+ # in :paper_item
943
+ # # ...
944
+ # in :payment_order
945
+ # # ...
946
+ # in :return
947
+ # # ...
948
+ # in ...
949
+ # #...
950
+ # end
951
+ # ```
952
+ class LedgerableType < ModernTreasury::Enum
953
+ EXPECTED_PAYMENT = :expected_payment
954
+ INCOMING_PAYMENT_DETAIL = :incoming_payment_detail
955
+ PAPER_ITEM = :paper_item
956
+ PAYMENT_ORDER = :payment_order
957
+ RETURN = :return
958
+ REVERSAL = :reversal
959
+
960
+ finalize!
961
+
962
+ # @!parse
963
+ # # @return [Array<Symbol>]
964
+ # #
965
+ # def self.values; end
966
+ end
967
+
968
+ # @abstract
969
+ #
970
+ # To post a ledger transaction at creation, use `posted`.
971
+ #
972
+ # @example
973
+ # ```ruby
974
+ # case status
975
+ # in :archived
976
+ # # ...
977
+ # in :pending
978
+ # # ...
979
+ # in :posted
980
+ # # ...
981
+ # end
982
+ # ```
983
+ class Status < ModernTreasury::Enum
984
+ ARCHIVED = :archived
985
+ PENDING = :pending
986
+ POSTED = :posted
987
+
988
+ finalize!
989
+
990
+ # @!parse
991
+ # # @return [Array<Symbol>]
992
+ # #
993
+ # def self.values; end
994
+ end
995
+ end
996
+
997
+ class LineItem < ModernTreasury::BaseModel
998
+ # @!attribute amount
999
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
1000
+ # as 1000.
1001
+ #
1002
+ # @return [Integer]
1003
+ required :amount, Integer
1004
+
1005
+ # @!attribute accounting_category_id
1006
+ # The ID of one of your accounting categories. Note that these will only be
1007
+ # accessible if your accounting system has been connected.
1008
+ #
1009
+ # @return [String, nil]
1010
+ optional :accounting_category_id, String, nil?: true
1011
+
1012
+ # @!attribute description
1013
+ # A free-form description of the line item.
1014
+ #
1015
+ # @return [String, nil]
1016
+ optional :description, String, nil?: true
1017
+
1018
+ # @!attribute [r] metadata
1019
+ # Additional data represented as key-value pairs. Both the key and value must be
1020
+ # strings.
1021
+ #
1022
+ # @return [Hash{Symbol=>String}, nil]
1023
+ optional :metadata, ModernTreasury::HashOf[String]
1024
+
1025
+ # @!parse
1026
+ # # @return [Hash{Symbol=>String}]
1027
+ # attr_writer :metadata
1028
+
1029
+ # @!parse
1030
+ # # @param amount [Integer]
1031
+ # # @param accounting_category_id [String, nil]
1032
+ # # @param description [String, nil]
1033
+ # # @param metadata [Hash{Symbol=>String}]
1034
+ # #
1035
+ # def initialize(amount:, accounting_category_id: nil, description: nil, metadata: nil, **) = super
1036
+
1037
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1038
+ end
1039
+
1040
+ # @abstract
1041
+ #
1042
+ # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
1043
+ # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
1044
+ # an overnight check rather than standard mail.
1045
+ #
1046
+ # @example
1047
+ # ```ruby
1048
+ # case priority
1049
+ # in :high
1050
+ # # ...
1051
+ # in :normal
1052
+ # # ...
1053
+ # end
1054
+ # ```
1055
+ class Priority < ModernTreasury::Enum
1056
+ HIGH = :high
1057
+ NORMAL = :normal
1058
+
1059
+ finalize!
1060
+
1061
+ # @!parse
1062
+ # # @return [Array<Symbol>]
1063
+ # #
1064
+ # def self.values; end
1065
+ end
1066
+
1067
+ class ReceivingAccount < ModernTreasury::BaseModel
1068
+ # @!attribute [r] account_details
1069
+ #
1070
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail>, nil]
1071
+ optional :account_details,
1072
+ -> do
1073
+ ModernTreasury::ArrayOf[
1074
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail
1075
+ ]
1076
+ end
1077
+
1078
+ # @!parse
1079
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail>]
1080
+ # attr_writer :account_details
1081
+
1082
+ # @!attribute [r] account_type
1083
+ # Can be `checking`, `savings` or `other`.
1084
+ #
1085
+ # @return [Symbol, ModernTreasury::Models::ExternalAccountType, nil]
1086
+ optional :account_type, enum: -> { ModernTreasury::Models::ExternalAccountType }
1087
+
1088
+ # @!parse
1089
+ # # @return [Symbol, ModernTreasury::Models::ExternalAccountType]
1090
+ # attr_writer :account_type
1091
+
1092
+ # @!attribute [r] contact_details
1093
+ #
1094
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail>, nil]
1095
+ optional :contact_details,
1096
+ -> do
1097
+ ModernTreasury::ArrayOf[
1098
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail
1099
+ ]
1100
+ end
1101
+
1102
+ # @!parse
1103
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail>]
1104
+ # attr_writer :contact_details
1105
+
1106
+ # @!attribute [r] ledger_account
1107
+ # Specifies a ledger account object that will be created with the external
1108
+ # account. The resulting ledger account is linked to the external account for
1109
+ # auto-ledgering Payment objects. See
1110
+ # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
1111
+ # for more details.
1112
+ #
1113
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount, nil]
1114
+ optional :ledger_account,
1115
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount }
1116
+
1117
+ # @!parse
1118
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount]
1119
+ # attr_writer :ledger_account
1120
+
1121
+ # @!attribute [r] metadata
1122
+ # Additional data represented as key-value pairs. Both the key and value must be
1123
+ # strings.
1124
+ #
1125
+ # @return [Hash{Symbol=>String}, nil]
1126
+ optional :metadata, ModernTreasury::HashOf[String]
1127
+
1128
+ # @!parse
1129
+ # # @return [Hash{Symbol=>String}]
1130
+ # attr_writer :metadata
1131
+
1132
+ # @!attribute name
1133
+ # A nickname for the external account. This is only for internal usage and won't
1134
+ # affect any payments
1135
+ #
1136
+ # @return [String, nil]
1137
+ optional :name, String, nil?: true
1138
+
1139
+ # @!attribute [r] party_address
1140
+ # Required if receiving wire payments.
1141
+ #
1142
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress, nil]
1143
+ optional :party_address,
1144
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress }
1145
+
1146
+ # @!parse
1147
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress]
1148
+ # attr_writer :party_address
1149
+
1150
+ # @!attribute [r] party_identifier
1151
+ #
1152
+ # @return [String, nil]
1153
+ optional :party_identifier, String
1154
+
1155
+ # @!parse
1156
+ # # @return [String]
1157
+ # attr_writer :party_identifier
1158
+
1159
+ # @!attribute [r] party_name
1160
+ # If this value isn't provided, it will be inherited from the counterparty's name.
1161
+ #
1162
+ # @return [String, nil]
1163
+ optional :party_name, String
1164
+
1165
+ # @!parse
1166
+ # # @return [String]
1167
+ # attr_writer :party_name
1168
+
1169
+ # @!attribute party_type
1170
+ # Either `individual` or `business`.
1171
+ #
1172
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType, nil]
1173
+ optional :party_type,
1174
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType },
1175
+ nil?: true
1176
+
1177
+ # @!attribute [r] plaid_processor_token
1178
+ # If you've enabled the Modern Treasury + Plaid integration in your Plaid account,
1179
+ # you can pass the processor token in this field.
1180
+ #
1181
+ # @return [String, nil]
1182
+ optional :plaid_processor_token, String
1183
+
1184
+ # @!parse
1185
+ # # @return [String]
1186
+ # attr_writer :plaid_processor_token
1187
+
1188
+ # @!attribute [r] routing_details
1189
+ #
1190
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail>, nil]
1191
+ optional :routing_details,
1192
+ -> do
1193
+ ModernTreasury::ArrayOf[
1194
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail
1195
+ ]
1196
+ end
1197
+
1198
+ # @!parse
1199
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail>]
1200
+ # attr_writer :routing_details
1201
+
1202
+ # @!parse
1203
+ # # Either `receiving_account` or `receiving_account_id` must be present. When using
1204
+ # # `receiving_account_id`, you may pass the id of an external account or an
1205
+ # # internal account.
1206
+ # #
1207
+ # # @param account_details [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail>]
1208
+ # # @param account_type [Symbol, ModernTreasury::Models::ExternalAccountType]
1209
+ # # @param contact_details [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail>]
1210
+ # # @param ledger_account [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount]
1211
+ # # @param metadata [Hash{Symbol=>String}]
1212
+ # # @param name [String, nil]
1213
+ # # @param party_address [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyAddress]
1214
+ # # @param party_identifier [String]
1215
+ # # @param party_name [String]
1216
+ # # @param party_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::PartyType, nil]
1217
+ # # @param plaid_processor_token [String]
1218
+ # # @param routing_details [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail>]
1219
+ # #
1220
+ # def initialize(
1221
+ # account_details: nil,
1222
+ # account_type: nil,
1223
+ # contact_details: nil,
1224
+ # ledger_account: nil,
1225
+ # metadata: nil,
1226
+ # name: nil,
1227
+ # party_address: nil,
1228
+ # party_identifier: nil,
1229
+ # party_name: nil,
1230
+ # party_type: nil,
1231
+ # plaid_processor_token: nil,
1232
+ # routing_details: nil,
1233
+ # **
1234
+ # )
1235
+ # super
1236
+ # end
1237
+
1238
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1239
+
1240
+ class AccountDetail < ModernTreasury::BaseModel
1241
+ # @!attribute account_number
1242
+ #
1243
+ # @return [String]
1244
+ required :account_number, String
1245
+
1246
+ # @!attribute [r] account_number_type
1247
+ #
1248
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType, nil]
1249
+ optional :account_number_type,
1250
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType }
1251
+
1252
+ # @!parse
1253
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType]
1254
+ # attr_writer :account_number_type
1255
+
1256
+ # @!parse
1257
+ # # @param account_number [String]
1258
+ # # @param account_number_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType]
1259
+ # #
1260
+ # def initialize(account_number:, account_number_type: nil, **) = super
1261
+
1262
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1263
+
1264
+ # @abstract
1265
+ #
1266
+ # @example
1267
+ # ```ruby
1268
+ # case account_number_type
1269
+ # in :au_number
1270
+ # # ...
1271
+ # in :clabe
1272
+ # # ...
1273
+ # in :hk_number
1274
+ # # ...
1275
+ # in :iban
1276
+ # # ...
1277
+ # in :id_number
1278
+ # # ...
1279
+ # in ...
1280
+ # #...
1281
+ # end
1282
+ # ```
1283
+ class AccountNumberType < ModernTreasury::Enum
1284
+ AU_NUMBER = :au_number
1285
+ CLABE = :clabe
1286
+ HK_NUMBER = :hk_number
1287
+ IBAN = :iban
1288
+ ID_NUMBER = :id_number
1289
+ NZ_NUMBER = :nz_number
1290
+ OTHER = :other
1291
+ PAN = :pan
1292
+ SG_NUMBER = :sg_number
1293
+ WALLET_ADDRESS = :wallet_address
1294
+
1295
+ finalize!
1296
+
1297
+ # @!parse
1298
+ # # @return [Array<Symbol>]
1299
+ # #
1300
+ # def self.values; end
1301
+ end
1302
+ end
1303
+
1304
+ class ContactDetail < ModernTreasury::BaseModel
1305
+ # @!attribute [r] contact_identifier
1306
+ #
1307
+ # @return [String, nil]
1308
+ optional :contact_identifier, String
1309
+
1310
+ # @!parse
1311
+ # # @return [String]
1312
+ # attr_writer :contact_identifier
1313
+
1314
+ # @!attribute [r] contact_identifier_type
1315
+ #
1316
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType, nil]
1317
+ optional :contact_identifier_type,
1318
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType }
1319
+
1320
+ # @!parse
1321
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType]
1322
+ # attr_writer :contact_identifier_type
1323
+
1324
+ # @!parse
1325
+ # # @param contact_identifier [String]
1326
+ # # @param contact_identifier_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::ContactDetail::ContactIdentifierType]
1327
+ # #
1328
+ # def initialize(contact_identifier: nil, contact_identifier_type: nil, **) = super
1329
+
1330
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1331
+
1332
+ # @abstract
1333
+ #
1334
+ # @example
1335
+ # ```ruby
1336
+ # case contact_identifier_type
1337
+ # in :email
1338
+ # # ...
1339
+ # in :phone_number
1340
+ # # ...
1341
+ # in :website
1342
+ # # ...
1343
+ # end
1344
+ # ```
1345
+ class ContactIdentifierType < ModernTreasury::Enum
1346
+ EMAIL = :email
1347
+ PHONE_NUMBER = :phone_number
1348
+ WEBSITE = :website
1349
+
1350
+ finalize!
1351
+
1352
+ # @!parse
1353
+ # # @return [Array<Symbol>]
1354
+ # #
1355
+ # def self.values; end
1356
+ end
1357
+ end
1358
+
1359
+ class LedgerAccount < ModernTreasury::BaseModel
1360
+ # @!attribute currency
1361
+ # The currency of the ledger account.
1362
+ #
1363
+ # @return [String]
1364
+ required :currency, String
1365
+
1366
+ # @!attribute ledger_id
1367
+ # The id of the ledger that this account belongs to.
1368
+ #
1369
+ # @return [String]
1370
+ required :ledger_id, String
1371
+
1372
+ # @!attribute name
1373
+ # The name of the ledger account.
1374
+ #
1375
+ # @return [String]
1376
+ required :name, String
1377
+
1378
+ # @!attribute normal_balance
1379
+ # The normal balance of the ledger account.
1380
+ #
1381
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
1382
+ required :normal_balance, enum: -> { ModernTreasury::Models::TransactionDirection }
1383
+
1384
+ # @!attribute currency_exponent
1385
+ # The currency exponent of the ledger account.
1386
+ #
1387
+ # @return [Integer, nil]
1388
+ optional :currency_exponent, Integer, nil?: true
1389
+
1390
+ # @!attribute description
1391
+ # The description of the ledger account.
1392
+ #
1393
+ # @return [String, nil]
1394
+ optional :description, String, nil?: true
1395
+
1396
+ # @!attribute [r] ledger_account_category_ids
1397
+ # The array of ledger account category ids that this ledger account should be a
1398
+ # child of.
1399
+ #
1400
+ # @return [Array<String>, nil]
1401
+ optional :ledger_account_category_ids, ModernTreasury::ArrayOf[String]
1402
+
1403
+ # @!parse
1404
+ # # @return [Array<String>]
1405
+ # attr_writer :ledger_account_category_ids
1406
+
1407
+ # @!attribute [r] ledgerable_id
1408
+ # If the ledger account links to another object in Modern Treasury, the id will be
1409
+ # populated here, otherwise null.
1410
+ #
1411
+ # @return [String, nil]
1412
+ optional :ledgerable_id, String
1413
+
1414
+ # @!parse
1415
+ # # @return [String]
1416
+ # attr_writer :ledgerable_id
1417
+
1418
+ # @!attribute [r] ledgerable_type
1419
+ # If the ledger account links to another object in Modern Treasury, the type will
1420
+ # be populated here, otherwise null. The value is one of internal_account or
1421
+ # external_account.
1422
+ #
1423
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType, nil]
1424
+ optional :ledgerable_type,
1425
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType }
1426
+
1427
+ # @!parse
1428
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType]
1429
+ # attr_writer :ledgerable_type
1430
+
1431
+ # @!attribute [r] metadata
1432
+ # Additional data represented as key-value pairs. Both the key and value must be
1433
+ # strings.
1434
+ #
1435
+ # @return [Hash{Symbol=>String}, nil]
1436
+ optional :metadata, ModernTreasury::HashOf[String]
1437
+
1438
+ # @!parse
1439
+ # # @return [Hash{Symbol=>String}]
1440
+ # attr_writer :metadata
1441
+
1442
+ # @!parse
1443
+ # # Specifies a ledger account object that will be created with the external
1444
+ # # account. The resulting ledger account is linked to the external account for
1445
+ # # auto-ledgering Payment objects. See
1446
+ # # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
1447
+ # # for more details.
1448
+ # #
1449
+ # # @param currency [String]
1450
+ # # @param ledger_id [String]
1451
+ # # @param name [String]
1452
+ # # @param normal_balance [Symbol, ModernTreasury::Models::TransactionDirection]
1453
+ # # @param currency_exponent [Integer, nil]
1454
+ # # @param description [String, nil]
1455
+ # # @param ledger_account_category_ids [Array<String>]
1456
+ # # @param ledgerable_id [String]
1457
+ # # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::LedgerAccount::LedgerableType]
1458
+ # # @param metadata [Hash{Symbol=>String}]
1459
+ # #
1460
+ # def initialize(
1461
+ # currency:,
1462
+ # ledger_id:,
1463
+ # name:,
1464
+ # normal_balance:,
1465
+ # currency_exponent: nil,
1466
+ # description: nil,
1467
+ # ledger_account_category_ids: nil,
1468
+ # ledgerable_id: nil,
1469
+ # ledgerable_type: nil,
1470
+ # metadata: nil,
1471
+ # **
1472
+ # )
1473
+ # super
1474
+ # end
1475
+
1476
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1477
+
1478
+ # @abstract
1479
+ #
1480
+ # If the ledger account links to another object in Modern Treasury, the type will
1481
+ # be populated here, otherwise null. The value is one of internal_account or
1482
+ # external_account.
1483
+ #
1484
+ # @example
1485
+ # ```ruby
1486
+ # case ledgerable_type
1487
+ # in :counterparty
1488
+ # # ...
1489
+ # in :external_account
1490
+ # # ...
1491
+ # in :internal_account
1492
+ # # ...
1493
+ # in :virtual_account
1494
+ # # ...
1495
+ # end
1496
+ # ```
1497
+ class LedgerableType < ModernTreasury::Enum
1498
+ COUNTERPARTY = :counterparty
1499
+ EXTERNAL_ACCOUNT = :external_account
1500
+ INTERNAL_ACCOUNT = :internal_account
1501
+ VIRTUAL_ACCOUNT = :virtual_account
1502
+
1503
+ finalize!
1504
+
1505
+ # @!parse
1506
+ # # @return [Array<Symbol>]
1507
+ # #
1508
+ # def self.values; end
1509
+ end
1510
+ end
1511
+
1512
+ class PartyAddress < ModernTreasury::BaseModel
1513
+ # @!attribute country
1514
+ # Country code conforms to [ISO 3166-1 alpha-2]
1515
+ #
1516
+ # @return [String, nil]
1517
+ optional :country, String, nil?: true
1518
+
1519
+ # @!attribute line1
1520
+ #
1521
+ # @return [String, nil]
1522
+ optional :line1, String, nil?: true
1523
+
1524
+ # @!attribute line2
1525
+ #
1526
+ # @return [String, nil]
1527
+ optional :line2, String, nil?: true
1528
+
1529
+ # @!attribute locality
1530
+ # Locality or City.
1531
+ #
1532
+ # @return [String, nil]
1533
+ optional :locality, String, nil?: true
1534
+
1535
+ # @!attribute postal_code
1536
+ # The postal code of the address.
1537
+ #
1538
+ # @return [String, nil]
1539
+ optional :postal_code, String, nil?: true
1540
+
1541
+ # @!attribute region
1542
+ # Region or State.
1543
+ #
1544
+ # @return [String, nil]
1545
+ optional :region, String, nil?: true
1546
+
1547
+ # @!parse
1548
+ # # Required if receiving wire payments.
1549
+ # #
1550
+ # # @param country [String, nil]
1551
+ # # @param line1 [String, nil]
1552
+ # # @param line2 [String, nil]
1553
+ # # @param locality [String, nil]
1554
+ # # @param postal_code [String, nil]
1555
+ # # @param region [String, nil]
1556
+ # #
1557
+ # def initialize(country: nil, line1: nil, line2: nil, locality: nil, postal_code: nil, region: nil, **) = super
1558
+
1559
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1560
+ end
1561
+
1562
+ # @abstract
1563
+ #
1564
+ # Either `individual` or `business`.
1565
+ #
1566
+ # @example
1567
+ # ```ruby
1568
+ # case party_type
1569
+ # in :business
1570
+ # # ...
1571
+ # in :individual
1572
+ # # ...
1573
+ # end
1574
+ # ```
1575
+ class PartyType < ModernTreasury::Enum
1576
+ BUSINESS = :business
1577
+ INDIVIDUAL = :individual
1578
+
1579
+ finalize!
1580
+
1581
+ # @!parse
1582
+ # # @return [Array<Symbol>]
1583
+ # #
1584
+ # def self.values; end
1585
+ end
1586
+
1587
+ class RoutingDetail < ModernTreasury::BaseModel
1588
+ # @!attribute routing_number
1589
+ #
1590
+ # @return [String]
1591
+ required :routing_number, String
1592
+
1593
+ # @!attribute routing_number_type
1594
+ #
1595
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType]
1596
+ required :routing_number_type,
1597
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType }
1598
+
1599
+ # @!attribute [r] payment_type
1600
+ #
1601
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType, nil]
1602
+ optional :payment_type,
1603
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType }
1604
+
1605
+ # @!parse
1606
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType]
1607
+ # attr_writer :payment_type
1608
+
1609
+ # @!parse
1610
+ # # @param routing_number [String]
1611
+ # # @param routing_number_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::RoutingNumberType]
1612
+ # # @param payment_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::RoutingDetail::PaymentType]
1613
+ # #
1614
+ # def initialize(routing_number:, routing_number_type:, payment_type: nil, **) = super
1615
+
1616
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1617
+
1618
+ # @abstract
1619
+ #
1620
+ # @example
1621
+ # ```ruby
1622
+ # case routing_number_type
1623
+ # in :aba
1624
+ # # ...
1625
+ # in :au_bsb
1626
+ # # ...
1627
+ # in :br_codigo
1628
+ # # ...
1629
+ # in :ca_cpa
1630
+ # # ...
1631
+ # in :chips
1632
+ # # ...
1633
+ # in ...
1634
+ # #...
1635
+ # end
1636
+ # ```
1637
+ class RoutingNumberType < ModernTreasury::Enum
1638
+ ABA = :aba
1639
+ AU_BSB = :au_bsb
1640
+ BR_CODIGO = :br_codigo
1641
+ CA_CPA = :ca_cpa
1642
+ CHIPS = :chips
1643
+ CNAPS = :cnaps
1644
+ DK_INTERBANK_CLEARING_CODE = :dk_interbank_clearing_code
1645
+ GB_SORT_CODE = :gb_sort_code
1646
+ HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
1647
+ HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
1648
+ ID_SKNBI_CODE = :id_sknbi_code
1649
+ IN_IFSC = :in_ifsc
1650
+ JP_ZENGIN_CODE = :jp_zengin_code
1651
+ MY_BRANCH_CODE = :my_branch_code
1652
+ MX_BANK_IDENTIFIER = :mx_bank_identifier
1653
+ NZ_NATIONAL_CLEARING_CODE = :nz_national_clearing_code
1654
+ PL_NATIONAL_CLEARING_CODE = :pl_national_clearing_code
1655
+ SE_BANKGIRO_CLEARING_CODE = :se_bankgiro_clearing_code
1656
+ SG_INTERBANK_CLEARING_CODE = :sg_interbank_clearing_code
1657
+ SWIFT = :swift
1658
+ ZA_NATIONAL_CLEARING_CODE = :za_national_clearing_code
1659
+
1660
+ finalize!
1661
+
1662
+ # @!parse
1663
+ # # @return [Array<Symbol>]
1664
+ # #
1665
+ # def self.values; end
1666
+ end
1667
+
1668
+ # @abstract
1669
+ #
1670
+ # @example
1671
+ # ```ruby
1672
+ # case payment_type
1673
+ # in :ach
1674
+ # # ...
1675
+ # in :au_becs
1676
+ # # ...
1677
+ # in :bacs
1678
+ # # ...
1679
+ # in :book
1680
+ # # ...
1681
+ # in :card
1682
+ # # ...
1683
+ # in ...
1684
+ # #...
1685
+ # end
1686
+ # ```
1687
+ class PaymentType < ModernTreasury::Enum
1688
+ ACH = :ach
1689
+ AU_BECS = :au_becs
1690
+ BACS = :bacs
1691
+ BOOK = :book
1692
+ CARD = :card
1693
+ CHATS = :chats
1694
+ CHECK = :check
1695
+ CROSS_BORDER = :cross_border
1696
+ DK_NETS = :dk_nets
1697
+ EFT = :eft
1698
+ HU_ICS = :hu_ics
1699
+ INTERAC = :interac
1700
+ MASAV = :masav
1701
+ MX_CCEN = :mx_ccen
1702
+ NEFT = :neft
1703
+ NICS = :nics
1704
+ NZ_BECS = :nz_becs
1705
+ PL_ELIXIR = :pl_elixir
1706
+ PROVXCHANGE = :provxchange
1707
+ RO_SENT = :ro_sent
1708
+ RTP = :rtp
1709
+ SE_BANKGIROT = :se_bankgirot
1710
+ SEN = :sen
1711
+ SEPA = :sepa
1712
+ SG_GIRO = :sg_giro
1713
+ SIC = :sic
1714
+ SIGNET = :signet
1715
+ SKNBI = :sknbi
1716
+ WIRE = :wire
1717
+ ZENGIN = :zengin
1718
+
1719
+ finalize!
1720
+
1721
+ # @!parse
1722
+ # # @return [Array<Symbol>]
1723
+ # #
1724
+ # def self.values; end
1725
+ end
1726
+ end
1727
+ end
1728
+ end
1729
+
1730
+ class ExpectedPaymentCreateRequest < ModernTreasury::BaseModel
1731
+ # @!attribute amount_lower_bound
1732
+ # The lowest amount this expected payment may be equal to. Value in specified
1733
+ # currency's smallest unit. e.g. $10 would be represented as 1000.
1734
+ #
1735
+ # @return [Integer, nil]
1736
+ optional :amount_lower_bound, Integer, nil?: true
1737
+
1738
+ # @!attribute amount_upper_bound
1739
+ # The highest amount this expected payment may be equal to. Value in specified
1740
+ # currency's smallest unit. e.g. $10 would be represented as 1000.
1741
+ #
1742
+ # @return [Integer, nil]
1743
+ optional :amount_upper_bound, Integer, nil?: true
1744
+
1745
+ # @!attribute counterparty_id
1746
+ # The ID of the counterparty you expect for this payment.
1747
+ #
1748
+ # @return [String, nil]
1749
+ optional :counterparty_id, String, nil?: true
1750
+
1751
+ # @!attribute currency
1752
+ # Must conform to ISO 4217. Defaults to the currency of the internal account.
1753
+ #
1754
+ # @return [Symbol, ModernTreasury::Models::Currency, nil]
1755
+ optional :currency, enum: -> { ModernTreasury::Models::Currency }, nil?: true
1756
+
1757
+ # @!attribute date_lower_bound
1758
+ # The earliest date the payment may come in. Format: yyyy-mm-dd
1759
+ #
1760
+ # @return [Date, nil]
1761
+ optional :date_lower_bound, Date, nil?: true
1762
+
1763
+ # @!attribute date_upper_bound
1764
+ # The latest date the payment may come in. Format: yyyy-mm-dd
1765
+ #
1766
+ # @return [Date, nil]
1767
+ optional :date_upper_bound, Date, nil?: true
1768
+
1769
+ # @!attribute description
1770
+ # An optional description for internal use.
1771
+ #
1772
+ # @return [String, nil]
1773
+ optional :description, String, nil?: true
1774
+
1775
+ # @!attribute direction
1776
+ # One of credit or debit. When you are receiving money, use credit. When you are
1777
+ # being charged, use debit.
1778
+ #
1779
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction, nil]
1780
+ optional :direction,
1781
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction },
1782
+ nil?: true
1783
+
1784
+ # @!attribute internal_account_id
1785
+ # The ID of the Internal Account for the expected payment.
1786
+ #
1787
+ # @return [String, nil]
1788
+ optional :internal_account_id, String, nil?: true
1789
+
1790
+ # @!attribute [r] ledger_transaction
1791
+ # Specifies a ledger transaction object that will be created with the expected
1792
+ # payment. If the ledger transaction cannot be created, then the expected payment
1793
+ # creation will fail. The resulting ledger transaction will mirror the status of
1794
+ # the expected payment.
1795
+ #
1796
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction, nil]
1797
+ optional :ledger_transaction,
1798
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction }
1799
+
1800
+ # @!parse
1801
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction]
1802
+ # attr_writer :ledger_transaction
1803
+
1804
+ # @!attribute [r] ledger_transaction_id
1805
+ # Either ledger_transaction or ledger_transaction_id can be provided. Only a
1806
+ # pending ledger transaction can be attached upon expected payment creation. Once
1807
+ # the expected payment is created, the status of the ledger transaction tracks the
1808
+ # expected payment automatically.
1809
+ #
1810
+ # @return [String, nil]
1811
+ optional :ledger_transaction_id, String
1812
+
1813
+ # @!parse
1814
+ # # @return [String]
1815
+ # attr_writer :ledger_transaction_id
1816
+
1817
+ # @!attribute [r] line_items
1818
+ #
1819
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem>, nil]
1820
+ optional :line_items,
1821
+ -> { ModernTreasury::ArrayOf[ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem] }
1822
+
1823
+ # @!parse
1824
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem>]
1825
+ # attr_writer :line_items
1826
+
1827
+ # @!attribute [r] metadata
1828
+ # Additional data represented as key-value pairs. Both the key and value must be
1829
+ # strings.
1830
+ #
1831
+ # @return [Hash{Symbol=>String}, nil]
1832
+ optional :metadata, ModernTreasury::HashOf[String]
1833
+
1834
+ # @!parse
1835
+ # # @return [Hash{Symbol=>String}]
1836
+ # attr_writer :metadata
1837
+
1838
+ # @!attribute reconciliation_filters
1839
+ # The reconciliation filters you have for this payment.
1840
+ #
1841
+ # @return [Object, nil]
1842
+ optional :reconciliation_filters, ModernTreasury::Unknown, nil?: true
1843
+
1844
+ # @!attribute reconciliation_groups
1845
+ # The reconciliation groups you have for this payment.
1846
+ #
1847
+ # @return [Object, nil]
1848
+ optional :reconciliation_groups, ModernTreasury::Unknown, nil?: true
1849
+
1850
+ # @!attribute reconciliation_rule_variables
1851
+ # An array of reconciliation rule variables for this payment.
1852
+ #
1853
+ # @return [Array<ModernTreasury::Models::ReconciliationRule>, nil]
1854
+ optional :reconciliation_rule_variables,
1855
+ -> { ModernTreasury::ArrayOf[ModernTreasury::Models::ReconciliationRule] },
1856
+ nil?: true
1857
+
1858
+ # @!attribute remittance_information
1859
+ # For `ach`, this field will be passed through on an addenda record. For `wire`
1860
+ # payments the field will be passed through as the "Originator to Beneficiary
1861
+ # Information", also known as OBI or Fedwire tag 6000.
1862
+ #
1863
+ # @return [String, nil]
1864
+ optional :remittance_information, String, nil?: true
1865
+
1866
+ # @!attribute statement_descriptor
1867
+ # The statement description you expect to see on the transaction. For ACH
1868
+ # payments, this will be the full line item passed from the bank. For wire
1869
+ # payments, this will be the OBI field on the wire. For check payments, this will
1870
+ # be the memo field.
1871
+ #
1872
+ # @return [String, nil]
1873
+ optional :statement_descriptor, String, nil?: true
1874
+
1875
+ # @!attribute type
1876
+ # One of: ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen,
1877
+ # sepa, signet, wire.
1878
+ #
1879
+ # @return [Symbol, ModernTreasury::Models::ExpectedPaymentType, nil]
1880
+ optional :type, enum: -> { ModernTreasury::Models::ExpectedPaymentType }, nil?: true
1881
+
1882
+ # @!parse
1883
+ # # @param amount_lower_bound [Integer, nil]
1884
+ # # @param amount_upper_bound [Integer, nil]
1885
+ # # @param counterparty_id [String, nil]
1886
+ # # @param currency [Symbol, ModernTreasury::Models::Currency, nil]
1887
+ # # @param date_lower_bound [Date, nil]
1888
+ # # @param date_upper_bound [Date, nil]
1889
+ # # @param description [String, nil]
1890
+ # # @param direction [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::Direction, nil]
1891
+ # # @param internal_account_id [String, nil]
1892
+ # # @param ledger_transaction [ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction]
1893
+ # # @param ledger_transaction_id [String]
1894
+ # # @param line_items [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LineItem>]
1895
+ # # @param metadata [Hash{Symbol=>String}]
1896
+ # # @param reconciliation_filters [Object, nil]
1897
+ # # @param reconciliation_groups [Object, nil]
1898
+ # # @param reconciliation_rule_variables [Array<ModernTreasury::Models::ReconciliationRule>, nil]
1899
+ # # @param remittance_information [String, nil]
1900
+ # # @param statement_descriptor [String, nil]
1901
+ # # @param type [Symbol, ModernTreasury::Models::ExpectedPaymentType, nil]
1902
+ # #
1903
+ # def initialize(
1904
+ # amount_lower_bound: nil,
1905
+ # amount_upper_bound: nil,
1906
+ # counterparty_id: nil,
1907
+ # currency: nil,
1908
+ # date_lower_bound: nil,
1909
+ # date_upper_bound: nil,
1910
+ # description: nil,
1911
+ # direction: nil,
1912
+ # internal_account_id: nil,
1913
+ # ledger_transaction: nil,
1914
+ # ledger_transaction_id: nil,
1915
+ # line_items: nil,
1916
+ # metadata: nil,
1917
+ # reconciliation_filters: nil,
1918
+ # reconciliation_groups: nil,
1919
+ # reconciliation_rule_variables: nil,
1920
+ # remittance_information: nil,
1921
+ # statement_descriptor: nil,
1922
+ # type: nil,
1923
+ # **
1924
+ # )
1925
+ # super
1926
+ # end
1927
+
1928
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
1929
+
1930
+ # @abstract
1931
+ #
1932
+ # One of credit or debit. When you are receiving money, use credit. When you are
1933
+ # being charged, use debit.
1934
+ #
1935
+ # @example
1936
+ # ```ruby
1937
+ # case direction
1938
+ # in :credit
1939
+ # # ...
1940
+ # in :debit
1941
+ # # ...
1942
+ # end
1943
+ # ```
1944
+ class Direction < ModernTreasury::Enum
1945
+ CREDIT = :credit
1946
+ DEBIT = :debit
1947
+
1948
+ finalize!
1949
+
1950
+ # @!parse
1951
+ # # @return [Array<Symbol>]
1952
+ # #
1953
+ # def self.values; end
1954
+ end
1955
+
1956
+ class LedgerTransaction < ModernTreasury::BaseModel
1957
+ # @!attribute ledger_entries
1958
+ # An array of ledger entry objects.
1959
+ #
1960
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry>]
1961
+ required :ledger_entries,
1962
+ -> do
1963
+ ModernTreasury::ArrayOf[
1964
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry
1965
+ ]
1966
+ end
1967
+
1968
+ # @!attribute description
1969
+ # An optional description for internal use.
1970
+ #
1971
+ # @return [String, nil]
1972
+ optional :description, String, nil?: true
1973
+
1974
+ # @!attribute [r] effective_at
1975
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
1976
+ # reporting purposes.
1977
+ #
1978
+ # @return [Time, nil]
1979
+ optional :effective_at, Time
1980
+
1981
+ # @!parse
1982
+ # # @return [Time]
1983
+ # attr_writer :effective_at
1984
+
1985
+ # @!attribute [r] effective_date
1986
+ # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
1987
+ # purposes.
1988
+ #
1989
+ # @return [Date, nil]
1990
+ optional :effective_date, Date
1991
+
1992
+ # @!parse
1993
+ # # @return [Date]
1994
+ # attr_writer :effective_date
1995
+
1996
+ # @!attribute [r] external_id
1997
+ # A unique string to represent the ledger transaction. Only one pending or posted
1998
+ # ledger transaction may have this ID in the ledger.
1999
+ #
2000
+ # @return [String, nil]
2001
+ optional :external_id, String
2002
+
2003
+ # @!parse
2004
+ # # @return [String]
2005
+ # attr_writer :external_id
2006
+
2007
+ # @!attribute [r] ledgerable_id
2008
+ # If the ledger transaction can be reconciled to another object in Modern
2009
+ # Treasury, the id will be populated here, otherwise null.
2010
+ #
2011
+ # @return [String, nil]
2012
+ optional :ledgerable_id, String
2013
+
2014
+ # @!parse
2015
+ # # @return [String]
2016
+ # attr_writer :ledgerable_id
2017
+
2018
+ # @!attribute [r] ledgerable_type
2019
+ # If the ledger transaction can be reconciled to another object in Modern
2020
+ # Treasury, the type will be populated here, otherwise null. This can be one of
2021
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
2022
+ # reversal.
2023
+ #
2024
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType, nil]
2025
+ optional :ledgerable_type,
2026
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType }
2027
+
2028
+ # @!parse
2029
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType]
2030
+ # attr_writer :ledgerable_type
2031
+
2032
+ # @!attribute [r] metadata
2033
+ # Additional data represented as key-value pairs. Both the key and value must be
2034
+ # strings.
2035
+ #
2036
+ # @return [Hash{Symbol=>String}, nil]
2037
+ optional :metadata, ModernTreasury::HashOf[String]
2038
+
2039
+ # @!parse
2040
+ # # @return [Hash{Symbol=>String}]
2041
+ # attr_writer :metadata
2042
+
2043
+ # @!attribute [r] status
2044
+ # To post a ledger transaction at creation, use `posted`.
2045
+ #
2046
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status, nil]
2047
+ optional :status,
2048
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status }
2049
+
2050
+ # @!parse
2051
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status]
2052
+ # attr_writer :status
2053
+
2054
+ # @!parse
2055
+ # # Specifies a ledger transaction object that will be created with the expected
2056
+ # # payment. If the ledger transaction cannot be created, then the expected payment
2057
+ # # creation will fail. The resulting ledger transaction will mirror the status of
2058
+ # # the expected payment.
2059
+ # #
2060
+ # # @param ledger_entries [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerEntry>]
2061
+ # # @param description [String, nil]
2062
+ # # @param effective_at [Time]
2063
+ # # @param effective_date [Date]
2064
+ # # @param external_id [String]
2065
+ # # @param ledgerable_id [String]
2066
+ # # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::LedgerableType]
2067
+ # # @param metadata [Hash{Symbol=>String}]
2068
+ # # @param status [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest::LedgerTransaction::Status]
2069
+ # #
2070
+ # def initialize(
2071
+ # ledger_entries:,
2072
+ # description: nil,
2073
+ # effective_at: nil,
2074
+ # effective_date: nil,
2075
+ # external_id: nil,
2076
+ # ledgerable_id: nil,
2077
+ # ledgerable_type: nil,
2078
+ # metadata: nil,
2079
+ # status: nil,
2080
+ # **
2081
+ # )
2082
+ # super
2083
+ # end
2084
+
2085
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2086
+
2087
+ class LedgerEntry < ModernTreasury::BaseModel
2088
+ # @!attribute amount
2089
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
2090
+ # as 1000. Can be any integer up to 36 digits.
2091
+ #
2092
+ # @return [Integer]
2093
+ required :amount, Integer
2094
+
2095
+ # @!attribute direction
2096
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
2097
+ # transaction. A `credit` moves money from your account to someone else's. A
2098
+ # `debit` pulls money from someone else's account to your own. Note that wire,
2099
+ # rtp, and check payments will always be `credit`.
2100
+ #
2101
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
2102
+ required :direction, enum: -> { ModernTreasury::Models::TransactionDirection }
2103
+
2104
+ # @!attribute ledger_account_id
2105
+ # The ledger account that this ledger entry is associated with.
2106
+ #
2107
+ # @return [String]
2108
+ required :ledger_account_id, String
2109
+
2110
+ # @!attribute available_balance_amount
2111
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
2112
+ # account’s available balance. If any of these conditions would be false after the
2113
+ # transaction is created, the entire call will fail with error code 422.
2114
+ #
2115
+ # @return [Hash{Symbol=>Integer}, nil]
2116
+ optional :available_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
2117
+
2118
+ # @!attribute lock_version
2119
+ # Lock version of the ledger account. This can be passed when creating a ledger
2120
+ # transaction to only succeed if no ledger transactions have posted since the
2121
+ # given version. See our post about Designing the Ledgers API with Optimistic
2122
+ # Locking for more details.
2123
+ #
2124
+ # @return [Integer, nil]
2125
+ optional :lock_version, Integer, nil?: true
2126
+
2127
+ # @!attribute [r] metadata
2128
+ # Additional data represented as key-value pairs. Both the key and value must be
2129
+ # strings.
2130
+ #
2131
+ # @return [Hash{Symbol=>String}, nil]
2132
+ optional :metadata, ModernTreasury::HashOf[String]
2133
+
2134
+ # @!parse
2135
+ # # @return [Hash{Symbol=>String}]
2136
+ # attr_writer :metadata
2137
+
2138
+ # @!attribute pending_balance_amount
2139
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
2140
+ # account’s pending balance. If any of these conditions would be false after the
2141
+ # transaction is created, the entire call will fail with error code 422.
2142
+ #
2143
+ # @return [Hash{Symbol=>Integer}, nil]
2144
+ optional :pending_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
2145
+
2146
+ # @!attribute posted_balance_amount
2147
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
2148
+ # account’s posted balance. If any of these conditions would be false after the
2149
+ # transaction is created, the entire call will fail with error code 422.
2150
+ #
2151
+ # @return [Hash{Symbol=>Integer}, nil]
2152
+ optional :posted_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
2153
+
2154
+ # @!attribute show_resulting_ledger_account_balances
2155
+ # If true, response will include the balance of the associated ledger account for
2156
+ # the entry.
2157
+ #
2158
+ # @return [Boolean, nil]
2159
+ optional :show_resulting_ledger_account_balances, ModernTreasury::BooleanModel, nil?: true
2160
+
2161
+ # @!parse
2162
+ # # @param amount [Integer]
2163
+ # # @param direction [Symbol, ModernTreasury::Models::TransactionDirection]
2164
+ # # @param ledger_account_id [String]
2165
+ # # @param available_balance_amount [Hash{Symbol=>Integer}, nil]
2166
+ # # @param lock_version [Integer, nil]
2167
+ # # @param metadata [Hash{Symbol=>String}]
2168
+ # # @param pending_balance_amount [Hash{Symbol=>Integer}, nil]
2169
+ # # @param posted_balance_amount [Hash{Symbol=>Integer}, nil]
2170
+ # # @param show_resulting_ledger_account_balances [Boolean, nil]
2171
+ # #
2172
+ # def initialize(
2173
+ # amount:,
2174
+ # direction:,
2175
+ # ledger_account_id:,
2176
+ # available_balance_amount: nil,
2177
+ # lock_version: nil,
2178
+ # metadata: nil,
2179
+ # pending_balance_amount: nil,
2180
+ # posted_balance_amount: nil,
2181
+ # show_resulting_ledger_account_balances: nil,
2182
+ # **
2183
+ # )
2184
+ # super
2185
+ # end
2186
+
2187
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2188
+ end
2189
+
2190
+ # @abstract
2191
+ #
2192
+ # If the ledger transaction can be reconciled to another object in Modern
2193
+ # Treasury, the type will be populated here, otherwise null. This can be one of
2194
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
2195
+ # reversal.
2196
+ #
2197
+ # @example
2198
+ # ```ruby
2199
+ # case ledgerable_type
2200
+ # in :expected_payment
2201
+ # # ...
2202
+ # in :incoming_payment_detail
2203
+ # # ...
2204
+ # in :paper_item
2205
+ # # ...
2206
+ # in :payment_order
2207
+ # # ...
2208
+ # in :return
2209
+ # # ...
2210
+ # in ...
2211
+ # #...
2212
+ # end
2213
+ # ```
2214
+ class LedgerableType < ModernTreasury::Enum
2215
+ EXPECTED_PAYMENT = :expected_payment
2216
+ INCOMING_PAYMENT_DETAIL = :incoming_payment_detail
2217
+ PAPER_ITEM = :paper_item
2218
+ PAYMENT_ORDER = :payment_order
2219
+ RETURN = :return
2220
+ REVERSAL = :reversal
2221
+
2222
+ finalize!
2223
+
2224
+ # @!parse
2225
+ # # @return [Array<Symbol>]
2226
+ # #
2227
+ # def self.values; end
2228
+ end
2229
+
2230
+ # @abstract
2231
+ #
2232
+ # To post a ledger transaction at creation, use `posted`.
2233
+ #
2234
+ # @example
2235
+ # ```ruby
2236
+ # case status
2237
+ # in :archived
2238
+ # # ...
2239
+ # in :pending
2240
+ # # ...
2241
+ # in :posted
2242
+ # # ...
2243
+ # end
2244
+ # ```
2245
+ class Status < ModernTreasury::Enum
2246
+ ARCHIVED = :archived
2247
+ PENDING = :pending
2248
+ POSTED = :posted
2249
+
2250
+ finalize!
2251
+
2252
+ # @!parse
2253
+ # # @return [Array<Symbol>]
2254
+ # #
2255
+ # def self.values; end
2256
+ end
2257
+ end
2258
+
2259
+ class LineItem < ModernTreasury::BaseModel
2260
+ # @!attribute amount
2261
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
2262
+ # as 1000.
2263
+ #
2264
+ # @return [Integer]
2265
+ required :amount, Integer
2266
+
2267
+ # @!attribute accounting_category_id
2268
+ # The ID of one of your accounting categories. Note that these will only be
2269
+ # accessible if your accounting system has been connected.
2270
+ #
2271
+ # @return [String, nil]
2272
+ optional :accounting_category_id, String, nil?: true
2273
+
2274
+ # @!attribute description
2275
+ # A free-form description of the line item.
2276
+ #
2277
+ # @return [String, nil]
2278
+ optional :description, String, nil?: true
2279
+
2280
+ # @!attribute [r] metadata
2281
+ # Additional data represented as key-value pairs. Both the key and value must be
2282
+ # strings.
2283
+ #
2284
+ # @return [Hash{Symbol=>String}, nil]
2285
+ optional :metadata, ModernTreasury::HashOf[String]
2286
+
2287
+ # @!parse
2288
+ # # @return [Hash{Symbol=>String}]
2289
+ # attr_writer :metadata
2290
+
2291
+ # @!parse
2292
+ # # @param amount [Integer]
2293
+ # # @param accounting_category_id [String, nil]
2294
+ # # @param description [String, nil]
2295
+ # # @param metadata [Hash{Symbol=>String}]
2296
+ # #
2297
+ # def initialize(amount:, accounting_category_id: nil, description: nil, metadata: nil, **) = super
2298
+
2299
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2300
+ end
2301
+ end
2302
+
2303
+ class LedgerTransactionCreateRequest < ModernTreasury::BaseModel
2304
+ # @!attribute ledger_entries
2305
+ # An array of ledger entry objects.
2306
+ #
2307
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry>]
2308
+ required :ledger_entries,
2309
+ -> { ModernTreasury::ArrayOf[ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry] }
2310
+
2311
+ # @!attribute description
2312
+ # An optional description for internal use.
2313
+ #
2314
+ # @return [String, nil]
2315
+ optional :description, String, nil?: true
2316
+
2317
+ # @!attribute [r] effective_at
2318
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
2319
+ # reporting purposes.
2320
+ #
2321
+ # @return [Time, nil]
2322
+ optional :effective_at, Time
2323
+
2324
+ # @!parse
2325
+ # # @return [Time]
2326
+ # attr_writer :effective_at
2327
+
2328
+ # @!attribute [r] effective_date
2329
+ # The date (YYYY-MM-DD) on which the ledger transaction happened for reporting
2330
+ # purposes.
2331
+ #
2332
+ # @return [Date, nil]
2333
+ optional :effective_date, Date
2334
+
2335
+ # @!parse
2336
+ # # @return [Date]
2337
+ # attr_writer :effective_date
2338
+
2339
+ # @!attribute [r] external_id
2340
+ # A unique string to represent the ledger transaction. Only one pending or posted
2341
+ # ledger transaction may have this ID in the ledger.
2342
+ #
2343
+ # @return [String, nil]
2344
+ optional :external_id, String
2345
+
2346
+ # @!parse
2347
+ # # @return [String]
2348
+ # attr_writer :external_id
2349
+
2350
+ # @!attribute [r] ledgerable_id
2351
+ # If the ledger transaction can be reconciled to another object in Modern
2352
+ # Treasury, the id will be populated here, otherwise null.
2353
+ #
2354
+ # @return [String, nil]
2355
+ optional :ledgerable_id, String
2356
+
2357
+ # @!parse
2358
+ # # @return [String]
2359
+ # attr_writer :ledgerable_id
2360
+
2361
+ # @!attribute [r] ledgerable_type
2362
+ # If the ledger transaction can be reconciled to another object in Modern
2363
+ # Treasury, the type will be populated here, otherwise null. This can be one of
2364
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
2365
+ # reversal.
2366
+ #
2367
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType, nil]
2368
+ optional :ledgerable_type,
2369
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType }
2370
+
2371
+ # @!parse
2372
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType]
2373
+ # attr_writer :ledgerable_type
2374
+
2375
+ # @!attribute [r] metadata
2376
+ # Additional data represented as key-value pairs. Both the key and value must be
2377
+ # strings.
2378
+ #
2379
+ # @return [Hash{Symbol=>String}, nil]
2380
+ optional :metadata, ModernTreasury::HashOf[String]
2381
+
2382
+ # @!parse
2383
+ # # @return [Hash{Symbol=>String}]
2384
+ # attr_writer :metadata
2385
+
2386
+ # @!attribute [r] status
2387
+ # To post a ledger transaction at creation, use `posted`.
2388
+ #
2389
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status, nil]
2390
+ optional :status,
2391
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status }
2392
+
2393
+ # @!parse
2394
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status]
2395
+ # attr_writer :status
2396
+
2397
+ # @!parse
2398
+ # # @param ledger_entries [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerEntry>]
2399
+ # # @param description [String, nil]
2400
+ # # @param effective_at [Time]
2401
+ # # @param effective_date [Date]
2402
+ # # @param external_id [String]
2403
+ # # @param ledgerable_id [String]
2404
+ # # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::LedgerableType]
2405
+ # # @param metadata [Hash{Symbol=>String}]
2406
+ # # @param status [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest::Status]
2407
+ # #
2408
+ # def initialize(
2409
+ # ledger_entries:,
2410
+ # description: nil,
2411
+ # effective_at: nil,
2412
+ # effective_date: nil,
2413
+ # external_id: nil,
2414
+ # ledgerable_id: nil,
2415
+ # ledgerable_type: nil,
2416
+ # metadata: nil,
2417
+ # status: nil,
2418
+ # **
2419
+ # )
2420
+ # super
2421
+ # end
2422
+
2423
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2424
+
2425
+ class LedgerEntry < ModernTreasury::BaseModel
2426
+ # @!attribute amount
2427
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
2428
+ # as 1000. Can be any integer up to 36 digits.
2429
+ #
2430
+ # @return [Integer]
2431
+ required :amount, Integer
2432
+
2433
+ # @!attribute direction
2434
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
2435
+ # transaction. A `credit` moves money from your account to someone else's. A
2436
+ # `debit` pulls money from someone else's account to your own. Note that wire,
2437
+ # rtp, and check payments will always be `credit`.
2438
+ #
2439
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
2440
+ required :direction, enum: -> { ModernTreasury::Models::TransactionDirection }
2441
+
2442
+ # @!attribute ledger_account_id
2443
+ # The ledger account that this ledger entry is associated with.
2444
+ #
2445
+ # @return [String]
2446
+ required :ledger_account_id, String
2447
+
2448
+ # @!attribute available_balance_amount
2449
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
2450
+ # account’s available balance. If any of these conditions would be false after the
2451
+ # transaction is created, the entire call will fail with error code 422.
2452
+ #
2453
+ # @return [Hash{Symbol=>Integer}, nil]
2454
+ optional :available_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
2455
+
2456
+ # @!attribute lock_version
2457
+ # Lock version of the ledger account. This can be passed when creating a ledger
2458
+ # transaction to only succeed if no ledger transactions have posted since the
2459
+ # given version. See our post about Designing the Ledgers API with Optimistic
2460
+ # Locking for more details.
2461
+ #
2462
+ # @return [Integer, nil]
2463
+ optional :lock_version, Integer, nil?: true
2464
+
2465
+ # @!attribute [r] metadata
2466
+ # Additional data represented as key-value pairs. Both the key and value must be
2467
+ # strings.
2468
+ #
2469
+ # @return [Hash{Symbol=>String}, nil]
2470
+ optional :metadata, ModernTreasury::HashOf[String]
2471
+
2472
+ # @!parse
2473
+ # # @return [Hash{Symbol=>String}]
2474
+ # attr_writer :metadata
2475
+
2476
+ # @!attribute pending_balance_amount
2477
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
2478
+ # account’s pending balance. If any of these conditions would be false after the
2479
+ # transaction is created, the entire call will fail with error code 422.
2480
+ #
2481
+ # @return [Hash{Symbol=>Integer}, nil]
2482
+ optional :pending_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
2483
+
2484
+ # @!attribute posted_balance_amount
2485
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
2486
+ # account’s posted balance. If any of these conditions would be false after the
2487
+ # transaction is created, the entire call will fail with error code 422.
2488
+ #
2489
+ # @return [Hash{Symbol=>Integer}, nil]
2490
+ optional :posted_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
2491
+
2492
+ # @!attribute show_resulting_ledger_account_balances
2493
+ # If true, response will include the balance of the associated ledger account for
2494
+ # the entry.
2495
+ #
2496
+ # @return [Boolean, nil]
2497
+ optional :show_resulting_ledger_account_balances, ModernTreasury::BooleanModel, nil?: true
2498
+
2499
+ # @!parse
2500
+ # # @param amount [Integer]
2501
+ # # @param direction [Symbol, ModernTreasury::Models::TransactionDirection]
2502
+ # # @param ledger_account_id [String]
2503
+ # # @param available_balance_amount [Hash{Symbol=>Integer}, nil]
2504
+ # # @param lock_version [Integer, nil]
2505
+ # # @param metadata [Hash{Symbol=>String}]
2506
+ # # @param pending_balance_amount [Hash{Symbol=>Integer}, nil]
2507
+ # # @param posted_balance_amount [Hash{Symbol=>Integer}, nil]
2508
+ # # @param show_resulting_ledger_account_balances [Boolean, nil]
2509
+ # #
2510
+ # def initialize(
2511
+ # amount:,
2512
+ # direction:,
2513
+ # ledger_account_id:,
2514
+ # available_balance_amount: nil,
2515
+ # lock_version: nil,
2516
+ # metadata: nil,
2517
+ # pending_balance_amount: nil,
2518
+ # posted_balance_amount: nil,
2519
+ # show_resulting_ledger_account_balances: nil,
2520
+ # **
2521
+ # )
2522
+ # super
2523
+ # end
2524
+
2525
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2526
+ end
2527
+
2528
+ # @abstract
2529
+ #
2530
+ # If the ledger transaction can be reconciled to another object in Modern
2531
+ # Treasury, the type will be populated here, otherwise null. This can be one of
2532
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
2533
+ # reversal.
2534
+ #
2535
+ # @example
2536
+ # ```ruby
2537
+ # case ledgerable_type
2538
+ # in :expected_payment
2539
+ # # ...
2540
+ # in :incoming_payment_detail
2541
+ # # ...
2542
+ # in :paper_item
2543
+ # # ...
2544
+ # in :payment_order
2545
+ # # ...
2546
+ # in :return
2547
+ # # ...
2548
+ # in ...
2549
+ # #...
2550
+ # end
2551
+ # ```
2552
+ class LedgerableType < ModernTreasury::Enum
2553
+ EXPECTED_PAYMENT = :expected_payment
2554
+ INCOMING_PAYMENT_DETAIL = :incoming_payment_detail
2555
+ PAPER_ITEM = :paper_item
2556
+ PAYMENT_ORDER = :payment_order
2557
+ RETURN = :return
2558
+ REVERSAL = :reversal
2559
+
2560
+ finalize!
2561
+
2562
+ # @!parse
2563
+ # # @return [Array<Symbol>]
2564
+ # #
2565
+ # def self.values; end
2566
+ end
2567
+
2568
+ # @abstract
2569
+ #
2570
+ # To post a ledger transaction at creation, use `posted`.
2571
+ #
2572
+ # @example
2573
+ # ```ruby
2574
+ # case status
2575
+ # in :archived
2576
+ # # ...
2577
+ # in :pending
2578
+ # # ...
2579
+ # in :posted
2580
+ # # ...
2581
+ # end
2582
+ # ```
2583
+ class Status < ModernTreasury::Enum
2584
+ ARCHIVED = :archived
2585
+ PENDING = :pending
2586
+ POSTED = :posted
2587
+
2588
+ finalize!
2589
+
2590
+ # @!parse
2591
+ # # @return [Array<Symbol>]
2592
+ # #
2593
+ # def self.values; end
2594
+ end
2595
+ end
2596
+
2597
+ class TransactionCreateRequest < ModernTreasury::BaseModel
2598
+ # @!attribute amount
2599
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
2600
+ # as 1000.
2601
+ #
2602
+ # @return [Integer]
2603
+ required :amount, Integer
2604
+
2605
+ # @!attribute as_of_date
2606
+ # The date on which the transaction occurred.
2607
+ #
2608
+ # @return [Date, nil]
2609
+ required :as_of_date, Date, nil?: true
2610
+
2611
+ # @!attribute direction
2612
+ # Either `credit` or `debit`.
2613
+ #
2614
+ # @return [String]
2615
+ required :direction, String
2616
+
2617
+ # @!attribute internal_account_id
2618
+ # The ID of the relevant Internal Account.
2619
+ #
2620
+ # @return [String]
2621
+ required :internal_account_id, String
2622
+
2623
+ # @!attribute vendor_code
2624
+ # When applicable, the bank-given code that determines the transaction's category.
2625
+ # For most banks this is the BAI2/BTRS transaction code.
2626
+ #
2627
+ # @return [String, nil]
2628
+ required :vendor_code, String, nil?: true
2629
+
2630
+ # @!attribute vendor_code_type
2631
+ # The type of `vendor_code` being reported. Can be one of `bai2`, `bankprov`,
2632
+ # `bnk_dev`, `cleartouch`, `currencycloud`, `cross_river`, `dc_bank`, `dwolla`,
2633
+ # `evolve`, `goldman_sachs`, `iso20022`, `jpmc`, `mx`, `signet`, `silvergate`,
2634
+ # `swift`, `us_bank`, or others.
2635
+ #
2636
+ # @return [String, nil]
2637
+ required :vendor_code_type, String, nil?: true
2638
+
2639
+ # @!attribute [r] metadata
2640
+ # Additional data represented as key-value pairs. Both the key and value must be
2641
+ # strings.
2642
+ #
2643
+ # @return [Hash{Symbol=>String}, nil]
2644
+ optional :metadata, ModernTreasury::HashOf[String]
2645
+
2646
+ # @!parse
2647
+ # # @return [Hash{Symbol=>String}]
2648
+ # attr_writer :metadata
2649
+
2650
+ # @!attribute [r] posted
2651
+ # This field will be `true` if the transaction has posted to the account.
2652
+ #
2653
+ # @return [Boolean, nil]
2654
+ optional :posted, ModernTreasury::BooleanModel
2655
+
2656
+ # @!parse
2657
+ # # @return [Boolean]
2658
+ # attr_writer :posted
2659
+
2660
+ # @!attribute type
2661
+ # The type of the transaction. Examples could be
2662
+ # `card, `ach`, `wire`, `check`, `rtp`, `book`, or `sen`.
2663
+ #
2664
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest::Type, nil]
2665
+ optional :type,
2666
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest::Type },
2667
+ nil?: true
2668
+
2669
+ # @!attribute vendor_description
2670
+ # The transaction detail text that often appears in on your bank statement and in
2671
+ # your banking portal.
2672
+ #
2673
+ # @return [String, nil]
2674
+ optional :vendor_description, String, nil?: true
2675
+
2676
+ # @!parse
2677
+ # # @param amount [Integer]
2678
+ # # @param as_of_date [Date, nil]
2679
+ # # @param direction [String]
2680
+ # # @param internal_account_id [String]
2681
+ # # @param vendor_code [String, nil]
2682
+ # # @param vendor_code_type [String, nil]
2683
+ # # @param metadata [Hash{Symbol=>String}]
2684
+ # # @param posted [Boolean]
2685
+ # # @param type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest::Type, nil]
2686
+ # # @param vendor_description [String, nil]
2687
+ # #
2688
+ # def initialize(
2689
+ # amount:,
2690
+ # as_of_date:,
2691
+ # direction:,
2692
+ # internal_account_id:,
2693
+ # vendor_code:,
2694
+ # vendor_code_type:,
2695
+ # metadata: nil,
2696
+ # posted: nil,
2697
+ # type: nil,
2698
+ # vendor_description: nil,
2699
+ # **
2700
+ # )
2701
+ # super
2702
+ # end
2703
+
2704
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2705
+
2706
+ # @abstract
2707
+ #
2708
+ # The type of the transaction. Examples could be
2709
+ # `card, `ach`, `wire`, `check`, `rtp`, `book`, or `sen`.
2710
+ #
2711
+ # @example
2712
+ # ```ruby
2713
+ # case type
2714
+ # in :ach
2715
+ # # ...
2716
+ # in :au_becs
2717
+ # # ...
2718
+ # in :bacs
2719
+ # # ...
2720
+ # in :book
2721
+ # # ...
2722
+ # in :card
2723
+ # # ...
2724
+ # in ...
2725
+ # #...
2726
+ # end
2727
+ # ```
2728
+ class Type < ModernTreasury::Enum
2729
+ ACH = :ach
2730
+ AU_BECS = :au_becs
2731
+ BACS = :bacs
2732
+ BOOK = :book
2733
+ CARD = :card
2734
+ CHATS = :chats
2735
+ CHECK = :check
2736
+ CROSS_BORDER = :cross_border
2737
+ DK_NETS = :dk_nets
2738
+ EFT = :eft
2739
+ HU_ICS = :hu_ics
2740
+ INTERAC = :interac
2741
+ MASAV = :masav
2742
+ MX_CCEN = :mx_ccen
2743
+ NEFT = :neft
2744
+ NICS = :nics
2745
+ NZ_BECS = :nz_becs
2746
+ PL_ELIXIR = :pl_elixir
2747
+ PROVXCHANGE = :provxchange
2748
+ RO_SENT = :ro_sent
2749
+ RTP = :rtp
2750
+ SE_BANKGIROT = :se_bankgirot
2751
+ SEN = :sen
2752
+ SEPA = :sepa
2753
+ SG_GIRO = :sg_giro
2754
+ SIC = :sic
2755
+ SIGNET = :signet
2756
+ SKNBI = :sknbi
2757
+ WIRE = :wire
2758
+ ZENGIN = :zengin
2759
+ OTHER = :other
2760
+
2761
+ finalize!
2762
+
2763
+ # @!parse
2764
+ # # @return [Array<Symbol>]
2765
+ # #
2766
+ # def self.values; end
2767
+ end
2768
+ end
2769
+
2770
+ class ID < ModernTreasury::BaseModel
2771
+ # @!attribute [r] id
2772
+ #
2773
+ # @return [String, nil]
2774
+ optional :id, String
2775
+
2776
+ # @!parse
2777
+ # # @return [String]
2778
+ # attr_writer :id
2779
+
2780
+ # @!parse
2781
+ # # @param id [String]
2782
+ # #
2783
+ # def initialize(id: nil, **) = super
2784
+
2785
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
2786
+ end
2787
+
2788
+ class PaymentOrderUpdateRequestWithID < ModernTreasury::BaseModel
2789
+ # @!attribute [r] id
2790
+ #
2791
+ # @return [String, nil]
2792
+ optional :id, String
2793
+
2794
+ # @!parse
2795
+ # # @return [String]
2796
+ # attr_writer :id
2797
+
2798
+ # @!attribute [r] accounting
2799
+ #
2800
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting, nil]
2801
+ optional :accounting,
2802
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting }
2803
+
2804
+ # @!parse
2805
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting]
2806
+ # attr_writer :accounting
2807
+
2808
+ # @!attribute accounting_category_id
2809
+ # The ID of one of your accounting categories. Note that these will only be
2810
+ # accessible if your accounting system has been connected.
2811
+ #
2812
+ # @return [String, nil]
2813
+ optional :accounting_category_id, String, nil?: true
2814
+
2815
+ # @!attribute accounting_ledger_class_id
2816
+ # The ID of one of your accounting ledger classes. Note that these will only be
2817
+ # accessible if your accounting system has been connected.
2818
+ #
2819
+ # @return [String, nil]
2820
+ optional :accounting_ledger_class_id, String, nil?: true
2821
+
2822
+ # @!attribute [r] amount
2823
+ # Value in specified currency's smallest unit. e.g. $10 would be represented as
2824
+ # 1000 (cents). For RTP, the maximum amount allowed by the network is $100,000.
2825
+ #
2826
+ # @return [Integer, nil]
2827
+ optional :amount, Integer
2828
+
2829
+ # @!parse
2830
+ # # @return [Integer]
2831
+ # attr_writer :amount
2832
+
2833
+ # @!attribute charge_bearer
2834
+ # The party that will pay the fees for the payment order. Only applies to wire
2835
+ # payment orders. Can be one of shared, sender, or receiver, which correspond
2836
+ # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
2837
+ #
2838
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ChargeBearer, nil]
2839
+ optional :charge_bearer,
2840
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ChargeBearer },
2841
+ nil?: true
2842
+
2843
+ # @!attribute counterparty_id
2844
+ # Required when receiving_account_id is passed the ID of an external account.
2845
+ #
2846
+ # @return [String, nil]
2847
+ optional :counterparty_id, String, nil?: true
2848
+
2849
+ # @!attribute [r] currency
2850
+ # Defaults to the currency of the originating account.
2851
+ #
2852
+ # @return [Symbol, ModernTreasury::Models::Currency, nil]
2853
+ optional :currency, enum: -> { ModernTreasury::Models::Currency }
2854
+
2855
+ # @!parse
2856
+ # # @return [Symbol, ModernTreasury::Models::Currency]
2857
+ # attr_writer :currency
2858
+
2859
+ # @!attribute description
2860
+ # An optional description for internal use.
2861
+ #
2862
+ # @return [String, nil]
2863
+ optional :description, String, nil?: true
2864
+
2865
+ # @!attribute [r] direction
2866
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
2867
+ # transaction. A `credit` moves money from your account to someone else's. A
2868
+ # `debit` pulls money from someone else's account to your own. Note that wire,
2869
+ # rtp, and check payments will always be `credit`.
2870
+ #
2871
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Direction, nil]
2872
+ optional :direction,
2873
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Direction }
2874
+
2875
+ # @!parse
2876
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Direction]
2877
+ # attr_writer :direction
2878
+
2879
+ # @!attribute [r] effective_date
2880
+ # Date transactions are to be posted to the participants' account. Defaults to the
2881
+ # current business day or the next business day if the current day is a bank
2882
+ # holiday or weekend. Format: yyyy-mm-dd.
2883
+ #
2884
+ # @return [Date, nil]
2885
+ optional :effective_date, Date
2886
+
2887
+ # @!parse
2888
+ # # @return [Date]
2889
+ # attr_writer :effective_date
2890
+
2891
+ # @!attribute expires_at
2892
+ # RFP payments require an expires_at. This value must be past the effective_date.
2893
+ #
2894
+ # @return [Time, nil]
2895
+ optional :expires_at, Time, nil?: true
2896
+
2897
+ # @!attribute [r] fallback_type
2898
+ # A payment type to fallback to if the original type is not valid for the
2899
+ # receiving account. Currently, this only supports falling back from RTP to ACH
2900
+ # (type=rtp and fallback_type=ach)
2901
+ #
2902
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::FallbackType, nil]
2903
+ optional :fallback_type,
2904
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::FallbackType }
2905
+
2906
+ # @!parse
2907
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::FallbackType]
2908
+ # attr_writer :fallback_type
2909
+
2910
+ # @!attribute foreign_exchange_contract
2911
+ # If present, indicates a specific foreign exchange contract number that has been
2912
+ # generated by your financial institution.
2913
+ #
2914
+ # @return [String, nil]
2915
+ optional :foreign_exchange_contract, String, nil?: true
2916
+
2917
+ # @!attribute foreign_exchange_indicator
2918
+ # Indicates the type of FX transfer to initiate, can be either
2919
+ # `variable_to_fixed`, `fixed_to_variable`, or `null` if the payment order
2920
+ # currency matches the originating account currency.
2921
+ #
2922
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ForeignExchangeIndicator, nil]
2923
+ optional :foreign_exchange_indicator,
2924
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ForeignExchangeIndicator },
2925
+ nil?: true
2926
+
2927
+ # @!attribute [r] line_items
2928
+ # An array of line items that must sum up to the amount of the payment order.
2929
+ #
2930
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::LineItem>, nil]
2931
+ optional :line_items,
2932
+ -> { ModernTreasury::ArrayOf[ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::LineItem] }
2933
+
2934
+ # @!parse
2935
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::LineItem>]
2936
+ # attr_writer :line_items
2937
+
2938
+ # @!attribute [r] metadata
2939
+ # Additional data represented as key-value pairs. Both the key and value must be
2940
+ # strings.
2941
+ #
2942
+ # @return [Hash{Symbol=>String}, nil]
2943
+ optional :metadata, ModernTreasury::HashOf[String]
2944
+
2945
+ # @!parse
2946
+ # # @return [Hash{Symbol=>String}]
2947
+ # attr_writer :metadata
2948
+
2949
+ # @!attribute [r] nsf_protected
2950
+ # A boolean to determine if NSF Protection is enabled for this payment order. Note
2951
+ # that this setting must also be turned on in your organization settings page.
2952
+ #
2953
+ # @return [Boolean, nil]
2954
+ optional :nsf_protected, ModernTreasury::BooleanModel
2955
+
2956
+ # @!parse
2957
+ # # @return [Boolean]
2958
+ # attr_writer :nsf_protected
2959
+
2960
+ # @!attribute [r] originating_account_id
2961
+ # The ID of one of your organization's internal accounts.
2962
+ #
2963
+ # @return [String, nil]
2964
+ optional :originating_account_id, String
2965
+
2966
+ # @!parse
2967
+ # # @return [String]
2968
+ # attr_writer :originating_account_id
2969
+
2970
+ # @!attribute originating_party_name
2971
+ # If present, this will replace your default company name on receiver's bank
2972
+ # statement. This field can only be used for ACH payments currently. For ACH, only
2973
+ # the first 16 characters of this string will be used. Any additional characters
2974
+ # will be truncated.
2975
+ #
2976
+ # @return [String, nil]
2977
+ optional :originating_party_name, String, nil?: true
2978
+
2979
+ # @!attribute [r] priority
2980
+ # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
2981
+ # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
2982
+ # an overnight check rather than standard mail.
2983
+ #
2984
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Priority, nil]
2985
+ optional :priority,
2986
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Priority }
2987
+
2988
+ # @!parse
2989
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Priority]
2990
+ # attr_writer :priority
2991
+
2992
+ # @!attribute process_after
2993
+ # If present, Modern Treasury will not process the payment until after this time.
2994
+ # If `process_after` is past the cutoff for `effective_date`, `process_after` will
2995
+ # take precedence and `effective_date` will automatically update to reflect the
2996
+ # earliest possible sending date after `process_after`. Format is ISO8601
2997
+ # timestamp.
2998
+ #
2999
+ # @return [Time, nil]
3000
+ optional :process_after, Time, nil?: true
3001
+
3002
+ # @!attribute purpose
3003
+ # For `wire`, this is usually the purpose which is transmitted via the
3004
+ # "InstrForDbtrAgt" field in the ISO20022 file. For `eft`, this field is the 3
3005
+ # digit CPA Code that will be attached to the payment.
3006
+ #
3007
+ # @return [String, nil]
3008
+ optional :purpose, String, nil?: true
3009
+
3010
+ # @!attribute [r] receiving_account
3011
+ # Either `receiving_account` or `receiving_account_id` must be present. When using
3012
+ # `receiving_account_id`, you may pass the id of an external account or an
3013
+ # internal account.
3014
+ #
3015
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount, nil]
3016
+ optional :receiving_account,
3017
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount }
3018
+
3019
+ # @!parse
3020
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount]
3021
+ # attr_writer :receiving_account
3022
+
3023
+ # @!attribute [r] receiving_account_id
3024
+ # Either `receiving_account` or `receiving_account_id` must be present. When using
3025
+ # `receiving_account_id`, you may pass the id of an external account or an
3026
+ # internal account.
3027
+ #
3028
+ # @return [String, nil]
3029
+ optional :receiving_account_id, String
3030
+
3031
+ # @!parse
3032
+ # # @return [String]
3033
+ # attr_writer :receiving_account_id
3034
+
3035
+ # @!attribute remittance_information
3036
+ # For `ach`, this field will be passed through on an addenda record. For `wire`
3037
+ # payments the field will be passed through as the "Originator to Beneficiary
3038
+ # Information", also known as OBI or Fedwire tag 6000.
3039
+ #
3040
+ # @return [String, nil]
3041
+ optional :remittance_information, String, nil?: true
3042
+
3043
+ # @!attribute send_remittance_advice
3044
+ # Send an email to the counterparty when the payment order is sent to the bank. If
3045
+ # `null`, `send_remittance_advice` on the Counterparty is used.
3046
+ #
3047
+ # @return [Boolean, nil]
3048
+ optional :send_remittance_advice, ModernTreasury::BooleanModel, nil?: true
3049
+
3050
+ # @!attribute statement_descriptor
3051
+ # An optional descriptor which will appear in the receiver's statement. For
3052
+ # `check` payments this field will be used as the memo line. For `ach` the maximum
3053
+ # length is 10 characters. Note that for ACH payments, the name on your bank
3054
+ # account will be included automatically by the bank, so you can use the
3055
+ # characters for other useful information. For `eft` the maximum length is 15
3056
+ # characters.
3057
+ #
3058
+ # @return [String, nil]
3059
+ optional :statement_descriptor, String, nil?: true
3060
+
3061
+ # @!attribute [r] status
3062
+ # To cancel a payment order, use `cancelled`. To redraft a returned payment order,
3063
+ # use `approved`. To undo approval on a denied or approved payment order, use
3064
+ # `needs_approval`.
3065
+ #
3066
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Status, nil]
3067
+ optional :status,
3068
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Status }
3069
+
3070
+ # @!parse
3071
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Status]
3072
+ # attr_writer :status
3073
+
3074
+ # @!attribute subtype
3075
+ # An additional layer of classification for the type of payment order you are
3076
+ # doing. This field is only used for `ach` payment orders currently. For `ach`
3077
+ # payment orders, the `subtype` represents the SEC code. We currently support
3078
+ # `CCD`, `PPD`, `IAT`, `CTX`, `WEB`, `CIE`, and `TEL`.
3079
+ #
3080
+ # @return [Symbol, ModernTreasury::Models::PaymentOrderSubtype, nil]
3081
+ optional :subtype, enum: -> { ModernTreasury::Models::PaymentOrderSubtype }, nil?: true
3082
+
3083
+ # @!attribute [r] type
3084
+ # One of `ach`, `se_bankgirot`, `eft`, `wire`, `check`, `sen`, `book`, `rtp`,
3085
+ # `sepa`, `bacs`, `au_becs`, `interac`, `neft`, `nics`,
3086
+ # `nz_national_clearing_code`, `sic`, `signet`, `provexchange`, `zengin`.
3087
+ #
3088
+ # @return [Symbol, ModernTreasury::Models::PaymentOrderType, nil]
3089
+ optional :type, enum: -> { ModernTreasury::Models::PaymentOrderType }
3090
+
3091
+ # @!parse
3092
+ # # @return [Symbol, ModernTreasury::Models::PaymentOrderType]
3093
+ # attr_writer :type
3094
+
3095
+ # @!attribute ultimate_originating_party_identifier
3096
+ # This represents the identifier by which the person is known to the receiver when
3097
+ # using the CIE subtype for ACH payments. Only the first 22 characters of this
3098
+ # string will be used. Any additional characters will be truncated.
3099
+ #
3100
+ # @return [String, nil]
3101
+ optional :ultimate_originating_party_identifier, String, nil?: true
3102
+
3103
+ # @!attribute ultimate_originating_party_name
3104
+ # This represents the name of the person that the payment is on behalf of when
3105
+ # using the CIE subtype for ACH payments. Only the first 15 characters of this
3106
+ # string will be used. Any additional characters will be truncated.
3107
+ #
3108
+ # @return [String, nil]
3109
+ optional :ultimate_originating_party_name, String, nil?: true
3110
+
3111
+ # @!attribute ultimate_receiving_party_identifier
3112
+ # This represents the name of the merchant that the payment is being sent to when
3113
+ # using the CIE subtype for ACH payments. Only the first 22 characters of this
3114
+ # string will be used. Any additional characters will be truncated.
3115
+ #
3116
+ # @return [String, nil]
3117
+ optional :ultimate_receiving_party_identifier, String, nil?: true
3118
+
3119
+ # @!attribute ultimate_receiving_party_name
3120
+ # This represents the identifier by which the merchant is known to the person
3121
+ # initiating an ACH payment with CIE subtype. Only the first 15 characters of this
3122
+ # string will be used. Any additional characters will be truncated.
3123
+ #
3124
+ # @return [String, nil]
3125
+ optional :ultimate_receiving_party_name, String, nil?: true
3126
+
3127
+ # @!parse
3128
+ # # @param id [String]
3129
+ # # @param accounting [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Accounting]
3130
+ # # @param accounting_category_id [String, nil]
3131
+ # # @param accounting_ledger_class_id [String, nil]
3132
+ # # @param amount [Integer]
3133
+ # # @param charge_bearer [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ChargeBearer, nil]
3134
+ # # @param counterparty_id [String, nil]
3135
+ # # @param currency [Symbol, ModernTreasury::Models::Currency]
3136
+ # # @param description [String, nil]
3137
+ # # @param direction [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Direction]
3138
+ # # @param effective_date [Date]
3139
+ # # @param expires_at [Time, nil]
3140
+ # # @param fallback_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::FallbackType]
3141
+ # # @param foreign_exchange_contract [String, nil]
3142
+ # # @param foreign_exchange_indicator [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ForeignExchangeIndicator, nil]
3143
+ # # @param line_items [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::LineItem>]
3144
+ # # @param metadata [Hash{Symbol=>String}]
3145
+ # # @param nsf_protected [Boolean]
3146
+ # # @param originating_account_id [String]
3147
+ # # @param originating_party_name [String, nil]
3148
+ # # @param priority [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Priority]
3149
+ # # @param process_after [Time, nil]
3150
+ # # @param purpose [String, nil]
3151
+ # # @param receiving_account [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount]
3152
+ # # @param receiving_account_id [String]
3153
+ # # @param remittance_information [String, nil]
3154
+ # # @param send_remittance_advice [Boolean, nil]
3155
+ # # @param statement_descriptor [String, nil]
3156
+ # # @param status [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Status]
3157
+ # # @param subtype [Symbol, ModernTreasury::Models::PaymentOrderSubtype, nil]
3158
+ # # @param type [Symbol, ModernTreasury::Models::PaymentOrderType]
3159
+ # # @param ultimate_originating_party_identifier [String, nil]
3160
+ # # @param ultimate_originating_party_name [String, nil]
3161
+ # # @param ultimate_receiving_party_identifier [String, nil]
3162
+ # # @param ultimate_receiving_party_name [String, nil]
3163
+ # #
3164
+ # def initialize(
3165
+ # id: nil,
3166
+ # accounting: nil,
3167
+ # accounting_category_id: nil,
3168
+ # accounting_ledger_class_id: nil,
3169
+ # amount: nil,
3170
+ # charge_bearer: nil,
3171
+ # counterparty_id: nil,
3172
+ # currency: nil,
3173
+ # description: nil,
3174
+ # direction: nil,
3175
+ # effective_date: nil,
3176
+ # expires_at: nil,
3177
+ # fallback_type: nil,
3178
+ # foreign_exchange_contract: nil,
3179
+ # foreign_exchange_indicator: nil,
3180
+ # line_items: nil,
3181
+ # metadata: nil,
3182
+ # nsf_protected: nil,
3183
+ # originating_account_id: nil,
3184
+ # originating_party_name: nil,
3185
+ # priority: nil,
3186
+ # process_after: nil,
3187
+ # purpose: nil,
3188
+ # receiving_account: nil,
3189
+ # receiving_account_id: nil,
3190
+ # remittance_information: nil,
3191
+ # send_remittance_advice: nil,
3192
+ # statement_descriptor: nil,
3193
+ # status: nil,
3194
+ # subtype: nil,
3195
+ # type: nil,
3196
+ # ultimate_originating_party_identifier: nil,
3197
+ # ultimate_originating_party_name: nil,
3198
+ # ultimate_receiving_party_identifier: nil,
3199
+ # ultimate_receiving_party_name: nil,
3200
+ # **
3201
+ # )
3202
+ # super
3203
+ # end
3204
+
3205
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3206
+
3207
+ class Accounting < ModernTreasury::BaseModel
3208
+ # @!attribute account_id
3209
+ # The ID of one of your accounting categories. Note that these will only be
3210
+ # accessible if your accounting system has been connected.
3211
+ #
3212
+ # @return [String, nil]
3213
+ optional :account_id, String, nil?: true
3214
+
3215
+ # @!attribute class_id
3216
+ # The ID of one of the class objects in your accounting system. Class objects
3217
+ # track segments of your business independent of client or project. Note that
3218
+ # these will only be accessible if your accounting system has been connected.
3219
+ #
3220
+ # @return [String, nil]
3221
+ optional :class_id, String, nil?: true
3222
+
3223
+ # @!parse
3224
+ # # @param account_id [String, nil]
3225
+ # # @param class_id [String, nil]
3226
+ # #
3227
+ # def initialize(account_id: nil, class_id: nil, **) = super
3228
+
3229
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3230
+ end
3231
+
3232
+ # @abstract
3233
+ #
3234
+ # The party that will pay the fees for the payment order. Only applies to wire
3235
+ # payment orders. Can be one of shared, sender, or receiver, which correspond
3236
+ # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
3237
+ #
3238
+ # @example
3239
+ # ```ruby
3240
+ # case charge_bearer
3241
+ # in :shared
3242
+ # # ...
3243
+ # in :sender
3244
+ # # ...
3245
+ # in :receiver
3246
+ # # ...
3247
+ # end
3248
+ # ```
3249
+ class ChargeBearer < ModernTreasury::Enum
3250
+ SHARED = :shared
3251
+ SENDER = :sender
3252
+ RECEIVER = :receiver
3253
+
3254
+ finalize!
3255
+
3256
+ # @!parse
3257
+ # # @return [Array<Symbol>]
3258
+ # #
3259
+ # def self.values; end
3260
+ end
3261
+
3262
+ # @abstract
3263
+ #
3264
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
3265
+ # transaction. A `credit` moves money from your account to someone else's. A
3266
+ # `debit` pulls money from someone else's account to your own. Note that wire,
3267
+ # rtp, and check payments will always be `credit`.
3268
+ #
3269
+ # @example
3270
+ # ```ruby
3271
+ # case direction
3272
+ # in :credit
3273
+ # # ...
3274
+ # in :debit
3275
+ # # ...
3276
+ # end
3277
+ # ```
3278
+ class Direction < ModernTreasury::Enum
3279
+ CREDIT = :credit
3280
+ DEBIT = :debit
3281
+
3282
+ finalize!
3283
+
3284
+ # @!parse
3285
+ # # @return [Array<Symbol>]
3286
+ # #
3287
+ # def self.values; end
3288
+ end
3289
+
3290
+ # @abstract
3291
+ #
3292
+ # A payment type to fallback to if the original type is not valid for the
3293
+ # receiving account. Currently, this only supports falling back from RTP to ACH
3294
+ # (type=rtp and fallback_type=ach)
3295
+ #
3296
+ # @example
3297
+ # ```ruby
3298
+ # case fallback_type
3299
+ # in :ach
3300
+ # # ...
3301
+ # end
3302
+ # ```
3303
+ class FallbackType < ModernTreasury::Enum
3304
+ ACH = :ach
3305
+
3306
+ finalize!
3307
+
3308
+ # @!parse
3309
+ # # @return [Array<Symbol>]
3310
+ # #
3311
+ # def self.values; end
3312
+ end
3313
+
3314
+ # @abstract
3315
+ #
3316
+ # Indicates the type of FX transfer to initiate, can be either
3317
+ # `variable_to_fixed`, `fixed_to_variable`, or `null` if the payment order
3318
+ # currency matches the originating account currency.
3319
+ #
3320
+ # @example
3321
+ # ```ruby
3322
+ # case foreign_exchange_indicator
3323
+ # in :fixed_to_variable
3324
+ # # ...
3325
+ # in :variable_to_fixed
3326
+ # # ...
3327
+ # end
3328
+ # ```
3329
+ class ForeignExchangeIndicator < ModernTreasury::Enum
3330
+ FIXED_TO_VARIABLE = :fixed_to_variable
3331
+ VARIABLE_TO_FIXED = :variable_to_fixed
3332
+
3333
+ finalize!
3334
+
3335
+ # @!parse
3336
+ # # @return [Array<Symbol>]
3337
+ # #
3338
+ # def self.values; end
3339
+ end
3340
+
3341
+ class LineItem < ModernTreasury::BaseModel
3342
+ # @!attribute amount
3343
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
3344
+ # as 1000.
3345
+ #
3346
+ # @return [Integer]
3347
+ required :amount, Integer
3348
+
3349
+ # @!attribute accounting_category_id
3350
+ # The ID of one of your accounting categories. Note that these will only be
3351
+ # accessible if your accounting system has been connected.
3352
+ #
3353
+ # @return [String, nil]
3354
+ optional :accounting_category_id, String, nil?: true
3355
+
3356
+ # @!attribute description
3357
+ # A free-form description of the line item.
3358
+ #
3359
+ # @return [String, nil]
3360
+ optional :description, String, nil?: true
3361
+
3362
+ # @!attribute [r] metadata
3363
+ # Additional data represented as key-value pairs. Both the key and value must be
3364
+ # strings.
3365
+ #
3366
+ # @return [Hash{Symbol=>String}, nil]
3367
+ optional :metadata, ModernTreasury::HashOf[String]
3368
+
3369
+ # @!parse
3370
+ # # @return [Hash{Symbol=>String}]
3371
+ # attr_writer :metadata
3372
+
3373
+ # @!parse
3374
+ # # @param amount [Integer]
3375
+ # # @param accounting_category_id [String, nil]
3376
+ # # @param description [String, nil]
3377
+ # # @param metadata [Hash{Symbol=>String}]
3378
+ # #
3379
+ # def initialize(amount:, accounting_category_id: nil, description: nil, metadata: nil, **) = super
3380
+
3381
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3382
+ end
3383
+
3384
+ # @abstract
3385
+ #
3386
+ # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
3387
+ # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
3388
+ # an overnight check rather than standard mail.
3389
+ #
3390
+ # @example
3391
+ # ```ruby
3392
+ # case priority
3393
+ # in :high
3394
+ # # ...
3395
+ # in :normal
3396
+ # # ...
3397
+ # end
3398
+ # ```
3399
+ class Priority < ModernTreasury::Enum
3400
+ HIGH = :high
3401
+ NORMAL = :normal
3402
+
3403
+ finalize!
3404
+
3405
+ # @!parse
3406
+ # # @return [Array<Symbol>]
3407
+ # #
3408
+ # def self.values; end
3409
+ end
3410
+
3411
+ class ReceivingAccount < ModernTreasury::BaseModel
3412
+ # @!attribute [r] account_details
3413
+ #
3414
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail>, nil]
3415
+ optional :account_details,
3416
+ -> do
3417
+ ModernTreasury::ArrayOf[
3418
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail
3419
+ ]
3420
+ end
3421
+
3422
+ # @!parse
3423
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail>]
3424
+ # attr_writer :account_details
3425
+
3426
+ # @!attribute [r] account_type
3427
+ # Can be `checking`, `savings` or `other`.
3428
+ #
3429
+ # @return [Symbol, ModernTreasury::Models::ExternalAccountType, nil]
3430
+ optional :account_type, enum: -> { ModernTreasury::Models::ExternalAccountType }
3431
+
3432
+ # @!parse
3433
+ # # @return [Symbol, ModernTreasury::Models::ExternalAccountType]
3434
+ # attr_writer :account_type
3435
+
3436
+ # @!attribute [r] contact_details
3437
+ #
3438
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail>, nil]
3439
+ optional :contact_details,
3440
+ -> do
3441
+ ModernTreasury::ArrayOf[
3442
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail
3443
+ ]
3444
+ end
3445
+
3446
+ # @!parse
3447
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail>]
3448
+ # attr_writer :contact_details
3449
+
3450
+ # @!attribute [r] ledger_account
3451
+ # Specifies a ledger account object that will be created with the external
3452
+ # account. The resulting ledger account is linked to the external account for
3453
+ # auto-ledgering Payment objects. See
3454
+ # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
3455
+ # for more details.
3456
+ #
3457
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount, nil]
3458
+ optional :ledger_account,
3459
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount }
3460
+
3461
+ # @!parse
3462
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount]
3463
+ # attr_writer :ledger_account
3464
+
3465
+ # @!attribute [r] metadata
3466
+ # Additional data represented as key-value pairs. Both the key and value must be
3467
+ # strings.
3468
+ #
3469
+ # @return [Hash{Symbol=>String}, nil]
3470
+ optional :metadata, ModernTreasury::HashOf[String]
3471
+
3472
+ # @!parse
3473
+ # # @return [Hash{Symbol=>String}]
3474
+ # attr_writer :metadata
3475
+
3476
+ # @!attribute name
3477
+ # A nickname for the external account. This is only for internal usage and won't
3478
+ # affect any payments
3479
+ #
3480
+ # @return [String, nil]
3481
+ optional :name, String, nil?: true
3482
+
3483
+ # @!attribute [r] party_address
3484
+ # Required if receiving wire payments.
3485
+ #
3486
+ # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress, nil]
3487
+ optional :party_address,
3488
+ -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress }
3489
+
3490
+ # @!parse
3491
+ # # @return [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress]
3492
+ # attr_writer :party_address
3493
+
3494
+ # @!attribute [r] party_identifier
3495
+ #
3496
+ # @return [String, nil]
3497
+ optional :party_identifier, String
3498
+
3499
+ # @!parse
3500
+ # # @return [String]
3501
+ # attr_writer :party_identifier
3502
+
3503
+ # @!attribute [r] party_name
3504
+ # If this value isn't provided, it will be inherited from the counterparty's name.
3505
+ #
3506
+ # @return [String, nil]
3507
+ optional :party_name, String
3508
+
3509
+ # @!parse
3510
+ # # @return [String]
3511
+ # attr_writer :party_name
3512
+
3513
+ # @!attribute party_type
3514
+ # Either `individual` or `business`.
3515
+ #
3516
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyType, nil]
3517
+ optional :party_type,
3518
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyType },
3519
+ nil?: true
3520
+
3521
+ # @!attribute [r] plaid_processor_token
3522
+ # If you've enabled the Modern Treasury + Plaid integration in your Plaid account,
3523
+ # you can pass the processor token in this field.
3524
+ #
3525
+ # @return [String, nil]
3526
+ optional :plaid_processor_token, String
3527
+
3528
+ # @!parse
3529
+ # # @return [String]
3530
+ # attr_writer :plaid_processor_token
3531
+
3532
+ # @!attribute [r] routing_details
3533
+ #
3534
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail>, nil]
3535
+ optional :routing_details,
3536
+ -> do
3537
+ ModernTreasury::ArrayOf[
3538
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail
3539
+ ]
3540
+ end
3541
+
3542
+ # @!parse
3543
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail>]
3544
+ # attr_writer :routing_details
3545
+
3546
+ # @!parse
3547
+ # # Either `receiving_account` or `receiving_account_id` must be present. When using
3548
+ # # `receiving_account_id`, you may pass the id of an external account or an
3549
+ # # internal account.
3550
+ # #
3551
+ # # @param account_details [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail>]
3552
+ # # @param account_type [Symbol, ModernTreasury::Models::ExternalAccountType]
3553
+ # # @param contact_details [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail>]
3554
+ # # @param ledger_account [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount]
3555
+ # # @param metadata [Hash{Symbol=>String}]
3556
+ # # @param name [String, nil]
3557
+ # # @param party_address [ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyAddress]
3558
+ # # @param party_identifier [String]
3559
+ # # @param party_name [String]
3560
+ # # @param party_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::PartyType, nil]
3561
+ # # @param plaid_processor_token [String]
3562
+ # # @param routing_details [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail>]
3563
+ # #
3564
+ # def initialize(
3565
+ # account_details: nil,
3566
+ # account_type: nil,
3567
+ # contact_details: nil,
3568
+ # ledger_account: nil,
3569
+ # metadata: nil,
3570
+ # name: nil,
3571
+ # party_address: nil,
3572
+ # party_identifier: nil,
3573
+ # party_name: nil,
3574
+ # party_type: nil,
3575
+ # plaid_processor_token: nil,
3576
+ # routing_details: nil,
3577
+ # **
3578
+ # )
3579
+ # super
3580
+ # end
3581
+
3582
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3583
+
3584
+ class AccountDetail < ModernTreasury::BaseModel
3585
+ # @!attribute account_number
3586
+ #
3587
+ # @return [String]
3588
+ required :account_number, String
3589
+
3590
+ # @!attribute [r] account_number_type
3591
+ #
3592
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType, nil]
3593
+ optional :account_number_type,
3594
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType }
3595
+
3596
+ # @!parse
3597
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType]
3598
+ # attr_writer :account_number_type
3599
+
3600
+ # @!parse
3601
+ # # @param account_number [String]
3602
+ # # @param account_number_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType]
3603
+ # #
3604
+ # def initialize(account_number:, account_number_type: nil, **) = super
3605
+
3606
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3607
+
3608
+ # @abstract
3609
+ #
3610
+ # @example
3611
+ # ```ruby
3612
+ # case account_number_type
3613
+ # in :au_number
3614
+ # # ...
3615
+ # in :clabe
3616
+ # # ...
3617
+ # in :hk_number
3618
+ # # ...
3619
+ # in :iban
3620
+ # # ...
3621
+ # in :id_number
3622
+ # # ...
3623
+ # in ...
3624
+ # #...
3625
+ # end
3626
+ # ```
3627
+ class AccountNumberType < ModernTreasury::Enum
3628
+ AU_NUMBER = :au_number
3629
+ CLABE = :clabe
3630
+ HK_NUMBER = :hk_number
3631
+ IBAN = :iban
3632
+ ID_NUMBER = :id_number
3633
+ NZ_NUMBER = :nz_number
3634
+ OTHER = :other
3635
+ PAN = :pan
3636
+ SG_NUMBER = :sg_number
3637
+ WALLET_ADDRESS = :wallet_address
3638
+
3639
+ finalize!
3640
+
3641
+ # @!parse
3642
+ # # @return [Array<Symbol>]
3643
+ # #
3644
+ # def self.values; end
3645
+ end
3646
+ end
3647
+
3648
+ class ContactDetail < ModernTreasury::BaseModel
3649
+ # @!attribute [r] contact_identifier
3650
+ #
3651
+ # @return [String, nil]
3652
+ optional :contact_identifier, String
3653
+
3654
+ # @!parse
3655
+ # # @return [String]
3656
+ # attr_writer :contact_identifier
3657
+
3658
+ # @!attribute [r] contact_identifier_type
3659
+ #
3660
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType, nil]
3661
+ optional :contact_identifier_type,
3662
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType }
3663
+
3664
+ # @!parse
3665
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType]
3666
+ # attr_writer :contact_identifier_type
3667
+
3668
+ # @!parse
3669
+ # # @param contact_identifier [String]
3670
+ # # @param contact_identifier_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::ContactDetail::ContactIdentifierType]
3671
+ # #
3672
+ # def initialize(contact_identifier: nil, contact_identifier_type: nil, **) = super
3673
+
3674
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3675
+
3676
+ # @abstract
3677
+ #
3678
+ # @example
3679
+ # ```ruby
3680
+ # case contact_identifier_type
3681
+ # in :email
3682
+ # # ...
3683
+ # in :phone_number
3684
+ # # ...
3685
+ # in :website
3686
+ # # ...
3687
+ # end
3688
+ # ```
3689
+ class ContactIdentifierType < ModernTreasury::Enum
3690
+ EMAIL = :email
3691
+ PHONE_NUMBER = :phone_number
3692
+ WEBSITE = :website
3693
+
3694
+ finalize!
3695
+
3696
+ # @!parse
3697
+ # # @return [Array<Symbol>]
3698
+ # #
3699
+ # def self.values; end
3700
+ end
3701
+ end
3702
+
3703
+ class LedgerAccount < ModernTreasury::BaseModel
3704
+ # @!attribute currency
3705
+ # The currency of the ledger account.
3706
+ #
3707
+ # @return [String]
3708
+ required :currency, String
3709
+
3710
+ # @!attribute ledger_id
3711
+ # The id of the ledger that this account belongs to.
3712
+ #
3713
+ # @return [String]
3714
+ required :ledger_id, String
3715
+
3716
+ # @!attribute name
3717
+ # The name of the ledger account.
3718
+ #
3719
+ # @return [String]
3720
+ required :name, String
3721
+
3722
+ # @!attribute normal_balance
3723
+ # The normal balance of the ledger account.
3724
+ #
3725
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
3726
+ required :normal_balance, enum: -> { ModernTreasury::Models::TransactionDirection }
3727
+
3728
+ # @!attribute currency_exponent
3729
+ # The currency exponent of the ledger account.
3730
+ #
3731
+ # @return [Integer, nil]
3732
+ optional :currency_exponent, Integer, nil?: true
3733
+
3734
+ # @!attribute description
3735
+ # The description of the ledger account.
3736
+ #
3737
+ # @return [String, nil]
3738
+ optional :description, String, nil?: true
3739
+
3740
+ # @!attribute [r] ledger_account_category_ids
3741
+ # The array of ledger account category ids that this ledger account should be a
3742
+ # child of.
3743
+ #
3744
+ # @return [Array<String>, nil]
3745
+ optional :ledger_account_category_ids, ModernTreasury::ArrayOf[String]
3746
+
3747
+ # @!parse
3748
+ # # @return [Array<String>]
3749
+ # attr_writer :ledger_account_category_ids
3750
+
3751
+ # @!attribute [r] ledgerable_id
3752
+ # If the ledger account links to another object in Modern Treasury, the id will be
3753
+ # populated here, otherwise null.
3754
+ #
3755
+ # @return [String, nil]
3756
+ optional :ledgerable_id, String
3757
+
3758
+ # @!parse
3759
+ # # @return [String]
3760
+ # attr_writer :ledgerable_id
3761
+
3762
+ # @!attribute [r] ledgerable_type
3763
+ # If the ledger account links to another object in Modern Treasury, the type will
3764
+ # be populated here, otherwise null. The value is one of internal_account or
3765
+ # external_account.
3766
+ #
3767
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType, nil]
3768
+ optional :ledgerable_type,
3769
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType }
3770
+
3771
+ # @!parse
3772
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType]
3773
+ # attr_writer :ledgerable_type
3774
+
3775
+ # @!attribute [r] metadata
3776
+ # Additional data represented as key-value pairs. Both the key and value must be
3777
+ # strings.
3778
+ #
3779
+ # @return [Hash{Symbol=>String}, nil]
3780
+ optional :metadata, ModernTreasury::HashOf[String]
3781
+
3782
+ # @!parse
3783
+ # # @return [Hash{Symbol=>String}]
3784
+ # attr_writer :metadata
3785
+
3786
+ # @!parse
3787
+ # # Specifies a ledger account object that will be created with the external
3788
+ # # account. The resulting ledger account is linked to the external account for
3789
+ # # auto-ledgering Payment objects. See
3790
+ # # https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects
3791
+ # # for more details.
3792
+ # #
3793
+ # # @param currency [String]
3794
+ # # @param ledger_id [String]
3795
+ # # @param name [String]
3796
+ # # @param normal_balance [Symbol, ModernTreasury::Models::TransactionDirection]
3797
+ # # @param currency_exponent [Integer, nil]
3798
+ # # @param description [String, nil]
3799
+ # # @param ledger_account_category_ids [Array<String>]
3800
+ # # @param ledgerable_id [String]
3801
+ # # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::LedgerAccount::LedgerableType]
3802
+ # # @param metadata [Hash{Symbol=>String}]
3803
+ # #
3804
+ # def initialize(
3805
+ # currency:,
3806
+ # ledger_id:,
3807
+ # name:,
3808
+ # normal_balance:,
3809
+ # currency_exponent: nil,
3810
+ # description: nil,
3811
+ # ledger_account_category_ids: nil,
3812
+ # ledgerable_id: nil,
3813
+ # ledgerable_type: nil,
3814
+ # metadata: nil,
3815
+ # **
3816
+ # )
3817
+ # super
3818
+ # end
3819
+
3820
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3821
+
3822
+ # @abstract
3823
+ #
3824
+ # If the ledger account links to another object in Modern Treasury, the type will
3825
+ # be populated here, otherwise null. The value is one of internal_account or
3826
+ # external_account.
3827
+ #
3828
+ # @example
3829
+ # ```ruby
3830
+ # case ledgerable_type
3831
+ # in :counterparty
3832
+ # # ...
3833
+ # in :external_account
3834
+ # # ...
3835
+ # in :internal_account
3836
+ # # ...
3837
+ # in :virtual_account
3838
+ # # ...
3839
+ # end
3840
+ # ```
3841
+ class LedgerableType < ModernTreasury::Enum
3842
+ COUNTERPARTY = :counterparty
3843
+ EXTERNAL_ACCOUNT = :external_account
3844
+ INTERNAL_ACCOUNT = :internal_account
3845
+ VIRTUAL_ACCOUNT = :virtual_account
3846
+
3847
+ finalize!
3848
+
3849
+ # @!parse
3850
+ # # @return [Array<Symbol>]
3851
+ # #
3852
+ # def self.values; end
3853
+ end
3854
+ end
3855
+
3856
+ class PartyAddress < ModernTreasury::BaseModel
3857
+ # @!attribute country
3858
+ # Country code conforms to [ISO 3166-1 alpha-2]
3859
+ #
3860
+ # @return [String, nil]
3861
+ optional :country, String, nil?: true
3862
+
3863
+ # @!attribute line1
3864
+ #
3865
+ # @return [String, nil]
3866
+ optional :line1, String, nil?: true
3867
+
3868
+ # @!attribute line2
3869
+ #
3870
+ # @return [String, nil]
3871
+ optional :line2, String, nil?: true
3872
+
3873
+ # @!attribute locality
3874
+ # Locality or City.
3875
+ #
3876
+ # @return [String, nil]
3877
+ optional :locality, String, nil?: true
3878
+
3879
+ # @!attribute postal_code
3880
+ # The postal code of the address.
3881
+ #
3882
+ # @return [String, nil]
3883
+ optional :postal_code, String, nil?: true
3884
+
3885
+ # @!attribute region
3886
+ # Region or State.
3887
+ #
3888
+ # @return [String, nil]
3889
+ optional :region, String, nil?: true
3890
+
3891
+ # @!parse
3892
+ # # Required if receiving wire payments.
3893
+ # #
3894
+ # # @param country [String, nil]
3895
+ # # @param line1 [String, nil]
3896
+ # # @param line2 [String, nil]
3897
+ # # @param locality [String, nil]
3898
+ # # @param postal_code [String, nil]
3899
+ # # @param region [String, nil]
3900
+ # #
3901
+ # def initialize(country: nil, line1: nil, line2: nil, locality: nil, postal_code: nil, region: nil, **) = super
3902
+
3903
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3904
+ end
3905
+
3906
+ # @abstract
3907
+ #
3908
+ # Either `individual` or `business`.
3909
+ #
3910
+ # @example
3911
+ # ```ruby
3912
+ # case party_type
3913
+ # in :business
3914
+ # # ...
3915
+ # in :individual
3916
+ # # ...
3917
+ # end
3918
+ # ```
3919
+ class PartyType < ModernTreasury::Enum
3920
+ BUSINESS = :business
3921
+ INDIVIDUAL = :individual
3922
+
3923
+ finalize!
3924
+
3925
+ # @!parse
3926
+ # # @return [Array<Symbol>]
3927
+ # #
3928
+ # def self.values; end
3929
+ end
3930
+
3931
+ class RoutingDetail < ModernTreasury::BaseModel
3932
+ # @!attribute routing_number
3933
+ #
3934
+ # @return [String]
3935
+ required :routing_number, String
3936
+
3937
+ # @!attribute routing_number_type
3938
+ #
3939
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::RoutingNumberType]
3940
+ required :routing_number_type,
3941
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::RoutingNumberType }
3942
+
3943
+ # @!attribute [r] payment_type
3944
+ #
3945
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::PaymentType, nil]
3946
+ optional :payment_type,
3947
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::PaymentType }
3948
+
3949
+ # @!parse
3950
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::PaymentType]
3951
+ # attr_writer :payment_type
3952
+
3953
+ # @!parse
3954
+ # # @param routing_number [String]
3955
+ # # @param routing_number_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::RoutingNumberType]
3956
+ # # @param payment_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::RoutingDetail::PaymentType]
3957
+ # #
3958
+ # def initialize(routing_number:, routing_number_type:, payment_type: nil, **) = super
3959
+
3960
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
3961
+
3962
+ # @abstract
3963
+ #
3964
+ # @example
3965
+ # ```ruby
3966
+ # case routing_number_type
3967
+ # in :aba
3968
+ # # ...
3969
+ # in :au_bsb
3970
+ # # ...
3971
+ # in :br_codigo
3972
+ # # ...
3973
+ # in :ca_cpa
3974
+ # # ...
3975
+ # in :chips
3976
+ # # ...
3977
+ # in ...
3978
+ # #...
3979
+ # end
3980
+ # ```
3981
+ class RoutingNumberType < ModernTreasury::Enum
3982
+ ABA = :aba
3983
+ AU_BSB = :au_bsb
3984
+ BR_CODIGO = :br_codigo
3985
+ CA_CPA = :ca_cpa
3986
+ CHIPS = :chips
3987
+ CNAPS = :cnaps
3988
+ DK_INTERBANK_CLEARING_CODE = :dk_interbank_clearing_code
3989
+ GB_SORT_CODE = :gb_sort_code
3990
+ HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
3991
+ HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
3992
+ ID_SKNBI_CODE = :id_sknbi_code
3993
+ IN_IFSC = :in_ifsc
3994
+ JP_ZENGIN_CODE = :jp_zengin_code
3995
+ MY_BRANCH_CODE = :my_branch_code
3996
+ MX_BANK_IDENTIFIER = :mx_bank_identifier
3997
+ NZ_NATIONAL_CLEARING_CODE = :nz_national_clearing_code
3998
+ PL_NATIONAL_CLEARING_CODE = :pl_national_clearing_code
3999
+ SE_BANKGIRO_CLEARING_CODE = :se_bankgiro_clearing_code
4000
+ SG_INTERBANK_CLEARING_CODE = :sg_interbank_clearing_code
4001
+ SWIFT = :swift
4002
+ ZA_NATIONAL_CLEARING_CODE = :za_national_clearing_code
4003
+
4004
+ finalize!
4005
+
4006
+ # @!parse
4007
+ # # @return [Array<Symbol>]
4008
+ # #
4009
+ # def self.values; end
4010
+ end
4011
+
4012
+ # @abstract
4013
+ #
4014
+ # @example
4015
+ # ```ruby
4016
+ # case payment_type
4017
+ # in :ach
4018
+ # # ...
4019
+ # in :au_becs
4020
+ # # ...
4021
+ # in :bacs
4022
+ # # ...
4023
+ # in :book
4024
+ # # ...
4025
+ # in :card
4026
+ # # ...
4027
+ # in ...
4028
+ # #...
4029
+ # end
4030
+ # ```
4031
+ class PaymentType < ModernTreasury::Enum
4032
+ ACH = :ach
4033
+ AU_BECS = :au_becs
4034
+ BACS = :bacs
4035
+ BOOK = :book
4036
+ CARD = :card
4037
+ CHATS = :chats
4038
+ CHECK = :check
4039
+ CROSS_BORDER = :cross_border
4040
+ DK_NETS = :dk_nets
4041
+ EFT = :eft
4042
+ HU_ICS = :hu_ics
4043
+ INTERAC = :interac
4044
+ MASAV = :masav
4045
+ MX_CCEN = :mx_ccen
4046
+ NEFT = :neft
4047
+ NICS = :nics
4048
+ NZ_BECS = :nz_becs
4049
+ PL_ELIXIR = :pl_elixir
4050
+ PROVXCHANGE = :provxchange
4051
+ RO_SENT = :ro_sent
4052
+ RTP = :rtp
4053
+ SE_BANKGIROT = :se_bankgirot
4054
+ SEN = :sen
4055
+ SEPA = :sepa
4056
+ SG_GIRO = :sg_giro
4057
+ SIC = :sic
4058
+ SIGNET = :signet
4059
+ SKNBI = :sknbi
4060
+ WIRE = :wire
4061
+ ZENGIN = :zengin
4062
+
4063
+ finalize!
4064
+
4065
+ # @!parse
4066
+ # # @return [Array<Symbol>]
4067
+ # #
4068
+ # def self.values; end
4069
+ end
4070
+ end
4071
+ end
4072
+
4073
+ # @abstract
4074
+ #
4075
+ # To cancel a payment order, use `cancelled`. To redraft a returned payment order,
4076
+ # use `approved`. To undo approval on a denied or approved payment order, use
4077
+ # `needs_approval`.
4078
+ #
4079
+ # @example
4080
+ # ```ruby
4081
+ # case status
4082
+ # in :approved
4083
+ # # ...
4084
+ # in :cancelled
4085
+ # # ...
4086
+ # in :completed
4087
+ # # ...
4088
+ # in :denied
4089
+ # # ...
4090
+ # in :failed
4091
+ # # ...
4092
+ # in ...
4093
+ # #...
4094
+ # end
4095
+ # ```
4096
+ class Status < ModernTreasury::Enum
4097
+ APPROVED = :approved
4098
+ CANCELLED = :cancelled
4099
+ COMPLETED = :completed
4100
+ DENIED = :denied
4101
+ FAILED = :failed
4102
+ NEEDS_APPROVAL = :needs_approval
4103
+ PENDING = :pending
4104
+ PROCESSING = :processing
4105
+ RETURNED = :returned
4106
+ REVERSED = :reversed
4107
+ SENT = :sent
4108
+
4109
+ finalize!
4110
+
4111
+ # @!parse
4112
+ # # @return [Array<Symbol>]
4113
+ # #
4114
+ # def self.values; end
4115
+ end
4116
+ end
4117
+
4118
+ class ExpectedPaymentUpdateRequestWithID < ModernTreasury::BaseModel
4119
+ # @!attribute [r] id
4120
+ #
4121
+ # @return [String, nil]
4122
+ optional :id, String
4123
+
4124
+ # @!parse
4125
+ # # @return [String]
4126
+ # attr_writer :id
4127
+
4128
+ # @!attribute amount_lower_bound
4129
+ # The lowest amount this expected payment may be equal to. Value in specified
4130
+ # currency's smallest unit. e.g. $10 would be represented as 1000.
4131
+ #
4132
+ # @return [Integer, nil]
4133
+ optional :amount_lower_bound, Integer, nil?: true
4134
+
4135
+ # @!attribute amount_upper_bound
4136
+ # The highest amount this expected payment may be equal to. Value in specified
4137
+ # currency's smallest unit. e.g. $10 would be represented as 1000.
4138
+ #
4139
+ # @return [Integer, nil]
4140
+ optional :amount_upper_bound, Integer, nil?: true
4141
+
4142
+ # @!attribute counterparty_id
4143
+ # The ID of the counterparty you expect for this payment.
4144
+ #
4145
+ # @return [String, nil]
4146
+ optional :counterparty_id, String, nil?: true
4147
+
4148
+ # @!attribute currency
4149
+ # Must conform to ISO 4217. Defaults to the currency of the internal account.
4150
+ #
4151
+ # @return [Symbol, ModernTreasury::Models::Currency, nil]
4152
+ optional :currency, enum: -> { ModernTreasury::Models::Currency }, nil?: true
4153
+
4154
+ # @!attribute date_lower_bound
4155
+ # The earliest date the payment may come in. Format: yyyy-mm-dd
4156
+ #
4157
+ # @return [Date, nil]
4158
+ optional :date_lower_bound, Date, nil?: true
4159
+
4160
+ # @!attribute date_upper_bound
4161
+ # The latest date the payment may come in. Format: yyyy-mm-dd
4162
+ #
4163
+ # @return [Date, nil]
4164
+ optional :date_upper_bound, Date, nil?: true
4165
+
4166
+ # @!attribute description
4167
+ # An optional description for internal use.
4168
+ #
4169
+ # @return [String, nil]
4170
+ optional :description, String, nil?: true
4171
+
4172
+ # @!attribute direction
4173
+ # One of credit or debit. When you are receiving money, use credit. When you are
4174
+ # being charged, use debit.
4175
+ #
4176
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Direction, nil]
4177
+ optional :direction,
4178
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Direction },
4179
+ nil?: true
4180
+
4181
+ # @!attribute internal_account_id
4182
+ # The ID of the Internal Account for the expected payment.
4183
+ #
4184
+ # @return [String, nil]
4185
+ optional :internal_account_id, String, nil?: true
4186
+
4187
+ # @!attribute [r] metadata
4188
+ # Additional data represented as key-value pairs. Both the key and value must be
4189
+ # strings.
4190
+ #
4191
+ # @return [Hash{Symbol=>String}, nil]
4192
+ optional :metadata, ModernTreasury::HashOf[String]
4193
+
4194
+ # @!parse
4195
+ # # @return [Hash{Symbol=>String}]
4196
+ # attr_writer :metadata
4197
+
4198
+ # @!attribute reconciliation_filters
4199
+ # The reconciliation filters you have for this payment.
4200
+ #
4201
+ # @return [Object, nil]
4202
+ optional :reconciliation_filters, ModernTreasury::Unknown, nil?: true
4203
+
4204
+ # @!attribute reconciliation_groups
4205
+ # The reconciliation groups you have for this payment.
4206
+ #
4207
+ # @return [Object, nil]
4208
+ optional :reconciliation_groups, ModernTreasury::Unknown, nil?: true
4209
+
4210
+ # @!attribute reconciliation_rule_variables
4211
+ # An array of reconciliation rule variables for this payment.
4212
+ #
4213
+ # @return [Array<ModernTreasury::Models::ReconciliationRule>, nil]
4214
+ optional :reconciliation_rule_variables,
4215
+ -> { ModernTreasury::ArrayOf[ModernTreasury::Models::ReconciliationRule] },
4216
+ nil?: true
4217
+
4218
+ # @!attribute remittance_information
4219
+ # For `ach`, this field will be passed through on an addenda record. For `wire`
4220
+ # payments the field will be passed through as the "Originator to Beneficiary
4221
+ # Information", also known as OBI or Fedwire tag 6000.
4222
+ #
4223
+ # @return [String, nil]
4224
+ optional :remittance_information, String, nil?: true
4225
+
4226
+ # @!attribute statement_descriptor
4227
+ # The statement description you expect to see on the transaction. For ACH
4228
+ # payments, this will be the full line item passed from the bank. For wire
4229
+ # payments, this will be the OBI field on the wire. For check payments, this will
4230
+ # be the memo field.
4231
+ #
4232
+ # @return [String, nil]
4233
+ optional :statement_descriptor, String, nil?: true
4234
+
4235
+ # @!attribute status
4236
+ # The Expected Payment's status can be updated from partially_reconciled to
4237
+ # reconciled.
4238
+ #
4239
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Status, nil]
4240
+ optional :status,
4241
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Status },
4242
+ nil?: true
4243
+
4244
+ # @!attribute type
4245
+ # One of: ach, au_becs, bacs, book, check, eft, interac, provxchange, rtp, sen,
4246
+ # sepa, signet, wire.
4247
+ #
4248
+ # @return [Symbol, ModernTreasury::Models::ExpectedPaymentType, nil]
4249
+ optional :type, enum: -> { ModernTreasury::Models::ExpectedPaymentType }, nil?: true
4250
+
4251
+ # @!parse
4252
+ # # @param id [String]
4253
+ # # @param amount_lower_bound [Integer, nil]
4254
+ # # @param amount_upper_bound [Integer, nil]
4255
+ # # @param counterparty_id [String, nil]
4256
+ # # @param currency [Symbol, ModernTreasury::Models::Currency, nil]
4257
+ # # @param date_lower_bound [Date, nil]
4258
+ # # @param date_upper_bound [Date, nil]
4259
+ # # @param description [String, nil]
4260
+ # # @param direction [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Direction, nil]
4261
+ # # @param internal_account_id [String, nil]
4262
+ # # @param metadata [Hash{Symbol=>String}]
4263
+ # # @param reconciliation_filters [Object, nil]
4264
+ # # @param reconciliation_groups [Object, nil]
4265
+ # # @param reconciliation_rule_variables [Array<ModernTreasury::Models::ReconciliationRule>, nil]
4266
+ # # @param remittance_information [String, nil]
4267
+ # # @param statement_descriptor [String, nil]
4268
+ # # @param status [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID::Status, nil]
4269
+ # # @param type [Symbol, ModernTreasury::Models::ExpectedPaymentType, nil]
4270
+ # #
4271
+ # def initialize(
4272
+ # id: nil,
4273
+ # amount_lower_bound: nil,
4274
+ # amount_upper_bound: nil,
4275
+ # counterparty_id: nil,
4276
+ # currency: nil,
4277
+ # date_lower_bound: nil,
4278
+ # date_upper_bound: nil,
4279
+ # description: nil,
4280
+ # direction: nil,
4281
+ # internal_account_id: nil,
4282
+ # metadata: nil,
4283
+ # reconciliation_filters: nil,
4284
+ # reconciliation_groups: nil,
4285
+ # reconciliation_rule_variables: nil,
4286
+ # remittance_information: nil,
4287
+ # statement_descriptor: nil,
4288
+ # status: nil,
4289
+ # type: nil,
4290
+ # **
4291
+ # )
4292
+ # super
4293
+ # end
4294
+
4295
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
4296
+
4297
+ # @abstract
4298
+ #
4299
+ # One of credit or debit. When you are receiving money, use credit. When you are
4300
+ # being charged, use debit.
4301
+ #
4302
+ # @example
4303
+ # ```ruby
4304
+ # case direction
4305
+ # in :credit
4306
+ # # ...
4307
+ # in :debit
4308
+ # # ...
4309
+ # end
4310
+ # ```
4311
+ class Direction < ModernTreasury::Enum
4312
+ CREDIT = :credit
4313
+ DEBIT = :debit
4314
+
4315
+ finalize!
4316
+
4317
+ # @!parse
4318
+ # # @return [Array<Symbol>]
4319
+ # #
4320
+ # def self.values; end
4321
+ end
4322
+
4323
+ # @abstract
4324
+ #
4325
+ # The Expected Payment's status can be updated from partially_reconciled to
4326
+ # reconciled.
4327
+ #
4328
+ # @example
4329
+ # ```ruby
4330
+ # case status
4331
+ # in :reconciled
4332
+ # # ...
4333
+ # end
4334
+ # ```
4335
+ class Status < ModernTreasury::Enum
4336
+ RECONCILED = :reconciled
4337
+
4338
+ finalize!
4339
+
4340
+ # @!parse
4341
+ # # @return [Array<Symbol>]
4342
+ # #
4343
+ # def self.values; end
4344
+ end
4345
+ end
4346
+
4347
+ class TransactionUpdateRequestWithID < ModernTreasury::BaseModel
4348
+ # @!attribute [r] id
4349
+ #
4350
+ # @return [String, nil]
4351
+ optional :id, String
4352
+
4353
+ # @!parse
4354
+ # # @return [String]
4355
+ # attr_writer :id
4356
+
4357
+ # @!attribute [r] metadata
4358
+ # Additional data in the form of key-value pairs. Pairs can be removed by passing
4359
+ # an empty string or `null` as the value.
4360
+ #
4361
+ # @return [Hash{Symbol=>String}, nil]
4362
+ optional :metadata, ModernTreasury::HashOf[String]
4363
+
4364
+ # @!parse
4365
+ # # @return [Hash{Symbol=>String}]
4366
+ # attr_writer :metadata
4367
+
4368
+ # @!parse
4369
+ # # @param id [String]
4370
+ # # @param metadata [Hash{Symbol=>String}]
4371
+ # #
4372
+ # def initialize(id: nil, metadata: nil, **) = super
4373
+
4374
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
4375
+ end
4376
+
4377
+ class LedgerTransactionUpdateRequestWithID < ModernTreasury::BaseModel
4378
+ # @!attribute [r] id
4379
+ #
4380
+ # @return [String, nil]
4381
+ optional :id, String
4382
+
4383
+ # @!parse
4384
+ # # @return [String]
4385
+ # attr_writer :id
4386
+
4387
+ # @!attribute description
4388
+ # An optional description for internal use.
4389
+ #
4390
+ # @return [String, nil]
4391
+ optional :description, String, nil?: true
4392
+
4393
+ # @!attribute [r] effective_at
4394
+ # The timestamp (ISO8601 format) at which the ledger transaction happened for
4395
+ # reporting purposes.
4396
+ #
4397
+ # @return [Time, nil]
4398
+ optional :effective_at, Time
4399
+
4400
+ # @!parse
4401
+ # # @return [Time]
4402
+ # attr_writer :effective_at
4403
+
4404
+ # @!attribute [r] ledger_entries
4405
+ # An array of ledger entry objects.
4406
+ #
4407
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry>, nil]
4408
+ optional :ledger_entries,
4409
+ -> do
4410
+ ModernTreasury::ArrayOf[
4411
+ ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry
4412
+ ]
4413
+ end
4414
+
4415
+ # @!parse
4416
+ # # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry>]
4417
+ # attr_writer :ledger_entries
4418
+
4419
+ # @!attribute [r] ledgerable_id
4420
+ # If the ledger transaction can be reconciled to another object in Modern
4421
+ # Treasury, the id will be populated here, otherwise null.
4422
+ #
4423
+ # @return [String, nil]
4424
+ optional :ledgerable_id, String
4425
+
4426
+ # @!parse
4427
+ # # @return [String]
4428
+ # attr_writer :ledgerable_id
4429
+
4430
+ # @!attribute [r] ledgerable_type
4431
+ # If the ledger transaction can be reconciled to another object in Modern
4432
+ # Treasury, the type will be populated here, otherwise null. This can be one of
4433
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
4434
+ # reversal.
4435
+ #
4436
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType, nil]
4437
+ optional :ledgerable_type,
4438
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType }
4439
+
4440
+ # @!parse
4441
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType]
4442
+ # attr_writer :ledgerable_type
4443
+
4444
+ # @!attribute [r] metadata
4445
+ # Additional data represented as key-value pairs. Both the key and value must be
4446
+ # strings.
4447
+ #
4448
+ # @return [Hash{Symbol=>String}, nil]
4449
+ optional :metadata, ModernTreasury::HashOf[String]
4450
+
4451
+ # @!parse
4452
+ # # @return [Hash{Symbol=>String}]
4453
+ # attr_writer :metadata
4454
+
4455
+ # @!attribute [r] status
4456
+ # To post a ledger transaction at creation, use `posted`.
4457
+ #
4458
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::Status, nil]
4459
+ optional :status,
4460
+ enum: -> { ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::Status }
4461
+
4462
+ # @!parse
4463
+ # # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::Status]
4464
+ # attr_writer :status
4465
+
4466
+ # @!parse
4467
+ # # @param id [String]
4468
+ # # @param description [String, nil]
4469
+ # # @param effective_at [Time]
4470
+ # # @param ledger_entries [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerEntry>]
4471
+ # # @param ledgerable_id [String]
4472
+ # # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::LedgerableType]
4473
+ # # @param metadata [Hash{Symbol=>String}]
4474
+ # # @param status [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID::Status]
4475
+ # #
4476
+ # def initialize(
4477
+ # id: nil,
4478
+ # description: nil,
4479
+ # effective_at: nil,
4480
+ # ledger_entries: nil,
4481
+ # ledgerable_id: nil,
4482
+ # ledgerable_type: nil,
4483
+ # metadata: nil,
4484
+ # status: nil,
4485
+ # **
4486
+ # )
4487
+ # super
4488
+ # end
4489
+
4490
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
4491
+
4492
+ class LedgerEntry < ModernTreasury::BaseModel
4493
+ # @!attribute amount
4494
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
4495
+ # as 1000. Can be any integer up to 36 digits.
4496
+ #
4497
+ # @return [Integer]
4498
+ required :amount, Integer
4499
+
4500
+ # @!attribute direction
4501
+ # One of `credit`, `debit`. Describes the direction money is flowing in the
4502
+ # transaction. A `credit` moves money from your account to someone else's. A
4503
+ # `debit` pulls money from someone else's account to your own. Note that wire,
4504
+ # rtp, and check payments will always be `credit`.
4505
+ #
4506
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
4507
+ required :direction, enum: -> { ModernTreasury::Models::TransactionDirection }
4508
+
4509
+ # @!attribute ledger_account_id
4510
+ # The ledger account that this ledger entry is associated with.
4511
+ #
4512
+ # @return [String]
4513
+ required :ledger_account_id, String
4514
+
4515
+ # @!attribute available_balance_amount
4516
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
4517
+ # account’s available balance. If any of these conditions would be false after the
4518
+ # transaction is created, the entire call will fail with error code 422.
4519
+ #
4520
+ # @return [Hash{Symbol=>Integer}, nil]
4521
+ optional :available_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
4522
+
4523
+ # @!attribute lock_version
4524
+ # Lock version of the ledger account. This can be passed when creating a ledger
4525
+ # transaction to only succeed if no ledger transactions have posted since the
4526
+ # given version. See our post about Designing the Ledgers API with Optimistic
4527
+ # Locking for more details.
4528
+ #
4529
+ # @return [Integer, nil]
4530
+ optional :lock_version, Integer, nil?: true
4531
+
4532
+ # @!attribute [r] metadata
4533
+ # Additional data represented as key-value pairs. Both the key and value must be
4534
+ # strings.
4535
+ #
4536
+ # @return [Hash{Symbol=>String}, nil]
4537
+ optional :metadata, ModernTreasury::HashOf[String]
4538
+
4539
+ # @!parse
4540
+ # # @return [Hash{Symbol=>String}]
4541
+ # attr_writer :metadata
4542
+
4543
+ # @!attribute pending_balance_amount
4544
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
4545
+ # account’s pending balance. If any of these conditions would be false after the
4546
+ # transaction is created, the entire call will fail with error code 422.
4547
+ #
4548
+ # @return [Hash{Symbol=>Integer}, nil]
4549
+ optional :pending_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
4550
+
4551
+ # @!attribute posted_balance_amount
4552
+ # Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to lock on the
4553
+ # account’s posted balance. If any of these conditions would be false after the
4554
+ # transaction is created, the entire call will fail with error code 422.
4555
+ #
4556
+ # @return [Hash{Symbol=>Integer}, nil]
4557
+ optional :posted_balance_amount, ModernTreasury::HashOf[Integer], nil?: true
4558
+
4559
+ # @!attribute show_resulting_ledger_account_balances
4560
+ # If true, response will include the balance of the associated ledger account for
4561
+ # the entry.
4562
+ #
4563
+ # @return [Boolean, nil]
4564
+ optional :show_resulting_ledger_account_balances, ModernTreasury::BooleanModel, nil?: true
4565
+
4566
+ # @!parse
4567
+ # # @param amount [Integer]
4568
+ # # @param direction [Symbol, ModernTreasury::Models::TransactionDirection]
4569
+ # # @param ledger_account_id [String]
4570
+ # # @param available_balance_amount [Hash{Symbol=>Integer}, nil]
4571
+ # # @param lock_version [Integer, nil]
4572
+ # # @param metadata [Hash{Symbol=>String}]
4573
+ # # @param pending_balance_amount [Hash{Symbol=>Integer}, nil]
4574
+ # # @param posted_balance_amount [Hash{Symbol=>Integer}, nil]
4575
+ # # @param show_resulting_ledger_account_balances [Boolean, nil]
4576
+ # #
4577
+ # def initialize(
4578
+ # amount:,
4579
+ # direction:,
4580
+ # ledger_account_id:,
4581
+ # available_balance_amount: nil,
4582
+ # lock_version: nil,
4583
+ # metadata: nil,
4584
+ # pending_balance_amount: nil,
4585
+ # posted_balance_amount: nil,
4586
+ # show_resulting_ledger_account_balances: nil,
4587
+ # **
4588
+ # )
4589
+ # super
4590
+ # end
4591
+
4592
+ # def initialize: (Hash | ModernTreasury::BaseModel) -> void
4593
+ end
4594
+
4595
+ # @abstract
4596
+ #
4597
+ # If the ledger transaction can be reconciled to another object in Modern
4598
+ # Treasury, the type will be populated here, otherwise null. This can be one of
4599
+ # payment_order, incoming_payment_detail, expected_payment, return, paper_item, or
4600
+ # reversal.
4601
+ #
4602
+ # @example
4603
+ # ```ruby
4604
+ # case ledgerable_type
4605
+ # in :expected_payment
4606
+ # # ...
4607
+ # in :incoming_payment_detail
4608
+ # # ...
4609
+ # in :paper_item
4610
+ # # ...
4611
+ # in :payment_order
4612
+ # # ...
4613
+ # in :return
4614
+ # # ...
4615
+ # in ...
4616
+ # #...
4617
+ # end
4618
+ # ```
4619
+ class LedgerableType < ModernTreasury::Enum
4620
+ EXPECTED_PAYMENT = :expected_payment
4621
+ INCOMING_PAYMENT_DETAIL = :incoming_payment_detail
4622
+ PAPER_ITEM = :paper_item
4623
+ PAYMENT_ORDER = :payment_order
4624
+ RETURN = :return
4625
+ REVERSAL = :reversal
4626
+
4627
+ finalize!
4628
+
4629
+ # @!parse
4630
+ # # @return [Array<Symbol>]
4631
+ # #
4632
+ # def self.values; end
4633
+ end
4634
+
4635
+ # @abstract
4636
+ #
4637
+ # To post a ledger transaction at creation, use `posted`.
4638
+ #
4639
+ # @example
4640
+ # ```ruby
4641
+ # case status
4642
+ # in :archived
4643
+ # # ...
4644
+ # in :pending
4645
+ # # ...
4646
+ # in :posted
4647
+ # # ...
4648
+ # end
4649
+ # ```
4650
+ class Status < ModernTreasury::Enum
4651
+ ARCHIVED = :archived
4652
+ PENDING = :pending
4653
+ POSTED = :posted
4654
+
4655
+ finalize!
4656
+
4657
+ # @!parse
4658
+ # # @return [Array<Symbol>]
4659
+ # #
4660
+ # def self.values; end
4661
+ end
4662
+ end
4663
+ end
4664
+ end
4665
+ end
4666
+ end