orb-billing 1.24.0 → 1.26.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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/alert.rb +4 -2
  5. data/lib/orb/models/alert_update_params.rb +5 -3
  6. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +530 -6
  7. data/lib/orb/models/beta_create_plan_version_params.rb +526 -6
  8. data/lib/orb/models/changed_subscription_resources.rb +5 -5
  9. data/lib/orb/models/invoice.rb +5 -5
  10. data/lib/orb/models/invoice_fetch_upcoming_response.rb +5 -5
  11. data/lib/orb/models/invoice_issue_summary_response.rb +3 -3
  12. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  13. data/lib/orb/models/invoice_list_summary_response.rb +3 -3
  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 +259 -3
  17. data/lib/orb/models/plan_version.rb +2 -2
  18. data/lib/orb/models/price.rb +433 -1
  19. data/lib/orb/models/price_create_params.rb +244 -3
  20. data/lib/orb/models/price_evaluate_multiple_params.rb +255 -3
  21. data/lib/orb/models/price_evaluate_preview_events_params.rb +255 -3
  22. data/lib/orb/models/price_interval.rb +2 -2
  23. data/lib/orb/models/subscription_create_params.rb +521 -6
  24. data/lib/orb/models/subscription_price_intervals_params.rb +251 -3
  25. data/lib/orb/models/subscription_schedule_plan_change_params.rb +530 -6
  26. data/lib/orb/resources/alerts.rb +5 -2
  27. data/lib/orb/resources/customers/costs.rb +20 -0
  28. data/lib/orb/resources/licenses/external_licenses.rb +7 -0
  29. data/lib/orb/resources/licenses/usage.rb +3 -0
  30. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  31. data/lib/orb/resources/prices.rb +5 -5
  32. data/lib/orb/resources/subscriptions.rb +39 -6
  33. data/lib/orb/version.rb +1 -1
  34. data/rbi/orb/models/alert.rbi +6 -2
  35. data/rbi/orb/models/alert_update_params.rbi +8 -4
  36. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2789 -1903
  37. data/rbi/orb/models/beta_create_plan_version_params.rbi +2788 -1902
  38. data/rbi/orb/models/changed_subscription_resources.rbi +7 -6
  39. data/rbi/orb/models/invoice.rbi +7 -6
  40. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +7 -6
  41. data/rbi/orb/models/invoice_issue_summary_response.rbi +6 -6
  42. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  43. data/rbi/orb/models/invoice_list_summary_response.rbi +6 -6
  44. data/rbi/orb/models/per_price_cost.rbi +1 -0
  45. data/rbi/orb/models/plan.rbi +1 -0
  46. data/rbi/orb/models/plan_create_params.rbi +443 -0
  47. data/rbi/orb/models/plan_version.rbi +1 -0
  48. data/rbi/orb/models/price.rbi +766 -0
  49. data/rbi/orb/models/price_create_params.rbi +431 -0
  50. data/rbi/orb/models/price_evaluate_multiple_params.rbi +431 -0
  51. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +431 -0
  52. data/rbi/orb/models/price_interval.rbi +1 -0
  53. data/rbi/orb/models/subscription_create_params.rbi +2489 -1603
  54. data/rbi/orb/models/subscription_price_intervals_params.rbi +431 -0
  55. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2483 -1597
  56. data/rbi/orb/resources/alerts.rbi +8 -3
  57. data/rbi/orb/resources/customers/costs.rbi +20 -0
  58. data/rbi/orb/resources/licenses/external_licenses.rbi +7 -0
  59. data/rbi/orb/resources/licenses/usage.rbi +3 -0
  60. data/rbi/orb/resources/prices.rbi +1 -0
  61. data/rbi/orb/resources/subscriptions.rbi +39 -6
  62. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +366 -0
  63. data/sig/orb/models/beta_create_plan_version_params.rbs +366 -0
  64. data/sig/orb/models/plan_create_params.rbs +183 -0
  65. data/sig/orb/models/price.rbs +327 -0
  66. data/sig/orb/models/price_create_params.rbs +173 -0
  67. data/sig/orb/models/price_evaluate_multiple_params.rbs +178 -0
  68. data/sig/orb/models/price_evaluate_preview_events_params.rbs +178 -0
  69. data/sig/orb/models/subscription_create_params.rbs +366 -0
  70. data/sig/orb/models/subscription_price_intervals_params.rbs +178 -0
  71. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +366 -0
  72. metadata +2 -2
