orb-billing 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/lib/orb/client.rb +14 -0
  4. data/lib/orb/internal/transport/base_client.rb +5 -0
  5. data/lib/orb/internal/type/union.rb +13 -27
  6. data/lib/orb/models/accounting_provider_config.rb +14 -3
  7. data/lib/orb/models/adjustment_interval.rb +185 -3
  8. data/lib/orb/models/alert.rb +105 -1
  9. data/lib/orb/models/alert_create_for_subscription_params.rb +120 -7
  10. data/lib/orb/models/alert_update_params.rb +113 -1
  11. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +2419 -17109
  12. data/lib/orb/models/beta_create_plan_version_params.rb +2361 -16947
  13. data/lib/orb/models/changed_subscription_resources.rb +200 -10
  14. data/lib/orb/models/conversion_rate_config.rb +18 -0
  15. data/lib/orb/models/credit_block_list_invoices_response.rb +155 -1
  16. data/lib/orb/models/credit_block_retrieve_response.rb +150 -1
  17. data/lib/orb/models/customer.rb +111 -4
  18. data/lib/orb/models/customer_create_params.rb +6 -1
  19. data/lib/orb/models/customer_tax_id.rb +15 -1
  20. data/lib/orb/models/customer_update_by_external_id_params.rb +16 -2
  21. data/lib/orb/models/customer_update_params.rb +16 -2
  22. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +155 -1
  23. data/lib/orb/models/customers/credit_list_response.rb +152 -1
  24. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +4 -4
  25. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +4 -4
  26. data/lib/orb/models/dimensional_price_group.rb +1 -1
  27. data/lib/orb/models/discount.rb +145 -1
  28. data/lib/orb/models/event_ingest_params.rb +5 -2
  29. data/lib/orb/models/invoice.rb +198 -10
  30. data/lib/orb/models/invoice_create_params.rb +6 -5
  31. data/lib/orb/models/invoice_fetch_upcoming_response.rb +200 -10
  32. data/lib/orb/models/invoice_issue_summary_response.rb +9 -3
  33. data/lib/orb/models/invoice_level_discount.rb +145 -1
  34. data/lib/orb/models/invoice_line_item_create_response.rb +189 -5
  35. data/lib/orb/models/invoice_list_summary_response.rb +9 -3
  36. data/lib/orb/models/licenses/external_license_get_usage_params.rb +3 -3
  37. data/lib/orb/models/licenses/usage_get_all_usage_params.rb +3 -3
  38. data/lib/orb/models/licenses/usage_get_usage_params.rb +3 -3
  39. data/lib/orb/models/mutated_subscription.rb +169 -4
  40. data/lib/orb/models/new_allocation_price.rb +11 -1
  41. data/lib/orb/models/new_floating_bulk_price.rb +1 -3
  42. data/lib/orb/models/new_floating_bulk_with_proration_price.rb +1 -3
  43. data/lib/orb/models/new_floating_cumulative_grouped_bulk_price.rb +1 -3
  44. data/lib/orb/models/new_floating_grouped_allocation_price.rb +1 -3
  45. data/lib/orb/models/new_floating_grouped_tiered_package_price.rb +1 -3
  46. data/lib/orb/models/new_floating_grouped_tiered_price.rb +1 -3
  47. data/lib/orb/models/new_floating_grouped_with_metered_minimum_price.rb +1 -3
  48. data/lib/orb/models/new_floating_grouped_with_prorated_minimum_price.rb +1 -3
  49. data/lib/orb/models/new_floating_matrix_price.rb +1 -3
  50. data/lib/orb/models/new_floating_matrix_with_allocation_price.rb +1 -3
  51. data/lib/orb/models/new_floating_matrix_with_display_name_price.rb +1 -3
  52. data/lib/orb/models/new_floating_max_group_tiered_package_price.rb +1 -3
  53. data/lib/orb/models/new_floating_minimum_composite_price.rb +1 -3
  54. data/lib/orb/models/new_floating_package_price.rb +1 -3
  55. data/lib/orb/models/new_floating_package_with_allocation_price.rb +1 -3
  56. data/lib/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  57. data/lib/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +1 -3
  58. data/lib/orb/models/new_floating_threshold_total_amount_price.rb +1 -3
  59. data/lib/orb/models/new_floating_tiered_package_price.rb +1 -3
  60. data/lib/orb/models/new_floating_tiered_package_with_minimum_price.rb +1 -3
  61. data/lib/orb/models/new_floating_tiered_price.rb +1 -3
  62. data/lib/orb/models/new_floating_tiered_with_minimum_price.rb +1 -3
  63. data/lib/orb/models/new_floating_tiered_with_proration_price.rb +1 -3
  64. data/lib/orb/models/new_floating_unit_price.rb +1 -3
  65. data/lib/orb/models/new_floating_unit_with_percent_price.rb +1 -3
  66. data/lib/orb/models/new_floating_unit_with_proration_price.rb +1 -3
  67. data/lib/orb/models/new_plan_bulk_price.rb +1 -1
  68. data/lib/orb/models/new_plan_bulk_with_proration_price.rb +1 -3
  69. data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +1 -3
  70. data/lib/orb/models/new_plan_grouped_allocation_price.rb +1 -3
  71. data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +1 -3
  72. data/lib/orb/models/new_plan_grouped_tiered_price.rb +1 -3
  73. data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +1 -3
  74. data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +1 -3
  75. data/lib/orb/models/new_plan_matrix_price.rb +1 -5
  76. data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +1 -3
  77. data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +1 -3
  78. data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +1 -3
  79. data/lib/orb/models/new_plan_minimum_composite_price.rb +1 -3
  80. data/lib/orb/models/new_plan_package_price.rb +1 -5
  81. data/lib/orb/models/new_plan_package_with_allocation_price.rb +1 -3
  82. data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  83. data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +1 -3
  84. data/lib/orb/models/new_plan_threshold_total_amount_price.rb +1 -3
  85. data/lib/orb/models/new_plan_tiered_package_price.rb +1 -3
  86. data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +1 -3
  87. data/lib/orb/models/new_plan_tiered_price.rb +1 -5
  88. data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +1 -3
  89. data/lib/orb/models/new_plan_unit_price.rb +1 -1
  90. data/lib/orb/models/new_plan_unit_with_percent_price.rb +1 -3
  91. data/lib/orb/models/new_plan_unit_with_proration_price.rb +1 -3
  92. data/lib/orb/models/new_subscription_bulk_price.rb +1 -3
  93. data/lib/orb/models/new_subscription_bulk_with_proration_price.rb +1 -3
  94. data/lib/orb/models/new_subscription_cumulative_grouped_bulk_price.rb +1 -3
  95. data/lib/orb/models/new_subscription_grouped_allocation_price.rb +1 -3
  96. data/lib/orb/models/new_subscription_grouped_tiered_package_price.rb +1 -3
  97. data/lib/orb/models/new_subscription_grouped_tiered_price.rb +1 -3
  98. data/lib/orb/models/new_subscription_grouped_with_metered_minimum_price.rb +1 -3
  99. data/lib/orb/models/new_subscription_grouped_with_prorated_minimum_price.rb +1 -3
  100. data/lib/orb/models/new_subscription_matrix_price.rb +1 -3
  101. data/lib/orb/models/new_subscription_matrix_with_allocation_price.rb +1 -3
  102. data/lib/orb/models/new_subscription_matrix_with_display_name_price.rb +1 -3
  103. data/lib/orb/models/new_subscription_max_group_tiered_package_price.rb +1 -3
  104. data/lib/orb/models/new_subscription_minimum_composite_price.rb +1 -3
  105. data/lib/orb/models/new_subscription_package_price.rb +1 -3
  106. data/lib/orb/models/new_subscription_package_with_allocation_price.rb +1 -3
  107. data/lib/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  108. data/lib/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +1 -3
  109. data/lib/orb/models/new_subscription_threshold_total_amount_price.rb +1 -3
  110. data/lib/orb/models/new_subscription_tiered_package_price.rb +1 -3
  111. data/lib/orb/models/new_subscription_tiered_package_with_minimum_price.rb +1 -3
  112. data/lib/orb/models/new_subscription_tiered_price.rb +1 -3
  113. data/lib/orb/models/new_subscription_tiered_with_minimum_price.rb +1 -3
  114. data/lib/orb/models/new_subscription_unit_price.rb +1 -3
  115. data/lib/orb/models/new_subscription_unit_with_percent_price.rb +1 -3
  116. data/lib/orb/models/new_subscription_unit_with_proration_price.rb +1 -3
  117. data/lib/orb/models/per_price_cost.rb +2 -2
  118. data/lib/orb/models/plan.rb +189 -9
  119. data/lib/orb/models/plan_create_params.rb +1047 -8228
  120. data/lib/orb/models/plan_update_params.rb +9 -1
  121. data/lib/orb/models/plan_version.rb +186 -5
  122. data/lib/orb/models/plans/external_plan_id_update_params.rb +9 -1
  123. data/lib/orb/models/plans/migration_cancel_response.rb +22 -4
  124. data/lib/orb/models/plans/migration_list_response.rb +22 -4
  125. data/lib/orb/models/plans/migration_retrieve_response.rb +22 -4
  126. data/lib/orb/models/price.rb +2614 -1268
  127. data/lib/orb/models/price_create_params.rb +866 -49
  128. data/lib/orb/models/price_evaluate_multiple_params.rb +889 -54
  129. data/lib/orb/models/price_evaluate_preview_events_params.rb +881 -46
  130. data/lib/orb/models/price_interval.rb +2 -2
  131. data/lib/orb/models/subscription.rb +168 -4
  132. data/lib/orb/models/subscription_create_params.rb +2818 -674
  133. data/lib/orb/models/subscription_price_intervals_params.rb +1098 -57
  134. data/lib/orb/models/subscription_schedule_plan_change_params.rb +2834 -687
  135. data/lib/orb/models/subscription_update_params.rb +12 -1
  136. data/lib/orb/models.rb +2 -0
  137. data/lib/orb/resources/alerts.rb +14 -3
  138. data/lib/orb/resources/customers/credits/ledger.rb +28 -14
  139. data/lib/orb/resources/customers.rb +6 -2
  140. data/lib/orb/resources/events.rb +7 -34
  141. data/lib/orb/resources/invoices.rb +6 -2
  142. data/lib/orb/resources/licenses/external_licenses.rb +1 -1
  143. data/lib/orb/resources/licenses/usage.rb +2 -2
  144. data/lib/orb/resources/metrics.rb +5 -5
  145. data/lib/orb/resources/plans/external_plan_id.rb +5 -3
  146. data/lib/orb/resources/plans.rb +9 -5
  147. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  148. data/lib/orb/resources/prices.rb +5 -5
  149. data/lib/orb/resources/subscriptions.rb +20 -3
  150. data/lib/orb/version.rb +1 -1
  151. data/lib/orb.rb +1 -0
  152. data/rbi/orb/models/accounting_provider_config.rbi +38 -5
  153. data/rbi/orb/models/adjustment_interval.rbi +336 -0
  154. data/rbi/orb/models/alert.rbi +172 -3
  155. data/rbi/orb/models/alert_create_for_subscription_params.rbi +268 -9
  156. data/rbi/orb/models/alert_update_params.rbi +208 -0
  157. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +3833 -28395
  158. data/rbi/orb/models/beta_create_plan_version_params.rbi +3833 -28363
  159. data/rbi/orb/models/changed_subscription_resources.rbi +360 -5
  160. data/rbi/orb/models/conversion_rate_config.rbi +18 -0
  161. data/rbi/orb/models/credit_block_list_invoices_response.rbi +346 -3
  162. data/rbi/orb/models/credit_block_retrieve_response.rbi +344 -3
  163. data/rbi/orb/models/customer.rbi +190 -10
  164. data/rbi/orb/models/customer_create_params.rbi +12 -2
  165. data/rbi/orb/models/customer_tax_id.rbi +15 -1
  166. data/rbi/orb/models/customer_update_by_external_id_params.rbi +22 -2
  167. data/rbi/orb/models/customer_update_params.rbi +22 -2
  168. data/rbi/orb/models/customers/credit_list_by_external_id_response.rbi +346 -3
  169. data/rbi/orb/models/customers/credit_list_response.rbi +347 -3
  170. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +6 -6
  171. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +6 -6
  172. data/rbi/orb/models/dimensional_price_group.rbi +1 -1
  173. data/rbi/orb/models/discount.rbi +269 -1
  174. data/rbi/orb/models/event_ingest_params.rbi +4 -2
  175. data/rbi/orb/models/invoice.rbi +360 -5
  176. data/rbi/orb/models/invoice_create_params.rbi +12 -7
  177. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +360 -5
  178. data/rbi/orb/models/invoice_issue_summary_response.rbi +19 -4
  179. data/rbi/orb/models/invoice_level_discount.rbi +298 -1
  180. data/rbi/orb/models/invoice_line_item_create_response.rbi +339 -0
  181. data/rbi/orb/models/invoice_list_summary_response.rbi +19 -4
  182. data/rbi/orb/models/licenses/external_license_get_usage_params.rbi +3 -3
  183. data/rbi/orb/models/licenses/usage_get_all_usage_params.rbi +3 -3
  184. data/rbi/orb/models/licenses/usage_get_usage_params.rbi +3 -3
  185. data/rbi/orb/models/mutated_subscription.rbi +324 -2
  186. data/rbi/orb/models/new_allocation_price.rbi +12 -0
  187. data/rbi/orb/models/per_price_cost.rbi +3 -0
  188. data/rbi/orb/models/plan.rbi +339 -2
  189. data/rbi/orb/models/plan_create_params.rbi +1877 -14138
  190. data/rbi/orb/models/plan_update_params.rbi +8 -0
  191. data/rbi/orb/models/plan_version.rbi +339 -0
  192. data/rbi/orb/models/plans/external_plan_id_update_params.rbi +8 -0
  193. data/rbi/orb/models/plans/migration_cancel_response.rbi +22 -1
  194. data/rbi/orb/models/plans/migration_list_response.rbi +22 -1
  195. data/rbi/orb/models/plans/migration_retrieve_response.rbi +22 -1
  196. data/rbi/orb/models/price.rbi +4552 -2285
  197. data/rbi/orb/models/price_create_params.rbi +1540 -114
  198. data/rbi/orb/models/price_evaluate_multiple_params.rbi +1540 -114
  199. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +1540 -114
  200. data/rbi/orb/models/price_interval.rbi +3 -0
  201. data/rbi/orb/models/subscription.rbi +324 -2
  202. data/rbi/orb/models/subscription_create_params.rbi +4998 -1186
  203. data/rbi/orb/models/subscription_price_intervals_params.rbi +2127 -264
  204. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +4997 -1185
  205. data/rbi/orb/models/subscription_update_params.rbi +14 -0
  206. data/rbi/orb/models.rbi +2 -0
  207. data/rbi/orb/resources/alerts.rbi +39 -4
  208. data/rbi/orb/resources/customers/credits/ledger.rbi +28 -14
  209. data/rbi/orb/resources/customers.rbi +23 -0
  210. data/rbi/orb/resources/events.rbi +8 -35
  211. data/rbi/orb/resources/invoices.rbi +9 -3
  212. data/rbi/orb/resources/licenses/external_licenses.rbi +1 -1
  213. data/rbi/orb/resources/licenses/usage.rbi +2 -2
  214. data/rbi/orb/resources/metrics.rbi +5 -5
  215. data/rbi/orb/resources/plans/external_plan_id.rbi +5 -2
  216. data/rbi/orb/resources/plans.rbi +9 -3
  217. data/rbi/orb/resources/prices.rbi +3 -0
  218. data/rbi/orb/resources/subscriptions.rbi +29 -0
  219. data/sig/orb/models/accounting_provider_config.rbs +21 -4
  220. data/sig/orb/models/adjustment_interval.rbs +134 -0
  221. data/sig/orb/models/alert.rbs +85 -3
  222. data/sig/orb/models/alert_create_for_subscription_params.rbs +86 -4
  223. data/sig/orb/models/alert_update_params.rbs +86 -1
  224. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +1803 -11601
  225. data/sig/orb/models/beta_create_plan_version_params.rbs +1747 -11541
  226. data/sig/orb/models/changed_subscription_resources.rbs +140 -1
  227. data/sig/orb/models/conversion_rate_config.rbs +12 -0
  228. data/sig/orb/models/credit_block_list_invoices_response.rbs +124 -3
  229. data/sig/orb/models/credit_block_retrieve_response.rbs +124 -3
  230. data/sig/orb/models/customer.rbs +70 -4
  231. data/sig/orb/models/customer_create_params.rbs +2 -2
  232. data/sig/orb/models/customer_tax_id.rbs +20 -2
  233. data/sig/orb/models/customer_update_by_external_id_params.rbs +7 -2
  234. data/sig/orb/models/customer_update_params.rbs +7 -2
  235. data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +124 -3
  236. data/sig/orb/models/customers/credit_list_response.rbs +124 -3
  237. data/sig/orb/models/discount.rbs +114 -0
  238. data/sig/orb/models/invoice.rbs +140 -1
  239. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +140 -1
  240. data/sig/orb/models/invoice_issue_summary_response.rbs +2 -1
  241. data/sig/orb/models/invoice_level_discount.rbs +117 -1
  242. data/sig/orb/models/invoice_line_item_create_response.rbs +134 -0
  243. data/sig/orb/models/invoice_list_summary_response.rbs +2 -1
  244. data/sig/orb/models/licenses/external_license_get_usage_params.rbs +4 -4
  245. data/sig/orb/models/licenses/usage_get_all_usage_params.rbs +4 -4
  246. data/sig/orb/models/licenses/usage_get_usage_params.rbs +4 -4
  247. data/sig/orb/models/mutated_subscription.rbs +124 -0
  248. data/sig/orb/models/new_allocation_price.rbs +5 -0
  249. data/sig/orb/models/new_floating_bulk_price.rbs +4 -4
  250. data/sig/orb/models/new_floating_bulk_with_proration_price.rbs +4 -4
  251. data/sig/orb/models/new_floating_cumulative_grouped_bulk_price.rbs +4 -4
  252. data/sig/orb/models/new_floating_grouped_allocation_price.rbs +4 -4
  253. data/sig/orb/models/new_floating_grouped_tiered_package_price.rbs +4 -4
  254. data/sig/orb/models/new_floating_grouped_tiered_price.rbs +4 -4
  255. data/sig/orb/models/new_floating_grouped_with_metered_minimum_price.rbs +4 -4
  256. data/sig/orb/models/new_floating_grouped_with_prorated_minimum_price.rbs +4 -4
  257. data/sig/orb/models/new_floating_matrix_price.rbs +4 -4
  258. data/sig/orb/models/new_floating_matrix_with_allocation_price.rbs +4 -4
  259. data/sig/orb/models/new_floating_matrix_with_display_name_price.rbs +4 -4
  260. data/sig/orb/models/new_floating_max_group_tiered_package_price.rbs +4 -4
  261. data/sig/orb/models/new_floating_minimum_composite_price.rbs +4 -4
  262. data/sig/orb/models/new_floating_package_price.rbs +4 -4
  263. data/sig/orb/models/new_floating_package_with_allocation_price.rbs +4 -4
  264. data/sig/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  265. data/sig/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  266. data/sig/orb/models/new_floating_threshold_total_amount_price.rbs +4 -4
  267. data/sig/orb/models/new_floating_tiered_package_price.rbs +4 -4
  268. data/sig/orb/models/new_floating_tiered_package_with_minimum_price.rbs +4 -4
  269. data/sig/orb/models/new_floating_tiered_price.rbs +4 -4
  270. data/sig/orb/models/new_floating_tiered_with_minimum_price.rbs +4 -4
  271. data/sig/orb/models/new_floating_tiered_with_proration_price.rbs +4 -4
  272. data/sig/orb/models/new_floating_unit_price.rbs +4 -4
  273. data/sig/orb/models/new_floating_unit_with_percent_price.rbs +4 -4
  274. data/sig/orb/models/new_floating_unit_with_proration_price.rbs +4 -4
  275. data/sig/orb/models/new_plan_bulk_price.rbs +4 -4
  276. data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +4 -4
  277. data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +4 -4
  278. data/sig/orb/models/new_plan_grouped_allocation_price.rbs +4 -4
  279. data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +4 -4
  280. data/sig/orb/models/new_plan_grouped_tiered_price.rbs +4 -4
  281. data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +4 -4
  282. data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +4 -4
  283. data/sig/orb/models/new_plan_matrix_price.rbs +4 -4
  284. data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +4 -4
  285. data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +4 -4
  286. data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +4 -4
  287. data/sig/orb/models/new_plan_minimum_composite_price.rbs +4 -4
  288. data/sig/orb/models/new_plan_package_price.rbs +4 -4
  289. data/sig/orb/models/new_plan_package_with_allocation_price.rbs +4 -4
  290. data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  291. data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  292. data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +4 -4
  293. data/sig/orb/models/new_plan_tiered_package_price.rbs +4 -4
  294. data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +4 -4
  295. data/sig/orb/models/new_plan_tiered_price.rbs +4 -4
  296. data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +4 -4
  297. data/sig/orb/models/new_plan_unit_price.rbs +4 -4
  298. data/sig/orb/models/new_plan_unit_with_percent_price.rbs +4 -4
  299. data/sig/orb/models/new_plan_unit_with_proration_price.rbs +4 -4
  300. data/sig/orb/models/new_subscription_bulk_price.rbs +4 -4
  301. data/sig/orb/models/new_subscription_bulk_with_proration_price.rbs +4 -4
  302. data/sig/orb/models/new_subscription_cumulative_grouped_bulk_price.rbs +4 -4
  303. data/sig/orb/models/new_subscription_grouped_allocation_price.rbs +4 -4
  304. data/sig/orb/models/new_subscription_grouped_tiered_package_price.rbs +4 -4
  305. data/sig/orb/models/new_subscription_grouped_tiered_price.rbs +4 -4
  306. data/sig/orb/models/new_subscription_grouped_with_metered_minimum_price.rbs +4 -4
  307. data/sig/orb/models/new_subscription_grouped_with_prorated_minimum_price.rbs +4 -4
  308. data/sig/orb/models/new_subscription_matrix_price.rbs +4 -4
  309. data/sig/orb/models/new_subscription_matrix_with_allocation_price.rbs +4 -4
  310. data/sig/orb/models/new_subscription_matrix_with_display_name_price.rbs +4 -4
  311. data/sig/orb/models/new_subscription_max_group_tiered_package_price.rbs +4 -4
  312. data/sig/orb/models/new_subscription_minimum_composite_price.rbs +4 -4
  313. data/sig/orb/models/new_subscription_package_price.rbs +4 -4
  314. data/sig/orb/models/new_subscription_package_with_allocation_price.rbs +4 -4
  315. data/sig/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  316. data/sig/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  317. data/sig/orb/models/new_subscription_threshold_total_amount_price.rbs +4 -4
  318. data/sig/orb/models/new_subscription_tiered_package_price.rbs +4 -4
  319. data/sig/orb/models/new_subscription_tiered_package_with_minimum_price.rbs +4 -4
  320. data/sig/orb/models/new_subscription_tiered_price.rbs +4 -4
  321. data/sig/orb/models/new_subscription_tiered_with_minimum_price.rbs +4 -4
  322. data/sig/orb/models/new_subscription_unit_price.rbs +4 -4
  323. data/sig/orb/models/new_subscription_unit_with_percent_price.rbs +4 -4
  324. data/sig/orb/models/new_subscription_unit_with_proration_price.rbs +4 -4
  325. data/sig/orb/models/plan.rbs +134 -0
  326. data/sig/orb/models/plan_create_params.rbs +836 -5728
  327. data/sig/orb/models/plan_update_params.rbs +5 -0
  328. data/sig/orb/models/plan_version.rbs +134 -0
  329. data/sig/orb/models/plans/external_plan_id_update_params.rbs +5 -0
  330. data/sig/orb/models/price.rbs +2200 -1150
  331. data/sig/orb/models/price_create_params.rbs +611 -23
  332. data/sig/orb/models/price_evaluate_multiple_params.rbs +626 -23
  333. data/sig/orb/models/price_evaluate_preview_events_params.rbs +626 -23
  334. data/sig/orb/models/subscription.rbs +124 -0
  335. data/sig/orb/models/subscription_create_params.rbs +2009 -430
  336. data/sig/orb/models/subscription_price_intervals_params.rbs +795 -23
  337. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +2009 -430
  338. data/sig/orb/models/subscription_update_params.rbs +5 -0
  339. data/sig/orb/models.rbs +2 -0
  340. data/sig/orb/resources/alerts.rbs +5 -1
  341. data/sig/orb/resources/customers.rbs +2 -0
  342. data/sig/orb/resources/licenses/external_licenses.rbs +1 -1
  343. data/sig/orb/resources/licenses/usage.rbs +2 -2
  344. data/sig/orb/resources/plans/external_plan_id.rbs +1 -0
  345. data/sig/orb/resources/plans.rbs +2 -0
  346. data/sig/orb/resources/subscriptions.rbs +3 -0
  347. metadata +6 -7
