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
@@ -667,7 +667,7 @@ module Orb
667
667
  # @!attribute price
668
668
  # New subscription price request body params.
669
669
  #
670
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil]
670
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil]
671
671
  optional :price, union: -> { Orb::SubscriptionCreateParams::AddPrice::Price }, nil?: true
672
672
 
673
673
  # @!attribute price_id
@@ -704,7 +704,7 @@ module Orb
704
704
  #
705
705
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
706
706
  #
707
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
707
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
708
708
  #
709
709
  # @param price_id [String, nil] The id of the price to add to the subscription.
710
710
  #
@@ -748,6 +748,9 @@ module Orb
748
748
 
749
749
  variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
750
750
 
751
+ variant :tiered_matrix_with_allocation,
752
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation }
753
+
751
754
  variant :matrix_with_threshold_discounts,
752
755
  -> { Orb::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts }
753
756
 
@@ -1312,6 +1315,283 @@ module Orb
1312
1315
  end
1313
1316
  end
1314
1317
 
1318
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
1319
+ # @!attribute cadence
1320
+ # The cadence to bill for this price on.
1321
+ #
1322
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence]
1323
+ required :cadence,
1324
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence }
1325
+
1326
+ # @!attribute item_id
1327
+ # The id of the item the price will be associated with.
1328
+ #
1329
+ # @return [String]
1330
+ required :item_id, String
1331
+
1332
+ # @!attribute model_type
1333
+ # The pricing model type
1334
+ #
1335
+ # @return [Symbol, :tiered_matrix_with_allocation]
1336
+ required :model_type, const: :tiered_matrix_with_allocation
1337
+
1338
+ # @!attribute name
1339
+ # The name of the price.
1340
+ #
1341
+ # @return [String]
1342
+ required :name, String
1343
+
1344
+ # @!attribute tiered_matrix_with_allocation_config
1345
+ # Configuration for tiered_matrix_with_allocation pricing
1346
+ #
1347
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
1348
+ required :tiered_matrix_with_allocation_config,
1349
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
1350
+
1351
+ # @!attribute billable_metric_id
1352
+ # The id of the billable metric for the price. Only needed if the price is
1353
+ # usage-based.
1354
+ #
1355
+ # @return [String, nil]
1356
+ optional :billable_metric_id, String, nil?: true
1357
+
1358
+ # @!attribute billed_in_advance
1359
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1360
+ # this is true, and in-arrears if this is false.
1361
+ #
1362
+ # @return [Boolean, nil]
1363
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1364
+
1365
+ # @!attribute billing_cycle_configuration
1366
+ # For custom cadence: specifies the duration of the billing period in days or
1367
+ # months.
1368
+ #
1369
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1370
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1371
+
1372
+ # @!attribute conversion_rate
1373
+ # The per unit conversion rate of the price currency to the invoicing currency.
1374
+ #
1375
+ # @return [Float, nil]
1376
+ optional :conversion_rate, Float, nil?: true
1377
+
1378
+ # @!attribute conversion_rate_config
1379
+ # The configuration for the rate of the price currency to the invoicing currency.
1380
+ #
1381
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1382
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1383
+
1384
+ # @!attribute currency
1385
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
1386
+ # price is billed.
1387
+ #
1388
+ # @return [String, nil]
1389
+ optional :currency, String, nil?: true
1390
+
1391
+ # @!attribute dimensional_price_configuration
1392
+ # For dimensional price: specifies a price group and dimension values
1393
+ #
1394
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1395
+ optional :dimensional_price_configuration,
1396
+ -> {
1397
+ Orb::NewDimensionalPriceConfiguration
1398
+ },
1399
+ nil?: true
1400
+
1401
+ # @!attribute external_price_id
1402
+ # An alias for the price.
1403
+ #
1404
+ # @return [String, nil]
1405
+ optional :external_price_id, String, nil?: true
1406
+
1407
+ # @!attribute fixed_price_quantity
1408
+ # If the Price represents a fixed cost, this represents the quantity of units
1409
+ # applied.
1410
+ #
1411
+ # @return [Float, nil]
1412
+ optional :fixed_price_quantity, Float, nil?: true
1413
+
1414
+ # @!attribute invoice_grouping_key
1415
+ # The property used to group this price on an invoice
1416
+ #
1417
+ # @return [String, nil]
1418
+ optional :invoice_grouping_key, String, nil?: true
1419
+
1420
+ # @!attribute invoicing_cycle_configuration
1421
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1422
+ # If unspecified, a single invoice is produced per billing cycle.
1423
+ #
1424
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1425
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1426
+
1427
+ # @!attribute license_type_id
1428
+ # The ID of the license type to associate with this price. On a usage price this
1429
+ # also marks the price as eligible to draw down from that license type's
1430
+ # allocation; a usage price created without it is billed normally. Usage prices
1431
+ # with a license type must use the `unit` model, and only draw down when their
1432
+ # currency matches the allocation's.
1433
+ #
1434
+ # @return [String, nil]
1435
+ optional :license_type_id, String, nil?: true
1436
+
1437
+ # @!attribute metadata
1438
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1439
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1440
+ # by setting `metadata` to `null`.
1441
+ #
1442
+ # @return [Hash{Symbol=>String, nil}, nil]
1443
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1444
+
1445
+ # @!attribute reference_id
1446
+ # A transient ID that can be used to reference this price when adding adjustments
1447
+ # in the same API call.
1448
+ #
1449
+ # @return [String, nil]
1450
+ optional :reference_id, String, nil?: true
1451
+
1452
+ # @!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)
1453
+ # Some parameter documentations has been truncated, see
1454
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation}
1455
+ # for more details.
1456
+ #
1457
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
1458
+ #
1459
+ # @param item_id [String] The id of the item the price will be associated with.
1460
+ #
1461
+ # @param name [String] The name of the price.
1462
+ #
1463
+ # @param tiered_matrix_with_allocation_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
1464
+ #
1465
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1466
+ #
1467
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1468
+ #
1469
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1470
+ #
1471
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1472
+ #
1473
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1474
+ #
1475
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
1476
+ #
1477
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1478
+ #
1479
+ # @param external_price_id [String, nil] An alias for the price.
1480
+ #
1481
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1482
+ #
1483
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1484
+ #
1485
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1486
+ #
1487
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
1488
+ #
1489
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1490
+ #
1491
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1492
+ #
1493
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
1494
+
1495
+ # The cadence to bill for this price on.
1496
+ #
1497
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation#cadence
1498
+ module Cadence
1499
+ extend Orb::Internal::Type::Enum
1500
+
1501
+ ANNUAL = :annual
1502
+ SEMI_ANNUAL = :semi_annual
1503
+ MONTHLY = :monthly
1504
+ QUARTERLY = :quarterly
1505
+ ONE_TIME = :one_time
1506
+ CUSTOM = :custom
1507
+
1508
+ # @!method self.values
1509
+ # @return [Array<Symbol>]
1510
+ end
1511
+
1512
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
1513
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
1514
+ # @!attribute allocation
1515
+ # Usage allocation, pooled across all matrix cells
1516
+ #
1517
+ # @return [String]
1518
+ required :allocation, String
1519
+
1520
+ # @!attribute default_unit_amount
1521
+ # Per unit rate for usage whose matrix cell has no configured tiers
1522
+ #
1523
+ # @return [String]
1524
+ required :default_unit_amount, String
1525
+
1526
+ # @!attribute dimensions
1527
+ # One or two event property values to evaluate matrix cells by
1528
+ #
1529
+ # @return [Array<String>]
1530
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
1531
+
1532
+ # @!attribute tiers
1533
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1534
+ # own rows
1535
+ #
1536
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
1537
+ required :tiers,
1538
+ -> do
1539
+ Orb::Internal::Type::ArrayOf[
1540
+ Orb::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
1541
+ ]
1542
+ end
1543
+
1544
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
1545
+ # Some parameter documentations has been truncated, see
1546
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
1547
+ # for more details.
1548
+ #
1549
+ # Configuration for tiered_matrix_with_allocation pricing
1550
+ #
1551
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
1552
+ #
1553
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
1554
+ #
1555
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
1556
+ #
1557
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1558
+
1559
+ class Tier < Orb::Internal::Type::BaseModel
1560
+ # @!attribute dimension_values
1561
+ # The matrix cell this tier applies to, as one or two dimension values
1562
+ #
1563
+ # @return [Array<String>]
1564
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
1565
+
1566
+ # @!attribute tier_lower_bound
1567
+ # Exclusive tier starting value. The tier runs up to and including the next bound
1568
+ # configured for the same matrix cell.
1569
+ #
1570
+ # @return [String]
1571
+ required :tier_lower_bound, String
1572
+
1573
+ # @!attribute unit_amount
1574
+ # Per unit amount
1575
+ #
1576
+ # @return [String]
1577
+ required :unit_amount, String
1578
+
1579
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
1580
+ # Some parameter documentations has been truncated, see
1581
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
1582
+ # for more details.
1583
+ #
1584
+ # Configuration for a single tier scoped to one matrix cell
1585
+ #
1586
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
1587
+ #
1588
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
1589
+ #
1590
+ # @param unit_amount [String] Per unit amount
1591
+ end
1592
+ end
1593
+ end
1594
+
1315
1595
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
1316
1596
  # @!attribute cadence
