orb-billing 1.30.0 → 1.32.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +566 -6
  5. data/lib/orb/models/beta_create_plan_version_params.rb +566 -6
  6. data/lib/orb/models/changed_subscription_resources.rb +3 -2
  7. data/lib/orb/models/customers/balance_transaction_create_response.rb +1 -0
  8. data/lib/orb/models/customers/balance_transaction_list_response.rb +1 -0
  9. data/lib/orb/models/invoice.rb +3 -2
  10. data/lib/orb/models/invoice_fetch_upcoming_response.rb +3 -2
  11. data/lib/orb/models/invoice_issue_summary_response.rb +1 -0
  12. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  13. data/lib/orb/models/invoice_list_summary_response.rb +1 -0
  14. data/lib/orb/models/per_price_cost.rb +2 -2
  15. data/lib/orb/models/plan.rb +2 -2
  16. data/lib/orb/models/plan_create_params.rb +278 -3
  17. data/lib/orb/models/plan_version.rb +2 -2
  18. data/lib/orb/models/price.rb +450 -1
  19. data/lib/orb/models/price_create_params.rb +263 -3
  20. data/lib/orb/models/price_evaluate_multiple_params.rb +273 -3
  21. data/lib/orb/models/price_evaluate_preview_events_params.rb +273 -3
  22. data/lib/orb/models/price_interval.rb +2 -2
  23. data/lib/orb/models/subscription_create_params.rb +566 -6
  24. data/lib/orb/models/subscription_price_intervals_params.rb +273 -3
  25. data/lib/orb/models/subscription_schedule_plan_change_params.rb +566 -6
  26. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  27. data/lib/orb/resources/prices.rb +5 -5
  28. data/lib/orb/version.rb +1 -1
  29. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2737 -1811
  30. data/rbi/orb/models/beta_create_plan_version_params.rbi +2745 -1819
  31. data/rbi/orb/models/changed_subscription_resources.rbi +6 -0
  32. data/rbi/orb/models/customers/balance_transaction_create_response.rbi +5 -0
  33. data/rbi/orb/models/customers/balance_transaction_list_response.rbi +5 -0
  34. data/rbi/orb/models/invoice.rbi +6 -0
  35. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +6 -0
  36. data/rbi/orb/models/invoice_issue_summary_response.rbi +5 -0
  37. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  38. data/rbi/orb/models/invoice_list_summary_response.rbi +5 -0
  39. data/rbi/orb/models/per_price_cost.rbi +1 -0
  40. data/rbi/orb/models/plan.rbi +1 -0
  41. data/rbi/orb/models/plan_create_params.rbi +463 -0
  42. data/rbi/orb/models/plan_version.rbi +1 -0
  43. data/rbi/orb/models/price.rbi +805 -0
  44. data/rbi/orb/models/price_create_params.rbi +451 -0
  45. data/rbi/orb/models/price_evaluate_multiple_params.rbi +451 -0
  46. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +451 -0
  47. data/rbi/orb/models/price_interval.rbi +1 -0
  48. data/rbi/orb/models/subscription_create_params.rbi +2660 -1734
  49. data/rbi/orb/models/subscription_price_intervals_params.rbi +451 -0
  50. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2660 -1734
  51. data/rbi/orb/resources/prices.rbi +1 -0
  52. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +376 -0
  53. data/sig/orb/models/beta_create_plan_version_params.rbs +376 -0
  54. data/sig/orb/models/changed_subscription_resources.rbs +2 -0
  55. data/sig/orb/models/customers/balance_transaction_create_response.rbs +2 -0
  56. data/sig/orb/models/customers/balance_transaction_list_response.rbs +2 -0
  57. data/sig/orb/models/invoice.rbs +2 -0
  58. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +2 -0
  59. data/sig/orb/models/invoice_issue_summary_response.rbs +2 -0
  60. data/sig/orb/models/invoice_list_summary_response.rbs +2 -0
  61. data/sig/orb/models/plan_create_params.rbs +188 -0
  62. data/sig/orb/models/price.rbs +332 -0
  63. data/sig/orb/models/price_create_params.rbs +178 -0
  64. data/sig/orb/models/price_evaluate_multiple_params.rbs +183 -0
  65. data/sig/orb/models/price_evaluate_preview_events_params.rbs +183 -0
  66. data/sig/orb/models/subscription_create_params.rbs +376 -0
  67. data/sig/orb/models/subscription_price_intervals_params.rbs +183 -0
  68. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +376 -0
  69. metadata +1 -1
