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
@@ -22,7 +22,7 @@ module Orb
22
22
  # invoice calculations (ie. usage discounts -> amount discounts -> percentage
23
23
  # discounts -> minimums -> maximums).
24
24
  #
25
- # @return [Array<Orb::Models::MonetaryUsageDiscountAdjustment, Orb::Models::MonetaryAmountDiscountAdjustment, Orb::Models::MonetaryPercentageDiscountAdjustment, Orb::Models::MonetaryMinimumAdjustment, Orb::Models::MonetaryMaximumAdjustment>]
25
+ # @return [Array<Orb::Models::MonetaryUsageDiscountAdjustment, Orb::Models::MonetaryAmountDiscountAdjustment, Orb::Models::MonetaryPercentageDiscountAdjustment, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount, Orb::Models::MonetaryMinimumAdjustment, Orb::Models::MonetaryMaximumAdjustment>]
26
26
  required :adjustments,
27
27
  -> { Orb::Internal::Type::ArrayOf[union: Orb::Models::InvoiceLineItemCreateResponse::Adjustment] }
28
28
 
@@ -83,7 +83,7 @@ module Orb
83
83
  # For more on the types of prices, see
84
84
  # [the core concepts documentation](/core-concepts#plan-and-price)
85
85
  #
86
- # @return [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput]
86
+ # @return [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput]
87
87
  required :price, union: -> { Orb::Price }
88
88
 
89
89
  # @!attribute quantity
@@ -133,7 +133,7 @@ module Orb
133
133
  #
134
134
  # @param adjusted_subtotal [String] The line amount after any adjustments and before overage conversion, credits and
135
135
  #
136
- # @param adjustments [Array<Orb::Models::MonetaryUsageDiscountAdjustment, Orb::Models::MonetaryAmountDiscountAdjustment, Orb::Models::MonetaryPercentageDiscountAdjustment, Orb::Models::MonetaryMinimumAdjustment, Orb::Models::MonetaryMaximumAdjustment>] All adjustments applied to the line item in the order they were applied based on
136
+ # @param adjustments [Array<Orb::Models::MonetaryUsageDiscountAdjustment, Orb::Models::MonetaryAmountDiscountAdjustment, Orb::Models::MonetaryPercentageDiscountAdjustment, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount, Orb::Models::MonetaryMinimumAdjustment, Orb::Models::MonetaryMaximumAdjustment>] All adjustments applied to the line item in the order they were applied based on
137
137
  #
138
138
  # @param amount [String] The final amount for a line item after all adjustments and pre paid credits have
139
139
  #
@@ -149,7 +149,7 @@ module Orb
149
149
  #
150
150
  # @param partially_invoiced_amount [String] Any amount applied from a partial invoice
151
151
  #
152
- # @param price [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput] The Price resource represents a price that can be billed on a subscription, resu
152
+ # @param price [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput] The Price resource represents a price that can be billed on a subscription, resu
153
153
  #
154
154
  # @param quantity [Float] Either the fixed fee quantity or the usage during the service period.
155
155
  #
@@ -174,12 +174,196 @@ module Orb
174
174
 
175
175
  variant :percentage_discount, -> { Orb::MonetaryPercentageDiscountAdjustment }
176
176
 
177
+ variant :tiered_percentage_discount,
178
+ -> { Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount }
179
+
177
180
  variant :minimum, -> { Orb::MonetaryMinimumAdjustment }
178
181
 
179
182
  variant :maximum, -> { Orb::MonetaryMaximumAdjustment }
180
183
 