@@ -103,11 +103,13 @@ module Orb
103
103
  # | Estonia | `eu_vat` | European VAT Number |
104
104
  # | Ethiopia | `et_tin` | Ethiopia Tax Identification Number |
105
105
  # | European Union | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme |
106
+ # | Faroe Islands | `fo_vat` | Faroe Islands VAT Number |
106
107
  # | Finland | `eu_vat` | European VAT Number |
107
108
  # | France | `eu_vat` | European VAT Number |
108
109
  # | Georgia | `ge_vat` | Georgian VAT |
109
110
  # | Germany | `de_stn` | German Tax Number (Steuernummer) |
110
111
  # | Germany | `eu_vat` | European VAT Number |
112
+ # | Gibraltar | `gi_tin` | Gibraltar Tax Identification Number |
111
113
  # | Greece | `eu_vat` | European VAT Number |
112
114
  # | Guinea | `gn_nif` | Guinea Tax Identification Number (Número de Identificação Fiscal) |
113
115
  # | Hong Kong | `hk_br` | Hong Kong BR Number |
@@ -119,6 +121,7 @@ module Orb
119
121
  # | Ireland | `eu_vat` | European VAT Number |
120
122
  # | Israel | `il_vat` | Israel VAT |
121
123
  # | Italy | `eu_vat` | European VAT Number |