@@ -639,7 +639,7 @@ module Orb
639
639
  # @!attribute price
640
640
  # New subscription price request body params.
641
641
  #
642
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil]
642
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil]
643
643
  optional :price, union: -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price }, nil?: true
644
644
 
645
645
  # @!attribute price_id
@@ -676,7 +676,7 @@ module Orb
676
676
  #
677
677
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
678
678
  #
679
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
679
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
680
680
  #
681
681
  # @param price_id [String, nil] The id of the price to add to the subscription.
682
682
  #
@@ -722,6 +722,9 @@ module Orb
722
722
 
723
723
  variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
724
724
 
725
+ variant :tiered_matrix_with_allocation,
726
+ -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation }
727
+
725
728
  variant :matrix_with_threshold_discounts,
726
729
  -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts }
727
730
 
@@ -1293,6 +1296,283 @@ module Orb
1293
1296
  end
1294
1297
  end
1295
1298
 
1299
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
1300
+ # @!attribute cadence
1301
+ # The cadence to bill for this price on.
1302
+ #
1303
+ # @return [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence]
1304
+ required :cadence,
1305
+ enum: -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence }
1306
+
1307
+ # @!attribute item_id
1308
+ # The id of the item the price will be associated with.
1309
+ #
1310
+ # @return [String]
1311
+ required :item_id, String
1312
+
1313
+ # @!attribute model_type
1314
+ # The pricing model type
1315
+ #
1316
+ # @return [Symbol, :tiered_matrix_with_allocation]
1317
+ required :model_type, const: :tiered_matrix_with_allocation
1318
+
1319
+ # @!attribute name
1320
+ # The name of the price.
1321
+ #
1322
+ # @return [String]
1323
+ required :name, String
1324
+
1325
+ # @!attribute tiered_matrix_with_allocation_config
1326
+ # Configuration for tiered_matrix_with_allocation pricing
1327
+ #
1328
+ # @return [Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
1329
+ required :tiered_matrix_with_allocation_config,
1330
+ -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
1331
+
1332
+ # @!attribute billable_metric_id
1333
+ # The id of the billable metric for the price. Only needed if the price is
1334
+ # usage-based.
1335
+ #
1336
+ # @return [String, nil]
1337
+ optional :billable_metric_id, String, nil?: true
1338
+
1339
+ # @!attribute billed_in_advance
1340
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1341
+ # this is true, and in-arrears if this is false.
1342
+ #
1343
+ # @return [Boolean, nil]
1344
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1345
+
1346
+ # @!attribute billing_cycle_configuration
1347
+ # For custom cadence: specifies the duration of the billing period in days or
1348
+ # months.
1349
+ #
1350
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1351
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1352
+
1353
+ # @!attribute conversion_rate
1354
+ # The per unit conversion rate of the price currency to the invoicing currency.
1355
+ #
1356
+ # @return [Float, nil]
1357
+ optional :conversion_rate, Float, nil?: true
1358
+
1359
+ # @!attribute conversion_rate_config
1360
+ # The configuration for the rate of the price currency to the invoicing currency.
1361
+ #
1362
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1363
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1364
+
1365
+ # @!attribute currency
1366
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
1367
+ # price is billed.
1368
+ #
1369
+ # @return [String, nil]
1370
+ optional :currency, String, nil?: true
1371
+
1372
+ # @!attribute dimensional_price_configuration
1373
+ # For dimensional price: specifies a price group and dimension values
1374
+ #
1375
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1376
+ optional :dimensional_price_configuration,
1377
+ -> {
1378
+ Orb::NewDimensionalPriceConfiguration
1379
+ },
1380
+ nil?: true
1381
+
1382
+ # @!attribute external_price_id
1383
+ # An alias for the price.
1384
+ #
1385
+ # @return [String, nil]
1386
+ optional :external_price_id, String, nil?: true
1387
+
1388
+ # @!attribute fixed_price_quantity
1389
+ # If the Price represents a fixed cost, this represents the quantity of units
1390
+ # applied.
1391
+ #
1392
+ # @return [Float, nil]
1393
+ optional :fixed_price_quantity, Float, nil?: true
1394
+
1395
+ # @!attribute invoice_grouping_key
1396
+ # The property used to group this price on an invoice
1397
+ #
1398
+ # @return [String, nil]
1399
+ optional :invoice_grouping_key, String, nil?: true
1400
+
1401
+ # @!attribute invoicing_cycle_configuration
1402
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1403
+ # If unspecified, a single invoice is produced per billing cycle.
1404
+ #
1405
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1406
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1407
+
1408
+ # @!attribute license_type_id
1409
+ # The ID of the license type to associate with this price. On a usage price this
1410
+ # also marks the price as eligible to draw down from that license type's
1411
+ # allocation; a usage price created without it is billed normally. Usage prices
1412
+ # with a license type must use the `unit` model, and only draw down when their
1413
+ # currency matches the allocation's.
1414
+ #
1415
+ # @return [String, nil]
1416
+ optional :license_type_id, String, nil?: true
1417
+
1418
+ # @!attribute metadata
1419
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1420
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1421
+ # by setting `metadata` to `null`.
1422
+ #
1423
+ # @return [Hash{Symbol=>String, nil}, nil]
1424
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1425
+
1426
+ # @!attribute reference_id
1427
+ # A transient ID that can be used to reference this price when adding adjustments
1428
+ # in the same API call.
1429
+ #
1430
+ # @return [String, nil]
1431
+ optional :reference_id, String, nil?: true
1432
+
1433
+ # @!method initialize(cadence:, item_id:, name:, tiered_matrix_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :tiered_matrix_with_allocation)
1434
+ # Some parameter documentations has been truncated, see
1435
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation}
1436
+ # for more details.
1437
+ #
1438
+ # @param cadence [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
1439
+ #
1440
+ # @param item_id [String] The id of the item the price will be associated with.
1441
+ #
1442
+ # @param name [String] The name of the price.
1443
+ #
1444
+ # @param tiered_matrix_with_allocation_config [Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
1445
+ #
1446
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1447
+ #
1448
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1449
+ #
1450
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1451
+ #
1452
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1453
+ #
1454
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1455
+ #
1456
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
1457
+ #
1458
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1459
+ #
1460
+ # @param external_price_id [String, nil] An alias for the price.
1461
+ #
1462
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1463
+ #
1464
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1465
+ #
1466
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1467
+ #
1468
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
1469
+ #
1470
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1471
+ #
1472
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1473
+ #
1474
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
1475
+
1476
+ # The cadence to bill for this price on.
1477
+ #
1478
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation#cadence
1479
+ module Cadence
1480
+ extend Orb::Internal::Type::Enum
1481
+
1482
+ ANNUAL = :annual
1483
+ SEMI_ANNUAL = :semi_annual
1484
+ MONTHLY = :monthly
1485
+ QUARTERLY = :quarterly
1486
+ ONE_TIME = :one_time
1487
+ CUSTOM = :custom
1488
+
1489
+ # @!method self.values
1490
+ # @return [Array<Symbol>]
1491
+ end
1492
+
1493
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
1494
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
1495
+ # @!attribute allocation
1496
+ # Usage allocation, pooled across all matrix cells
1497
+ #
1498
+ # @return [String]
1499
+ required :allocation, String
1500
+
1501
+ # @!attribute default_unit_amount
1502
+ # Per unit rate for usage whose matrix cell has no configured tiers
1503
+ #
1504
+ # @return [String]
1505
+ required :default_unit_amount, String
1506
+
1507
+ # @!attribute dimensions
1508
+ # One or two event property values to evaluate matrix cells by
1509
+ #
1510
+ # @return [Array<String>]
1511
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
1512
+
1513
+ # @!attribute tiers
1514
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1515
+ # own rows
1516
+ #
1517
+ # @return [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
1518
+ required :tiers,
1519
+ -> do
1520
+ Orb::Internal::Type::ArrayOf[
1521
+ Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
1522
+ ]
1523
+ end
1524
+
1525
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
1526
+ # Some parameter documentations has been truncated, see
1527
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
1528
+ # for more details.
1529
+ #
1530
+ # Configuration for tiered_matrix_with_allocation pricing
1531
+ #
1532
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
1533
+ #
1534
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
1535
+ #
1536
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
1537
+ #
1538
+ # @param tiers [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1539
+
1540
+ class Tier < Orb::Internal::Type::BaseModel
1541
+ # @!attribute dimension_values
1542
+ # The matrix cell this tier applies to, as one or two dimension values
1543
+ #
1544
+ # @return [Array<String>]
1545
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
1546
+
1547
+ # @!attribute tier_lower_bound
1548
+ # Exclusive tier starting value. The tier runs up to and including the next bound
1549
+ # configured for the same matrix cell.
1550
+ #
1551
+ # @return [String]
1552
+ required :tier_lower_bound, String
1553
+
1554
+ # @!attribute unit_amount
1555
+ # Per unit amount
1556
+ #
1557
+ # @return [String]
1558
+ required :unit_amount, String
1559
+
1560
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
1561
+ # Some parameter documentations has been truncated, see
1562
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
1563
+ # for more details.
1564
+ #
1565
+ # Configuration for a single tier scoped to one matrix cell
1566
+ #
1567
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
1568
+ #
1569
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
1570
+ #
1571
+ # @param unit_amount [String] Per unit amount
1572
+ end
1573
+ end
1574
+ end
1575
+
1296
1576
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
1297
1577
  # @!attribute cadence