184
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
185
+ # @!attribute id
186
+ #
187
+ # @return [String]
188
+ required :id, String
189
+
190
+ # @!attribute adjustment_type
191
+ #
192
+ # @return [Symbol, :tiered_percentage_discount]
193
+ required :adjustment_type, const: :tiered_percentage_discount
194
+
195
+ # @!attribute amount
196
+ # The value applied by an adjustment.
197
+ #
198
+ # @return [String]
199
+ required :amount, String
200
+
201
+ # @!attribute applies_to_price_ids
202
+ # @deprecated
203
+ #
204
+ # The price IDs that this adjustment applies to.
205
+ #
206
+ # @return [Array<String>]
207
+ required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
208
+
209
+ # @!attribute filters
210
+ # The filters that determine which prices to apply this adjustment to.
211
+ #
212
+ # @return [Array<Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter>]
213
+ required :filters,
214
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter] }
215
+
216
+ # @!attribute is_invoice_level
217
+ # True for adjustments that apply to an entire invoice, false for adjustments that
218
+ # apply to only one price.
219
+ #
220
+ # @return [Boolean]
221
+ required :is_invoice_level, Orb::Internal::Type::Boolean
222
+
223
+ # @!attribute reason
224
+ # The reason for the adjustment.
225
+ #
226
+ # @return [String, nil]
227
+ required :reason, String, nil?: true
228
+
229
+ # @!attribute replaces_adjustment_id
230
+ # The adjustment id this adjustment replaces. This adjustment will take the place
231
+ # of the replaced adjustment in plan version migrations.
232
+ #
233
+ # @return [String, nil]
234
+ required :replaces_adjustment_id, String, nil?: true
235
+
236
+ # @!attribute tiers
237
+ # The ordered, contiguous bands of cumulative eligible spend, each discounted at
238
+ # its own percentage (progressive fill-a-tier), applied to the prices this
239
+ # adjustment covers in a given billing period.
240
+ #
241
+ # @return [Array<Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier>]
242
+ required :tiers,
243
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier] }
244
+
245
+ # @!method initialize(id:, amount:, applies_to_price_ids:, filters:, is_invoice_level:, reason:, replaces_adjustment_id:, tiers:, adjustment_type: :tiered_percentage_discount)
246
+ # Some parameter documentations has been truncated, see
247
+ # {Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount}
248
+ # for more details.
249
+ #
250
+ # @param id [String]
251
+ #
252
+ # @param amount [String] The value applied by an adjustment.
253
+ #
254
+ # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
255
+ #
256
+ # @param filters [Array<Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
257
+ #
258
+ # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invoice, false for adjustments that
259
+ #
260
+ # @param reason [String, nil] The reason for the adjustment.
261
+ #
262
+ # @param replaces_adjustment_id [String, nil] The adjustment id this adjustment replaces. This adjustment will take the place
263
+ #
264
+ # @param tiers [Array<Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier>] The ordered, contiguous bands of cumulative eligible spend, each discounted at i
265
+ #
266
+ # @param adjustment_type [Symbol, :tiered_percentage_discount]
267
+
268
+ class Filter < Orb::Internal::Type::BaseModel
269
+ # @!attribute field
270
+ # The property of the price to filter on.
271
+ #
272
+ # @return [Symbol, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field]
273
+ required :field,
274
+ enum: -> { Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field }
275
+
276
+ # @!attribute operator
277
+ # Should prices that match the filter be included or excluded.
278
+ #
279
+ # @return [Symbol, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator]
280
+ required :operator,
281
+ enum: -> { Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator }
282
+
283
+ # @!attribute values
284
+ # The IDs or values that match this filter.
285
+ #
286
+ # @return [Array<String>]
287
+ required :values, Orb::Internal::Type::ArrayOf[String]
288
+
289
+ # @!method initialize(field:, operator:, values:)
290
+ # @param field [Symbol, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Field] The property of the price to filter on.
291
+ #
292
+ # @param operator [Symbol, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
293
+ #
294
+ # @param values [Array<String>] The IDs or values that match this filter.
295
+
296
+ # The property of the price to filter on.
297
+ #
298
+ # @see Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter#field
299
+ module Field
300
+ extend Orb::Internal::Type::Enum
301
+
302
+ PRICE_ID = :price_id
303
+ ITEM_ID = :item_id
304
+ PRICE_TYPE = :price_type
305
+ CURRENCY = :currency
306
+ PRICING_UNIT_ID = :pricing_unit_id
307
+
308
+ # @!method self.values
309
+ # @return [Array<Symbol>]
310
+ end
311
+
312
+ # Should prices that match the filter be included or excluded.
313
+ #
314
+ # @see Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Filter#operator
315
+ module Operator
316
+ extend Orb::Internal::Type::Enum
317
+
318
+ INCLUDES = :includes
319
+ EXCLUDES = :excludes
320
+
321
+ # @!method self.values
322
+ # @return [Array<Symbol>]
323
+ end
324
+ end
325
+
326
+ class Tier < Orb::Internal::Type::BaseModel
327
+ # @!attribute lower_bound
328
+ # Exclusive lower bound of cumulative spend for this tier.
329
+ #
330
+ # @return [Float]
331
+ required :lower_bound, Float
332
+
333
+ # @!attribute percentage
334
+ # The percentage (between 0 and 1) discounted from spend that falls within this
335
+ # tier.
336
+ #
337
+ # @return [Float]
338
+ required :percentage, Float
339
+
340
+ # @!attribute upper_bound
341
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
342
+ # open-ended tier.
343
+ #
344
+ # @return [Float, nil]
345
+ optional :upper_bound, Float, nil?: true
346
+
347
+ # @!method initialize(lower_bound:, percentage:, upper_bound: nil)
348
+ # Some parameter documentations has been truncated, see
349
+ # {Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount::Tier}
350
+ # for more details.
351
+ #
352
+ # One band of a tiered percentage discount. Bounds are denominated in the
353
+ # discount's currency. `lower_bound` is the exclusive start of the band and
354
+ # `upper_bound` is the inclusive end; `upper_bound` is null only for the
355
+ # open-ended final tier.
356
+ #
357
+ # @param lower_bound [Float] Exclusive lower bound of cumulative spend for this tier.
358
+ #
359
+ # @param percentage [Float] The percentage (between 0 and 1) discounted from spend that falls within this ti
360
+ #
361
+ # @param upper_bound [Float, nil] Inclusive upper bound of cumulative spend for this tier; null for the final open
362
+ end
363
+ end
364
+
181
365
  # @!method self.variants