@@ -639,7 +639,7 @@ module Orb
639
639
  # @!attribute price
640
640
  # New subscription price request body params.
641
641
  #
642
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil]
642
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil]
643
643
  optional :price, union: -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price }, nil?: true
644
644
 
645
645
  # @!attribute price_id
@@ -676,7 +676,7 @@ module Orb
676
676
  #
677
677
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
678
678
  #
679
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
679
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
680
680
  #
681
681
  # @param price_id [String, nil] The id of the price to add to the subscription.
682
682
  #
@@ -711,6 +711,9 @@ module Orb
711
711
 
712
712
  variant :grouped_tiered, -> { Orb::NewSubscriptionGroupedTieredPrice }
713
713
 
714
+ variant :grouped_tiered_matrix,
715
+ -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix }
716
+
714
717
  variant :tiered_package_with_minimum, -> { Orb::NewSubscriptionTieredPackageWithMinimumPrice }
715
718
 
716
719
  variant :package_with_allocation, -> { Orb::NewSubscriptionPackageWithAllocationPrice }
@@ -1023,6 +1026,265 @@ module Orb
1023
1026
  end
1024
1027
  end
1025
1028
 
1029
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
1030
+ # @!attribute cadence
1031
+ # The cadence to bill for this price on.
1032
+ #
1033
+ # @return [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::Cadence]
1034
+ required :cadence,
1035
+ enum: -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::Cadence }
1036
+
1037
+ # @!attribute grouped_tiered_matrix_config
1038
+ # Configuration for grouped_tiered_matrix pricing
1039
+ #
1040
+ # @return [Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
1041
+ required :grouped_tiered_matrix_config,
1042
+ -> { Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
1043
+
1044
+ # @!attribute item_id
1045
+ # The id of the item the price will be associated with.
1046
+ #
1047
+ # @return [String]
1048
+ required :item_id, String
1049
+
1050
+ # @!attribute model_type
1051
+ # The pricing model type
1052
+ #
1053
+ # @return [Symbol, :grouped_tiered_matrix]
1054
+ required :model_type, const: :grouped_tiered_matrix
1055
+
1056
+ # @!attribute name
1057
+ # The name of the price.
1058
+ #
1059
+ # @return [String]
1060
+ required :name, String
1061
+
1062
+ # @!attribute billable_metric_id
1063
+ # The id of the billable metric for the price. Only needed if the price is
1064
+ # usage-based.
1065
+ #
1066
+ # @return [String, nil]
1067
+ optional :billable_metric_id, String, nil?: true
1068
+
1069
+ # @!attribute billed_in_advance
1070
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1071
+ # this is true, and in-arrears if this is false.
1072
+ #
1073
+ # @return [Boolean, nil]
1074
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1075
+
1076
+ # @!attribute billing_cycle_configuration
1077
+ # For custom cadence: specifies the duration of the billing period in days or
1078
+ # months.
1079
+ #
1080
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1081
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1082
+
1083
+ # @!attribute conversion_rate
1084
+ # The per unit conversion rate of the price currency to the invoicing currency.
1085
+ #
1086
+ # @return [Float, nil]
1087
+ optional :conversion_rate, Float, nil?: true
1088
+
1089
+ # @!attribute conversion_rate_config
1090
+ # The configuration for the rate of the price currency to the invoicing currency.
1091
+ #
1092
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1093
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1094
+
1095
+ # @!attribute currency
1096
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
1097
+ # price is billed.
1098
+ #
1099
+ # @return [String, nil]
1100
+ optional :currency, String, nil?: true
1101
+
1102
+ # @!attribute dimensional_price_configuration
1103
+ # For dimensional price: specifies a price group and dimension values
1104
+ #
1105
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1106
+ optional :dimensional_price_configuration,
1107
+ -> {
1108
+ Orb::NewDimensionalPriceConfiguration
1109
+ },
1110
+ nil?: true
1111
+
1112
+ # @!attribute external_price_id
1113
+ # An alias for the price.
1114
+ #
1115
+ # @return [String, nil]
1116
+ optional :external_price_id, String, nil?: true
1117
+
1118
+ # @!attribute fixed_price_quantity
1119
+ # If the Price represents a fixed cost, this represents the quantity of units
1120
+ # applied.
1121
+ #
1122
+ # @return [Float, nil]
1123
+ optional :fixed_price_quantity, Float, nil?: true
1124
+
1125
+ # @!attribute invoice_grouping_key
1126
+ # The property used to group this price on an invoice
1127
+ #
1128
+ # @return [String, nil]
1129
+ optional :invoice_grouping_key, String, nil?: true
1130
+
1131
+ # @!attribute invoicing_cycle_configuration
1132
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1133
+ # If unspecified, a single invoice is produced per billing cycle.
1134
+ #
1135
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1136
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1137
+
1138
+ # @!attribute license_type_id
1139
+ # The ID of the license type to associate with this price.
1140
+ #
1141
+ # @return [String, nil]
1142
+ optional :license_type_id, String, nil?: true
1143
+
1144
+ # @!attribute metadata
1145
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1146
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1147
+ # by setting `metadata` to `null`.
1148
+ #
1149
+ # @return [Hash{Symbol=>String, nil}, nil]
1150
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1151
+
1152
+ # @!attribute reference_id
1153
+ # A transient ID that can be used to reference this price when adding adjustments
1154
+ # in the same API call.
1155
+ #
1156
+ # @return [String, nil]
1157
+ optional :reference_id, String, nil?: true
1158
+
1159
+ # @!method initialize(cadence:, grouped_tiered_matrix_config:, item_id:, name:, 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: :grouped_tiered_matrix)
1160
+ # Some parameter documentations has been truncated, see
1161
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix}
1162
+ # for more details.
1163
+ #
1164
+ # @param cadence [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
1165
+ #
1166
+ # @param grouped_tiered_matrix_config [Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
1167
+ #
1168
+ # @param item_id [String] The id of the item the price will be associated with.
1169
+ #
1170
+ # @param name [String] The name of the price.
1171
+ #
1172
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1173
+ #
1174
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1175
+ #
1176
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1177
+ #
1178
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1179
+ #
1180
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1181
+ #
1182
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
1183
+ #
1184
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1185
+ #
1186
+ # @param external_price_id [String, nil] An alias for the price.
1187
+ #
1188
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1189
+ #
1190
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1191
+ #
1192
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1193
+ #
1194
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
1195
+ #
1196
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1197
+ #
1198
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1199
+ #
1200
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
1201
+
1202
+ # The cadence to bill for this price on.
1203
+ #
1204
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix#cadence
1205
+ module Cadence
1206
+ extend Orb::Internal::Type::Enum
1207
+
1208
+ ANNUAL = :annual
1209
+ SEMI_ANNUAL = :semi_annual
1210
+ MONTHLY = :monthly
1211
+ QUARTERLY = :quarterly
1212
+ ONE_TIME = :one_time
1213
+ CUSTOM = :custom
1214
+
1215
+ # @!method self.values
1216
+ # @return [Array<Symbol>]
1217
+ end
1218
+
1219
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
1220
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
1221
+ # @!attribute default_unit_amount
1222
+ # Per unit rate for usage whose dimension value has no configured tiers
1223
+ #
1224
+ # @return [String]
1225
+ required :default_unit_amount, String
1226
+
1227
+ # @!attribute dimension
1228
+ # The billable metric property used to group usage before tiering
1229
+ #
1230
+ # @return [String]
1231
+ required :dimension, String
1232
+
1233
+ # @!attribute tiers
1234
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
1235
+ # against its own rows
1236
+ #
1237
+ # @return [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
1238
+ required :tiers,
1239
+ -> do
1240
+ Orb::Internal::Type::ArrayOf[
1241
+ Orb::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
1242
+ ]
1243
+ end
1244
+
1245
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
1246
+ # Some parameter documentations has been truncated, see
1247
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
1248
+ # for more details.
1249
+ #
1250
+ # Configuration for grouped_tiered_matrix pricing
1251
+ #
1252
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
1253
+ #
1254
+ # @param dimension [String] The billable metric property used to group usage before tiering
1255
+ #
1256
+ # @param tiers [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
1257
+
1258
+ class Tier < Orb::Internal::Type::BaseModel
1259
+ # @!attribute dimension_value
1260
+ # The dimension value this tier applies to
1261
+ #
1262
+ # @return [String]
1263
+ required :dimension_value, String
1264
+
1265
+ # @!attribute tier_lower_bound
1266
+ #
1267
+ # @return [String]
1268
+ required :tier_lower_bound, String
1269
+
1270
+ # @!attribute unit_amount
1271
+ # Per unit amount
1272
+ #
1273
+ # @return [String]
1274
+ required :unit_amount, String
1275
+
1276
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
1277
+ # Configuration for a single tier scoped to a dimension value
1278
+ #
1279
+ # @param dimension_value [String] The dimension value this tier applies to
1280
+ #
1281
+ # @param tier_lower_bound [String]
1282
+ #
1283
+ # @param unit_amount [String] Per unit amount
1284
+ end
1285
+ end
1286
+ end
1287
+
1026
1288
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
1027
1289
  # @!attribute cadence