124
+ # | Italy | `it_cf` | Italian Codice Fiscale Number |
122
125
  # | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) |
123
126
  # | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
124
127
  # | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) |
@@ -149,6 +152,7 @@ module Orb
149
152
  # | Norway | `no_vat` | Norwegian VAT Number |
150
153
  # | Norway | `no_voec` | Norwegian VAT on e-commerce Number |
151
154
  # | Oman | `om_vat` | Omani VAT Number |
155
+ # | Paraguay | `py_ruc` | Paraguayan RUC Number |
152
156
  # | Peru | `pe_ruc` | Peruvian RUC Number |
153
157
  # | Philippines | `ph_tin` | Philippines Tax Identification Number |
154
158
  # | Poland | `eu_vat` | European VAT Number |
@@ -170,6 +174,7 @@ module Orb
170
174
  # | South Korea | `kr_brn` | Korean BRN |
171
175
  # | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) |
172
176
  # | Spain | `eu_vat` | European VAT Number |
177
+ # | Sri Lanka | `lk_vat` | Sri Lanka VAT Number |
173
178
  # | Suriname | `sr_fin` | Suriname FIN Number |
174
179
  # | Sweden | `eu_vat` | European VAT Number |
175
180
  # | Switzerland | `ch_uid` | Switzerland UID Number |