182
- # @return [Array(Orb::Models::MonetaryUsageDiscountAdjustment, Orb::Models::MonetaryAmountDiscountAdjustment, Orb::Models::MonetaryPercentageDiscountAdjustment, Orb::Models::MonetaryMinimumAdjustment, Orb::Models::MonetaryMaximumAdjustment)]
366
+ # @return [Array(Orb::Models::MonetaryUsageDiscountAdjustment, Orb::Models::MonetaryAmountDiscountAdjustment, Orb::Models::MonetaryPercentageDiscountAdjustment, Orb::Models::InvoiceLineItemCreateResponse::Adjustment::TieredPercentageDiscount, Orb::Models::MonetaryMinimumAdjustment, Orb::Models::MonetaryMaximumAdjustment)]
183
367
  end
184
368
 
185
369
  module SubLineItem
@@ -114,11 +114,13 @@ module Orb
114
114
  # | Estonia | `eu_vat` | European VAT Number |
115
115
  # | Ethiopia | `et_tin` | Ethiopia Tax Identification Number |
116
116
  # | European Union | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme |
117
+ # | Faroe Islands | `fo_vat` | Faroe Islands VAT Number |
117
118
  # | Finland | `eu_vat` | European VAT Number |
118
119
  # | France | `eu_vat` | European VAT Number |
119
120
  # | Georgia | `ge_vat` | Georgian VAT |
120
121
  # | Germany | `de_stn` | German Tax Number (Steuernummer) |
121
122
  # | Germany | `eu_vat` | European VAT Number |
123
+ # | Gibraltar | `gi_tin` | Gibraltar Tax Identification Number |
122
124
  # | Greece | `eu_vat` | European VAT Number |
123
125
  # | Guinea | `gn_nif` | Guinea Tax Identification Number (Número de Identificação Fiscal) |
