orb-billing 1.30.0 → 1.31.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -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 +2 -2
  7. data/lib/orb/models/invoice.rb +2 -2
  8. data/lib/orb/models/invoice_fetch_upcoming_response.rb +2 -2
  9. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  10. data/lib/orb/models/per_price_cost.rb +2 -2
  11. data/lib/orb/models/plan.rb +2 -2
  12. data/lib/orb/models/plan_create_params.rb +278 -3
  13. data/lib/orb/models/plan_version.rb +2 -2
  14. data/lib/orb/models/price.rb +450 -1
  15. data/lib/orb/models/price_create_params.rb +263 -3
  16. data/lib/orb/models/price_evaluate_multiple_params.rb +273 -3
  17. data/lib/orb/models/price_evaluate_preview_events_params.rb +273 -3
  18. data/lib/orb/models/price_interval.rb +2 -2
  19. data/lib/orb/models/subscription_create_params.rb +566 -6
  20. data/lib/orb/models/subscription_price_intervals_params.rb +273 -3
  21. data/lib/orb/models/subscription_schedule_plan_change_params.rb +566 -6
  22. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  23. data/lib/orb/resources/prices.rb +5 -5
  24. data/lib/orb/version.rb +1 -1
  25. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2737 -1811
  26. data/rbi/orb/models/beta_create_plan_version_params.rbi +2745 -1819
  27. data/rbi/orb/models/changed_subscription_resources.rbi +1 -0
  28. data/rbi/orb/models/invoice.rbi +1 -0
  29. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +1 -0
  30. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  31. data/rbi/orb/models/per_price_cost.rbi +1 -0
  32. data/rbi/orb/models/plan.rbi +1 -0
  33. data/rbi/orb/models/plan_create_params.rbi +463 -0
  34. data/rbi/orb/models/plan_version.rbi +1 -0
  35. data/rbi/orb/models/price.rbi +805 -0
  36. data/rbi/orb/models/price_create_params.rbi +451 -0
  37. data/rbi/orb/models/price_evaluate_multiple_params.rbi +451 -0
  38. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +451 -0
  39. data/rbi/orb/models/price_interval.rbi +1 -0
  40. data/rbi/orb/models/subscription_create_params.rbi +2660 -1734
  41. data/rbi/orb/models/subscription_price_intervals_params.rbi +451 -0
  42. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2660 -1734
  43. data/rbi/orb/resources/prices.rbi +1 -0
  44. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +376 -0
  45. data/sig/orb/models/beta_create_plan_version_params.rbs +376 -0
  46. data/sig/orb/models/plan_create_params.rbs +188 -0
  47. data/sig/orb/models/price.rbs +332 -0
  48. data/sig/orb/models/price_create_params.rbs +178 -0
  49. data/sig/orb/models/price_evaluate_multiple_params.rbs +183 -0
  50. data/sig/orb/models/price_evaluate_preview_events_params.rbs +183 -0
  51. data/sig/orb/models/subscription_create_params.rbs +376 -0
  52. data/sig/orb/models/subscription_price_intervals_params.rbs +183 -0
  53. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +376 -0
  54. metadata +1 -1
@@ -385,7 +385,7 @@ module Orb
385
385
  # @!attribute price
386
386
  # New plan price request body params.
387
387
  #
388
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil]
388
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil]
389
389
  optional :price,
390
390
  union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price },
391
391
  nil?: true
@@ -397,7 +397,7 @@ module Orb
397
397
  #
398
398
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
399
399
  #
400
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil] New plan price request body params.
400
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil] New plan price request body params.
401
401
 
402
402
  # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice#license_allocation_price
403
403
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -688,6 +688,9 @@ module Orb
688
688
 
689
689
  variant :matrix_with_allocation, -> { Orb::NewPlanMatrixWithAllocationPrice }
690
690
 
691
+ variant :tiered_matrix_with_allocation,
692
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation }
693
+
691
694
  variant :matrix_with_threshold_discounts,
692
695
  -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts }
693
696
 
@@ -1267,6 +1270,283 @@ module Orb
1267
1270
  end
1268
1271
  end
1269
1272
 
