orb-billing 0.5.5 → 0.6.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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/orb/internal/type/base_model.rb +2 -2
  5. data/lib/orb/internal/type/union.rb +6 -6
  6. data/lib/orb/models/alert.rb +33 -1
  7. data/lib/orb/models/amount_discount.rb +10 -10
  8. data/lib/orb/models/credit_note_create_params.rb +9 -9
  9. data/lib/orb/models/customer_create_params.rb +21 -3
  10. data/lib/orb/models/customer_update_by_external_id_params.rb +21 -3
  11. data/lib/orb/models/customer_update_params.rb +21 -3
  12. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +9 -1
  13. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +9 -1
  14. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +9 -1
  15. data/lib/orb/models/customers/credits/ledger_list_response.rb +9 -1
  16. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +1 -1
  17. data/lib/orb/models/customers/credits/top_up_create_params.rb +1 -1
  18. data/lib/orb/models/invoice.rb +626 -9
  19. data/lib/orb/models/invoice_fetch_upcoming_response.rb +624 -9
  20. data/lib/orb/models/invoice_line_item_create_response.rb +486 -7
  21. data/lib/orb/models/item.rb +18 -1
  22. data/lib/orb/models/item_archive_params.rb +14 -0
  23. data/lib/orb/models/item_create_params.rb +14 -1
  24. data/lib/orb/models/item_update_params.rb +16 -1
  25. data/lib/orb/models/percentage_discount.rb +10 -10
  26. data/lib/orb/models/plan.rb +618 -9
  27. data/lib/orb/models/plan_create_params.rb +2066 -30
  28. data/lib/orb/models/plan_set_default_version_params.rb +22 -0
  29. data/lib/orb/models/plans/external_plan_id/version_create_params.rb +17948 -0
  30. data/lib/orb/models/plans/external_plan_id/version_create_response.rb +819 -0
  31. data/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +24 -0
  32. data/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +819 -0
  33. data/lib/orb/models/plans/external_plan_id_set_default_version_params.rb +24 -0
  34. data/lib/orb/models/plans/version_create_params.rb +17794 -0
  35. data/lib/orb/models/plans/version_create_response.rb +814 -0
  36. data/lib/orb/models/plans/version_retrieve_params.rb +22 -0
  37. data/lib/orb/models/plans/version_retrieve_response.rb +814 -0
  38. data/lib/orb/models/price.rb +4124 -70
  39. data/lib/orb/models/price_create_params.rb +45 -1
  40. data/lib/orb/models/price_evaluate_params.rb +8529 -21
  41. data/lib/orb/models/price_evaluate_response.rb +38 -3
  42. data/lib/orb/models/subscription.rb +730 -54
  43. data/lib/orb/models/subscription_cancel_response.rb +706 -54
  44. data/lib/orb/models/subscription_change_apply_response.rb +728 -54
  45. data/lib/orb/models/subscription_change_cancel_response.rb +728 -54
  46. data/lib/orb/models/subscription_change_retrieve_response.rb +728 -54
  47. data/lib/orb/models/subscription_create_params.rb +5992 -1698
  48. data/lib/orb/models/subscription_create_response.rb +706 -54
  49. data/lib/orb/models/subscription_fetch_schedule_response.rb +3 -3
  50. data/lib/orb/models/subscription_price_intervals_params.rb +1392 -76
  51. data/lib/orb/models/subscription_price_intervals_response.rb +712 -54
  52. data/lib/orb/models/subscription_schedule_plan_change_params.rb +6005 -1723
  53. data/lib/orb/models/subscription_schedule_plan_change_response.rb +716 -54
  54. data/lib/orb/models/subscription_trigger_phase_response.rb +708 -54
  55. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +720 -54
  56. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +728 -54
  57. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +728 -54
  58. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +1 -1
  59. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +720 -54
  60. data/lib/orb/models/subscription_update_trial_response.rb +706 -54
  61. data/lib/orb/models/trial_discount.rb +10 -10
  62. data/lib/orb/models/usage_discount.rb +10 -10
  63. data/lib/orb/models.rb +4 -0
  64. data/lib/orb/resources/credit_notes.rb +3 -3
  65. data/lib/orb/resources/customers/balance_transactions.rb +0 -7
  66. data/lib/orb/resources/customers.rb +4 -7
  67. data/lib/orb/resources/dimensional_price_groups.rb +1 -1
  68. data/lib/orb/resources/items.rb +34 -2
  69. data/lib/orb/resources/plans/external_plan_id/versions.rb +88 -0
  70. data/lib/orb/resources/plans/external_plan_id.rb +32 -1
  71. data/lib/orb/resources/plans/versions.rb +86 -0
  72. data/lib/orb/resources/plans.rb +33 -2
  73. data/lib/orb/resources/prices.rb +23 -17
  74. data/lib/orb/resources/subscriptions.rb +5 -1
  75. data/lib/orb/version.rb +1 -1
  76. data/lib/orb.rb +13 -0
  77. data/rbi/orb/models/alert.rbi +50 -3
  78. data/rbi/orb/models/amount_discount.rbi +8 -8
  79. data/rbi/orb/models/credit_note_create_params.rbi +8 -8
  80. data/rbi/orb/models/customer_create_params.rbi +38 -4
  81. data/rbi/orb/models/customer_update_by_external_id_params.rbi +38 -4
  82. data/rbi/orb/models/customer_update_params.rbi +38 -4
  83. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +9 -1
  84. data/rbi/orb/models/customers/credits/ledger_create_entry_response.rbi +9 -1
  85. data/rbi/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +9 -1
  86. data/rbi/orb/models/customers/credits/ledger_list_response.rbi +9 -1
  87. data/rbi/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +2 -2
  88. data/rbi/orb/models/customers/credits/top_up_create_params.rbi +2 -2
  89. data/rbi/orb/models/invoice.rbi +1451 -35
  90. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +1524 -4
  91. data/rbi/orb/models/invoice_line_item_create_response.rbi +1184 -2
  92. data/rbi/orb/models/item.rbi +20 -1
  93. data/rbi/orb/models/item_archive_params.rbi +25 -0
  94. data/rbi/orb/models/item_create_params.rbi +18 -1
  95. data/rbi/orb/models/item_update_params.rbi +17 -1
  96. data/rbi/orb/models/percentage_discount.rbi +10 -10
  97. data/rbi/orb/models/plan.rbi +1339 -4
  98. data/rbi/orb/models/plan_create_params.rbi +3833 -29
  99. data/rbi/orb/models/plan_set_default_version_params.rbi +40 -0
  100. data/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +32668 -0
  101. data/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +1562 -0
  102. data/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +42 -0
  103. data/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +1562 -0
  104. data/rbi/orb/models/plans/external_plan_id_set_default_version_params.rbi +45 -0
  105. data/rbi/orb/models/plans/version_create_params.rbi +32607 -0
  106. data/rbi/orb/models/plans/version_create_response.rbi +1556 -0
  107. data/rbi/orb/models/plans/version_retrieve_params.rbi +37 -0
  108. data/rbi/orb/models/plans/version_retrieve_response.rbi +1558 -0
  109. data/rbi/orb/models/price.rbi +9447 -441
  110. data/rbi/orb/models/price_create_params.rbi +80 -0
  111. data/rbi/orb/models/price_evaluate_params.rbi +15684 -25
  112. data/rbi/orb/models/price_evaluate_response.rbi +68 -5
  113. data/rbi/orb/models/subscription.rbi +1654 -44
  114. data/rbi/orb/models/subscription_cancel_response.rbi +1692 -44
  115. data/rbi/orb/models/subscription_change_apply_response.rbi +1692 -44
  116. data/rbi/orb/models/subscription_change_cancel_response.rbi +1692 -44
  117. data/rbi/orb/models/subscription_change_retrieve_response.rbi +1692 -44
  118. data/rbi/orb/models/subscription_create_params.rbi +10400 -2710
  119. data/rbi/orb/models/subscription_create_response.rbi +1692 -44
  120. data/rbi/orb/models/subscription_fetch_schedule_response.rbi +13 -4
  121. data/rbi/orb/models/subscription_price_intervals_params.rbi +2401 -49
  122. data/rbi/orb/models/subscription_price_intervals_response.rbi +1692 -44
  123. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +10423 -2753
  124. data/rbi/orb/models/subscription_schedule_plan_change_response.rbi +1692 -44
  125. data/rbi/orb/models/subscription_trigger_phase_response.rbi +1692 -44
  126. data/rbi/orb/models/subscription_unschedule_cancellation_response.rbi +1692 -44
  127. data/rbi/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +1692 -44
  128. data/rbi/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +1692 -44
  129. data/rbi/orb/models/subscription_update_fixed_fee_quantity_params.rbi +2 -2
  130. data/rbi/orb/models/subscription_update_fixed_fee_quantity_response.rbi +1692 -44
  131. data/rbi/orb/models/subscription_update_trial_response.rbi +1692 -44
  132. data/rbi/orb/models/trial_discount.rbi +8 -8
  133. data/rbi/orb/models/usage_discount.rbi +10 -10
  134. data/rbi/orb/models.rbi +4 -0
  135. data/rbi/orb/resources/credit_notes.rbi +3 -3
  136. data/rbi/orb/resources/customers/balance_transactions.rbi +0 -7
  137. data/rbi/orb/resources/customers/credits/top_ups.rbi +2 -2
  138. data/rbi/orb/resources/customers.rbi +7 -7
  139. data/rbi/orb/resources/dimensional_price_groups.rbi +1 -1
  140. data/rbi/orb/resources/items.rbi +20 -0
  141. data/rbi/orb/resources/plans/external_plan_id/versions.rbi +103 -0
  142. data/rbi/orb/resources/plans/external_plan_id.rbi +23 -1
  143. data/rbi/orb/resources/plans/versions.rbi +91 -0
  144. data/rbi/orb/resources/plans.rbi +27 -2
  145. data/rbi/orb/resources/prices.rbi +27 -17
  146. data/rbi/orb/resources/subscriptions.rbi +9 -1
  147. data/sig/orb/models/alert.rbs +20 -3
  148. data/sig/orb/models/amount_discount.rbs +5 -5
  149. data/sig/orb/models/credit_note_create_params.rbs +6 -6
  150. data/sig/orb/models/customer_create_params.rbs +13 -0
  151. data/sig/orb/models/customer_update_by_external_id_params.rbs +13 -0
  152. data/sig/orb/models/customer_update_params.rbs +13 -0
  153. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +7 -2
  154. data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +7 -2
  155. data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +7 -2
  156. data/sig/orb/models/customers/credits/ledger_list_response.rbs +7 -2
  157. data/sig/orb/models/invoice.rbs +558 -4
  158. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +558 -4
  159. data/sig/orb/models/invoice_line_item_create_response.rbs +414 -2
  160. data/sig/orb/models/item.rbs +5 -0
  161. data/sig/orb/models/item_archive_params.rbs +14 -0
  162. data/sig/orb/models/item_create_params.rbs +10 -2
  163. data/sig/orb/models/item_update_params.rbs +5 -0
  164. data/sig/orb/models/percentage_discount.rbs +5 -5
  165. data/sig/orb/models/plan.rbs +538 -4
  166. data/sig/orb/models/plan_create_params.rbs +1460 -3
  167. data/sig/orb/models/plan_set_default_version_params.rbs +20 -0
  168. data/sig/orb/models/plans/external_plan_id/version_create_params.rbs +12923 -0
  169. data/sig/orb/models/plans/external_plan_id/version_create_response.rbs +664 -0
  170. data/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +27 -0
  171. data/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +664 -0
  172. data/sig/orb/models/plans/external_plan_id_set_default_version_params.rbs +25 -0
  173. data/sig/orb/models/plans/version_create_params.rbs +12898 -0
  174. data/sig/orb/models/plans/version_create_response.rbs +662 -0
  175. data/sig/orb/models/plans/version_retrieve_params.rbs +25 -0
  176. data/sig/orb/models/plans/version_retrieve_response.rbs +662 -0
  177. data/sig/orb/models/price.rbs +3512 -96
  178. data/sig/orb/models/price_create_params.rbs +32 -0
  179. data/sig/orb/models/price_evaluate_params.rbs +6187 -10
  180. data/sig/orb/models/price_evaluate_response.rbs +41 -4
  181. data/sig/orb/models/subscription.rbs +609 -29
  182. data/sig/orb/models/subscription_cancel_response.rbs +609 -29
  183. data/sig/orb/models/subscription_change_apply_response.rbs +621 -29
  184. data/sig/orb/models/subscription_change_cancel_response.rbs +621 -29
  185. data/sig/orb/models/subscription_change_retrieve_response.rbs +621 -29
  186. data/sig/orb/models/subscription_create_params.rbs +4450 -1466
  187. data/sig/orb/models/subscription_create_response.rbs +609 -29
  188. data/sig/orb/models/subscription_fetch_schedule_response.rbs +4 -4
  189. data/sig/orb/models/subscription_price_intervals_params.rbs +920 -24
  190. data/sig/orb/models/subscription_price_intervals_response.rbs +609 -29
  191. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +4440 -1466
  192. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +609 -29
  193. data/sig/orb/models/subscription_trigger_phase_response.rbs +609 -29
  194. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +609 -29
  195. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +609 -29
  196. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +609 -29
  197. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +609 -29
  198. data/sig/orb/models/subscription_update_trial_response.rbs +609 -29
  199. data/sig/orb/models/trial_discount.rbs +5 -5
  200. data/sig/orb/models/usage_discount.rbs +5 -5
  201. data/sig/orb/models.rbs +4 -0
  202. data/sig/orb/resources/credit_notes.rbs +1 -1
  203. data/sig/orb/resources/items.rbs +7 -0
  204. data/sig/orb/resources/plans/external_plan_id/versions.rbs +30 -0
  205. data/sig/orb/resources/plans/external_plan_id.rbs +8 -0
  206. data/sig/orb/resources/plans/versions.rbs +28 -0
  207. data/sig/orb/resources/plans.rbs +8 -0
  208. data/sig/orb/resources/prices.rbs +3 -3
  209. data/sig/orb/resources/subscriptions.rbs +2 -0
  210. metadata +40 -1