124
126
  # | Hong Kong | `hk_br` | Hong Kong BR Number |
@@ -130,6 +132,7 @@ module Orb
130
132
  # | Ireland | `eu_vat` | European VAT Number |
131
133
  # | Israel | `il_vat` | Israel VAT |
132
134
  # | Italy | `eu_vat` | European VAT Number |
135
+ # | Italy | `it_cf` | Italian Codice Fiscale Number |
133
136
  # | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) |
134
137
  # | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
135
138
  # | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) |
@@ -160,6 +163,7 @@ module Orb
160
163
  # | Norway | `no_vat` | Norwegian VAT Number |
161
164
  # | Norway | `no_voec` | Norwegian VAT on e-commerce Number |
162
165
  # | Oman | `om_vat` | Omani VAT Number |
166
+ # | Paraguay | `py_ruc` | Paraguayan RUC Number |
163
167
  # | Peru | `pe_ruc` | Peruvian RUC Number |
164
168
  # | Philippines | `ph_tin` | Philippines Tax Identification Number |
165
169
  # | Poland | `eu_vat` | European VAT Number |
@@ -181,6 +185,7 @@ module Orb
181
185
  # | South Korea | `kr_brn` | Korean BRN |
182
186
  # | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) |
183
187
  # | Spain | `eu_vat` | European VAT Number |
188
+ # | Sri Lanka | `lk_vat` | Sri Lanka VAT Number |
184
189
  # | Suriname | `sr_fin` | Suriname FIN Number |
185
190
  # | Sweden | `eu_vat` | European VAT Number |
186
191
  # | Switzerland | `ch_uid` | Switzerland UID Number |
@@ -222,8 +227,8 @@ module Orb
222
227
  required :eligible_to_issue_at, Time, nil?: true
223
228
 
224
229
  # @!attribute hosted_invoice_url
225
- # A URL for the customer-facing invoice portal. This URL expires 30 days after the
226
- # invoice's due date, or 60 days after being re-generated through the UI.
230
+ # A URL for the customer-facing invoice portal. This URL expires 60 days after the
231
+ # link is generated, or 30 days after the invoice's due date — whichever is later.
227
232
  #
228
233
  # @return [String, nil]
229
234
  required :hosted_invoice_url, String, nil?: true
@@ -391,7 +396,7 @@ module Orb
391
396
  #
392
397
  # @param eligible_to_issue_at [Time, nil] If the invoice has a status of `draft`, this will be the time that the invoice w
393
398
  #
394
- # @param hosted_invoice_url [String, nil] A URL for the customer-facing invoice portal. This URL expires 30 days after the
399
+ # @param hosted_invoice_url [String, nil] A URL for the customer-facing invoice portal. This URL expires 60 days after the
395
400
  #
396
401
  # @param invoice_date [Time] The scheduled date of the invoice
397
402
  #
@@ -735,6 +740,7 @@ module Orb
735
740
  extend Orb::Internal::Type::Enum
736
741
 
737
742
  STRIPE = :stripe
743
+ ADYEN = :adyen
738
744
 
739
745
  # @!method self.values
740
746
  # @return [Array<Symbol>]
@@ -42,8 +42,8 @@ module Orb
42
42
  # How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
43
43
  # 'license,day').
44
44
  #
45
- # @return [Array<String>, nil]
46
- optional :group_by, Orb::Internal::Type::ArrayOf[String], nil?: true
45
+ # @return [String, nil]
46
+ optional :group_by, String, nil?: true
47
47
 
48
48
  # @!attribute limit
49
49
  # Maximum number of rows in the response data (default 20, max 100).
@@ -72,7 +72,7 @@ module Orb
72
72
  #
73
73
  # @param end_date [Date, nil] End date for the usage period (YYYY-MM-DD). Defaults to end of current billing p
74
74
  #
75
- # @param group_by [Array<String>, nil] How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
75
+ # @param group_by [String, nil] How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
76
76
  #