1273
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
1274
+ # @!attribute cadence
1275
+ # The cadence to bill for this price on.
1276
+ #
1277
+ # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence]
1278
+ required :cadence,
1279
+ enum: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence }
1280
+
1281
+ # @!attribute item_id
1282
+ # The id of the item the price will be associated with.
1283
+ #
1284
+ # @return [String]
1285
+ required :item_id, String
1286
+
1287
+ # @!attribute model_type
1288
+ # The pricing model type
1289
+ #
1290
+ # @return [Symbol, :tiered_matrix_with_allocation]
1291
+ required :model_type, const: :tiered_matrix_with_allocation
1292
+
1293
+ # @!attribute name
1294
+ # The name of the price.
1295
+ #
1296
+ # @return [String]
1297
+ required :name, String
1298
+
1299
+ # @!attribute tiered_matrix_with_allocation_config
1300
+ # Configuration for tiered_matrix_with_allocation pricing
1301
+ #
1302
+ # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
1303
+ required :tiered_matrix_with_allocation_config,
1304
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
1305
+
1306
+ # @!attribute billable_metric_id
1307
+ # The id of the billable metric for the price. Only needed if the price is
1308
+ # usage-based.
1309
+ #
1310
+ # @return [String, nil]
1311
+ optional :billable_metric_id, String, nil?: true
1312
+
1313
+ # @!attribute billed_in_advance
1314
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1315
+ # this is true, and in-arrears if this is false.
1316
+ #
1317
+ # @return [Boolean, nil]
1318
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1319
+
1320
+ # @!attribute billing_cycle_configuration
1321
+ # For custom cadence: specifies the duration of the billing period in days or
1322
+ # months.
1323
+ #
1324
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1325
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1326
+
1327
+ # @!attribute conversion_rate
1328
+ # The per unit conversion rate of the price currency to the invoicing currency.
1329
+ #
1330
+ # @return [Float, nil]
1331
+ optional :conversion_rate, Float, nil?: true
1332
+
1333
+ # @!attribute conversion_rate_config
1334
+ # The configuration for the rate of the price currency to the invoicing currency.
1335
+ #
1336
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1337
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1338
+
1339
+ # @!attribute currency
1340
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
1341
+ # price is billed.
1342
+ #
1343
+ # @return [String, nil]
1344
+ optional :currency, String, nil?: true
1345
+
1346
+ # @!attribute dimensional_price_configuration
1347
+ # For dimensional price: specifies a price group and dimension values
1348
+ #
1349
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1350
+ optional :dimensional_price_configuration,
1351
+ -> {
1352
+ Orb::NewDimensionalPriceConfiguration
1353
+ },
1354
+ nil?: true
1355
+
1356
+ # @!attribute external_price_id
1357
+ # An alias for the price.
1358
+ #
1359
+ # @return [String, nil]
1360
+ optional :external_price_id, String, nil?: true
1361
+
1362
+ # @!attribute fixed_price_quantity
1363
+ # If the Price represents a fixed cost, this represents the quantity of units
1364
+ # applied.
1365
+ #
1366
+ # @return [Float, nil]
1367
+ optional :fixed_price_quantity, Float, nil?: true
1368
+
1369
+ # @!attribute invoice_grouping_key
1370
+ # The property used to group this price on an invoice
1371
+ #
1372
+ # @return [String, nil]
1373
+ optional :invoice_grouping_key, String, nil?: true
1374
+
1375
+ # @!attribute invoicing_cycle_configuration
1376
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1377
+ # If unspecified, a single invoice is produced per billing cycle.
1378
+ #
1379
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1380
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1381
+
1382
+ # @!attribute license_type_id
1383
+ # The ID of the license type to associate with this price. On a usage price this
1384
+ # also marks the price as eligible to draw down from that license type's
1385
+ # allocation; a usage price created without it is billed normally. Usage prices
1386
+ # with a license type must use the `unit` model, and only draw down when their
1387
+ # currency matches the allocation's.
1388
+ #
1389
+ # @return [String, nil]
1390
+ optional :license_type_id, String, nil?: true
1391
+
1392
+ # @!attribute metadata
1393
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1394
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1395
+ # by setting `metadata` to `null`.
1396
+ #
1397
+ # @return [Hash{Symbol=>String, nil}, nil]
1398
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1399
+
1400
+ # @!attribute reference_id
1401
+ # A transient ID that can be used to reference this price when adding adjustments
1402
+ # in the same API call.
1403
+ #
1404
+ # @return [String, nil]
1405
+ optional :reference_id, String, nil?: true
1406
+
1407
+ # @!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)
1408
+ # Some parameter documentations has been truncated, see
1409
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation}
1410
+ # for more details.
1411
+ #
1412
+ # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
1413
+ #
1414
+ # @param item_id [String] The id of the item the price will be associated with.
1415
+ #
1416
+ # @param name [String] The name of the price.
1417
+ #
1418
+ # @param tiered_matrix_with_allocation_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
1419
+ #
1420
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1421
+ #
1422
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1423
+ #
1424
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1425
+ #
1426
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1427
+ #
1428
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1429
+ #
1430
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
1431
+ #
1432
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1433
+ #
1434
+ # @param external_price_id [String, nil] An alias for the price.
1435
+ #
1436
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1437
+ #
1438
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1439
+ #
1440
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1441
+ #
1442
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
1443
+ #
1444
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1445
+ #
1446
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1447
+ #
1448
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
1449
+
1450
+ # The cadence to bill for this price on.
1451
+ #
1452
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation#cadence
1453
+ module Cadence
1454
+ extend Orb::Internal::Type::Enum
1455
+
1456
+ ANNUAL = :annual
1457
+ SEMI_ANNUAL = :semi_annual
1458
+ MONTHLY = :monthly
1459
+ QUARTERLY = :quarterly
1460
+ ONE_TIME = :one_time
1461
+ CUSTOM = :custom
1462
+
1463
+ # @!method self.values
1464
+ # @return [Array<Symbol>]
1465
+ end
1466
+
1467
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
1468
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
1469
+ # @!attribute allocation
1470
+ # Usage allocation, pooled across all matrix cells
1471
+ #
1472
+ # @return [String]
1473
+ required :allocation, String
1474
+
1475
+ # @!attribute default_unit_amount
1476
+ # Per unit rate for usage whose matrix cell has no configured tiers
1477
+ #
1478
+ # @return [String]
1479
+ required :default_unit_amount, String
1480
+
1481
+ # @!attribute dimensions
1482
+ # One or two event property values to evaluate matrix cells by
1483
+ #
1484
+ # @return [Array<String>]
1485
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
1486
+
1487
+ # @!attribute tiers
1488
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1489
+ # own rows
1490
+ #
1491
+ # @return [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
1492
+ required :tiers,
1493
+ -> do
1494
+ Orb::Internal::Type::ArrayOf[
1495
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
1496
+ ]
1497
+ end
1498
+
1499
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
1500
+ # Some parameter documentations has been truncated, see
1501
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
1502
+ # for more details.
1503
+ #
1504
+ # Configuration for tiered_matrix_with_allocation pricing
1505
+ #
1506
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
1507
+ #
1508
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
1509
+ #
1510
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
1511
+ #
1512
+ # @param tiers [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1513
+
1514
+ class Tier < Orb::Internal::Type::BaseModel
1515
+ # @!attribute dimension_values
1516
+ # The matrix cell this tier applies to, as one or two dimension values
1517
+ #
1518
+ # @return [Array<String>]
1519
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
1520
+
1521
+ # @!attribute tier_lower_bound
1522
+ # Exclusive tier starting value. The tier runs up to and including the next bound
1523
+ # configured for the same matrix cell.
1524
+ #
1525
+ # @return [String]
1526
+ required :tier_lower_bound, String
1527
+
1528
+ # @!attribute unit_amount
1529
+ # Per unit amount
1530
+ #
1531
+ # @return [String]
1532
+ required :unit_amount, String
1533
+
1534
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
1535
+ # Some parameter documentations has been truncated, see
1536
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
1537
+ # for more details.
1538
+ #
1539
+ # Configuration for a single tier scoped to one matrix cell
1540
+ #
1541
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
1542
+ #
1543
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
1544
+ #
1545
+ # @param unit_amount [String] Per unit amount
1546
+ end
1547
+ end
1548
+ end
1549
+
1270
1550
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
1271
1551
  # @!attribute cadence