@@ -155,6 +155,10 @@ module Orb
155
155
  end
156
156
  attr_accessor :minimum_intervals
157
157
 
158
+ # The name of the subscription.
159
+ sig { returns(String) }
160
+ attr_accessor :name
161
+
158
162
  # Determines the difference between the invoice issue date for subscription
159
163
  # invoices as the date that they are due. A value of `0` here represents that the
160
164
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -186,10 +190,10 @@ module Orb
186
190
  # subscribed to by a customer. Plans define the billing behavior of the
187
191
  # subscription. You can see more about how to configure prices in the
188
192
  # [Price resource](/reference/price).
189
- sig { returns(Orb::Plan) }
193
+ sig { returns(T.nilable(Orb::Plan)) }
190
194
  attr_reader :plan
191
195
 
192
- sig { params(plan: Orb::Plan::OrHash).void }
196
+ sig { params(plan: T.nilable(Orb::Plan::OrHash)).void }
193
197
  attr_writer :plan
194
198
 
195
199
  # The price intervals for this subscription.
@@ -307,12 +311,13 @@ module Orb
307
311
  T::Array[
308
312
  Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::OrHash
309
313
  ],
314
+ name: String,
310
315
  net_terms: Integer,
311
316
  pending_subscription_change:
312
317
  T.nilable(
313
318
  Orb::Models::SubscriptionSchedulePlanChangeResponse::PendingSubscriptionChange::OrHash
314
319
  ),
315
- plan: Orb::Plan::OrHash,
320
+ plan: T.nilable(Orb::Plan::OrHash),
316
321
  price_intervals:
317
322
  T::Array[
318
323
  Orb::Models::SubscriptionSchedulePlanChangeResponse::PriceInterval::OrHash
@@ -396,6 +401,8 @@ module Orb
396
401
  metadata:,
397
402
  # The minimum intervals for this subscription sorted by the start_date.
398
403
  minimum_intervals:,
404
+ # The name of the subscription.
405
+ name:,
399
406
  # Determines the difference between the invoice issue date for subscription
400
407
  # invoices as the date that they are due. A value of `0` here represents that the
401
408
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -459,12 +466,13 @@ module Orb
459
466
  T::Array[
460
467
  Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval
461
468
  ],
469
+ name: String,
462
470
  net_terms: Integer,
463
471
  pending_subscription_change:
464
472
  T.nilable(
465
473
  Orb::Models::SubscriptionSchedulePlanChangeResponse::PendingSubscriptionChange
466
474
  ),
467
- plan: Orb::Plan,
475
+ plan: T.nilable(Orb::Plan),
468
476
  price_intervals:
469
477
  T::Array[
470
478
  Orb::Models::SubscriptionSchedulePlanChangeResponse::PriceInterval
@@ -595,6 +603,16 @@ module Orb
595
603
  sig { returns(T::Array[String]) }
596
604
  attr_accessor :applies_to_price_ids
597
605
 
606
+ # The filters that determine which prices to apply this adjustment to.
607
+ sig do
608
+ returns(
609
+ T::Array[
610
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
611
+ ]
612
+ )
613
+ end
614
+ attr_accessor :filters
615
+
598
616
  # True for adjustments that apply to an entire invocice, false for adjustments
599
617
  # that apply to only one price.
600
618
  sig { returns(T::Boolean) }
@@ -617,6 +635,10 @@ module Orb
617
635
  params(
618
636
  id: String,
619
637
  applies_to_price_ids: T::Array[String],
638
+ filters:
639
+ T::Array[
640
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::OrHash
641
+ ],
620
642
  is_invoice_level: T::Boolean,
621
643
  plan_phase_order: T.nilable(Integer),
622
644
  reason: T.nilable(String),
@@ -628,6 +650,8 @@ module Orb
628
650
  id:,
629
651
  # The price IDs that this adjustment applies to.
630
652
  applies_to_price_ids:,
653
+ # The filters that determine which prices to apply this adjustment to.
654
+ filters:,
631
655
  # True for adjustments that apply to an entire invocice, false for adjustments
632
656
  # that apply to only one price.
633
657
  is_invoice_level:,
@@ -648,6 +672,10 @@ module Orb
648
672
  id: String,
649
673
  adjustment_type: Symbol,
650
674
  applies_to_price_ids: T::Array[String],
675
+ filters:
676
+ T::Array[
677
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
678
+ ],
651
679
  is_invoice_level: T::Boolean,
652
680
  plan_phase_order: T.nilable(Integer),
653
681
  reason: T.nilable(String),
@@ -657,6 +685,154 @@ module Orb
657
685
  end
658
686
  def to_hash
659
687
  end
688
+
689
+ class Filter < Orb::Internal::Type::BaseModel
690
+ OrHash =
691
+ T.type_alias do
692
+ T.any(
693
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter,
694
+ Orb::Internal::AnyHash
695
+ )
696
+ end
697
+
698
+ # The property of the price to filter on.
699
+ sig do
700
+ returns(
701
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
702
+ )
703
+ end
704
+ attr_accessor :field
705
+
706
+ # Should prices that match the filter be included or excluded.
707
+ sig do
708
+ returns(
709
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
710
+ )
711
+ end
712
+ attr_accessor :operator
713
+
714
+ # The IDs or values that match this filter.
715
+ sig { returns(T::Array[String]) }
716
+ attr_accessor :values
717
+
718
+ sig do
719
+ params(
720
+ field:
721
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::OrSymbol,
722
+ operator:
723
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::OrSymbol,
724
+ values: T::Array[String]
725
+ ).returns(T.attached_class)
726
+ end
727
+ def self.new(
728
+ # The property of the price to filter on.
729
+ field:,
730
+ # Should prices that match the filter be included or excluded.
731
+ operator:,
732
+ # The IDs or values that match this filter.
733
+ values:
734
+ )
735
+ end
736
+
737
+ sig do
738
+ override.returns(
739
+ {
740
+ field:
741
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol,
742
+ operator:
743
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol,
744
+ values: T::Array[String]
745
+ }
746
+ )
747
+ end
748
+ def to_hash
749
+ end
750
+
751
+ # The property of the price to filter on.
752
+ module Field
753
+ extend Orb::Internal::Type::Enum
754
+
755
+ TaggedSymbol =
756
+ T.type_alias do
757
+ T.all(
758
+ Symbol,
759
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field
760
+ )
761
+ end
762
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
763
+
764
+ PRICE_ID =
765
+ T.let(
766
+ :price_id,
767
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
768
+ )
769
+ ITEM_ID =
770
+ T.let(
771
+ :item_id,
772
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
773
+ )
774
+ PRICE_TYPE =
775
+ T.let(
776
+ :price_type,
777
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
778
+ )
779
+ CURRENCY =
780
+ T.let(
781
+ :currency,
782
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
783
+ )
784
+ PRICING_UNIT_ID =
785
+ T.let(
786
+ :pricing_unit_id,
787
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
788
+ )
789
+
790
+ sig do
791
+ override.returns(
792
+ T::Array[
793
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
794
+ ]
795
+ )
796
+ end
797
+ def self.values
798
+ end
799
+ end
800
+
801
+ # Should prices that match the filter be included or excluded.
802
+ module Operator
803
+ extend Orb::Internal::Type::Enum
804
+
805
+ TaggedSymbol =
806
+ T.type_alias do
807
+ T.all(
808
+ Symbol,
809
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator
810
+ )
811
+ end
812
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
813
+
814
+ INCLUDES =
815
+ T.let(
816
+ :includes,
817
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
818
+ )
819
+ EXCLUDES =
820
+ T.let(
821
+ :excludes,
822
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
823
+ )
824
+
825
+ sig do
826
+ override.returns(
827
+ T::Array[
828
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
829
+ ]
830
+ )
831
+ end
832
+ def self.values
833
+ end
834
+ end
835
+ end
660
836
  end
661
837
 
662
838
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -683,6 +859,16 @@ module Orb
683
859
  sig { returns(T::Array[String]) }
684
860
  attr_accessor :applies_to_price_ids
685
861
 
862
+ # The filters that determine which prices to apply this adjustment to.
863
+ sig do
864
+ returns(
865
+ T::Array[
866
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
867
+ ]
868
+ )
869
+ end
870
+ attr_accessor :filters
871
+
686
872
  # True for adjustments that apply to an entire invocice, false for adjustments
687
873
  # that apply to only one price.
688
874
  sig { returns(T::Boolean) }
@@ -701,6 +887,10 @@ module Orb
701
887
  id: String,
702
888
  amount_discount: String,
703
889
  applies_to_price_ids: T::Array[String],
890
+ filters:
891
+ T::Array[
892
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::OrHash
893
+ ],
704
894
  is_invoice_level: T::Boolean,
705
895
  plan_phase_order: T.nilable(Integer),
706
896
  reason: T.nilable(String),
@@ -714,6 +904,8 @@ module Orb
714
904
  amount_discount:,
715
905
  # The price IDs that this adjustment applies to.
716
906
  applies_to_price_ids:,
907
+ # The filters that determine which prices to apply this adjustment to.
908
+ filters:,
717
909
  # True for adjustments that apply to an entire invocice, false for adjustments
718
910
  # that apply to only one price.
719
911
  is_invoice_level:,
@@ -732,6 +924,10 @@ module Orb
732
924
  adjustment_type: Symbol,
733
925
  amount_discount: String,
734
926
  applies_to_price_ids: T::Array[String],
927
+ filters:
928
+ T::Array[
929
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
930
+ ],
735
931
  is_invoice_level: T::Boolean,
736
932
  plan_phase_order: T.nilable(Integer),
737
933
  reason: T.nilable(String)
@@ -740,6 +936,154 @@ module Orb
740
936
  end
741
937
  def to_hash
742
938
  end
939
+
940
+ class Filter < Orb::Internal::Type::BaseModel
941
+ OrHash =
942
+ T.type_alias do
943
+ T.any(
944
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter,
945
+ Orb::Internal::AnyHash
946
+ )
947
+ end
948
+
949
+ # The property of the price to filter on.
950
+ sig do
951
+ returns(
952
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
953
+ )
954
+ end
955
+ attr_accessor :field
956
+
957
+ # Should prices that match the filter be included or excluded.
958
+ sig do
959
+ returns(
960
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
961
+ )
962
+ end
963
+ attr_accessor :operator
964
+
965
+ # The IDs or values that match this filter.
966
+ sig { returns(T::Array[String]) }
967
+ attr_accessor :values
968
+
969
+ sig do
970
+ params(
971
+ field:
972
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::OrSymbol,
973
+ operator:
974
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::OrSymbol,
975
+ values: T::Array[String]
976
+ ).returns(T.attached_class)
977
+ end
978
+ def self.new(
979
+ # The property of the price to filter on.
980
+ field:,
981
+ # Should prices that match the filter be included or excluded.
982
+ operator:,
983
+ # The IDs or values that match this filter.
984
+ values:
985
+ )
986
+ end
987
+
988
+ sig do
989
+ override.returns(
990
+ {
991
+ field:
992
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol,
993
+ operator:
994
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol,
995
+ values: T::Array[String]
996
+ }
997
+ )
998
+ end
999
+ def to_hash
1000
+ end
1001
+
1002
+ # The property of the price to filter on.
1003
+ module Field
1004
+ extend Orb::Internal::Type::Enum
1005
+
1006
+ TaggedSymbol =
1007
+ T.type_alias do
1008
+ T.all(
1009
+ Symbol,
1010
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field
1011
+ )
1012
+ end
1013
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1014
+
1015
+ PRICE_ID =
1016
+ T.let(
1017
+ :price_id,
1018
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1019
+ )
1020
+ ITEM_ID =
1021
+ T.let(
1022
+ :item_id,
1023
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1024
+ )
1025
+ PRICE_TYPE =
1026
+ T.let(
1027
+ :price_type,
1028
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1029
+ )
1030
+ CURRENCY =
1031
+ T.let(
1032
+ :currency,
1033
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1034
+ )
1035
+ PRICING_UNIT_ID =
1036
+ T.let(
1037
+ :pricing_unit_id,
1038
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1039
+ )
1040
+
1041
+ sig do
1042
+ override.returns(
1043
+ T::Array[
1044
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1045
+ ]
1046
+ )
1047
+ end
1048
+ def self.values
1049
+ end
1050
+ end
1051
+
1052
+ # Should prices that match the filter be included or excluded.
1053
+ module Operator
1054
+ extend Orb::Internal::Type::Enum
1055
+
1056
+ TaggedSymbol =
1057
+ T.type_alias do
1058
+ T.all(
1059
+ Symbol,
1060
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator
1061
+ )
1062
+ end
1063
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1064
+
1065
+ INCLUDES =
1066
+ T.let(
1067
+ :includes,
1068
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1069
+ )
1070
+ EXCLUDES =
1071
+ T.let(
1072
+ :excludes,
1073
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1074
+ )
1075
+
1076
+ sig do
1077
+ override.returns(
1078
+ T::Array[
1079
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1080
+ ]
1081
+ )
1082
+ end
1083
+ def self.values
1084
+ end
1085
+ end
1086
+ end
743
1087
  end
744
1088
 
745
1089
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -761,6 +1105,16 @@ module Orb
761
1105
  sig { returns(T::Array[String]) }
762
1106
  attr_accessor :applies_to_price_ids
763
1107
 
1108
+ # The filters that determine which prices to apply this adjustment to.
1109
+ sig do
1110
+ returns(
1111
+ T::Array[
1112
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1113
+ ]
1114
+ )
1115
+ end
1116
+ attr_accessor :filters
1117
+
764
1118
  # True for adjustments that apply to an entire invocice, false for adjustments
765
1119
  # that apply to only one price.
766
1120
  sig { returns(T::Boolean) }
@@ -783,6 +1137,10 @@ module Orb
783
1137
  params(
784
1138
  id: String,
785
1139
  applies_to_price_ids: T::Array[String],
1140
+ filters:
1141
+ T::Array[
1142
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::OrHash
1143
+ ],
786
1144
  is_invoice_level: T::Boolean,
787
1145
  percentage_discount: Float,
788
1146
  plan_phase_order: T.nilable(Integer),
@@ -794,6 +1152,8 @@ module Orb
794
1152
  id:,
795
1153
  # The price IDs that this adjustment applies to.
796
1154
  applies_to_price_ids:,
1155
+ # The filters that determine which prices to apply this adjustment to.
1156
+ filters:,
797
1157
  # True for adjustments that apply to an entire invocice, false for adjustments
798
1158
  # that apply to only one price.
799
1159
  is_invoice_level:,
@@ -814,6 +1174,10 @@ module Orb
814
1174
  id: String,
815
1175
  adjustment_type: Symbol,
816
1176
  applies_to_price_ids: T::Array[String],
1177
+ filters:
1178
+ T::Array[
1179
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1180
+ ],
817
1181
  is_invoice_level: T::Boolean,
818
1182
  percentage_discount: Float,
819
1183
  plan_phase_order: T.nilable(Integer),
@@ -823,6 +1187,154 @@ module Orb
823
1187
  end
824
1188
  def to_hash
825
1189
  end
1190
+
1191
+ class Filter < Orb::Internal::Type::BaseModel
1192
+ OrHash =
1193
+ T.type_alias do
1194
+ T.any(
1195
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter,
1196
+ Orb::Internal::AnyHash
1197
+ )
1198
+ end
1199
+
1200
+ # The property of the price to filter on.
1201
+ sig do
1202
+ returns(
1203
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1204
+ )
1205
+ end
1206
+ attr_accessor :field
1207
+
1208
+ # Should prices that match the filter be included or excluded.
1209
+ sig do
1210
+ returns(
1211
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1212
+ )
1213
+ end
1214
+ attr_accessor :operator
1215
+
1216
+ # The IDs or values that match this filter.
1217
+ sig { returns(T::Array[String]) }
1218
+ attr_accessor :values
1219
+
1220
+ sig do
1221
+ params(
1222
+ field:
1223
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::OrSymbol,
1224
+ operator:
1225
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol,
1226
+ values: T::Array[String]
1227
+ ).returns(T.attached_class)
1228
+ end
1229
+ def self.new(
1230
+ # The property of the price to filter on.
1231
+ field:,
1232
+ # Should prices that match the filter be included or excluded.
1233
+ operator:,
1234
+ # The IDs or values that match this filter.
1235
+ values:
1236
+ )
1237
+ end
1238
+
1239
+ sig do
1240
+ override.returns(
1241
+ {
1242
+ field:
1243
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol,
1244
+ operator:
1245
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol,
1246
+ values: T::Array[String]
1247
+ }
1248
+ )
1249
+ end
1250
+ def to_hash
1251
+ end
1252
+
1253
+ # The property of the price to filter on.
1254
+ module Field
1255
+ extend Orb::Internal::Type::Enum
1256
+
1257
+ TaggedSymbol =
1258
+ T.type_alias do
1259
+ T.all(
1260
+ Symbol,
1261
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field
1262
+ )
1263
+ end
1264
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1265
+
1266
+ PRICE_ID =
1267
+ T.let(
1268
+ :price_id,
1269
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1270
+ )
1271
+ ITEM_ID =
1272
+ T.let(
1273
+ :item_id,
1274
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1275
+ )
1276
+ PRICE_TYPE =
1277
+ T.let(
1278
+ :price_type,
1279
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1280
+ )
1281
+ CURRENCY =
1282
+ T.let(
1283
+ :currency,
1284
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1285
+ )
1286
+ PRICING_UNIT_ID =
1287
+ T.let(
1288
+ :pricing_unit_id,
1289
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1290
+ )
1291
+
1292
+ sig do
1293
+ override.returns(
1294
+ T::Array[
1295
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1296
+ ]
1297
+ )
1298
+ end
1299
+ def self.values
1300
+ end
1301
+ end
1302
+
1303
+ # Should prices that match the filter be included or excluded.
1304
+ module Operator
1305
+ extend Orb::Internal::Type::Enum
1306
+
1307
+ TaggedSymbol =
1308
+ T.type_alias do
1309
+ T.all(
1310
+ Symbol,
1311
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator
1312
+ )
1313
+ end
1314
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1315
+
1316
+ INCLUDES =
1317
+ T.let(
1318
+ :includes,
1319
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1320
+ )
1321
+ EXCLUDES =
1322
+ T.let(
1323
+ :excludes,
1324
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1325
+ )
1326
+
1327
+ sig do
1328
+ override.returns(
1329
+ T::Array[
1330
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1331
+ ]
1332
+ )
1333
+ end
1334
+ def self.values
1335
+ end
1336
+ end
1337
+ end
826
1338
  end
827
1339
 
828
1340
  class Minimum < Orb::Internal::Type::BaseModel
@@ -844,6 +1356,16 @@ module Orb
844
1356
  sig { returns(T::Array[String]) }
845
1357
  attr_accessor :applies_to_price_ids
846
1358
 
1359
+ # The filters that determine which prices to apply this adjustment to.
1360
+ sig do
1361
+ returns(
1362
+ T::Array[
1363
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter
1364
+ ]
1365
+ )
1366
+ end
1367
+ attr_accessor :filters
1368
+
847
1369
  # True for adjustments that apply to an entire invocice, false for adjustments
848
1370
  # that apply to only one price.
849
1371
  sig { returns(T::Boolean) }
@@ -870,6 +1392,10 @@ module Orb
870
1392
  params(
871
1393
  id: String,
872
1394
  applies_to_price_ids: T::Array[String],
1395
+ filters:
1396
+ T::Array[
1397
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::OrHash
1398
+ ],
873
1399
  is_invoice_level: T::Boolean,
874
1400
  item_id: String,
875
1401
  minimum_amount: String,
@@ -882,6 +1408,8 @@ module Orb
882
1408
  id:,
883
1409
  # The price IDs that this adjustment applies to.
884
1410
  applies_to_price_ids:,
1411
+ # The filters that determine which prices to apply this adjustment to.
1412
+ filters:,
885
1413
  # True for adjustments that apply to an entire invocice, false for adjustments
886
1414
  # that apply to only one price.
887
1415
  is_invoice_level:,
@@ -904,6 +1432,10 @@ module Orb
904
1432
  id: String,
905
1433
  adjustment_type: Symbol,
906
1434
  applies_to_price_ids: T::Array[String],
1435
+ filters:
1436
+ T::Array[
1437
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter
1438
+ ],
907
1439
  is_invoice_level: T::Boolean,
908
1440
  item_id: String,
909
1441
  minimum_amount: String,
@@ -914,6 +1446,154 @@ module Orb
914
1446
  end
915
1447
  def to_hash
916
1448
  end
1449
+
1450
+ class Filter < Orb::Internal::Type::BaseModel
1451
+ OrHash =
1452
+ T.type_alias do
1453
+ T.any(
1454
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter,
1455
+ Orb::Internal::AnyHash
1456
+ )
1457
+ end
1458
+
1459
+ # The property of the price to filter on.
1460
+ sig do
1461
+ returns(
1462
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1463
+ )
1464
+ end
1465
+ attr_accessor :field
1466
+
1467
+ # Should prices that match the filter be included or excluded.
1468
+ sig do
1469
+ returns(
1470
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1471
+ )
1472
+ end
1473
+ attr_accessor :operator
1474
+
1475
+ # The IDs or values that match this filter.
1476
+ sig { returns(T::Array[String]) }
1477
+ attr_accessor :values
1478
+
1479
+ sig do
1480
+ params(
1481
+ field:
1482
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::OrSymbol,
1483
+ operator:
1484
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::OrSymbol,
1485
+ values: T::Array[String]
1486
+ ).returns(T.attached_class)
1487
+ end
1488
+ def self.new(
1489
+ # The property of the price to filter on.
1490
+ field:,
1491
+ # Should prices that match the filter be included or excluded.
1492
+ operator:,
1493
+ # The IDs or values that match this filter.
1494
+ values:
1495
+ )
1496
+ end
1497
+
1498
+ sig do
1499
+ override.returns(
1500
+ {
1501
+ field:
1502
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol,
1503
+ operator:
1504
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol,
1505
+ values: T::Array[String]
1506
+ }
1507
+ )
1508
+ end
1509
+ def to_hash
1510
+ end
1511
+
1512
+ # The property of the price to filter on.
1513
+ module Field
1514
+ extend Orb::Internal::Type::Enum
1515
+
1516
+ TaggedSymbol =
1517
+ T.type_alias do
1518
+ T.all(
1519
+ Symbol,
1520
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field
1521
+ )
1522
+ end
1523
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1524
+
1525
+ PRICE_ID =
1526
+ T.let(
1527
+ :price_id,
1528
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1529
+ )
1530
+ ITEM_ID =
1531
+ T.let(
1532
+ :item_id,
1533
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1534
+ )
1535
+ PRICE_TYPE =
1536
+ T.let(
1537
+ :price_type,
1538
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1539
+ )
1540
+ CURRENCY =
1541
+ T.let(
1542
+ :currency,
1543
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1544
+ )
1545
+ PRICING_UNIT_ID =
1546
+ T.let(
1547
+ :pricing_unit_id,
1548
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1549
+ )
1550
+
1551
+ sig do
1552
+ override.returns(
1553
+ T::Array[
1554
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1555
+ ]
1556
+ )
1557
+ end
1558
+ def self.values
1559
+ end
1560
+ end
1561
+
1562
+ # Should prices that match the filter be included or excluded.
1563
+ module Operator
1564
+ extend Orb::Internal::Type::Enum
1565
+
1566
+ TaggedSymbol =
1567
+ T.type_alias do
1568
+ T.all(
1569
+ Symbol,
1570
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator
1571
+ )
1572
+ end
1573
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1574
+
1575
+ INCLUDES =
1576
+ T.let(
1577
+ :includes,
1578
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1579
+ )
1580
+ EXCLUDES =
1581
+ T.let(
1582
+ :excludes,
1583
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1584
+ )
1585
+
1586
+ sig do
1587
+ override.returns(
1588
+ T::Array[
1589
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1590
+ ]
1591
+ )
1592
+ end
1593
+ def self.values
1594
+ end
1595
+ end
1596
+ end
917
1597
  end
918
1598
 
919
1599
  class Maximum < Orb::Internal::Type::BaseModel
@@ -935,6 +1615,16 @@ module Orb
935
1615
  sig { returns(T::Array[String]) }
936
1616
  attr_accessor :applies_to_price_ids
937
1617
 
1618
+ # The filters that determine which prices to apply this adjustment to.
1619
+ sig do
1620
+ returns(
1621
+ T::Array[
1622
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter
1623
+ ]
1624
+ )
1625
+ end
1626
+ attr_accessor :filters
1627
+
938
1628
  # True for adjustments that apply to an entire invocice, false for adjustments
939
1629
  # that apply to only one price.
940
1630
  sig { returns(T::Boolean) }
@@ -957,6 +1647,10 @@ module Orb
957
1647
  params(
958
1648
  id: String,
959
1649
  applies_to_price_ids: T::Array[String],
1650
+ filters:
1651
+ T::Array[
1652
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::OrHash
1653
+ ],
960
1654
  is_invoice_level: T::Boolean,
961
1655
  maximum_amount: String,
962
1656
  plan_phase_order: T.nilable(Integer),
@@ -968,6 +1662,8 @@ module Orb
968
1662
  id:,
969
1663
  # The price IDs that this adjustment applies to.
970
1664
  applies_to_price_ids:,
1665
+ # The filters that determine which prices to apply this adjustment to.
1666
+ filters:,
971
1667
  # True for adjustments that apply to an entire invocice, false for adjustments
972
1668
  # that apply to only one price.
973
1669
  is_invoice_level:,
@@ -988,6 +1684,10 @@ module Orb
988
1684
  id: String,
989
1685
  adjustment_type: Symbol,
990
1686
  applies_to_price_ids: T::Array[String],
1687
+ filters:
1688
+ T::Array[
1689
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter
1690
+ ],
991
1691
  is_invoice_level: T::Boolean,
992
1692
  maximum_amount: String,
993
1693
  plan_phase_order: T.nilable(Integer),
@@ -997,6 +1697,154 @@ module Orb
997
1697
  end
998
1698
  def to_hash
999
1699
  end
1700
+
1701
+ class Filter < Orb::Internal::Type::BaseModel
1702
+ OrHash =
1703
+ T.type_alias do
1704
+ T.any(
1705
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter,
1706
+ Orb::Internal::AnyHash
1707
+ )
1708
+ end
1709
+
1710
+ # The property of the price to filter on.
1711
+ sig do
1712
+ returns(
1713
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1714
+ )
1715
+ end
1716
+ attr_accessor :field
1717
+
1718
+ # Should prices that match the filter be included or excluded.
1719
+ sig do
1720
+ returns(
1721
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1722
+ )
1723
+ end
1724
+ attr_accessor :operator
1725
+
1726
+ # The IDs or values that match this filter.
1727
+ sig { returns(T::Array[String]) }
1728
+ attr_accessor :values
1729
+
1730
+ sig do
1731
+ params(
1732
+ field:
1733
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::OrSymbol,
1734
+ operator:
1735
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::OrSymbol,
1736
+ values: T::Array[String]
1737
+ ).returns(T.attached_class)
1738
+ end
1739
+ def self.new(
1740
+ # The property of the price to filter on.
1741
+ field:,
1742
+ # Should prices that match the filter be included or excluded.
1743
+ operator:,
1744
+ # The IDs or values that match this filter.
1745
+ values:
1746
+ )
1747
+ end
1748
+
1749
+ sig do
1750
+ override.returns(
1751
+ {
1752
+ field:
1753
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol,
1754
+ operator:
1755
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol,
1756
+ values: T::Array[String]
1757
+ }
1758
+ )
1759
+ end
1760
+ def to_hash
1761
+ end
1762
+
1763
+ # The property of the price to filter on.
1764
+ module Field
1765
+ extend Orb::Internal::Type::Enum
1766
+
1767
+ TaggedSymbol =
1768
+ T.type_alias do
1769
+ T.all(
1770
+ Symbol,
1771
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field
1772
+ )
1773
+ end
1774
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1775
+
1776
+ PRICE_ID =
1777
+ T.let(
1778
+ :price_id,
1779
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1780
+ )
1781
+ ITEM_ID =
1782
+ T.let(
1783
+ :item_id,
1784
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1785
+ )
1786
+ PRICE_TYPE =
1787
+ T.let(
1788
+ :price_type,
1789
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1790
+ )
1791
+ CURRENCY =
1792
+ T.let(
1793
+ :currency,
1794
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1795
+ )
1796
+ PRICING_UNIT_ID =
1797
+ T.let(
1798
+ :pricing_unit_id,
1799
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1800
+ )
1801
+
1802
+ sig do
1803
+ override.returns(
1804
+ T::Array[
1805
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1806
+ ]
1807
+ )
1808
+ end
1809
+ def self.values
1810
+ end
1811
+ end
1812
+
1813
+ # Should prices that match the filter be included or excluded.
1814
+ module Operator
1815
+ extend Orb::Internal::Type::Enum
1816
+
1817
+ TaggedSymbol =
1818
+ T.type_alias do
1819
+ T.all(
1820
+ Symbol,
1821
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator
1822
+ )
1823
+ end
1824
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1825
+
1826
+ INCLUDES =
1827
+ T.let(
1828
+ :includes,
1829
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1830
+ )
1831
+ EXCLUDES =
1832
+ T.let(
1833
+ :excludes,
1834
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1835
+ )
1836
+
1837
+ sig do
1838
+ override.returns(
1839
+ T::Array[
1840
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1841
+ ]
1842
+ )
1843
+ end
1844
+ def self.values
1845
+ end
1846
+ end
1847
+ end
1000
1848
  end
1001
1849
 
1002
1850
  sig do
@@ -1099,10 +1947,6 @@ module Orb
1099
1947
  sig { returns(String) }
1100
1948
  attr_accessor :amount_discount
1101
1949
 
1102
- # The price ids that this discount interval applies to.
1103
- sig { returns(T::Array[String]) }
1104
- attr_accessor :applies_to_price_ids
1105
-
1106
1950
  # The price interval ids that this discount interval applies to.
1107
1951
  sig { returns(T::Array[String]) }
1108
1952
  attr_accessor :applies_to_price_interval_ids
@@ -1114,6 +1958,16 @@ module Orb
1114
1958
  sig { returns(T.nilable(Time)) }
1115
1959
  attr_accessor :end_date
1116
1960
 
1961
+ # The filters that determine which prices this discount interval applies to.
1962
+ sig do
1963
+ returns(
1964
+ T::Array[
1965
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter
1966
+ ]
1967
+ )
1968
+ end
1969
+ attr_accessor :filters
1970
+
1117
1971
  # The start date of the discount interval.
1118
1972
  sig { returns(Time) }
1119
1973
  attr_accessor :start_date
@@ -1121,9 +1975,12 @@ module Orb
1121
1975
  sig do
1122
1976
  params(
1123
1977
  amount_discount: String,
1124
- applies_to_price_ids: T::Array[String],
1125
1978
  applies_to_price_interval_ids: T::Array[String],
1126
1979
  end_date: T.nilable(Time),
1980
+ filters:
1981
+ T::Array[
1982
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::OrHash
1983
+ ],
1127
1984
  start_date: Time,
1128
1985
  discount_type: Symbol
1129
1986
  ).returns(T.attached_class)
@@ -1131,12 +1988,12 @@ module Orb
1131
1988
  def self.new(
1132
1989
  # Only available if discount_type is `amount`.
1133
1990
  amount_discount:,
1134
- # The price ids that this discount interval applies to.
1135
- applies_to_price_ids:,
1136
1991
  # The price interval ids that this discount interval applies to.
1137
1992
  applies_to_price_interval_ids:,
1138
1993
  # The end date of the discount interval.
1139
1994
  end_date:,
1995
+ # The filters that determine which prices this discount interval applies to.
1996
+ filters:,
1140
1997
  # The start date of the discount interval.
1141
1998
  start_date:,
1142
1999
  discount_type: :amount
@@ -1147,16 +2004,167 @@ module Orb
1147
2004
  override.returns(
1148
2005
  {
1149
2006
  amount_discount: String,
1150
- applies_to_price_ids: T::Array[String],
1151
2007
  applies_to_price_interval_ids: T::Array[String],
1152
2008
  discount_type: Symbol,
1153
2009
  end_date: T.nilable(Time),
2010
+ filters:
2011
+ T::Array[
2012
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter
2013
+ ],
1154
2014
  start_date: Time
1155
2015
  }
1156
2016
  )
1157
2017
  end
1158
2018
  def to_hash
1159
2019
  end
2020
+
2021
+ class Filter < Orb::Internal::Type::BaseModel
2022
+ OrHash =
2023
+ T.type_alias do
2024
+ T.any(
2025
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter,
2026
+ Orb::Internal::AnyHash
2027
+ )
2028
+ end
2029
+
2030
+ # The property of the price to filter on.
2031
+ sig do
2032
+ returns(
2033
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2034
+ )
2035
+ end
2036
+ attr_accessor :field
2037
+
2038
+ # Should prices that match the filter be included or excluded.
2039
+ sig do
2040
+ returns(
2041
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2042
+ )
2043
+ end
2044
+ attr_accessor :operator
2045
+
2046
+ # The IDs or values that match this filter.
2047
+ sig { returns(T::Array[String]) }
2048
+ attr_accessor :values
2049
+
2050
+ sig do
2051
+ params(
2052
+ field:
2053
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::OrSymbol,
2054
+ operator:
2055
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator::OrSymbol,
2056
+ values: T::Array[String]
2057
+ ).returns(T.attached_class)
2058
+ end
2059
+ def self.new(
2060
+ # The property of the price to filter on.
2061
+ field:,
2062
+ # Should prices that match the filter be included or excluded.
2063
+ operator:,
2064
+ # The IDs or values that match this filter.
2065
+ values:
2066
+ )
2067
+ end
2068
+
2069
+ sig do
2070
+ override.returns(
2071
+ {
2072
+ field:
2073
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol,
2074
+ operator:
2075
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol,
2076
+ values: T::Array[String]
2077
+ }
2078
+ )
2079
+ end
2080
+ def to_hash
2081
+ end
2082
+
2083
+ # The property of the price to filter on.
2084
+ module Field
2085
+ extend Orb::Internal::Type::Enum
2086
+
2087
+ TaggedSymbol =
2088
+ T.type_alias do
2089
+ T.all(
2090
+ Symbol,
2091
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field
2092
+ )
2093
+ end
2094
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2095
+
2096
+ PRICE_ID =
2097
+ T.let(
2098
+ :price_id,
2099
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2100
+ )
2101
+ ITEM_ID =
2102
+ T.let(
2103
+ :item_id,
2104
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2105
+ )
2106
+ PRICE_TYPE =
2107
+ T.let(
2108
+ :price_type,
2109
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2110
+ )
2111
+ CURRENCY =
2112
+ T.let(
2113
+ :currency,
2114
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2115
+ )
2116
+ PRICING_UNIT_ID =
2117
+ T.let(
2118
+ :pricing_unit_id,
2119
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2120
+ )
2121
+
2122
+ sig do
2123
+ override.returns(
2124
+ T::Array[
2125
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2126
+ ]
2127
+ )
2128
+ end
2129
+ def self.values
2130
+ end
2131
+ end
2132
+
2133
+ # Should prices that match the filter be included or excluded.
2134
+ module Operator
2135
+ extend Orb::Internal::Type::Enum
2136
+
2137
+ TaggedSymbol =
2138
+ T.type_alias do
2139
+ T.all(
2140
+ Symbol,
2141
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator
2142
+ )
2143
+ end
2144
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2145
+
2146
+ INCLUDES =
2147
+ T.let(
2148
+ :includes,
2149
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2150
+ )
2151
+ EXCLUDES =
2152
+ T.let(
2153
+ :excludes,
2154
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2155
+ )
2156
+
2157
+ sig do
2158
+ override.returns(
2159
+ T::Array[
2160
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2161
+ ]
2162
+ )
2163
+ end
2164
+ def self.values
2165
+ end
2166
+ end
2167
+ end
1160
2168
  end
1161
2169
 
1162
2170
  class Percentage < Orb::Internal::Type::BaseModel
@@ -1168,10 +2176,6 @@ module Orb
1168
2176
  )
1169
2177
  end
1170
2178
 
1171
- # The price ids that this discount interval applies to.
1172
- sig { returns(T::Array[String]) }
1173
- attr_accessor :applies_to_price_ids
1174
-
1175
2179
  # The price interval ids that this discount interval applies to.
1176
2180
  sig { returns(T::Array[String]) }
1177
2181
  attr_accessor :applies_to_price_interval_ids
@@ -1183,6 +2187,16 @@ module Orb
1183
2187
  sig { returns(T.nilable(Time)) }
1184
2188
  attr_accessor :end_date
1185
2189
 
2190
+ # The filters that determine which prices this discount interval applies to.
2191
+ sig do
2192
+ returns(
2193
+ T::Array[
2194
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter
2195
+ ]
2196
+ )
2197
+ end
2198
+ attr_accessor :filters
2199
+
1186
2200
  # Only available if discount_type is `percentage`.This is a number between 0
1187
2201
  # and 1.
1188
2202
  sig { returns(Float) }
@@ -1194,21 +2208,24 @@ module Orb
1194
2208
 
1195
2209
  sig do
1196
2210
  params(
1197
- applies_to_price_ids: T::Array[String],
1198
2211
  applies_to_price_interval_ids: T::Array[String],
1199
2212
  end_date: T.nilable(Time),
2213
+ filters:
2214
+ T::Array[
2215
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::OrHash
2216
+ ],
1200
2217
  percentage_discount: Float,
1201
2218
  start_date: Time,
1202
2219
  discount_type: Symbol
1203
2220
  ).returns(T.attached_class)
1204
2221
  end
1205
2222
  def self.new(
1206
- # The price ids that this discount interval applies to.
1207
- applies_to_price_ids:,
1208
2223
  # The price interval ids that this discount interval applies to.
1209
2224
  applies_to_price_interval_ids:,
1210
2225
  # The end date of the discount interval.
1211
2226
  end_date:,
2227
+ # The filters that determine which prices this discount interval applies to.
2228
+ filters:,
1212
2229
  # Only available if discount_type is `percentage`.This is a number between 0
1213
2230
  # and 1.
1214
2231
  percentage_discount:,
@@ -1221,10 +2238,13 @@ module Orb
1221
2238
  sig do
1222
2239
  override.returns(
1223
2240
  {
1224
- applies_to_price_ids: T::Array[String],
1225
2241
  applies_to_price_interval_ids: T::Array[String],
1226
2242
  discount_type: Symbol,
1227
2243
  end_date: T.nilable(Time),
2244
+ filters:
2245
+ T::Array[
2246
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter
2247
+ ],
1228
2248
  percentage_discount: Float,
1229
2249
  start_date: Time
1230
2250
  }
@@ -1232,6 +2252,154 @@ module Orb
1232
2252
  end
1233
2253
  def to_hash
1234
2254
  end
2255
+
2256
+ class Filter < Orb::Internal::Type::BaseModel
2257
+ OrHash =
2258
+ T.type_alias do
2259
+ T.any(
2260
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter,
2261
+ Orb::Internal::AnyHash
2262
+ )
2263
+ end
2264
+
2265
+ # The property of the price to filter on.
2266
+ sig do
2267
+ returns(
2268
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2269
+ )
2270
+ end
2271
+ attr_accessor :field
2272
+
2273
+ # Should prices that match the filter be included or excluded.
2274
+ sig do
2275
+ returns(
2276
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2277
+ )
2278
+ end
2279
+ attr_accessor :operator
2280
+
2281
+ # The IDs or values that match this filter.
2282
+ sig { returns(T::Array[String]) }
2283
+ attr_accessor :values
2284
+
2285
+ sig do
2286
+ params(
2287
+ field:
2288
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::OrSymbol,
2289
+ operator:
2290
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator::OrSymbol,
2291
+ values: T::Array[String]
2292
+ ).returns(T.attached_class)
2293
+ end
2294
+ def self.new(
2295
+ # The property of the price to filter on.
2296
+ field:,
2297
+ # Should prices that match the filter be included or excluded.
2298
+ operator:,
2299
+ # The IDs or values that match this filter.
2300
+ values:
2301
+ )
2302
+ end
2303
+
2304
+ sig do
2305
+ override.returns(
2306
+ {
2307
+ field:
2308
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol,
2309
+ operator:
2310
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol,
2311
+ values: T::Array[String]
2312
+ }
2313
+ )
2314
+ end
2315
+ def to_hash
2316
+ end
2317
+
2318
+ # The property of the price to filter on.
2319
+ module Field
2320
+ extend Orb::Internal::Type::Enum
2321
+
2322
+ TaggedSymbol =
2323
+ T.type_alias do
2324
+ T.all(
2325
+ Symbol,
2326
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field
2327
+ )
2328
+ end
2329
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2330
+
2331
+ PRICE_ID =
2332
+ T.let(
2333
+ :price_id,
2334
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2335
+ )
2336
+ ITEM_ID =
2337
+ T.let(
2338
+ :item_id,
2339
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2340
+ )
2341
+ PRICE_TYPE =
2342
+ T.let(
2343
+ :price_type,
2344
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2345
+ )
2346
+ CURRENCY =
2347
+ T.let(
2348
+ :currency,
2349
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2350
+ )
2351
+ PRICING_UNIT_ID =
2352
+ T.let(
2353
+ :pricing_unit_id,
2354
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2355
+ )
2356
+
2357
+ sig do
2358
+ override.returns(
2359
+ T::Array[
2360
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2361
+ ]
2362
+ )
2363
+ end
2364
+ def self.values
2365
+ end
2366
+ end
2367
+
2368
+ # Should prices that match the filter be included or excluded.
2369
+ module Operator
2370
+ extend Orb::Internal::Type::Enum
2371
+
2372
+ TaggedSymbol =
2373
+ T.type_alias do
2374
+ T.all(
2375
+ Symbol,
2376
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator
2377
+ )
2378
+ end
2379
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2380
+
2381
+ INCLUDES =
2382
+ T.let(
2383
+ :includes,
2384
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2385
+ )
2386
+ EXCLUDES =
2387
+ T.let(
2388
+ :excludes,
2389
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2390
+ )
2391
+
2392
+ sig do
2393
+ override.returns(
2394
+ T::Array[
2395
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2396
+ ]
2397
+ )
2398
+ end
2399
+ def self.values
2400
+ end
2401
+ end
2402
+ end
1235
2403
  end
1236
2404
 
1237
2405
  class Usage < Orb::Internal::Type::BaseModel
@@ -1243,10 +2411,6 @@ module Orb
1243
2411
  )
1244
2412
  end
1245
2413
 
1246
- # The price ids that this discount interval applies to.
1247
- sig { returns(T::Array[String]) }
1248
- attr_accessor :applies_to_price_ids
1249
-
1250
2414
  # The price interval ids that this discount interval applies to.
1251
2415
  sig { returns(T::Array[String]) }
1252
2416
  attr_accessor :applies_to_price_interval_ids
@@ -1258,6 +2422,16 @@ module Orb
1258
2422
  sig { returns(T.nilable(Time)) }
1259
2423
  attr_accessor :end_date
1260
2424
 
2425
+ # The filters that determine which prices this discount interval applies to.
2426
+ sig do
2427
+ returns(
2428
+ T::Array[
2429
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter
2430
+ ]
2431
+ )
2432
+ end
2433
+ attr_accessor :filters
2434
+
1261
2435
  # The start date of the discount interval.
1262
2436
  sig { returns(Time) }
1263
2437
  attr_accessor :start_date
@@ -1269,21 +2443,24 @@ module Orb
1269
2443
 
1270
2444
  sig do
1271
2445
  params(
1272
- applies_to_price_ids: T::Array[String],
1273
2446
  applies_to_price_interval_ids: T::Array[String],
1274
2447
  end_date: T.nilable(Time),
2448
+ filters:
2449
+ T::Array[
2450
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::OrHash
2451
+ ],
1275
2452
  start_date: Time,
1276
2453
  usage_discount: Float,
1277
2454
  discount_type: Symbol
1278
2455
  ).returns(T.attached_class)
1279
2456
  end
1280
2457
  def self.new(
1281
- # The price ids that this discount interval applies to.
1282
- applies_to_price_ids:,
1283
2458
  # The price interval ids that this discount interval applies to.
1284
2459
  applies_to_price_interval_ids:,
1285
2460
  # The end date of the discount interval.
1286
2461
  end_date:,
2462
+ # The filters that determine which prices this discount interval applies to.
2463
+ filters:,
1287
2464
  # The start date of the discount interval.
1288
2465
  start_date:,
1289
2466
  # Only available if discount_type is `usage`. Number of usage units that this
@@ -1296,10 +2473,13 @@ module Orb
1296
2473
  sig do
1297
2474
  override.returns(
1298
2475
  {
1299
- applies_to_price_ids: T::Array[String],
1300
2476
  applies_to_price_interval_ids: T::Array[String],
1301
2477
  discount_type: Symbol,
1302
2478
  end_date: T.nilable(Time),
2479
+ filters:
2480
+ T::Array[
2481
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter
2482
+ ],
1303
2483
  start_date: Time,
1304
2484
  usage_discount: Float
1305
2485
  }
@@ -1307,6 +2487,154 @@ module Orb
1307
2487
  end
1308
2488
  def to_hash
1309
2489
  end
2490
+
2491
+ class Filter < Orb::Internal::Type::BaseModel
2492
+ OrHash =
2493
+ T.type_alias do
2494
+ T.any(
2495
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter,
2496
+ Orb::Internal::AnyHash
2497
+ )
2498
+ end
2499
+
2500
+ # The property of the price to filter on.
2501
+ sig do
2502
+ returns(
2503
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2504
+ )
2505
+ end
2506
+ attr_accessor :field
2507
+
2508
+ # Should prices that match the filter be included or excluded.
2509
+ sig do
2510
+ returns(
2511
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2512
+ )
2513
+ end
2514
+ attr_accessor :operator
2515
+
2516
+ # The IDs or values that match this filter.
2517
+ sig { returns(T::Array[String]) }
2518
+ attr_accessor :values
2519
+
2520
+ sig do
2521
+ params(
2522
+ field:
2523
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::OrSymbol,
2524
+ operator:
2525
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator::OrSymbol,
2526
+ values: T::Array[String]
2527
+ ).returns(T.attached_class)
2528
+ end
2529
+ def self.new(
2530
+ # The property of the price to filter on.
2531
+ field:,
2532
+ # Should prices that match the filter be included or excluded.
2533
+ operator:,
2534
+ # The IDs or values that match this filter.
2535
+ values:
2536
+ )
2537
+ end
2538
+
2539
+ sig do
2540
+ override.returns(
2541
+ {
2542
+ field:
2543
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol,
2544
+ operator:
2545
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol,
2546
+ values: T::Array[String]
2547
+ }
2548
+ )
2549
+ end
2550
+ def to_hash
2551
+ end
2552
+
2553
+ # The property of the price to filter on.
2554
+ module Field
2555
+ extend Orb::Internal::Type::Enum
2556
+
2557
+ TaggedSymbol =
2558
+ T.type_alias do
2559
+ T.all(
2560
+ Symbol,
2561
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field
2562
+ )
2563
+ end
2564
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2565
+
2566
+ PRICE_ID =
2567
+ T.let(
2568
+ :price_id,
2569
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2570
+ )
2571
+ ITEM_ID =
2572
+ T.let(
2573
+ :item_id,
2574
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2575
+ )
2576
+ PRICE_TYPE =
2577
+ T.let(
2578
+ :price_type,
2579
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2580
+ )
2581
+ CURRENCY =
2582
+ T.let(
2583
+ :currency,
2584
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2585
+ )
2586
+ PRICING_UNIT_ID =
2587
+ T.let(
2588
+ :pricing_unit_id,
2589
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2590
+ )
2591
+
2592
+ sig do
2593
+ override.returns(
2594
+ T::Array[
2595
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2596
+ ]
2597
+ )
2598
+ end
2599
+ def self.values
2600
+ end
2601
+ end
2602
+
2603
+ # Should prices that match the filter be included or excluded.
2604
+ module Operator
2605
+ extend Orb::Internal::Type::Enum
2606
+
2607
+ TaggedSymbol =
2608
+ T.type_alias do
2609
+ T.all(
2610
+ Symbol,
2611
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator
2612
+ )
2613
+ end
2614
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2615
+
2616
+ INCLUDES =
2617
+ T.let(
2618
+ :includes,
2619
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2620
+ )
2621
+ EXCLUDES =
2622
+ T.let(
2623
+ :excludes,
2624
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2625
+ )
2626
+
2627
+ sig do
2628
+ override.returns(
2629
+ T::Array[
2630
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2631
+ ]
2632
+ )
2633
+ end
2634
+ def self.values
2635
+ end
2636
+ end
2637
+ end
1310
2638
  end
1311
2639
 
1312
2640
  sig do
@@ -1375,10 +2703,6 @@ module Orb
1375
2703
  )
1376
2704
  end
1377
2705
 
1378
- # The price ids that this maximum interval applies to.
1379
- sig { returns(T::Array[String]) }
1380
- attr_accessor :applies_to_price_ids
1381
-
1382
2706
  # The price interval ids that this maximum interval applies to.
1383
2707
  sig { returns(T::Array[String]) }
1384
2708
  attr_accessor :applies_to_price_interval_ids
@@ -1387,6 +2711,16 @@ module Orb
1387
2711
  sig { returns(T.nilable(Time)) }
1388
2712
  attr_accessor :end_date
1389
2713
 
2714
+ # The filters that determine which prices this maximum interval applies to.
2715
+ sig do
2716
+ returns(
2717
+ T::Array[
2718
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter
2719
+ ]
2720
+ )
2721
+ end
2722
+ attr_accessor :filters
2723
+
1390
2724
  # The maximum amount to charge in a given billing period for the price intervals
1391
2725
  # this transform applies to.
1392
2726
  sig { returns(String) }
@@ -1398,20 +2732,23 @@ module Orb
1398
2732
 
1399
2733
  sig do
1400
2734
  params(
1401
- applies_to_price_ids: T::Array[String],
1402
2735
  applies_to_price_interval_ids: T::Array[String],
1403
2736
  end_date: T.nilable(Time),
2737
+ filters:
2738
+ T::Array[
2739
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::OrHash
2740
+ ],
1404
2741
  maximum_amount: String,
1405
2742
  start_date: Time
1406
2743
  ).returns(T.attached_class)
1407
2744
  end
1408
2745
  def self.new(
1409
- # The price ids that this maximum interval applies to.
1410
- applies_to_price_ids:,
1411
2746
  # The price interval ids that this maximum interval applies to.
1412
2747
  applies_to_price_interval_ids:,
1413
2748
  # The end date of the maximum interval.
1414
2749
  end_date:,
2750
+ # The filters that determine which prices this maximum interval applies to.
2751
+ filters:,
1415
2752
  # The maximum amount to charge in a given billing period for the price intervals
1416
2753
  # this transform applies to.
1417
2754
  maximum_amount:,
@@ -1423,9 +2760,12 @@ module Orb
1423
2760
  sig do
1424
2761
  override.returns(
1425
2762
  {
1426
- applies_to_price_ids: T::Array[String],
1427
2763
  applies_to_price_interval_ids: T::Array[String],
1428
2764
  end_date: T.nilable(Time),
2765
+ filters:
2766
+ T::Array[
2767
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter
2768
+ ],
1429
2769
  maximum_amount: String,
1430
2770
  start_date: Time
1431
2771
  }
@@ -1433,6 +2773,154 @@ module Orb
1433
2773
  end
1434
2774
  def to_hash
1435
2775
  end
2776
+
2777
+ class Filter < Orb::Internal::Type::BaseModel
2778
+ OrHash =
2779
+ T.type_alias do
2780
+ T.any(
2781
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter,
2782
+ Orb::Internal::AnyHash
2783
+ )
2784
+ end
2785
+
2786
+ # The property of the price to filter on.
2787
+ sig do
2788
+ returns(
2789
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2790
+ )
2791
+ end
2792
+ attr_accessor :field
2793
+
2794
+ # Should prices that match the filter be included or excluded.
2795
+ sig do
2796
+ returns(
2797
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2798
+ )
2799
+ end
2800
+ attr_accessor :operator
2801
+
2802
+ # The IDs or values that match this filter.
2803
+ sig { returns(T::Array[String]) }
2804
+ attr_accessor :values
2805
+
2806
+ sig do
2807
+ params(
2808
+ field:
2809
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::OrSymbol,
2810
+ operator:
2811
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator::OrSymbol,
2812
+ values: T::Array[String]
2813
+ ).returns(T.attached_class)
2814
+ end
2815
+ def self.new(
2816
+ # The property of the price to filter on.
2817
+ field:,
2818
+ # Should prices that match the filter be included or excluded.
2819
+ operator:,
2820
+ # The IDs or values that match this filter.
2821
+ values:
2822
+ )
2823
+ end
2824
+
2825
+ sig do
2826
+ override.returns(
2827
+ {
2828
+ field:
2829
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol,
2830
+ operator:
2831
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator::TaggedSymbol,
2832
+ values: T::Array[String]
2833
+ }
2834
+ )
2835
+ end
2836
+ def to_hash
2837
+ end
2838
+
2839
+ # The property of the price to filter on.
2840
+ module Field
2841
+ extend Orb::Internal::Type::Enum
2842
+
2843
+ TaggedSymbol =
2844
+ T.type_alias do
2845
+ T.all(
2846
+ Symbol,
2847
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field
2848
+ )
2849
+ end
2850
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2851
+
2852
+ PRICE_ID =
2853
+ T.let(
2854
+ :price_id,
2855
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2856
+ )
2857
+ ITEM_ID =
2858
+ T.let(
2859
+ :item_id,
2860
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2861
+ )
2862
+ PRICE_TYPE =
2863
+ T.let(
2864
+ :price_type,
2865
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2866
+ )
2867
+ CURRENCY =
2868
+ T.let(
2869
+ :currency,
2870
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2871
+ )
2872
+ PRICING_UNIT_ID =
2873
+ T.let(
2874
+ :pricing_unit_id,
2875
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2876
+ )
2877
+
2878
+ sig do
2879
+ override.returns(
2880
+ T::Array[
2881
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Field::TaggedSymbol
2882
+ ]
2883
+ )
2884
+ end
2885
+ def self.values
2886
+ end
2887
+ end
2888
+
2889
+ # Should prices that match the filter be included or excluded.
2890
+ module Operator
2891
+ extend Orb::Internal::Type::Enum
2892
+
2893
+ TaggedSymbol =
2894
+ T.type_alias do
2895
+ T.all(
2896
+ Symbol,
2897
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator
2898
+ )
2899
+ end
2900
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2901
+
2902
+ INCLUDES =
2903
+ T.let(
2904
+ :includes,
2905
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2906
+ )
2907
+ EXCLUDES =
2908
+ T.let(
2909
+ :excludes,
2910
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2911
+ )
2912
+
2913
+ sig do
2914
+ override.returns(
2915
+ T::Array[
2916
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2917
+ ]
2918
+ )
2919
+ end
2920
+ def self.values
2921
+ end
2922
+ end
2923
+ end
1436
2924
  end
1437
2925
 
1438
2926
  class MinimumInterval < Orb::Internal::Type::BaseModel
@@ -1444,10 +2932,6 @@ module Orb
1444
2932
  )
1445
2933
  end
1446
2934
 
1447
- # The price ids that this minimum interval applies to.
1448
- sig { returns(T::Array[String]) }
1449
- attr_accessor :applies_to_price_ids
1450
-
1451
2935
  # The price interval ids that this minimum interval applies to.
1452
2936
  sig { returns(T::Array[String]) }
1453
2937
  attr_accessor :applies_to_price_interval_ids
@@ -1456,6 +2940,16 @@ module Orb
1456
2940
  sig { returns(T.nilable(Time)) }
1457
2941
  attr_accessor :end_date
1458
2942
 
2943
+ # The filters that determine which prices this minimum interval applies to.
2944
+ sig do
2945
+ returns(
2946
+ T::Array[
2947
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter
2948
+ ]
2949
+ )
2950
+ end
2951
+ attr_accessor :filters
2952
+
1459
2953
  # The minimum amount to charge in a given billing period for the price intervals
1460
2954
  # this minimum applies to.
1461
2955
  sig { returns(String) }
@@ -1467,20 +2961,23 @@ module Orb
1467
2961
 
1468
2962
  sig do
1469
2963
  params(
1470
- applies_to_price_ids: T::Array[String],
1471
2964
  applies_to_price_interval_ids: T::Array[String],
1472
2965
  end_date: T.nilable(Time),
2966
+ filters:
2967
+ T::Array[
2968
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::OrHash
2969
+ ],
1473
2970
  minimum_amount: String,
1474
2971
  start_date: Time
1475
2972
  ).returns(T.attached_class)
1476
2973
  end
1477
2974
  def self.new(
1478
- # The price ids that this minimum interval applies to.
1479
- applies_to_price_ids:,
1480
2975
  # The price interval ids that this minimum interval applies to.
1481
2976
  applies_to_price_interval_ids:,
1482
2977
  # The end date of the minimum interval.
1483
2978
  end_date:,
2979
+ # The filters that determine which prices this minimum interval applies to.
2980
+ filters:,
1484
2981
  # The minimum amount to charge in a given billing period for the price intervals
1485
2982
  # this minimum applies to.
1486
2983
  minimum_amount:,
@@ -1492,9 +2989,12 @@ module Orb
1492
2989
  sig do
1493
2990
  override.returns(
1494
2991
  {
1495
- applies_to_price_ids: T::Array[String],
1496
2992
  applies_to_price_interval_ids: T::Array[String],
1497
2993
  end_date: T.nilable(Time),
2994
+ filters:
2995
+ T::Array[
2996
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter
2997
+ ],
1498
2998
  minimum_amount: String,
1499
2999
  start_date: Time
1500
3000
  }
@@ -1502,6 +3002,154 @@ module Orb
1502
3002
  end
1503
3003
  def to_hash
1504
3004
  end
3005
+
3006
+ class Filter < Orb::Internal::Type::BaseModel
3007
+ OrHash =
3008
+ T.type_alias do
3009
+ T.any(
3010
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter,
3011
+ Orb::Internal::AnyHash
3012
+ )
3013
+ end
3014
+
3015
+ # The property of the price to filter on.
3016
+ sig do
3017
+ returns(
3018
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3019
+ )
3020
+ end
3021
+ attr_accessor :field
3022
+
3023
+ # Should prices that match the filter be included or excluded.
3024
+ sig do
3025
+ returns(
3026
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3027
+ )
3028
+ end
3029
+ attr_accessor :operator
3030
+
3031
+ # The IDs or values that match this filter.
3032
+ sig { returns(T::Array[String]) }
3033
+ attr_accessor :values
3034
+
3035
+ sig do
3036
+ params(
3037
+ field:
3038
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::OrSymbol,
3039
+ operator:
3040
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator::OrSymbol,
3041
+ values: T::Array[String]
3042
+ ).returns(T.attached_class)
3043
+ end
3044
+ def self.new(
3045
+ # The property of the price to filter on.
3046
+ field:,
3047
+ # Should prices that match the filter be included or excluded.
3048
+ operator:,
3049
+ # The IDs or values that match this filter.
3050
+ values:
3051
+ )
3052
+ end
3053
+
3054
+ sig do
3055
+ override.returns(
3056
+ {
3057
+ field:
3058
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol,
3059
+ operator:
3060
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator::TaggedSymbol,
3061
+ values: T::Array[String]
3062
+ }
3063
+ )
3064
+ end
3065
+ def to_hash
3066
+ end
3067
+
3068
+ # The property of the price to filter on.
3069
+ module Field
3070
+ extend Orb::Internal::Type::Enum
3071
+
3072
+ TaggedSymbol =
3073
+ T.type_alias do
3074
+ T.all(
3075
+ Symbol,
3076
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field
3077
+ )
3078
+ end
3079
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3080
+
3081
+ PRICE_ID =
3082
+ T.let(
3083
+ :price_id,
3084
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3085
+ )
3086
+ ITEM_ID =
3087
+ T.let(
3088
+ :item_id,
3089
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3090
+ )
3091
+ PRICE_TYPE =
3092
+ T.let(
3093
+ :price_type,
3094
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3095
+ )
3096
+ CURRENCY =
3097
+ T.let(
3098
+ :currency,
3099
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3100
+ )
3101
+ PRICING_UNIT_ID =
3102
+ T.let(
3103
+ :pricing_unit_id,
3104
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3105
+ )
3106
+
3107
+ sig do
3108
+ override.returns(
3109
+ T::Array[
3110
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Field::TaggedSymbol
3111
+ ]
3112
+ )
3113
+ end
3114
+ def self.values
3115
+ end
3116
+ end
3117
+
3118
+ # Should prices that match the filter be included or excluded.
3119
+ module Operator
3120
+ extend Orb::Internal::Type::Enum
3121
+
3122
+ TaggedSymbol =
3123
+ T.type_alias do
3124
+ T.all(
3125
+ Symbol,
3126
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator
3127
+ )
3128
+ end
3129
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3130
+
3131
+ INCLUDES =
3132
+ T.let(
3133
+ :includes,
3134
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3135
+ )
3136
+ EXCLUDES =
3137
+ T.let(
3138
+ :excludes,
3139
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3140
+ )
3141
+
3142
+ sig do
3143
+ override.returns(
3144
+ T::Array[
3145
+ Orb::Models::SubscriptionSchedulePlanChangeResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3146
+ ]
3147
+ )
3148
+ end
3149
+ def self.values
3150
+ end
3151
+ end
3152
+ end
1505
3153
  end
1506
3154
 
1507
3155
  class PendingSubscriptionChange < Orb::Internal::Type::BaseModel