77
77
  # @param limit [Integer] Maximum number of rows in the response data (default 20, max 100).
78
78
  #
@@ -37,8 +37,8 @@ module Orb
37
37
  # How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
38
38
  # 'license,day').
39
39
  #
40
- # @return [Array<String>, nil]
41
- optional :group_by, Orb::Internal::Type::ArrayOf[String], nil?: true
40
+ # @return [String, nil]
41
+ optional :group_by, String, nil?: true
42
42
 
43
43
  # @!attribute limit
44
44
  # Maximum number of rows in the response data (default 20, max 100).
@@ -65,7 +65,7 @@ module Orb
65
65
  #
66
66
  # @param end_date [Date, nil] End date for the usage period (YYYY-MM-DD). Defaults to end of current billing p
67
67
  #
68
- # @param group_by [Array<String>, nil] How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
68
+ # @param group_by [String, nil] How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
69
69
  #
70
70
  # @param limit [Integer] Maximum number of rows in the response data (default 20, max 100).
71
71
  #
@@ -30,8 +30,8 @@ module Orb
30
30
  # How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
31
31
  # 'license,day').
32
32
  #
33
- # @return [Array<String>, nil]
34
- optional :group_by, Orb::Internal::Type::ArrayOf[String], nil?: true
33
+ # @return [String, nil]
34
+ optional :group_by, String, nil?: true
35
35
 
36
36
  # @!attribute limit
37
37
  # Maximum number of rows in the response data (default 20, max 100).
@@ -56,7 +56,7 @@ module Orb
56
56
  #
57
57
  # @param end_date [Date, nil] End date for the usage period (YYYY-MM-DD). Defaults to end of current billing p
58
58
  #
59
- # @param group_by [Array<String>, nil] How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
59
+ # @param group_by [String, nil] How to group the results. Valid values: 'license', 'day'. Can be combined (e.g.,
60
60
  #
61
61
  # @param limit [Integer] Maximum number of rows in the response data (default 20, max 100).
62
62
  #
@@ -30,6 +30,15 @@ module Orb
30
30
  # @return [Boolean, nil]
31
31
  required :auto_collection, Orb::Internal::Type::Boolean, nil?: true
32
32
 
33
+ # @!attribute auto_issuance
34
+ # Determines whether invoices for this subscription will be automatically issued.
35
+ # This resolves the effective setting for the subscription: a subscription-level
36
+ # override if set, otherwise the customer-level setting, otherwise the
37
+ # account-level default.
38
+ #
39
+ # @return [Boolean, nil]
40
+ required :auto_issuance, Orb::Internal::Type::Boolean, nil?: true
41
+
33
42
  # @!attribute billing_cycle_anchor_configuration
34
43
  #
35
44
  # @return [Orb::Models::BillingCycleAnchorConfiguration]
@@ -101,7 +110,7 @@ module Orb
101
110
  # The discount intervals for this subscription sorted by the start_date. This
102
111
  # field is deprecated in favor of `adjustment_intervals`.
103
112
  #
104
- # @return [Array<Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval>]
113
+ # @return [Array<Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage>]
105
114
  required :discount_intervals,
106
115
  -> { Orb::Internal::Type::ArrayOf[union: Orb::MutatedSubscription::DiscountInterval] }
107
116
 
@@ -214,7 +223,7 @@ module Orb
214
223
  # @return [Orb::Models::ChangedSubscriptionResources, nil]
215
224
  optional :changed_resources, -> { Orb::ChangedSubscriptionResources }, nil?: true
216
225
 
