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