1298
1578
  # The cadence to bill for this price on.
@@ -3329,7 +3609,7 @@ module Orb
3329
3609
  end
3330
3610
 
3331
3611
  # @!method self.variants
3332
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput)]
3612
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput)]
3333
3613
  end
3334
3614
  end
3335
3615
 
@@ -3690,7 +3970,7 @@ module Orb
3690
3970
  # @!attribute price
3691
3971
  # New subscription price request body params.
3692
3972
  #
3693
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil]
3973
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil]
3694
3974
  optional :price,
3695
3975
  union: -> {
3696
3976
  Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price
@@ -3724,7 +4004,7 @@ module Orb
3724
4004
  #
3725
4005
  # @param minimum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
3726
4006
  #
3727
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
4007
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
3728
4008
  #
3729
4009
  # @param price_id [String, nil] The id of the price to add to the subscription.
3730
4010
 
@@ -3768,6 +4048,9 @@ module Orb
3768
4048
 
3769
4049
  variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
3770
4050
 
4051
+ variant :tiered_matrix_with_allocation,
4052
+ -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation }
4053
+
3771
4054
  variant :matrix_with_threshold_discounts,
3772
4055
  -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts }
3773
4056
 
@@ -4347,6 +4630,283 @@ module Orb
4347
4630
  end