217
- # @!method initialize(id:, active_plan_phase_order:, adjustment_intervals:, auto_collection:, billing_cycle_anchor_configuration:, billing_cycle_day:, created_at:, current_billing_period_end_date:, current_billing_period_start_date:, customer:, default_invoice_memo:, discount_intervals:, end_date:, fixed_fee_quantity_schedule:, invoicing_threshold:, maximum_intervals:, metadata:, minimum_intervals:, name:, net_terms:, pending_subscription_change:, plan:, price_intervals:, redeemed_coupon:, start_date:, status:, trial_info:, changed_resources: nil)
226
+ # @!method initialize(id:, active_plan_phase_order:, adjustment_intervals:, auto_collection:, auto_issuance:, billing_cycle_anchor_configuration:, billing_cycle_day:, created_at:, current_billing_period_end_date:, current_billing_period_start_date:, customer:, default_invoice_memo:, discount_intervals:, end_date:, fixed_fee_quantity_schedule:, invoicing_threshold:, maximum_intervals:, metadata:, minimum_intervals:, name:, net_terms:, pending_subscription_change:, plan:, price_intervals:, redeemed_coupon:, start_date:, status:, trial_info:, changed_resources: nil)
218
227
  # Some parameter documentations has been truncated, see
219
228
  # {Orb::Models::MutatedSubscription} for more details.
220
229
  #
@@ -226,6 +235,8 @@ module Orb
226
235
  #
227
236
  # @param auto_collection [Boolean, nil] Determines whether issued invoices for this subscription will automatically be c
228
237
  #
238
+ # @param auto_issuance [Boolean, nil] Determines whether invoices for this subscription will be automatically issued.
239
+ #
229
240
  # @param billing_cycle_anchor_configuration [Orb::Models::BillingCycleAnchorConfiguration]
230
241
  #
231
242
  # @param billing_cycle_day [Integer] The day of the month on which the billing cycle is anchored. If the maximum numb
@@ -240,7 +251,7 @@ module Orb
240
251
  #
241
252
  # @param default_invoice_memo [String, nil] Determines the default memo on this subscriptions' invoices. Note that if this i
242
253
  #
243
- # @param discount_intervals [Array<Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval>] The discount intervals for this subscription sorted by the start_date. This fiel
254
+ # @param discount_intervals [Array<Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage>] The discount intervals for this subscription sorted by the start_date. This fiel
244
255
  #
245
256
  # @param end_date [Time, nil] The date Orb stops billing for this subscription.
246
257
  #
@@ -285,8 +296,162 @@ module Orb
285
296
 
286
297
  variant :usage, -> { Orb::UsageDiscountInterval }
287
298
 