1028
1290
  # The cadence to bill for this price on.
@@ -3027,7 +3289,7 @@ module Orb
3027
3289
  end
3028
3290
 
3029
3291
  # @!method self.variants
3030
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput)]
3292
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::Price::EventOutput)]
3031
3293
  end
3032
3294
  end
3033
3295
 
@@ -3388,7 +3650,7 @@ module Orb
3388
3650
  # @!attribute price
3389
3651
  # New subscription price request body params.
3390
3652
  #
3391
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil]
3653
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil]
3392
3654
  optional :price,
3393
3655
  union: -> {
3394
3656
  Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price
@@ -3422,7 +3684,7 @@ module Orb
3422
3684
  #
3423
3685
  # @param minimum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
3424
3686
  #
3425
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
3687
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
3426
3688
  #
3427
3689
  # @param price_id [String, nil] The id of the price to add to the subscription.
3428
3690
 
@@ -3455,6 +3717,9 @@ module Orb
3455
3717
 
3456
3718
  variant :grouped_tiered, -> { Orb::NewSubscriptionGroupedTieredPrice }
3457
3719
 
3720
+ variant :grouped_tiered_matrix,
3721
+ -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix }
3722
+
3458
3723
  variant :tiered_package_with_minimum, -> { Orb::NewSubscriptionTieredPackageWithMinimumPrice }