@@ -219,8 +224,8 @@ module Orb
219
224
  sig { returns(T.nilable(Time)) }
220
225
  attr_accessor :eligible_to_issue_at
221
226
 
222
- # A URL for the customer-facing invoice portal. This URL expires 30 days after the
223
- # invoice's due date, or 60 days after being re-generated through the UI.
227
+ # A URL for the customer-facing invoice portal. This URL expires 60 days after the
228
+ # link is generated, or 30 days after the invoice's due date — whichever is later.
224
229
  sig { returns(T.nilable(String)) }
225
230
  attr_accessor :hosted_invoice_url
226
231
 
@@ -374,7 +379,8 @@ module Orb
374
379
  T.any(
375
380
  Orb::PercentageDiscount::OrHash,
376
381
  Orb::AmountDiscount::OrHash,
377
- Orb::TrialDiscount::OrHash
382
+ Orb::TrialDiscount::OrHash,
383
+ Orb::InvoiceLevelDiscount::TieredPercentage::OrHash
378
384
  )
379
385
  ],
380
386
  due_date: T.nilable(Time),
@@ -480,11 +486,13 @@ module Orb
480
486
  # | Estonia | `eu_vat` | European VAT Number |
481
487
  # | Ethiopia | `et_tin` | Ethiopia Tax Identification Number |