1272
1552
  # The cadence to bill for this price on.
@@ -3303,7 +3583,7 @@ module Orb
3303
3583
  end
3304
3584
 
3305
3585
  # @!method self.variants
3306
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput)]
3586
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput)]
3307
3587
  end
3308
3588
  end
3309
3589
 
@@ -3640,7 +3920,7 @@ module Orb
3640
3920
  # @!attribute price
3641
3921
  # New plan price request body params.
3642
3922
  #
3643
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil]
3923
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil]
3644
3924
  optional :price,
3645
3925
  union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price },
3646
3926
  nil?: true
@@ -3654,7 +3934,7 @@ module Orb
3654
3934
  #
3655
3935
  # @param plan_phase_order [Integer, nil] The phase to replace this price from.
3656
3936
  #
3657
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil] New plan price request body params.
3937
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil] New plan price request body params.
3658
3938
 
3659
3939
  # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice#license_allocation_price
3660
3940
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -3945,6 +4225,9 @@ module Orb
3945
4225
 
3946
4226
  variant :matrix_with_allocation, -> { Orb::NewPlanMatrixWithAllocationPrice }
3947
4227
 
4228
+ variant :tiered_matrix_with_allocation,
4229
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation }
4230
+
3948
4231
  variant :matrix_with_threshold_discounts,
