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
@@ -163,7 +163,7 @@ module Orb
163
163
  # @!attribute price
164
164
  # New floating price request body params.
165
165
  #
166
- # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil]
166
+ # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil]
167
167
  optional :price, union: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price }, nil?: true
168
168
 
169
169
  # @!attribute price_id
@@ -209,7 +209,7 @@ module Orb
209
209
  #
210
210
  # @param minimum_amount [Float, nil] The minimum amount that will be billed for this price interval for a given billi
211
211
  #
212
- # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil] New floating price request body params.
212
+ # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil] New floating price request body params.
213
213
  #
214
214
  # @param price_id [String, nil] The id of the price to add to the subscription.
215
215
  #
@@ -382,6 +382,9 @@ module Orb
382
382
 
383
383
  variant :matrix_with_allocation, -> { Orb::NewFloatingMatrixWithAllocationPrice }
384
384
 
385
+ variant :tiered_matrix_with_allocation,
386
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation }
387
+
385
388
  variant :matrix_with_threshold_discounts,
386
389
  -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts }
387
390
 
@@ -926,6 +929,273 @@ module Orb
926
929
  end
927
930
  end
928
931
 
932
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
933
+ # @!attribute cadence
934
+ # The cadence to bill for this price on.
935
+ #
936
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::Cadence]
937
+ required :cadence,
938
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::Cadence }
939
+
940
+ # @!attribute currency
941
+ # An ISO 4217 currency string for which this price is billed in.
942
+ #
943
+ # @return [String]
944
+ required :currency, String
945
+
946
+ # @!attribute item_id
947
+ # The id of the item the price will be associated with.
948
+ #
949
+ # @return [String]
950
+ required :item_id, String
951
+
952
+ # @!attribute model_type
953
+ # The pricing model type
954
+ #
955
+ # @return [Symbol, :tiered_matrix_with_allocation]
956
+ required :model_type, const: :tiered_matrix_with_allocation
957
+
958
+ # @!attribute name
959
+ # The name of the price.
960
+ #
961
+ # @return [String]
962
+ required :name, String
963
+
964
+ # @!attribute tiered_matrix_with_allocation_config
965
+ # Configuration for tiered_matrix_with_allocation pricing
966
+ #
967
+ # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig]
968
+ required :tiered_matrix_with_allocation_config,
969
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig }
970
+
971
+ # @!attribute billable_metric_id
972
+ # The id of the billable metric for the price. Only needed if the price is
973
+ # usage-based.
974
+ #
975
+ # @return [String, nil]
976
+ optional :billable_metric_id, String, nil?: true
977
+
978
+ # @!attribute billed_in_advance
979
+ # If the Price represents a fixed cost, the price will be billed in-advance if
980
+ # this is true, and in-arrears if this is false.
981
+ #
982
+ # @return [Boolean, nil]
983
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
984
+
985
+ # @!attribute billing_cycle_configuration
986
+ # For custom cadence: specifies the duration of the billing period in days or
987
+ # months.
988
+ #
989
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
990
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
991
+
992
+ # @!attribute conversion_rate
993
+ # The per unit conversion rate of the price currency to the invoicing currency.
994
+ #
995
+ # @return [Float, nil]
996
+ optional :conversion_rate, Float, nil?: true
997
+
998
+ # @!attribute conversion_rate_config
999
+ # The configuration for the rate of the price currency to the invoicing currency.
1000
+ #
1001
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1002
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1003
+
1004
+ # @!attribute dimensional_price_configuration
1005
+ # For dimensional price: specifies a price group and dimension values
1006
+ #
1007
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1008
+ optional :dimensional_price_configuration,
1009
+ -> {
1010
+ Orb::NewDimensionalPriceConfiguration
1011
+ },
1012
+ nil?: true
1013
+
1014
+ # @!attribute external_price_id
1015
+ # An alias for the price.
1016
+ #
1017
+ # @return [String, nil]
1018
+ optional :external_price_id, String, nil?: true
1019
+
1020
+ # @!attribute fixed_price_quantity
1021
+ # If the Price represents a fixed cost, this represents the quantity of units
1022
+ # applied.
1023
+ #
1024
+ # @return [Float, nil]
1025
+ optional :fixed_price_quantity, Float, nil?: true
1026
+
1027
+ # @!attribute invoice_grouping_key
1028
+ # The property used to group this price on an invoice
1029
+ #
1030
+ # @return [String, nil]
1031
+ optional :invoice_grouping_key, String, nil?: true
1032
+
1033
+ # @!attribute invoicing_cycle_configuration
1034
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1035
+ # If unspecified, a single invoice is produced per billing cycle.
1036
+ #
1037
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1038
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1039
+
1040
+ # @!attribute license_type_id
1041
+ # The ID of the license type to associate with this price. On a usage price this
1042
+ # also marks the price as eligible to draw down from that license type's
1043
+ # allocation; a usage price created without it is billed normally. Usage prices
1044
+ # with a license type must use the `unit` model, and only draw down when their
1045
+ # currency matches the allocation's.
1046
+ #
1047
+ # @return [String, nil]
1048
+ optional :license_type_id, String, nil?: true
1049
+
1050
+ # @!attribute metadata
1051
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1052
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1053
+ # by setting `metadata` to `null`.
1054
+ #
1055
+ # @return [Hash{Symbol=>String, nil}, nil]
1056
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1057
+
1058
+ # @!method initialize(cadence:, currency:, 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, 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, model_type: :tiered_matrix_with_allocation)
1059
+ # Some parameter documentations has been truncated, see
1060
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation}
1061
+ # for more details.
1062
+ #
1063
+ # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::Cadence] The cadence to bill for this price on.
1064
+ #
1065
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
1066
+ #
1067
+ # @param item_id [String] The id of the item the price will be associated with.
1068
+ #
1069
+ # @param name [String] The name of the price.
1070
+ #
1071
+ # @param tiered_matrix_with_allocation_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig] Configuration for tiered_matrix_with_allocation pricing
1072
+ #
1073
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1074
+ #
1075
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1076
+ #
1077
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1078
+ #
1079
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1080
+ #
1081
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1082
+ #
1083
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1084
+ #
1085
+ # @param external_price_id [String, nil] An alias for the price.
1086
+ #
1087
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1088
+ #
1089
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1090
+ #
1091
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1092
+ #
1093
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
1094
+ #
1095
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1096
+ #
1097
+ # @param model_type [Symbol, :tiered_matrix_with_allocation] The pricing model type
1098
+
1099
+ # The cadence to bill for this price on.
1100
+ #
1101
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation#cadence
1102
+ module Cadence
1103
+ extend Orb::Internal::Type::Enum
1104
+
1105
+ ANNUAL = :annual
1106
+ SEMI_ANNUAL = :semi_annual
1107
+ MONTHLY = :monthly
1108
+ QUARTERLY = :quarterly
1109
+ ONE_TIME = :one_time
1110
+ CUSTOM = :custom
1111
+
1112
+ # @!method self.values
1113
+ # @return [Array<Symbol>]
1114
+ end
1115
+
1116
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation#tiered_matrix_with_allocation_config
1117
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
1118
+ # @!attribute allocation
1119
+ # Usage allocation, pooled across all matrix cells
1120
+ #
1121
+ # @return [String]
1122
+ required :allocation, String
1123
+
1124
+ # @!attribute default_unit_amount
1125
+ # Per unit rate for usage whose matrix cell has no configured tiers
1126
+ #
1127
+ # @return [String]
1128
+ required :default_unit_amount, String
1129
+
1130
+ # @!attribute dimensions
1131
+ # One or two event property values to evaluate matrix cells by
1132
+ #
1133
+ # @return [Array<String>]
1134
+ required :dimensions, Orb::Internal::Type::ArrayOf[String]
1135
+
1136
+ # @!attribute tiers
1137
+ # Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1138
+ # own rows
1139
+ #
1140
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>]
1141
+ required :tiers,
1142
+ -> do
1143
+ Orb::Internal::Type::ArrayOf[
1144
+ Orb::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier
1145
+ ]
1146
+ end
1147
+
1148
+ # @!method initialize(allocation:, default_unit_amount:, dimensions:, tiers:)
1149
+ # Some parameter documentations has been truncated, see
1150
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig}
1151
+ # for more details.
1152
+ #
1153
+ # Configuration for tiered_matrix_with_allocation pricing
1154
+ #
1155
+ # @param allocation [String] Usage allocation, pooled across all matrix cells
1156
+ #
1157
+ # @param default_unit_amount [String] Per unit rate for usage whose matrix cell has no configured tiers
1158
+ #
1159
+ # @param dimensions [Array<String>] One or two event property values to evaluate matrix cells by
1160
+ #
1161
+ # @param tiers [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier>] Graduated tiers keyed by matrix cell; usage in a cell is tiered only against its
1162
+
1163
+ class Tier < Orb::Internal::Type::BaseModel
1164
+ # @!attribute dimension_values
1165
+ # The matrix cell this tier applies to, as one or two dimension values
1166
+ #
1167
+ # @return [Array<String>]
1168
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String]
1169
+
1170
+ # @!attribute tier_lower_bound
1171
+ # Exclusive tier starting value. The tier runs up to and including the next bound
1172
+ # configured for the same matrix cell.
1173
+ #
1174
+ # @return [String]
1175
+ required :tier_lower_bound, String
1176
+
1177
+ # @!attribute unit_amount
1178
+ # Per unit amount
1179
+ #
1180
+ # @return [String]
1181
+ required :unit_amount, String
1182
+
1183
+ # @!method initialize(dimension_values:, tier_lower_bound:, unit_amount:)
1184
+ # Some parameter documentations has been truncated, see
1185
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier}
1186
+ # for more details.
1187
+ #
1188
+ # Configuration for a single tier scoped to one matrix cell
1189
+ #
1190
+ # @param dimension_values [Array<String>] The matrix cell this tier applies to, as one or two dimension values
1191
+ #
1192
+ # @param tier_lower_bound [String] Exclusive tier starting value. The tier runs up to and including the next bound
1193
+ #
1194
+ # @param unit_amount [String] Per unit amount
1195
+ end
1196
+ end
1197
+ end
1198
+
929
1199
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
930
1200
  # @!attribute cadence
931
1201
  # The cadence to bill for this price on.
@@ -2649,7 +2919,7 @@ module Orb
2649
2919
  end
2650
2920
 
2651
2921
  # @!method self.variants
2652
- # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput)]
2922
+ # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::TieredMatrixWithAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput)]
2653
2923
  end
2654
2924
  end
2655
2925