482
488
  # | European Union | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme |
489
+ # | Faroe Islands | `fo_vat` | Faroe Islands VAT Number |
483
490
  # | Finland | `eu_vat` | European VAT Number |
484
491
  # | France | `eu_vat` | European VAT Number |
485
492
  # | Georgia | `ge_vat` | Georgian VAT |
486
493
  # | Germany | `de_stn` | German Tax Number (Steuernummer) |
487
494
  # | Germany | `eu_vat` | European VAT Number |
495
+ # | Gibraltar | `gi_tin` | Gibraltar Tax Identification Number |
488
496
  # | Greece | `eu_vat` | European VAT Number |
489
497
  # | Guinea | `gn_nif` | Guinea Tax Identification Number (Número de Identificação Fiscal) |
490
498
  # | Hong Kong | `hk_br` | Hong Kong BR Number |
@@ -496,6 +504,7 @@ module Orb
496
504
  # | Ireland | `eu_vat` | European VAT Number |
497
505
  # | Israel | `il_vat` | Israel VAT |
498
506
  # | Italy | `eu_vat` | European VAT Number |
507
+ # | Italy | `it_cf` | Italian Codice Fiscale Number |
499
508
  # | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) |
500
509
  # | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
501
510
  # | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) |
@@ -526,6 +535,7 @@ module Orb
526
535
  # | Norway | `no_vat` | Norwegian VAT Number |