1317
1597
  # The cadence to bill for this price on.
@@ -3340,7 +3620,7 @@ module Orb
3340
3620
  end
3341
3621
 
3342
3622
  # @!method self.variants
3343
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput)]
3623
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput)]
3344
3624
  end
3345
3625
  end
3346
3626
 
@@ -3698,7 +3978,7 @@ module Orb
3698
3978
  # @!attribute price
3699
3979
  # New subscription price request body params.
3700
3980
  #
3701
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil]
3981
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil]
3702
3982
  optional :price, union: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price }, nil?: true
3703
3983
 
3704
3984
  # @!attribute price_id
@@ -3727,7 +4007,7 @@ module Orb
3727
4007
  #
3728
4008
  # @param minimum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
3729
4009
  #
3730
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
4010
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
3731
4011
  #
3732
4012
  # @param price_id [String, nil] The id of the price to add to the subscription.
3733
4013
 
@@ -3770,6 +4050,9 @@ module Orb
3770
4050
 
3771
4051
  variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
3772
4052
 
4053
+ variant :tiered_matrix_with_allocation,
4054
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation }
4055
+
3773
4056
  variant :matrix_with_threshold_discounts,
3774
4057
  -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts }
3775
4058
 
@@ -4336,6 +4619,283 @@ module Orb
4336
4619
  end