4348
4631
  end
4349
4632
 
4633
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
4634
+ # @!attribute cadence
4635
+ # The cadence to bill for this price on.
4636
+ #
4637
+ # @return [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence]
4638
+ required :cadence,
4639
+ enum: -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence }
4640
+
4641
+ # @!attribute item_id
4642
+ # The id of the item the price will be associated with.
4643
+ #
4644
+ # @return [String]
4645
+ required :item_id, String
4646
+
4647
+ # @!attribute model_type
4648
+ # The pricing model type
4649
+ #
4650
+ # @return [Symbol, :tiered_matrix_with_allocation]
4651
+ required :model_type, const: :tiered_matrix_with_allocation
4652
+
4653
+ # @!attribute name
4654
+ # The name of the price.
4655
+ #
4656
+ # @return [String]
4657
+ required :name, String
4658
+
4659
+ # @!attribute tiered_matrix_with_allocation_config
4660
+ # Configuration for tiered_matrix_with_allocation pricing
4661
+ #
4662
+ # @return [Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
4663
+ required :tiered_matrix_with_allocation_config,
4664
+ -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
4665
+
4666
+ # @!attribute billable_metric_id
4667
+ # The id of the billable metric for the price. Only needed if the price is
4668
+ # usage-based.
4669
+ #
4670
+ # @return [String, nil]
4671
+ optional :billable_metric_id, String, nil?: true
4672
+
4673
+ # @!attribute billed_in_advance
4674
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4675
+ # this is true, and in-arrears if this is false.
4676
+ #
4677
+ # @return [Boolean, nil]
4678
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
4679
+
4680
+ # @!attribute billing_cycle_configuration
4681
+ # For custom cadence: specifies the duration of the billing period in days or
4682
+ # months.
4683
+ #
4684
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4685
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4686
+
4687
+ # @!attribute conversion_rate
4688
+ # The per unit conversion rate of the price currency to the invoicing currency.
4689
+ #
4690
+ # @return [Float, nil]
4691
+ optional :conversion_rate, Float, nil?: true
4692
+
4693
+ # @!attribute conversion_rate_config
4694
+ # The configuration for the rate of the price currency to the invoicing currency.
4695
+ #
4696
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4697
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
4698
+
4699
+ # @!attribute currency
4700
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4701
+ # price is billed.
4702
+ #
4703
+ # @return [String, nil]
4704
+ optional :currency, String, nil?: true
4705
+
4706
+ # @!attribute dimensional_price_configuration
4707
+ # For dimensional price: specifies a price group and dimension values
4708
+ #
4709
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4710
+ optional :dimensional_price_configuration,
4711
+ -> {
4712
+ Orb::NewDimensionalPriceConfiguration
4713
+ },
4714
+ nil?: true
4715
+
4716
+ # @!attribute external_price_id
4717
+ # An alias for the price.
4718
+ #
4719
+ # @return [String, nil]
4720
+ optional :external_price_id, String, nil?: true
4721
+
4722
+ # @!attribute fixed_price_quantity
4723
+ # If the Price represents a fixed cost, this represents the quantity of units
4724
+ # applied.
4725
+ #
4726
+ # @return [Float, nil]
4727
+ optional :fixed_price_quantity, Float, nil?: true
4728
+
4729
+ # @!attribute invoice_grouping_key
4730
+ # The property used to group this price on an invoice
4731
+ #
4732
+ # @return [String, nil]
4733
+ optional :invoice_grouping_key, String, nil?: true
4734
+
4735
+ # @!attribute invoicing_cycle_configuration
4736
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4737
+ # If unspecified, a single invoice is produced per billing cycle.
4738
+ #
4739
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4740
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4741
+
4742
+ # @!attribute license_type_id
4743
+ # The ID of the license type to associate with this price. On a usage price this
4744
+ # also marks the price as eligible to draw down from that license type's
4745
+ # allocation; a usage price created without it is billed normally. Usage prices
4746
+ # with a license type must use the `unit` model, and only draw down when their
4747
+ # currency matches the allocation's.
4748
+ #
4749
+ # @return [String, nil]
4750
+ optional :license_type_id, String, nil?: true
4751
+
4752
+ # @!attribute metadata
4753
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4754
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4755
+ # by setting `metadata` to `null`.
4756
+ #
4757
+ # @return [Hash{Symbol=>String, nil}, nil]
4758
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
4759
+
4760
+ # @!attribute reference_id
4761
+ # A transient ID that can be used to reference this price when adding adjustments
4762
+ # in the same API call.
4763
+ #
4764
+ # @return [String, nil]
4765
+ optional :reference_id, String, nil?: true
4766
+
4767
+ # @!method initialize(cadence:, item_id:, name:, tiered_matrix_with_allocation_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :tiered_matrix_with_allocation)
4768
+ # Some parameter documentations has been truncated, see
4769
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation}
4770
+ # for more details.
4771
+ #
4772
+ # @param cadence [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
4773
+ #
4774
+ # @param item_id [String] The id of the item the price will be associated with.
4775
+ #
4776
+ # @param name [String] The name of the price.
4777
+ #
4778
+ # @param tiered_matrix_with_allocation_config [Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
4779
+ #
4780
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4781
+ #
4782
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4783
+ #
4784
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4785
+ #
4786
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4787
+ #
4788
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4789
+ #
4790
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4791
+ #
4792
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4793
+ #
4794
+ # @param external_price_id [String, nil] An alias for the price.
4795
+ #
4796
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4797
+ #
4798
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4799
+ #
4800
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4801
+ #
4802
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
4803
+ #
4804
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4805
+ #
4806
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4807
+ #
4808
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
4809
+
4810
+ # The cadence to bill for this price on.
4811
+ #
4812
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation#cadence
4813
+ module Cadence
4814
+ extend Orb::Internal::Type::Enum
4815
+
4816
+ ANNUAL = :annual
4817
+ SEMI_ANNUAL = :semi_annual
4818
+ MONTHLY = :monthly
4819
+ QUARTERLY = :quarterly
4820
+ ONE_TIME = :one_time
4821
+ CUSTOM = :custom
4822
+
4823
+ # @!method self.values
4824
+ # @return [Array<Symbol>]
4825
+ end
4826
+
4827
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
4828
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
4829
+ # @!attribute allocation
4830
+ # Usage allocation, pooled across all matrix cells
4831
+ #
4832
+ # @return [String]
4833
+ required :allocation, String
4834
+
4835
+ # @!attribute default_unit_amount
4836
+ # Per unit rate for usage whose matrix cell has no configured tiers
4837
+ #
4838
+ # @return [String]
4839
+ required :default_unit_amount, String
4840
+
4841
+ # @!attribute dimensions
4842
+ # One or two event property values to evaluate matrix cells by
4843
+ #
4844
+ # @return [Array<String>]
4845
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
4846
+
4847
+ # @!attribute tiers
4848
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
4849
+ # own rows
4850
+ #
4851
+ # @return [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
4852
+ required :tiers,
4853
+ -> do
4854
+ Orb::Internal::Type::ArrayOf[
4855
+ Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
4856
+ ]
4857
+ end
4858
+
4859
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
4860
+ # Some parameter documentations has been truncated, see
4861
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
4862
+ # for more details.
4863
+ #
4864
+ # Configuration for tiered_matrix_with_allocation pricing
4865
+ #
4866
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
4867
+ #
4868
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
4869
+ #
4870
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
4871
+ #
4872
+ # @param tiers [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
4873
+
4874
+ class Tier < Orb::Internal::Type::BaseModel
4875
+ # @!attribute dimension_values
4876
+ # The matrix cell this tier applies to, as one or two dimension values
4877
+ #
4878
+ # @return [Array<String>]
4879
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
4880
+
4881
+ # @!attribute tier_lower_bound
4882
+ # Exclusive tier starting value. The tier runs up to and including the next bound
4883
+ # configured for the same matrix cell.
4884
+ #
4885
+ # @return [String]
4886
+ required :tier_lower_bound, String
4887
+
4888
+ # @!attribute unit_amount
4889
+ # Per unit amount
4890
+ #
4891
+ # @return [String]
4892
+ required :unit_amount, String
4893
+
4894
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
4895
+ # Some parameter documentations has been truncated, see
4896
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
4897
+ # for more details.
4898
+ #
4899
+ # Configuration for a single tier scoped to one matrix cell
4900
+ #
4901
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
4902
+ #
4903
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
4904
+ #
4905
+ # @param unit_amount [String] Per unit amount
4906
+ end
4907
+ end
4908
+ end
4909
+
4350
4910
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
4351
4911
  # @!attribute cadence
4352
4912
  # The cadence to bill for this price on.
@@ -6383,7 +6943,7 @@ module Orb
6383
6943
  end
6384
6944
 
6385
6945
  # @!method self.variants
6386
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput)]
6946
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput)]
6387
6947
  end
6388
6948
  end
6389
6949
  end