299
+ variant :tiered_percentage, -> { Orb::MutatedSubscription::DiscountInterval::TieredPercentage }
300
+
301
+ class TieredPercentage < Orb::Internal::Type::BaseModel
302
+ # @!attribute applies_to_price_interval_ids
303
+ # The price interval ids that this discount interval applies to.
304
+ #
305
+ # @return [Array<String>]
306
+ required :applies_to_price_interval_ids, Orb::Internal::Type::ArrayOf[String]
307
+
308
+ # @!attribute discount_type
309
+ #
310
+ # @return [Symbol, :tiered_percentage]
311
+ required :discount_type, const: :tiered_percentage
312
+
313
+ # @!attribute end_date
314
+ # The end date of the discount interval.
315
+ #
316
+ # @return [Time, nil]
317
+ required :end_date, Time, nil?: true
318
+
319
+ # @!attribute filters
320
+ # The filters that determine which prices this discount interval applies to.
321
+ #
322
+ # @return [Array<Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter>]
323
+ required :filters,
324
+ -> { Orb::Internal::Type::ArrayOf[Orb::MutatedSubscription::DiscountInterval::TieredPercentage::Filter] }
325
+
326
+ # @!attribute start_date
327
+ # The start date of the discount interval.
328
+ #
329
+ # @return [Time]
330
+ required :start_date, Time
331
+
332
+ # @!attribute tiers
333
+ # Only available if discount_type is `tiered_percentage`. The ordered, contiguous
334
+ # bands of cumulative eligible spend, each discounted at its own percentage.
335
+ #
336
+ # @return [Array<Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Tier>]
337
+ required :tiers,
338
+ -> { Orb::Internal::Type::ArrayOf[Orb::MutatedSubscription::DiscountInterval::TieredPercentage::Tier] }
339
+
340
+ # @!method initialize(applies_to_price_interval_ids:, end_date:, filters:, start_date:, tiers:, discount_type: :tiered_percentage)
341
+ # Some parameter documentations has been truncated, see
342
+ # {Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage} for more
343
+ # details.
344
+ #
345
+ # @param applies_to_price_interval_ids [Array<String>] The price interval ids that this discount interval applies to.
346
+ #
347
+ # @param end_date [Time, nil] The end date of the discount interval.
348
+ #
349
+ # @param filters [Array<Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter>] The filters that determine which prices this discount interval applies to.
350
+ #
351
+ # @param start_date [Time] The start date of the discount interval.
352
+ #
353
+ # @param tiers [Array<Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Tier>] Only available if discount_type is `tiered_percentage`. The ordered, contiguous
354
+ #
355
+ # @param discount_type [Symbol, :tiered_percentage]
356
+
357
+ class Filter < Orb::Internal::Type::BaseModel
358
+ # @!attribute field
359
+ # The property of the price to filter on.
360
+ #
361
+ # @return [Symbol, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter::Field]
362
+ required :field, enum: -> { Orb::MutatedSubscription::DiscountInterval::TieredPercentage::Filter::Field }
363
+
364
+ # @!attribute operator
365
+ # Should prices that match the filter be included or excluded.
366
+ #
367
+ # @return [Symbol, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter::Operator]
368
+ required :operator,
369
+ enum: -> { Orb::MutatedSubscription::DiscountInterval::TieredPercentage::Filter::Operator }
370
+
371
+ # @!attribute values
372
+ # The IDs or values that match this filter.
373
+ #
374
+ # @return [Array<String>]
375
+ required :values, Orb::Internal::Type::ArrayOf[String]
376
+
377
+ # @!method initialize(field:, operator:, values:)
378
+ # @param field [Symbol, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter::Field] The property of the price to filter on.
379
+ #
380
+ # @param operator [Symbol, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter::Operator] Should prices that match the filter be included or excluded.
381
+ #
382
+ # @param values [Array<String>] The IDs or values that match this filter.
383
+
384
+ # The property of the price to filter on.
385
+ #
386
+ # @see Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter#field
387
+ module Field
388
+ extend Orb::Internal::Type::Enum
389
+
390
+ PRICE_ID = :price_id
391
+ ITEM_ID = :item_id
392
+ PRICE_TYPE = :price_type
393
+ CURRENCY = :currency
394
+ PRICING_UNIT_ID = :pricing_unit_id
395
+
396
+ # @!method self.values
397
+ # @return [Array<Symbol>]
398
+ end
399
+
400
+ # Should prices that match the filter be included or excluded.
401
+ #
402
+ # @see Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Filter#operator
403
+ module Operator
404
+ extend Orb::Internal::Type::Enum
405
+
406
+ INCLUDES = :includes
407
+ EXCLUDES = :excludes
408
+
409
+ # @!method self.values
410
+ # @return [Array<Symbol>]
411
+ end
412
+ end
413
+
414
+ class Tier < Orb::Internal::Type::BaseModel
415
+ # @!attribute lower_bound
416
+ # Exclusive lower bound of cumulative spend for this tier.
417
+ #
418
+ # @return [Float]
419
+ required :lower_bound, Float
420
+
421
+ # @!attribute percentage
422
+ # The percentage (between 0 and 1) discounted from spend that falls within this
423
+ # tier.
424
+ #
425
+ # @return [Float]
426
+ required :percentage, Float
427
+
428
+ # @!attribute upper_bound
429
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
430
+ # open-ended tier.
431
+ #
432
+ # @return [Float, nil]
433
+ optional :upper_bound, Float, nil?: true
434
+
435
+ # @!method initialize(lower_bound:, percentage:, upper_bound: nil)
436
+ # Some parameter documentations has been truncated, see
437
+ # {Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage::Tier} for
438
+ # more details.
439
+ #
440
+ # One band of a tiered percentage discount. Bounds are denominated in the
441
+ # discount's currency. `lower_bound` is the exclusive start of the band and
442
+ # `upper_bound` is the inclusive end; `upper_bound` is null only for the
443
+ # open-ended final tier.
444
+ #
445
+ # @param lower_bound [Float] Exclusive lower bound of cumulative spend for this tier.
446
+ #
447
+ # @param percentage [Float] The percentage (between 0 and 1) discounted from spend that falls within this ti
448
+ #
449
+ # @param upper_bound [Float, nil] Inclusive upper bound of cumulative spend for this tier; null for the final open
450
+ end
451
+ end
452
+
288
453
  # @!method self.variants