4337
4620
  end
4338
4621
 
4622
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
4623
+ # @!attribute cadence
4624
+ # The cadence to bill for this price on.
4625
+ #
4626
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence]
4627
+ required :cadence,
4628
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence }
4629
+
4630
+ # @!attribute item_id
4631
+ # The id of the item the price will be associated with.
4632
+ #
4633
+ # @return [String]
4634
+ required :item_id, String
4635
+
4636
+ # @!attribute model_type
4637
+ # The pricing model type
4638
+ #
4639
+ # @return [Symbol, :tiered_matrix_with_allocation]
4640
+ required :model_type, const: :tiered_matrix_with_allocation
4641
+
4642
+ # @!attribute name
4643
+ # The name of the price.
4644
+ #
4645
+ # @return [String]
4646
+ required :name, String
4647
+
4648
+ # @!attribute tiered_matrix_with_allocation_config
4649
+ # Configuration for tiered_matrix_with_allocation pricing
4650
+ #
4651
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
4652
+ required :tiered_matrix_with_allocation_config,
4653
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
4654
+
4655
+ # @!attribute billable_metric_id
4656
+ # The id of the billable metric for the price. Only needed if the price is
4657
+ # usage-based.
4658
+ #
4659
+ # @return [String, nil]
4660
+ optional :billable_metric_id, String, nil?: true
4661
+
4662
+ # @!attribute billed_in_advance
4663
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4664
+ # this is true, and in-arrears if this is false.
4665
+ #
4666
+ # @return [Boolean, nil]
4667
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
4668
+
4669
+ # @!attribute billing_cycle_configuration
4670
+ # For custom cadence: specifies the duration of the billing period in days or
4671
+ # months.
4672
+ #
4673
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4674
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4675
+
4676
+ # @!attribute conversion_rate
4677
+ # The per unit conversion rate of the price currency to the invoicing currency.
4678
+ #
4679
+ # @return [Float, nil]
4680
+ optional :conversion_rate, Float, nil?: true
4681
+
4682
+ # @!attribute conversion_rate_config
4683
+ # The configuration for the rate of the price currency to the invoicing currency.
4684
+ #
4685
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4686
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
4687
+
4688
+ # @!attribute currency
4689
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4690
+ # price is billed.
4691
+ #
4692
+ # @return [String, nil]
4693
+ optional :currency, String, nil?: true
4694
+
4695
+ # @!attribute dimensional_price_configuration
4696
+ # For dimensional price: specifies a price group and dimension values
4697
+ #
4698
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4699
+ optional :dimensional_price_configuration,
4700
+ -> {
4701
+ Orb::NewDimensionalPriceConfiguration
4702
+ },
4703
+ nil?: true
4704
+
4705
+ # @!attribute external_price_id
4706
+ # An alias for the price.
4707
+ #
4708
+ # @return [String, nil]
4709
+ optional :external_price_id, String, nil?: true
4710
+
4711
+ # @!attribute fixed_price_quantity
4712
+ # If the Price represents a fixed cost, this represents the quantity of units
4713
+ # applied.
4714
+ #
4715
+ # @return [Float, nil]
4716
+ optional :fixed_price_quantity, Float, nil?: true
4717
+
4718
+ # @!attribute invoice_grouping_key
4719
+ # The property used to group this price on an invoice
4720
+ #
4721
+ # @return [String, nil]
4722
+ optional :invoice_grouping_key, String, nil?: true
4723
+
4724
+ # @!attribute invoicing_cycle_configuration
4725
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4726
+ # If unspecified, a single invoice is produced per billing cycle.
4727
+ #
4728
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4729
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4730
+
4731
+ # @!attribute license_type_id
4732
+ # The ID of the license type to associate with this price. On a usage price this
4733
+ # also marks the price as eligible to draw down from that license type's
4734
+ # allocation; a usage price created without it is billed normally. Usage prices
4735
+ # with a license type must use the `unit` model, and only draw down when their
4736
+ # currency matches the allocation's.
4737
+ #
4738
+ # @return [String, nil]
4739
+ optional :license_type_id, String, nil?: true
4740
+
4741
+ # @!attribute metadata
4742
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4743
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4744
+ # by setting `metadata` to `null`.
4745
+ #
4746
+ # @return [Hash{Symbol=>String, nil}, nil]
4747
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
4748
+
4749
+ # @!attribute reference_id
4750
+ # A transient ID that can be used to reference this price when adding adjustments
4751
+ # in the same API call.
4752
+ #
4753
+ # @return [String, nil]
4754
+ optional :reference_id, String, nil?: true
4755
+
4756
+ # @!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)
4757
+ # Some parameter documentations has been truncated, see
4758
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation}
4759
+ # for more details.
4760
+ #
4761
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
4762
+ #
4763
+ # @param item_id [String] The id of the item the price will be associated with.
4764
+ #
4765
+ # @param name [String] The name of the price.
4766
+ #
4767
+ # @param tiered_matrix_with_allocation_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
4768
+ #
4769
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4770
+ #
4771
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4772
+ #
4773
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4774
+ #
4775
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4776
+ #
4777
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4778
+ #
4779
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4780
+ #
4781
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4782
+ #
4783
+ # @param external_price_id [String, nil] An alias for the price.
4784
+ #
4785
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4786
+ #
4787
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4788
+ #
4789
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4790
+ #
4791
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
4792
+ #
4793
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4794
+ #
4795
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4796
+ #
4797
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
4798
+
4799
+ # The cadence to bill for this price on.
4800
+ #
4801
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation#cadence
4802
+ module Cadence
4803
+ extend Orb::Internal::Type::Enum
4804
+
4805
+ ANNUAL = :annual
4806
+ SEMI_ANNUAL = :semi_annual
4807
+ MONTHLY = :monthly
4808
+ QUARTERLY = :quarterly
4809
+ ONE_TIME = :one_time
4810
+ CUSTOM = :custom
4811
+
4812
+ # @!method self.values
4813
+ # @return [Array<Symbol>]
4814
+ end
4815
+
4816
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
4817
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
4818
+ # @!attribute allocation
4819
+ # Usage allocation, pooled across all matrix cells
4820
+ #
4821
+ # @return [String]
4822
+ required :allocation, String
4823
+
4824
+ # @!attribute default_unit_amount
4825
+ # Per unit rate for usage whose matrix cell has no configured tiers
4826
+ #
4827
+ # @return [String]
4828
+ required :default_unit_amount, String
4829
+
4830
+ # @!attribute dimensions
4831
+ # One or two event property values to evaluate matrix cells by
4832
+ #
4833
+ # @return [Array<String>]
4834
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
4835
+
4836
+ # @!attribute tiers
4837
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
4838
+ # own rows
4839
+ #
4840
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
4841
+ required :tiers,
4842
+ -> do
4843
+ Orb::Internal::Type::ArrayOf[
4844
+ Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
4845
+ ]
4846
+ end
4847
+
4848
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
4849
+ # Some parameter documentations has been truncated, see
4850
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
4851
+ # for more details.
4852
+ #
4853
+ # Configuration for tiered_matrix_with_allocation pricing
4854
+ #
4855
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
4856
+ #
4857
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
4858
+ #
4859
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
4860
+ #
4861
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
4862
+
4863
+ class Tier < Orb::Internal::Type::BaseModel
4864
+ # @!attribute dimension_values
4865
+ # The matrix cell this tier applies to, as one or two dimension values
4866
+ #
4867
+ # @return [Array<String>]
4868
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
4869
+
4870
+ # @!attribute tier_lower_bound
4871
+ # Exclusive tier starting value. The tier runs up to and including the next bound
4872
+ # configured for the same matrix cell.
4873
+ #
4874
+ # @return [String]
4875
+ required :tier_lower_bound, String
4876
+
4877
+ # @!attribute unit_amount
4878
+ # Per unit amount
4879
+ #
4880
+ # @return [String]
4881
+ required :unit_amount, String
4882
+
4883
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
4884
+ # Some parameter documentations has been truncated, see
4885
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
4886
+ # for more details.
4887
+ #
4888
+ # Configuration for a single tier scoped to one matrix cell
4889
+ #
4890
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
4891
+ #
4892
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
4893
+ #
4894
+ # @param unit_amount [String] Per unit amount
4895
+ end
4896
+ end
4897
+ end
4898
+
4339
4899
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
4340
4900
  # @!attribute cadence
4341
4901
  # The cadence to bill for this price on.
@@ -6366,7 +6926,7 @@ module Orb
6366
6926
  end
6367
6927
 
6368
6928
  # @!method self.variants
6369
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput)]
6929
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput)]
6370
6930
  end
6371
6931
  end
6372
6932
  end