527
536
  # | Norway | `no_voec` | Norwegian VAT on e-commerce Number |
528
537
  # | Oman | `om_vat` | Omani VAT Number |
538
+ # | Paraguay | `py_ruc` | Paraguayan RUC Number |
529
539
  # | Peru | `pe_ruc` | Peruvian RUC Number |
530
540
  # | Philippines | `ph_tin` | Philippines Tax Identification Number |
531
541
  # | Poland | `eu_vat` | European VAT Number |
@@ -547,6 +557,7 @@ module Orb
547
557
  # | South Korea | `kr_brn` | Korean BRN |
548
558
  # | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) |
549
559
  # | Spain | `eu_vat` | European VAT Number |
560
+ # | Sri Lanka | `lk_vat` | Sri Lanka VAT Number |
550
561
  # | Suriname | `sr_fin` | Suriname FIN Number |
551
562
  # | Sweden | `eu_vat` | European VAT Number |
552
563
  # | Switzerland | `ch_uid` | Switzerland UID Number |
@@ -581,8 +592,8 @@ module Orb
581
592
  # will be eligible to be issued, otherwise it will be `null`. If `auto-issue` is
582
593
  # true, the invoice will automatically begin issuing at this time.
583
594
  eligible_to_issue_at:,
584
- # A URL for the customer-facing invoice portal. This URL expires 30 days after the
585
- # invoice's due date, or 60 days after being re-generated through the UI.
595
+ # A URL for the customer-facing invoice portal. This URL expires 60 days after the
596
+ # link is generated, or 30 days after the invoice's due date — whichever is later.
586
597
  hosted_invoice_url:,
587
598
  # The scheduled date of the invoice
588
599
  invoice_date:,
@@ -1176,6 +1187,7 @@ module Orb
1176
1187
  Orb::MonetaryUsageDiscountAdjustment::OrHash,
1177
1188
  Orb::MonetaryAmountDiscountAdjustment::OrHash,
1178
1189
  Orb::MonetaryPercentageDiscountAdjustment::OrHash,
1190
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::OrHash,
1179
1191
  Orb::MonetaryMinimumAdjustment::OrHash,
1180
1192
  Orb::MonetaryMaximumAdjustment::OrHash
1181
1193
  )
@@ -1203,6 +1215,7 @@ module Orb
1203
1215
  Orb::Price::PackageWithAllocation::OrHash,
1204
1216
  Orb::Price::UnitWithPercent::OrHash,
1205
1217
  Orb::Price::MatrixWithAllocation::OrHash,
1218
+ Orb::Price::MatrixWithThresholdDiscounts::OrHash,
1206
1219
  Orb::Price::TieredWithProration::OrHash,
1207
1220
  Orb::Price::UnitWithProration::OrHash,
1208
1221
  Orb::Price::GroupedAllocation::OrHash,
@@ -1217,6 +1230,8 @@ module Orb
1217
1230
  Orb::Price::ScalableMatrixWithTieredPricing::OrHash,
1218
1231
  Orb::Price::CumulativeGroupedBulk::OrHash,
1219
1232
  Orb::Price::CumulativeGroupedAllocation::OrHash,
1233
+ Orb::Price::DailyCreditAllowance::OrHash,
1234
+ Orb::Price::MeteredAllowance::OrHash,
1220
1235
  Orb::Price::MinimumComposite::OrHash,
1221
1236
  Orb::Price::Percent::OrHash,
1222
1237
  Orb::Price::EventOutput::OrHash
@@ -1328,11 +1343,346 @@ module Orb
1328
1343
  Orb::MonetaryUsageDiscountAdjustment,
1329
1344
  Orb::MonetaryAmountDiscountAdjustment,
1330
1345
  Orb::MonetaryPercentageDiscountAdjustment,
1346
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount,
1331
1347
  Orb::MonetaryMinimumAdjustment,
1332
1348
  Orb::MonetaryMaximumAdjustment
1333
1349
  )
1334
1350
  end
1335
1351
 