3949
4232
  -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts }
3950
4233
 
@@ -4524,6 +4807,283 @@ module Orb
4524
4807
  end
4525
4808
  end
4526
4809
 
4810
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
4811
+ # @!attribute cadence
4812
+ # The cadence to bill for this price on.
4813
+ #
4814
+ # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence]
4815
+ required :cadence,
4816
+ enum: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence }
4817
+
4818
+ # @!attribute item_id
4819
+ # The id of the item the price will be associated with.
4820
+ #
4821
+ # @return [String]
4822
+ required :item_id, String
4823
+
4824
+ # @!attribute model_type
4825
+ # The pricing model type
4826
+ #
4827
+ # @return [Symbol, :tiered_matrix_with_allocation]
4828
+ required :model_type, const: :tiered_matrix_with_allocation
4829
+
4830
+ # @!attribute name
4831
+ # The name of the price.
4832
+ #
4833
+ # @return [String]
4834
+ required :name, String
4835
+
4836
+ # @!attribute tiered_matrix_with_allocation_config
4837
+ # Configuration for tiered_matrix_with_allocation pricing
4838
+ #
4839
+ # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
4840
+ required :tiered_matrix_with_allocation_config,
4841
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
4842
+
4843
+ # @!attribute billable_metric_id
4844
+ # The id of the billable metric for the price. Only needed if the price is
4845
+ # usage-based.
4846
+ #
4847
+ # @return [String, nil]
4848
+ optional :billable_metric_id, String, nil?: true
4849
+
4850
+ # @!attribute billed_in_advance
4851
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4852
+ # this is true, and in-arrears if this is false.
4853
+ #
4854
+ # @return [Boolean, nil]
4855
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
4856
+
4857
+ # @!attribute billing_cycle_configuration
4858
+ # For custom cadence: specifies the duration of the billing period in days or
4859
+ # months.
4860
+ #
4861
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4862
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4863
+
4864
+ # @!attribute conversion_rate
4865
+ # The per unit conversion rate of the price currency to the invoicing currency.
4866
+ #
4867
+ # @return [Float, nil]
4868
+ optional :conversion_rate, Float, nil?: true
4869
+
4870
+ # @!attribute conversion_rate_config
4871
+ # The configuration for the rate of the price currency to the invoicing currency.
4872
+ #
4873
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4874
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
4875
+
4876
+ # @!attribute currency
4877
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4878
+ # price is billed.
4879
+ #
4880
+ # @return [String, nil]
4881
+ optional :currency, String, nil?: true
4882
+
4883
+ # @!attribute dimensional_price_configuration
4884
+ # For dimensional price: specifies a price group and dimension values
4885
+ #
4886
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4887
+ optional :dimensional_price_configuration,
4888
+ -> {
4889
+ Orb::NewDimensionalPriceConfiguration
4890
+ },
4891
+ nil?: true
4892
+
4893
+ # @!attribute external_price_id
4894
+ # An alias for the price.
4895
+ #
4896
+ # @return [String, nil]
4897
+ optional :external_price_id, String, nil?: true
4898
+
4899
+ # @!attribute fixed_price_quantity
4900
+ # If the Price represents a fixed cost, this represents the quantity of units
4901
+ # applied.
4902
+ #
4903
+ # @return [Float, nil]
4904
+ optional :fixed_price_quantity, Float, nil?: true
4905
+
4906
+ # @!attribute invoice_grouping_key
4907
+ # The property used to group this price on an invoice
4908
+ #
4909
+ # @return [String, nil]
4910
+ optional :invoice_grouping_key, String, nil?: true
4911
+
4912
+ # @!attribute invoicing_cycle_configuration
4913
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4914
+ # If unspecified, a single invoice is produced per billing cycle.
4915
+ #
4916
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4917
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4918
+
4919
+ # @!attribute license_type_id
4920
+ # The ID of the license type to associate with this price. On a usage price this
4921
+ # also marks the price as eligible to draw down from that license type's
4922
+ # allocation; a usage price created without it is billed normally. Usage prices
4923
+ # with a license type must use the `unit` model, and only draw down when their
4924
+ # currency matches the allocation's.
4925
+ #
4926
+ # @return [String, nil]
4927
+ optional :license_type_id, String, nil?: true
4928
+
4929
+ # @!attribute metadata
4930
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4931
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4932
+ # by setting `metadata` to `null`.
4933
+ #
4934
+ # @return [Hash{Symbol=>String, nil}, nil]
4935
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
4936
+
4937
+ # @!attribute reference_id
4938
+ # A transient ID that can be used to reference this price when adding adjustments
4939
+ # in the same API call.
4940
+ #
4941
+ # @return [String, nil]
4942
+ optional :reference_id, String, nil?: true
4943
+
4944
+ # @!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)
4945
+ # Some parameter documentations has been truncated, see
4946
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation}
4947
+ # for more details.
4948
+ #
4949
+ # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
4950
+ #
4951
+ # @param item_id [String] The id of the item the price will be associated with.
4952
+ #
4953
+ # @param name [String] The name of the price.
4954
+ #
4955
+ # @param tiered_matrix_with_allocation_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
4956
+ #
4957
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4958
+ #
4959
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4960
+ #
4961
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4962
+ #
4963
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4964
+ #
4965
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4966
+ #
4967
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4968
+ #
4969
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4970
+ #
4971
+ # @param external_price_id [String, nil] An alias for the price.
4972
+ #
4973
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4974
+ #
4975
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4976
+ #
4977
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4978
+ #
4979
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
4980
+ #
4981
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4982
+ #
4983
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4984
+ #
4985
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
4986
+
4987
+ # The cadence to bill for this price on.
4988
+ #
4989
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation#cadence
4990
+ module Cadence
4991
+ extend Orb::Internal::Type::Enum
4992
+
4993
+ ANNUAL = :annual
4994
+ SEMI_ANNUAL = :semi_annual
4995
+ MONTHLY = :monthly
4996
+ QUARTERLY = :quarterly
4997
+ ONE_TIME = :one_time
4998
+ CUSTOM = :custom
4999
+
5000
+ # @!method self.values
5001
+ # @return [Array<Symbol>]
5002
+ end
5003
+
5004
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
5005
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
5006
+ # @!attribute allocation
5007
+ # Usage allocation, pooled across all matrix cells
5008
+ #
5009
+ # @return [String]
5010
+ required :allocation, String
5011
+
5012
+ # @!attribute default_unit_amount
5013
+ # Per unit rate for usage whose matrix cell has no configured tiers
5014
+ #
5015
+ # @return [String]
5016
+ required :default_unit_amount, String
5017
+
5018
+ # @!attribute dimensions
5019
+ # One or two event property values to evaluate matrix cells by
5020
+ #
5021
+ # @return [Array<String>]
5022
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
5023
+
5024
+ # @!attribute tiers
5025
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
5026
+ # own rows
5027
+ #
5028
+ # @return [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
5029
+ required :tiers,
5030
+ -> do
5031
+ Orb::Internal::Type::ArrayOf[
5032
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
5033
+ ]
5034
+ end
5035
+
5036
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
5037
+ # Some parameter documentations has been truncated, see
5038
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
5039
+ # for more details.
5040
+ #
5041
+ # Configuration for tiered_matrix_with_allocation pricing
5042
+ #
5043
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
5044
+ #
5045
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
5046
+ #
5047
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
5048
+ #
5049
+ # @param tiers [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
5050
+
5051
+ class Tier < Orb::Internal::Type::BaseModel
5052
+ # @!attribute dimension_values
5053
+ # The matrix cell this tier applies to, as one or two dimension values
5054
+ #
5055
+ # @return [Array<String>]
5056
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
5057
+
5058
+ # @!attribute tier_lower_bound
5059
+ # Exclusive tier starting value. The tier runs up to and including the next bound
5060
+ # configured for the same matrix cell.
5061
+ #
5062
+ # @return [String]
5063
+ required :tier_lower_bound, String
5064
+
5065
+ # @!attribute unit_amount
5066
+ # Per unit amount
5067
+ #
5068
+ # @return [String]
5069
+ required :unit_amount, String
5070
+
5071
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
5072
+ # Some parameter documentations has been truncated, see
5073
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
5074
+ # for more details.
5075
+ #
5076
+ # Configuration for a single tier scoped to one matrix cell
5077
+ #
5078
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
5079
+ #
5080
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
5081
+ #
5082
+ # @param unit_amount [String] Per unit amount
5083
+ end
5084
+ end
5085
+ end
5086
+
4527
5087
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
4528
5088
  # @!attribute cadence
4529
5089
  # The cadence to bill for this price on.
@@ -6560,7 +7120,7 @@ module Orb
6560
7120
  end
6561
7121
 
6562
7122
  # @!method self.variants
6563
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput)]
7123
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput)]
6564
7124
  end
6565
7125
  end
6566
7126
  end