289
- # @return [Array(Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval)]
454
+ # @return [Array(Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval, Orb::Models::MutatedSubscription::DiscountInterval::TieredPercentage)]
290
455
  end
291
456
 
292
457
  # @see Orb::Models::MutatedSubscription#status
@@ -55,6 +55,14 @@ module Orb
55
55
  # @return [String, nil]
56
56
  optional :license_type_id, String, nil?: true
57
57
 
58
+ # @!attribute metadata
59
+ # User-specified key/value pairs for the resource. Individual keys can be removed
60
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
61
+ # by setting `metadata` to `null`.
62
+ #
63
+ # @return [Hash{Symbol=>String, nil}, nil]
64
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
65
+
58
66
  # @!attribute per_unit_cost_basis
59
67
  # The (per-unit) cost basis of each created block. If non-zero, a customer will be
60
68
  # invoiced according to the quantity and per unit cost basis specified for the
@@ -63,7 +71,7 @@ module Orb
63
71
  # @return [String, nil]
64
72
  optional :per_unit_cost_basis, String
65
73
 
66
- # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil, filters: nil, item_id: nil, license_type_id: nil, per_unit_cost_basis: nil)
74
+ # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil, filters: nil, item_id: nil, license_type_id: nil, metadata: nil, per_unit_cost_basis: nil)
67
75
  # Some parameter documentations has been truncated, see
68
76
  # {Orb::Models::NewAllocationPrice} for more details.
69
77
  #
@@ -83,6 +91,8 @@ module Orb
83
91
  #
84
92
  # @param license_type_id [String, nil] The license type ID to associate the price with license allocation.
85
93
  #
94
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
95
+ #
86
96
  # @param per_unit_cost_basis [String] The (per-unit) cost basis of each created block. If non-zero, a customer will be
87
97
 
88
98
  # The cadence at which to allocate the amount to the customer.
@@ -70,9 +70,7 @@ module Orb
70
70
  # The configuration for the rate of the price currency to the invoicing currency.
71
71
  #
72
72
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
73
- optional :conversion_rate_config,
74
- union: -> { Orb::NewFloatingBulkPrice::ConversionRateConfig },
75
- nil?: true
73
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
76
74
 
77
75
  # @!attribute dimensional_price_configuration
78
76
  # For dimensional price: specifies a price group and dimension values
@@ -71,9 +71,7 @@ module Orb
71
71
  # The configuration for the rate of the price currency to the invoicing currency.
72
72
  #
73
73
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
74
- optional :conversion_rate_config,
75
- union: -> { Orb::NewFloatingBulkWithProrationPrice::ConversionRateConfig },
76
- nil?: true
74
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
77
75
 
78
76
  # @!attribute dimensional_price_configuration
79
77
  # For dimensional price: specifies a price group and dimension values
@@ -71,9 +71,7 @@ module Orb
71
71
  # The configuration for the rate of the price currency to the invoicing currency.
72
72
  #
73
73
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
74
- optional :conversion_rate_config,
75
- union: -> { Orb::NewFloatingCumulativeGroupedBulkPrice::ConversionRateConfig },
76
- nil?: true
74
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
77
75
 
78
76
  # @!attribute dimensional_price_configuration
79
77
  # For dimensional price: specifies a price group and dimension values