1352
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
1353
+ OrHash =
1354
+ T.type_alias do
1355
+ T.any(
1356
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount,
1357
+ Orb::Internal::AnyHash
1358
+ )
1359
+ end
1360
+
1361
+ sig { returns(String) }
1362
+ attr_accessor :id
1363
+
1364
+ sig { returns(Symbol) }
1365
+ attr_accessor :adjustment_type
1366
+
1367
+ # The value applied by an adjustment.
1368
+ sig { returns(String) }
1369
+ attr_accessor :amount
1370
+
1371
+ # The price IDs that this adjustment applies to.
1372
+ sig { returns(T::Array[String]) }
1373
+ attr_accessor :applies_to_price_ids
1374
+
1375
+ # The filters that determine which prices to apply this adjustment to.
1376
+ sig do
1377
+ returns(
1378
+ T::Array[
1379
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter
1380
+ ]
1381
+ )
1382
+ end
1383
+ attr_accessor :filters
1384
+
1385
+ # True for adjustments that apply to an entire invoice, false for adjustments that
1386
+ # apply to only one price.
1387
+ sig { returns(T::Boolean) }
1388
+ attr_accessor :is_invoice_level
1389
+
1390
+ # The reason for the adjustment.
1391
+ sig { returns(T.nilable(String)) }
1392
+ attr_accessor :reason
1393
+
1394
+ # The adjustment id this adjustment replaces. This adjustment will take the place
1395
+ # of the replaced adjustment in plan version migrations.
1396
+ sig { returns(T.nilable(String)) }
1397
+ attr_accessor :replaces_adjustment_id
1398
+
1399
+ # The ordered, contiguous bands of cumulative eligible spend, each discounted at
1400
+ # its own percentage (progressive fill-a-tier), applied to the prices this
1401
+ # adjustment covers in a given billing period.
1402
+ sig do
1403
+ returns(
1404
+ T::Array[
1405
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Tier
1406
+ ]
1407
+ )
1408
+ end
1409
+ attr_accessor :tiers
1410
+
1411
+ sig do
1412
+ params(
1413
+ id: String,
1414
+ amount: String,
1415
+ applies_to_price_ids: T::Array[String],
1416
+ filters:
1417
+ T::Array[
1418
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::OrHash
1419
+ ],
1420
+ is_invoice_level: T::Boolean,
1421
+ reason: T.nilable(String),
1422
+ replaces_adjustment_id: T.nilable(String),
1423
+ tiers:
1424
+ T::Array[
1425
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Tier::OrHash
1426
+ ],
1427
+ adjustment_type: Symbol
1428
+ ).returns(T.attached_class)
1429
+ end
1430
+ def self.new(
1431
+ id:,
1432
+ # The value applied by an adjustment.
1433
+ amount:,
1434
+ # The price IDs that this adjustment applies to.
1435
+ applies_to_price_ids:,
1436
+ # The filters that determine which prices to apply this adjustment to.
1437
+ filters:,
1438
+ # True for adjustments that apply to an entire invoice, false for adjustments that
1439
+ # apply to only one price.
1440
+ is_invoice_level:,
1441
+ # The reason for the adjustment.
1442
+ reason:,
1443
+ # The adjustment id this adjustment replaces. This adjustment will take the place
1444
+ # of the replaced adjustment in plan version migrations.
1445
+ replaces_adjustment_id:,
1446
+ # The ordered, contiguous bands of cumulative eligible spend, each discounted at
1447
+ # its own percentage (progressive fill-a-tier), applied to the prices this
1448
+ # adjustment covers in a given billing period.
1449
+ tiers:,
1450
+ adjustment_type: :tiered_percentage_discount
1451
+ )
1452
+ end
1453
+
1454
+ sig do
1455
+ override.returns(
1456
+ {
1457
+ id: String,
1458
+ adjustment_type: Symbol,
1459
+ amount: String,
1460
+ applies_to_price_ids: T::Array[String],
1461
+ filters:
1462
+ T::Array[
1463
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter
1464
+ ],
1465
+ is_invoice_level: T::Boolean,
1466
+ reason: T.nilable(String),
1467
+ replaces_adjustment_id: T.nilable(String),
1468
+ tiers:
1469
+ T::Array[
1470
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Tier
1471
+ ]
1472
+ }
1473
+ )
1474
+ end
1475
+ def to_hash
1476
+ end
1477
+
1478
+ class Filter < Orb::Internal::Type::BaseModel
1479
+ OrHash =
1480
+ T.type_alias do
1481
+ T.any(
1482
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter,
1483
+ Orb::Internal::AnyHash
1484
+ )
1485
+ end
1486
+
1487
+ # The property of the price to filter on.
1488
+ sig do
1489
+ returns(
1490
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1491
+ )
1492
+ end
1493
+ attr_accessor :field
1494
+
1495
+ # Should prices that match the filter be included or excluded.
1496
+ sig do
1497
+ returns(
1498
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
1499
+ )
1500
+ end
1501
+ attr_accessor :operator
1502
+
1503
+ # The IDs or values that match this filter.
1504
+ sig { returns(T::Array[String]) }
1505
+ attr_accessor :values
1506
+
1507
+ sig do
1508
+ params(
1509
+ field:
1510
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::OrSymbol,
1511
+ operator:
1512
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator::OrSymbol,
1513
+ values: T::Array[String]
1514
+ ).returns(T.attached_class)
1515
+ end
1516
+ def self.new(
1517
+ # The property of the price to filter on.
1518
+ field:,
1519
+ # Should prices that match the filter be included or excluded.
1520
+ operator:,
1521
+ # The IDs or values that match this filter.
1522
+ values:
1523
+ )
1524
+ end
1525
+
1526
+ sig do
1527
+ override.returns(
1528
+ {
1529
+ field:
1530
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol,
1531
+ operator:
1532
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol,
1533
+ values: T::Array[String]
1534
+ }
1535
+ )
1536
+ end
1537
+ def to_hash
1538
+ end
1539
+
1540
+ # The property of the price to filter on.
1541
+ module Field
1542
+ extend Orb::Internal::Type::Enum
1543
+
1544
+ TaggedSymbol =
1545
+ T.type_alias do
1546
+ T.all(
1547
+ Symbol,
1548
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field
1549
+ )
1550
+ end
1551
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1552
+
1553
+ PRICE_ID =
1554
+ T.let(
1555
+ :price_id,
1556
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1557
+ )
1558
+ ITEM_ID =
1559
+ T.let(
1560
+ :item_id,
1561
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1562
+ )
1563
+ PRICE_TYPE =
1564
+ T.let(
1565
+ :price_type,
1566
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1567
+ )
1568
+ CURRENCY =
1569
+ T.let(
1570
+ :currency,
1571
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1572
+ )
1573
+ PRICING_UNIT_ID =
1574
+ T.let(
1575
+ :pricing_unit_id,
1576
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1577
+ )
1578
+
1579
+ sig do
1580
+ override.returns(
1581
+ T::Array[
1582
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
1583
+ ]
1584
+ )
1585
+ end
1586
+ def self.values
1587
+ end
1588
+ end
1589
+
1590
+ # Should prices that match the filter be included or excluded.
1591
+ module Operator
1592
+ extend Orb::Internal::Type::Enum
1593
+
1594
+ TaggedSymbol =
1595
+ T.type_alias do
1596
+ T.all(
1597
+ Symbol,
1598
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator
1599
+ )
1600
+ end
1601
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1602
+
1603
+ INCLUDES =
1604
+ T.let(
1605
+ :includes,
1606
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
1607
+ )
1608
+ EXCLUDES =
1609
+ T.let(
1610
+ :excludes,
1611
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
1612
+ )
1613
+
1614
+ sig do
1615
+ override.returns(
1616
+ T::Array[
1617
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
1618
+ ]
1619
+ )
1620
+ end
1621
+ def self.values
1622
+ end
1623
+ end
1624
+ end
1625
+
1626
+ class Tier < Orb::Internal::Type::BaseModel
1627
+ OrHash =
1628
+ T.type_alias do
1629
+ T.any(
1630
+ Orb::Invoice::LineItem::Adjustment::TieredPercentageDiscount::Tier,
1631
+ Orb::Internal::AnyHash
1632
+ )
1633
+ end
1634
+
1635
+ # Exclusive lower bound of cumulative spend for this tier.
1636
+ sig { returns(Float) }
1637
+ attr_accessor :lower_bound
1638
+
1639
+ # The percentage (between 0 and 1) discounted from spend that falls within this
1640
+ # tier.
1641
+ sig { returns(Float) }
1642
+ attr_accessor :percentage
1643
+
1644
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
1645
+ # open-ended tier.
1646
+ sig { returns(T.nilable(Float)) }
1647
+ attr_accessor :upper_bound
1648
+
1649
+ # One band of a tiered percentage discount. Bounds are denominated in the
1650
+ # discount's currency. `lower_bound` is the exclusive start of the band and
1651
+ # `upper_bound` is the inclusive end; `upper_bound` is null only for the
1652
+ # open-ended final tier.
1653
+ sig do
1654
+ params(
1655
+ lower_bound: Float,
1656
+ percentage: Float,
1657
+ upper_bound: T.nilable(Float)
1658
+ ).returns(T.attached_class)
1659
+ end
1660
+ def self.new(
1661
+ # Exclusive lower bound of cumulative spend for this tier.
1662
+ lower_bound:,
1663
+ # The percentage (between 0 and 1) discounted from spend that falls within this
1664
+ # tier.
1665
+ percentage:,
1666
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
1667
+ # open-ended tier.
1668
+ upper_bound: nil
1669
+ )
1670
+ end
1671
+
1672
+ sig do
1673
+ override.returns(
1674
+ {
1675
+ lower_bound: Float,
1676
+ percentage: Float,
1677
+ upper_bound: T.nilable(Float)
1678
+ }
1679
+ )
1680
+ end
1681
+ def to_hash
1682
+ end
1683
+ end
1684
+ end
1685
+
1336
1686
  sig do