3459
3724
 
3460
3725
  variant :package_with_allocation, -> { Orb::NewSubscriptionPackageWithAllocationPrice }
@@ -3775,6 +4040,265 @@ module Orb
3775
4040
  end
3776
4041
  end
3777
4042
 
4043
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
4044
+ # @!attribute cadence
4045
+ # The cadence to bill for this price on.
4046
+ #
4047
+ # @return [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence]
4048
+ required :cadence,
4049
+ enum: -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence }
4050
+
4051
+ # @!attribute grouped_tiered_matrix_config
4052
+ # Configuration for grouped_tiered_matrix pricing
4053
+ #
4054
+ # @return [Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
4055
+ required :grouped_tiered_matrix_config,
4056
+ -> { Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
4057
+
4058
+ # @!attribute item_id
4059
+ # The id of the item the price will be associated with.
4060
+ #
4061
+ # @return [String]
4062
+ required :item_id, String
4063
+
4064
+ # @!attribute model_type
4065
+ # The pricing model type
4066
+ #
4067
+ # @return [Symbol, :grouped_tiered_matrix]
4068
+ required :model_type, const: :grouped_tiered_matrix
4069
+
4070
+ # @!attribute name
4071
+ # The name of the price.
4072
+ #
4073
+ # @return [String]
4074
+ required :name, String
4075
+
4076
+ # @!attribute billable_metric_id
4077
+ # The id of the billable metric for the price. Only needed if the price is
4078
+ # usage-based.
4079
+ #
4080
+ # @return [String, nil]
4081
+ optional :billable_metric_id, String, nil?: true
4082
+
4083
+ # @!attribute billed_in_advance
4084
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4085
+ # this is true, and in-arrears if this is false.
4086
+ #
4087
+ # @return [Boolean, nil]
4088
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
4089
+
4090
+ # @!attribute billing_cycle_configuration
4091
+ # For custom cadence: specifies the duration of the billing period in days or
4092
+ # months.
4093
+ #
4094
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4095
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4096
+
4097
+ # @!attribute conversion_rate
4098
+ # The per unit conversion rate of the price currency to the invoicing currency.
4099
+ #
4100
+ # @return [Float, nil]
4101
+ optional :conversion_rate, Float, nil?: true
4102
+
4103
+ # @!attribute conversion_rate_config
4104
+ # The configuration for the rate of the price currency to the invoicing currency.
4105
+ #
4106
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4107
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
4108
+
4109
+ # @!attribute currency
4110
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4111
+ # price is billed.
4112
+ #
4113
+ # @return [String, nil]
4114
+ optional :currency, String, nil?: true
4115
+
4116
+ # @!attribute dimensional_price_configuration
4117
+ # For dimensional price: specifies a price group and dimension values
4118
+ #
4119
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4120
+ optional :dimensional_price_configuration,
4121
+ -> {
4122
+ Orb::NewDimensionalPriceConfiguration
4123
+ },
4124
+ nil?: true
4125
+
4126
+ # @!attribute external_price_id
4127
+ # An alias for the price.
4128
+ #
4129
+ # @return [String, nil]
4130
+ optional :external_price_id, String, nil?: true
4131
+
4132
+ # @!attribute fixed_price_quantity
4133
+ # If the Price represents a fixed cost, this represents the quantity of units
4134
+ # applied.
4135
+ #
4136
+ # @return [Float, nil]
4137
+ optional :fixed_price_quantity, Float, nil?: true
4138
+
4139
+ # @!attribute invoice_grouping_key
4140
+ # The property used to group this price on an invoice
4141
+ #
4142
+ # @return [String, nil]
4143
+ optional :invoice_grouping_key, String, nil?: true
4144
+
4145
+ # @!attribute invoicing_cycle_configuration
4146
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4147
+ # If unspecified, a single invoice is produced per billing cycle.
4148
+ #
4149
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4150
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4151
+
4152
+ # @!attribute license_type_id
4153
+ # The ID of the license type to associate with this price.
4154
+ #
4155
+ # @return [String, nil]
4156
+ optional :license_type_id, String, nil?: true
4157
+
4158
+ # @!attribute metadata
4159
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4160
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4161
+ # by setting `metadata` to `null`.
4162
+ #
4163
+ # @return [Hash{Symbol=>String, nil}, nil]
4164
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
4165
+
4166
+ # @!attribute reference_id
4167
+ # A transient ID that can be used to reference this price when adding adjustments
4168
+ # in the same API call.
4169
+ #
4170
+ # @return [String, nil]
4171
+ optional :reference_id, String, nil?: true
4172
+
4173
+ # @!method initialize(cadence:, grouped_tiered_matrix_config:, item_id:, name:, 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: :grouped_tiered_matrix)
4174
+ # Some parameter documentations has been truncated, see
4175
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix}
4176
+ # for more details.
4177
+ #
4178
+ # @param cadence [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
4179
+ #
4180
+ # @param grouped_tiered_matrix_config [Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
4181
+ #
4182
+ # @param item_id [String] The id of the item the price will be associated with.
4183
+ #
4184
+ # @param name [String] The name of the price.
4185
+ #
4186
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4187
+ #
4188
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4189
+ #
4190
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4191
+ #
4192
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4193
+ #
4194
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4195
+ #
4196
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4197
+ #
4198
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4199
+ #
4200
+ # @param external_price_id [String, nil] An alias for the price.
4201
+ #
4202
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4203
+ #
4204
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4205
+ #
4206
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4207
+ #
4208
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
4209
+ #
4210
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4211
+ #
4212
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4213
+ #
4214
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
4215
+
4216
+ # The cadence to bill for this price on.
4217
+ #
4218
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix#cadence
4219
+ module Cadence
4220
+ extend Orb::Internal::Type::Enum
4221
+
4222
+ ANNUAL = :annual
4223
+ SEMI_ANNUAL = :semi_annual
4224
+ MONTHLY = :monthly
4225
+ QUARTERLY = :quarterly
4226
+ ONE_TIME = :one_time
4227
+ CUSTOM = :custom
4228
+
4229
+ # @!method self.values
4230
+ # @return [Array<Symbol>]
4231
+ end
4232
+
4233
+ # @see Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
4234
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
4235
+ # @!attribute default_unit_amount
4236
+ # Per unit rate for usage whose dimension value has no configured tiers
4237
+ #
4238
+ # @return [String]
4239
+ required :default_unit_amount, String
4240
+
4241
+ # @!attribute dimension
4242
+ # The billable metric property used to group usage before tiering
4243
+ #
4244
+ # @return [String]
4245
+ required :dimension, String
4246
+
4247
+ # @!attribute tiers
4248
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
4249
+ # against its own rows
4250
+ #
4251
+ # @return [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
4252
+ required :tiers,
4253
+ -> do
4254
+ Orb::Internal::Type::ArrayOf[
4255
+ Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
4256
+ ]
4257
+ end
4258
+
4259
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
4260
+ # Some parameter documentations has been truncated, see
4261
+ # {Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
4262
+ # for more details.
4263
+ #
4264
+ # Configuration for grouped_tiered_matrix pricing
4265
+ #
4266
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
4267
+ #
4268
+ # @param dimension [String] The billable metric property used to group usage before tiering
4269
+ #
4270
+ # @param tiers [Array<Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
4271
+
4272
+ class Tier < Orb::Internal::Type::BaseModel
4273
+ # @!attribute dimension_value
4274
+ # The dimension value this tier applies to
4275
+ #
4276
+ # @return [String]
4277
+ required :dimension_value, String
4278
+
4279
+ # @!attribute tier_lower_bound
4280
+ #
4281
+ # @return [String]
4282
+ required :tier_lower_bound, String
4283
+
4284
+ # @!attribute unit_amount
4285
+ # Per unit amount
4286
+ #
4287
+ # @return [String]
4288
+ required :unit_amount, String
4289
+
4290
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
4291
+ # Configuration for a single tier scoped to a dimension value
4292
+ #
4293
+ # @param dimension_value [String] The dimension value this tier applies to
4294
+ #
4295
+ # @param tier_lower_bound [String]
4296
+ #
4297
+ # @param unit_amount [String] Per unit amount
4298
+ end
4299
+ end
4300
+ end
4301
+
3778
4302
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
3779
4303
  # @!attribute cadence
3780
4304
  # The cadence to bill for this price on.
@@ -5779,7 +6303,7 @@ module Orb
5779
6303
  end
5780
6304
 
5781
6305
  # @!method self.variants
5782
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput)]
6306
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::Price::EventOutput)]
5783
6307
  end
5784
6308
  end
5785
6309
  end