1337
1687
  override.returns(
1338
1688
  T::Array[Orb::Invoice::LineItem::Adjustment::Variants]
@@ -1472,6 +1822,11 @@ module Orb
1472
1822
  :stripe,
1473
1823
  Orb::Invoice::PaymentAttempt::PaymentProvider::TaggedSymbol
1474
1824
  )
1825
+ ADYEN =
1826
+ T.let(
1827
+ :adyen,
1828
+ Orb::Invoice::PaymentAttempt::PaymentProvider::TaggedSymbol
1829
+ )
1475
1830
 
1476
1831
  sig do
1477
1832
  override.returns(
@@ -14,8 +14,9 @@ module Orb
14
14
  sig { returns(String) }
15
15
  attr_accessor :currency
16
16
 
17
- # Optional invoice date to set. Must be in the past, if not set, `invoice_date` is
18
- # set to the current time in the customer's timezone.
17
+ # An ISO 8601 date or timestamp, interpreted in the customer's timezone. Must be
18
+ # in the past. If a date is set without a time, `invoice_date` is set to midnight
19
+ # on the chosen date in the customer's timezone.
19
20
  sig { returns(Time) }
20
21
  attr_accessor :invoice_date
21
22
 
@@ -41,7 +42,8 @@ module Orb
41
42
  Orb::PercentageDiscount,
42
43
  Orb::TrialDiscount,
43
44
  Orb::UsageDiscount,
44
- Orb::AmountDiscount
45
+ Orb::AmountDiscount,
46
+ Orb::Discount::TieredPercentage
45
47
  )
46
48
  )
47
49
  )
@@ -99,7 +101,8 @@ module Orb
99
101
  Orb::PercentageDiscount::OrHash,
100
102
  Orb::TrialDiscount::OrHash,
101
103
  Orb::UsageDiscount::OrHash,
102
- Orb::AmountDiscount::OrHash
104
+ Orb::AmountDiscount::OrHash,
105
+ Orb::Discount::TieredPercentage::OrHash
103
106
  )
104
107
  ),
105
108
  due_date: T.nilable(Orb::InvoiceCreateParams::DueDate::Variants),
@@ -115,8 +118,9 @@ module Orb
115
118
  # An ISO 4217 currency string. Must be the same as the customer's currency if it
116
119
  # is set.
117
120
  currency:,
118
- # Optional invoice date to set. Must be in the past, if not set, `invoice_date` is
119
- # set to the current time in the customer's timezone.
121
+ # An ISO 8601 date or timestamp, interpreted in the customer's timezone. Must be
122
+ # in the past. If a date is set without a time, `invoice_date` is set to midnight
123
+ # on the chosen date in the customer's timezone.
120
124
  invoice_date:,
121
125
  line_items:,
122
126
  # Determines whether this invoice will automatically attempt to charge a saved
@@ -169,7 +173,8 @@ module Orb
169
173
  Orb::PercentageDiscount,
170
174
  Orb::TrialDiscount,
171
175
  Orb::UsageDiscount,
172
- Orb::AmountDiscount
176
+ Orb::AmountDiscount,
177
+ Orb::Discount::TieredPercentage
173
178
  )
174
179
  ),
175
180
  due_date: T.nilable(Orb::InvoiceCreateParams::DueDate::Variants),