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
@@ -289,6 +289,10 @@ module Orb
289
289
  end
290
290
  attr_accessor :minimum_intervals
291
291
 
292
+ # The name of the subscription.
293
+ sig { returns(String) }
294
+ attr_accessor :name
295
+
292
296
  # Determines the difference between the invoice issue date for subscription
293
297
  # invoices as the date that they are due. A value of `0` here represents that the
294
298
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -320,10 +324,10 @@ module Orb
320
324
  # subscribed to by a customer. Plans define the billing behavior of the
321
325
  # subscription. You can see more about how to configure prices in the
322
326
  # [Price resource](/reference/price).
323
- sig { returns(Orb::Plan) }
327
+ sig { returns(T.nilable(Orb::Plan)) }
324
328
  attr_reader :plan
325
329
 
326
- sig { params(plan: Orb::Plan::OrHash).void }
330
+ sig { params(plan: T.nilable(Orb::Plan::OrHash)).void }
327
331
  attr_writer :plan
328
332
 
329
333
  # The price intervals for this subscription.
@@ -443,12 +447,13 @@ module Orb
443
447
  T::Array[
444
448
  Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::OrHash
445
449
  ],
450
+ name: String,
446
451
  net_terms: Integer,
447
452
  pending_subscription_change:
448
453
  T.nilable(
449
454
  Orb::Models::SubscriptionChangeApplyResponse::Subscription::PendingSubscriptionChange::OrHash
450
455
  ),
451
- plan: Orb::Plan::OrHash,
456
+ plan: T.nilable(Orb::Plan::OrHash),
452
457
  price_intervals:
453
458
  T::Array[
454
459
  Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval::OrHash
@@ -532,6 +537,8 @@ module Orb
532
537
  metadata:,
533
538
  # The minimum intervals for this subscription sorted by the start_date.
534
539
  minimum_intervals:,
540
+ # The name of the subscription.
541
+ name:,
535
542
  # Determines the difference between the invoice issue date for subscription
536
543
  # invoices as the date that they are due. A value of `0` here represents that the
537
544
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -595,12 +602,13 @@ module Orb
595
602
  T::Array[
596
603
  Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval
597
604
  ],
605
+ name: String,
598
606
  net_terms: Integer,
599
607
  pending_subscription_change:
600
608
  T.nilable(
601
609
  Orb::Models::SubscriptionChangeApplyResponse::Subscription::PendingSubscriptionChange
602
610
  ),
603
- plan: Orb::Plan,
611
+ plan: T.nilable(Orb::Plan),
604
612
  price_intervals:
605
613
  T::Array[
606
614
  Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval
@@ -731,6 +739,16 @@ module Orb
731
739
  sig { returns(T::Array[String]) }
732
740
  attr_accessor :applies_to_price_ids
733
741
 
742
+ # The filters that determine which prices to apply this adjustment to.
743
+ sig do
744
+ returns(
745
+ T::Array[
746
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter
747
+ ]
748
+ )
749
+ end
750
+ attr_accessor :filters
751
+
734
752
  # True for adjustments that apply to an entire invocice, false for adjustments
735
753
  # that apply to only one price.
736
754
  sig { returns(T::Boolean) }
@@ -753,6 +771,10 @@ module Orb
753
771
  params(
754
772
  id: String,
755
773
  applies_to_price_ids: T::Array[String],
774
+ filters:
775
+ T::Array[
776
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::OrHash
777
+ ],
756
778
  is_invoice_level: T::Boolean,
757
779
  plan_phase_order: T.nilable(Integer),
758
780
  reason: T.nilable(String),
@@ -764,6 +786,8 @@ module Orb
764
786
  id:,
765
787
  # The price IDs that this adjustment applies to.
766
788
  applies_to_price_ids:,
789
+ # The filters that determine which prices to apply this adjustment to.
790
+ filters:,
767
791
  # True for adjustments that apply to an entire invocice, false for adjustments
768
792
  # that apply to only one price.
769
793
  is_invoice_level:,
@@ -784,6 +808,10 @@ module Orb
784
808
  id: String,
785
809
  adjustment_type: Symbol,
786
810
  applies_to_price_ids: T::Array[String],
811
+ filters:
812
+ T::Array[
813
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter
814
+ ],
787
815
  is_invoice_level: T::Boolean,
788
816
  plan_phase_order: T.nilable(Integer),
789
817
  reason: T.nilable(String),
@@ -793,6 +821,154 @@ module Orb
793
821
  end
794
822
  def to_hash
795
823
  end
824
+
825
+ class Filter < Orb::Internal::Type::BaseModel
826
+ OrHash =
827
+ T.type_alias do
828
+ T.any(
829
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter,
830
+ Orb::Internal::AnyHash
831
+ )
832
+ end
833
+
834
+ # The property of the price to filter on.
835
+ sig do
836
+ returns(
837
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
838
+ )
839
+ end
840
+ attr_accessor :field
841
+
842
+ # Should prices that match the filter be included or excluded.
843
+ sig do
844
+ returns(
845
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
846
+ )
847
+ end
848
+ attr_accessor :operator
849
+
850
+ # The IDs or values that match this filter.
851
+ sig { returns(T::Array[String]) }
852
+ attr_accessor :values
853
+
854
+ sig do
855
+ params(
856
+ field:
857
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::OrSymbol,
858
+ operator:
859
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::OrSymbol,
860
+ values: T::Array[String]
861
+ ).returns(T.attached_class)
862
+ end
863
+ def self.new(
864
+ # The property of the price to filter on.
865
+ field:,
866
+ # Should prices that match the filter be included or excluded.
867
+ operator:,
868
+ # The IDs or values that match this filter.
869
+ values:
870
+ )
871
+ end
872
+
873
+ sig do
874
+ override.returns(
875
+ {
876
+ field:
877
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol,
878
+ operator:
879
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol,
880
+ values: T::Array[String]
881
+ }
882
+ )
883
+ end
884
+ def to_hash
885
+ end
886
+
887
+ # The property of the price to filter on.
888
+ module Field
889
+ extend Orb::Internal::Type::Enum
890
+
891
+ TaggedSymbol =
892
+ T.type_alias do
893
+ T.all(
894
+ Symbol,
895
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field
896
+ )
897
+ end
898
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
899
+
900
+ PRICE_ID =
901
+ T.let(
902
+ :price_id,
903
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
904
+ )
905
+ ITEM_ID =
906
+ T.let(
907
+ :item_id,
908
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
909
+ )
910
+ PRICE_TYPE =
911
+ T.let(
912
+ :price_type,
913
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
914
+ )
915
+ CURRENCY =
916
+ T.let(
917
+ :currency,
918
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
919
+ )
920
+ PRICING_UNIT_ID =
921
+ T.let(
922
+ :pricing_unit_id,
923
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
924
+ )
925
+
926
+ sig do
927
+ override.returns(
928
+ T::Array[
929
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
930
+ ]
931
+ )
932
+ end
933
+ def self.values
934
+ end
935
+ end
936
+
937
+ # Should prices that match the filter be included or excluded.
938
+ module Operator
939
+ extend Orb::Internal::Type::Enum
940
+
941
+ TaggedSymbol =
942
+ T.type_alias do
943
+ T.all(
944
+ Symbol,
945
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator
946
+ )
947
+ end
948
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
949
+
950
+ INCLUDES =
951
+ T.let(
952
+ :includes,
953
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
954
+ )
955
+ EXCLUDES =
956
+ T.let(
957
+ :excludes,
958
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
959
+ )
960
+
961
+ sig do
962
+ override.returns(
963
+ T::Array[
964
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
965
+ ]
966
+ )
967
+ end
968
+ def self.values
969
+ end
970
+ end
971
+ end
796
972
  end
797
973
 
798
974
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -819,6 +995,16 @@ module Orb
819
995
  sig { returns(T::Array[String]) }
820
996
  attr_accessor :applies_to_price_ids
821
997
 
998
+ # The filters that determine which prices to apply this adjustment to.
999
+ sig do
1000
+ returns(
1001
+ T::Array[
1002
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter
1003
+ ]
1004
+ )
1005
+ end
1006
+ attr_accessor :filters
1007
+
822
1008
  # True for adjustments that apply to an entire invocice, false for adjustments
823
1009
  # that apply to only one price.
824
1010
  sig { returns(T::Boolean) }
@@ -837,6 +1023,10 @@ module Orb
837
1023
  id: String,
838
1024
  amount_discount: String,
839
1025
  applies_to_price_ids: T::Array[String],
1026
+ filters:
1027
+ T::Array[
1028
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::OrHash
1029
+ ],
840
1030
  is_invoice_level: T::Boolean,
841
1031
  plan_phase_order: T.nilable(Integer),
842
1032
  reason: T.nilable(String),
@@ -850,6 +1040,8 @@ module Orb
850
1040
  amount_discount:,
851
1041
  # The price IDs that this adjustment applies to.
852
1042
  applies_to_price_ids:,
1043
+ # The filters that determine which prices to apply this adjustment to.
1044
+ filters:,
853
1045
  # True for adjustments that apply to an entire invocice, false for adjustments
854
1046
  # that apply to only one price.
855
1047
  is_invoice_level:,
@@ -868,6 +1060,10 @@ module Orb
868
1060
  adjustment_type: Symbol,
869
1061
  amount_discount: String,
870
1062
  applies_to_price_ids: T::Array[String],
1063
+ filters:
1064
+ T::Array[
1065
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter
1066
+ ],
871
1067
  is_invoice_level: T::Boolean,
872
1068
  plan_phase_order: T.nilable(Integer),
873
1069
  reason: T.nilable(String)
@@ -876,6 +1072,154 @@ module Orb
876
1072
  end
877
1073
  def to_hash
878
1074
  end
1075
+
1076
+ class Filter < Orb::Internal::Type::BaseModel
1077
+ OrHash =
1078
+ T.type_alias do
1079
+ T.any(
1080
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter,
1081
+ Orb::Internal::AnyHash
1082
+ )
1083
+ end
1084
+
1085
+ # The property of the price to filter on.
1086
+ sig do
1087
+ returns(
1088
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1089
+ )
1090
+ end
1091
+ attr_accessor :field
1092
+
1093
+ # Should prices that match the filter be included or excluded.
1094
+ sig do
1095
+ returns(
1096
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1097
+ )
1098
+ end
1099
+ attr_accessor :operator
1100
+
1101
+ # The IDs or values that match this filter.
1102
+ sig { returns(T::Array[String]) }
1103
+ attr_accessor :values
1104
+
1105
+ sig do
1106
+ params(
1107
+ field:
1108
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::OrSymbol,
1109
+ operator:
1110
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::OrSymbol,
1111
+ values: T::Array[String]
1112
+ ).returns(T.attached_class)
1113
+ end
1114
+ def self.new(
1115
+ # The property of the price to filter on.
1116
+ field:,
1117
+ # Should prices that match the filter be included or excluded.
1118
+ operator:,
1119
+ # The IDs or values that match this filter.
1120
+ values:
1121
+ )
1122
+ end
1123
+
1124
+ sig do
1125
+ override.returns(
1126
+ {
1127
+ field:
1128
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol,
1129
+ operator:
1130
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol,
1131
+ values: T::Array[String]
1132
+ }
1133
+ )
1134
+ end
1135
+ def to_hash
1136
+ end
1137
+
1138
+ # The property of the price to filter on.
1139
+ module Field
1140
+ extend Orb::Internal::Type::Enum
1141
+
1142
+ TaggedSymbol =
1143
+ T.type_alias do
1144
+ T.all(
1145
+ Symbol,
1146
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field
1147
+ )
1148
+ end
1149
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1150
+
1151
+ PRICE_ID =
1152
+ T.let(
1153
+ :price_id,
1154
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1155
+ )
1156
+ ITEM_ID =
1157
+ T.let(
1158
+ :item_id,
1159
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1160
+ )
1161
+ PRICE_TYPE =
1162
+ T.let(
1163
+ :price_type,
1164
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1165
+ )
1166
+ CURRENCY =
1167
+ T.let(
1168
+ :currency,
1169
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1170
+ )
1171
+ PRICING_UNIT_ID =
1172
+ T.let(
1173
+ :pricing_unit_id,
1174
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1175
+ )
1176
+
1177
+ sig do
1178
+ override.returns(
1179
+ T::Array[
1180
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1181
+ ]
1182
+ )
1183
+ end
1184
+ def self.values
1185
+ end
1186
+ end
1187
+
1188
+ # Should prices that match the filter be included or excluded.
1189
+ module Operator
1190
+ extend Orb::Internal::Type::Enum
1191
+
1192
+ TaggedSymbol =
1193
+ T.type_alias do
1194
+ T.all(
1195
+ Symbol,
1196
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator
1197
+ )
1198
+ end
1199
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1200
+
1201
+ INCLUDES =
1202
+ T.let(
1203
+ :includes,
1204
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1205
+ )
1206
+ EXCLUDES =
1207
+ T.let(
1208
+ :excludes,
1209
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1210
+ )
1211
+
1212
+ sig do
1213
+ override.returns(
1214
+ T::Array[
1215
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1216
+ ]
1217
+ )
1218
+ end
1219
+ def self.values
1220
+ end
1221
+ end
1222
+ end
879
1223
  end
880
1224
 
881
1225
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -897,6 +1241,16 @@ module Orb
897
1241
  sig { returns(T::Array[String]) }
898
1242
  attr_accessor :applies_to_price_ids
899
1243
 
1244
+ # The filters that determine which prices to apply this adjustment to.
1245
+ sig do
1246
+ returns(
1247
+ T::Array[
1248
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1249
+ ]
1250
+ )
1251
+ end
1252
+ attr_accessor :filters
1253
+
900
1254
  # True for adjustments that apply to an entire invocice, false for adjustments
901
1255
  # that apply to only one price.
902
1256
  sig { returns(T::Boolean) }
@@ -919,6 +1273,10 @@ module Orb
919
1273
  params(
920
1274
  id: String,
921
1275
  applies_to_price_ids: T::Array[String],
1276
+ filters:
1277
+ T::Array[
1278
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::OrHash
1279
+ ],
922
1280
  is_invoice_level: T::Boolean,
923
1281
  percentage_discount: Float,
924
1282
  plan_phase_order: T.nilable(Integer),
@@ -930,6 +1288,8 @@ module Orb
930
1288
  id:,
931
1289
  # The price IDs that this adjustment applies to.
932
1290
  applies_to_price_ids:,
1291
+ # The filters that determine which prices to apply this adjustment to.
1292
+ filters:,
933
1293
  # True for adjustments that apply to an entire invocice, false for adjustments
934
1294
  # that apply to only one price.
935
1295
  is_invoice_level:,
@@ -950,6 +1310,10 @@ module Orb
950
1310
  id: String,
951
1311
  adjustment_type: Symbol,
952
1312
  applies_to_price_ids: T::Array[String],
1313
+ filters:
1314
+ T::Array[
1315
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1316
+ ],
953
1317
  is_invoice_level: T::Boolean,
954
1318
  percentage_discount: Float,
955
1319
  plan_phase_order: T.nilable(Integer),
@@ -959,6 +1323,154 @@ module Orb
959
1323
  end
960
1324
  def to_hash
961
1325
  end
1326
+
1327
+ class Filter < Orb::Internal::Type::BaseModel
1328
+ OrHash =
1329
+ T.type_alias do
1330
+ T.any(
1331
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter,
1332
+ Orb::Internal::AnyHash
1333
+ )
1334
+ end
1335
+
1336
+ # The property of the price to filter on.
1337
+ sig do
1338
+ returns(
1339
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1340
+ )
1341
+ end
1342
+ attr_accessor :field
1343
+
1344
+ # Should prices that match the filter be included or excluded.
1345
+ sig do
1346
+ returns(
1347
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1348
+ )
1349
+ end
1350
+ attr_accessor :operator
1351
+
1352
+ # The IDs or values that match this filter.
1353
+ sig { returns(T::Array[String]) }
1354
+ attr_accessor :values
1355
+
1356
+ sig do
1357
+ params(
1358
+ field:
1359
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::OrSymbol,
1360
+ operator:
1361
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol,
1362
+ values: T::Array[String]
1363
+ ).returns(T.attached_class)
1364
+ end
1365
+ def self.new(
1366
+ # The property of the price to filter on.
1367
+ field:,
1368
+ # Should prices that match the filter be included or excluded.
1369
+ operator:,
1370
+ # The IDs or values that match this filter.
1371
+ values:
1372
+ )
1373
+ end
1374
+
1375
+ sig do
1376
+ override.returns(
1377
+ {
1378
+ field:
1379
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol,
1380
+ operator:
1381
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol,
1382
+ values: T::Array[String]
1383
+ }
1384
+ )
1385
+ end
1386
+ def to_hash
1387
+ end
1388
+
1389
+ # The property of the price to filter on.
1390
+ module Field
1391
+ extend Orb::Internal::Type::Enum
1392
+
1393
+ TaggedSymbol =
1394
+ T.type_alias do
1395
+ T.all(
1396
+ Symbol,
1397
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field
1398
+ )
1399
+ end
1400
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1401
+
1402
+ PRICE_ID =
1403
+ T.let(
1404
+ :price_id,
1405
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1406
+ )
1407
+ ITEM_ID =
1408
+ T.let(
1409
+ :item_id,
1410
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1411
+ )
1412
+ PRICE_TYPE =
1413
+ T.let(
1414
+ :price_type,
1415
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1416
+ )
1417
+ CURRENCY =
1418
+ T.let(
1419
+ :currency,
1420
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1421
+ )
1422
+ PRICING_UNIT_ID =
1423
+ T.let(
1424
+ :pricing_unit_id,
1425
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1426
+ )
1427
+
1428
+ sig do
1429
+ override.returns(
1430
+ T::Array[
1431
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1432
+ ]
1433
+ )
1434
+ end
1435
+ def self.values
1436
+ end
1437
+ end
1438
+
1439
+ # Should prices that match the filter be included or excluded.
1440
+ module Operator
1441
+ extend Orb::Internal::Type::Enum
1442
+
1443
+ TaggedSymbol =
1444
+ T.type_alias do
1445
+ T.all(
1446
+ Symbol,
1447
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator
1448
+ )
1449
+ end
1450
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1451
+
1452
+ INCLUDES =
1453
+ T.let(
1454
+ :includes,
1455
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1456
+ )
1457
+ EXCLUDES =
1458
+ T.let(
1459
+ :excludes,
1460
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1461
+ )
1462
+
1463
+ sig do
1464
+ override.returns(
1465
+ T::Array[
1466
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1467
+ ]
1468
+ )
1469
+ end
1470
+ def self.values
1471
+ end
1472
+ end
1473
+ end
962
1474
  end
963
1475
 
964
1476
  class Minimum < Orb::Internal::Type::BaseModel
@@ -980,6 +1492,16 @@ module Orb
980
1492
  sig { returns(T::Array[String]) }
981
1493
  attr_accessor :applies_to_price_ids
982
1494
 
1495
+ # The filters that determine which prices to apply this adjustment to.
1496
+ sig do
1497
+ returns(
1498
+ T::Array[
1499
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter
1500
+ ]
1501
+ )
1502
+ end
1503
+ attr_accessor :filters
1504
+
983
1505
  # True for adjustments that apply to an entire invocice, false for adjustments
984
1506
  # that apply to only one price.
985
1507
  sig { returns(T::Boolean) }
@@ -1006,6 +1528,10 @@ module Orb
1006
1528
  params(
1007
1529
  id: String,
1008
1530
  applies_to_price_ids: T::Array[String],
1531
+ filters:
1532
+ T::Array[
1533
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::OrHash
1534
+ ],
1009
1535
  is_invoice_level: T::Boolean,
1010
1536
  item_id: String,
1011
1537
  minimum_amount: String,
@@ -1018,6 +1544,8 @@ module Orb
1018
1544
  id:,
1019
1545
  # The price IDs that this adjustment applies to.
1020
1546
  applies_to_price_ids:,
1547
+ # The filters that determine which prices to apply this adjustment to.
1548
+ filters:,
1021
1549
  # True for adjustments that apply to an entire invocice, false for adjustments
1022
1550
  # that apply to only one price.
1023
1551
  is_invoice_level:,
@@ -1040,6 +1568,10 @@ module Orb
1040
1568
  id: String,
1041
1569
  adjustment_type: Symbol,
1042
1570
  applies_to_price_ids: T::Array[String],
1571
+ filters:
1572
+ T::Array[
1573
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter
1574
+ ],
1043
1575
  is_invoice_level: T::Boolean,
1044
1576
  item_id: String,
1045
1577
  minimum_amount: String,
@@ -1050,6 +1582,154 @@ module Orb
1050
1582
  end
1051
1583
  def to_hash
1052
1584
  end
1585
+
1586
+ class Filter < Orb::Internal::Type::BaseModel
1587
+ OrHash =
1588
+ T.type_alias do
1589
+ T.any(
1590
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter,
1591
+ Orb::Internal::AnyHash
1592
+ )
1593
+ end
1594
+
1595
+ # The property of the price to filter on.
1596
+ sig do
1597
+ returns(
1598
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1599
+ )
1600
+ end
1601
+ attr_accessor :field
1602
+
1603
+ # Should prices that match the filter be included or excluded.
1604
+ sig do
1605
+ returns(
1606
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1607
+ )
1608
+ end
1609
+ attr_accessor :operator
1610
+
1611
+ # The IDs or values that match this filter.
1612
+ sig { returns(T::Array[String]) }
1613
+ attr_accessor :values
1614
+
1615
+ sig do
1616
+ params(
1617
+ field:
1618
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::OrSymbol,
1619
+ operator:
1620
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::OrSymbol,
1621
+ values: T::Array[String]
1622
+ ).returns(T.attached_class)
1623
+ end
1624
+ def self.new(
1625
+ # The property of the price to filter on.
1626
+ field:,
1627
+ # Should prices that match the filter be included or excluded.
1628
+ operator:,
1629
+ # The IDs or values that match this filter.
1630
+ values:
1631
+ )
1632
+ end
1633
+
1634
+ sig do
1635
+ override.returns(
1636
+ {
1637
+ field:
1638
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol,
1639
+ operator:
1640
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol,
1641
+ values: T::Array[String]
1642
+ }
1643
+ )
1644
+ end
1645
+ def to_hash
1646
+ end
1647
+
1648
+ # The property of the price to filter on.
1649
+ module Field
1650
+ extend Orb::Internal::Type::Enum
1651
+
1652
+ TaggedSymbol =
1653
+ T.type_alias do
1654
+ T.all(
1655
+ Symbol,
1656
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field
1657
+ )
1658
+ end
1659
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1660
+
1661
+ PRICE_ID =
1662
+ T.let(
1663
+ :price_id,
1664
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1665
+ )
1666
+ ITEM_ID =
1667
+ T.let(
1668
+ :item_id,
1669
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1670
+ )
1671
+ PRICE_TYPE =
1672
+ T.let(
1673
+ :price_type,
1674
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1675
+ )
1676
+ CURRENCY =
1677
+ T.let(
1678
+ :currency,
1679
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1680
+ )
1681
+ PRICING_UNIT_ID =
1682
+ T.let(
1683
+ :pricing_unit_id,
1684
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1685
+ )
1686
+
1687
+ sig do
1688
+ override.returns(
1689
+ T::Array[
1690
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1691
+ ]
1692
+ )
1693
+ end
1694
+ def self.values
1695
+ end
1696
+ end
1697
+
1698
+ # Should prices that match the filter be included or excluded.
1699
+ module Operator
1700
+ extend Orb::Internal::Type::Enum
1701
+
1702
+ TaggedSymbol =
1703
+ T.type_alias do
1704
+ T.all(
1705
+ Symbol,
1706
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator
1707
+ )
1708
+ end
1709
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1710
+
1711
+ INCLUDES =
1712
+ T.let(
1713
+ :includes,
1714
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1715
+ )
1716
+ EXCLUDES =
1717
+ T.let(
1718
+ :excludes,
1719
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1720
+ )
1721
+
1722
+ sig do
1723
+ override.returns(
1724
+ T::Array[
1725
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1726
+ ]
1727
+ )
1728
+ end
1729
+ def self.values
1730
+ end
1731
+ end
1732
+ end
1053
1733
  end
1054
1734
 
1055
1735
  class Maximum < Orb::Internal::Type::BaseModel
@@ -1071,6 +1751,16 @@ module Orb
1071
1751
  sig { returns(T::Array[String]) }
1072
1752
  attr_accessor :applies_to_price_ids
1073
1753
 
1754
+ # The filters that determine which prices to apply this adjustment to.
1755
+ sig do
1756
+ returns(
1757
+ T::Array[
1758
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter
1759
+ ]
1760
+ )
1761
+ end
1762
+ attr_accessor :filters
1763
+
1074
1764
  # True for adjustments that apply to an entire invocice, false for adjustments
1075
1765
  # that apply to only one price.
1076
1766
  sig { returns(T::Boolean) }
@@ -1093,6 +1783,10 @@ module Orb
1093
1783
  params(
1094
1784
  id: String,
1095
1785
  applies_to_price_ids: T::Array[String],
1786
+ filters:
1787
+ T::Array[
1788
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::OrHash
1789
+ ],
1096
1790
  is_invoice_level: T::Boolean,
1097
1791
  maximum_amount: String,
1098
1792
  plan_phase_order: T.nilable(Integer),
@@ -1104,6 +1798,8 @@ module Orb
1104
1798
  id:,
1105
1799
  # The price IDs that this adjustment applies to.
1106
1800
  applies_to_price_ids:,
1801
+ # The filters that determine which prices to apply this adjustment to.
1802
+ filters:,
1107
1803
  # True for adjustments that apply to an entire invocice, false for adjustments
1108
1804
  # that apply to only one price.
1109
1805
  is_invoice_level:,
@@ -1124,6 +1820,10 @@ module Orb
1124
1820
  id: String,
1125
1821
  adjustment_type: Symbol,
1126
1822
  applies_to_price_ids: T::Array[String],
1823
+ filters:
1824
+ T::Array[
1825
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter
1826
+ ],
1127
1827
  is_invoice_level: T::Boolean,
1128
1828
  maximum_amount: String,
1129
1829
  plan_phase_order: T.nilable(Integer),
@@ -1133,6 +1833,154 @@ module Orb
1133
1833
  end
1134
1834
  def to_hash
1135
1835
  end
1836
+
1837
+ class Filter < Orb::Internal::Type::BaseModel
1838
+ OrHash =
1839
+ T.type_alias do
1840
+ T.any(
1841
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter,
1842
+ Orb::Internal::AnyHash
1843
+ )
1844
+ end
1845
+
1846
+ # The property of the price to filter on.
1847
+ sig do
1848
+ returns(
1849
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1850
+ )
1851
+ end
1852
+ attr_accessor :field
1853
+
1854
+ # Should prices that match the filter be included or excluded.
1855
+ sig do
1856
+ returns(
1857
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1858
+ )
1859
+ end
1860
+ attr_accessor :operator
1861
+
1862
+ # The IDs or values that match this filter.
1863
+ sig { returns(T::Array[String]) }
1864
+ attr_accessor :values
1865
+
1866
+ sig do
1867
+ params(
1868
+ field:
1869
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::OrSymbol,
1870
+ operator:
1871
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::OrSymbol,
1872
+ values: T::Array[String]
1873
+ ).returns(T.attached_class)
1874
+ end
1875
+ def self.new(
1876
+ # The property of the price to filter on.
1877
+ field:,
1878
+ # Should prices that match the filter be included or excluded.
1879
+ operator:,
1880
+ # The IDs or values that match this filter.
1881
+ values:
1882
+ )
1883
+ end
1884
+
1885
+ sig do
1886
+ override.returns(
1887
+ {
1888
+ field:
1889
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol,
1890
+ operator:
1891
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol,
1892
+ values: T::Array[String]
1893
+ }
1894
+ )
1895
+ end
1896
+ def to_hash
1897
+ end
1898
+
1899
+ # The property of the price to filter on.
1900
+ module Field
1901
+ extend Orb::Internal::Type::Enum
1902
+
1903
+ TaggedSymbol =
1904
+ T.type_alias do
1905
+ T.all(
1906
+ Symbol,
1907
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field
1908
+ )
1909
+ end
1910
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1911
+
1912
+ PRICE_ID =
1913
+ T.let(
1914
+ :price_id,
1915
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1916
+ )
1917
+ ITEM_ID =
1918
+ T.let(
1919
+ :item_id,
1920
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1921
+ )
1922
+ PRICE_TYPE =
1923
+ T.let(
1924
+ :price_type,
1925
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1926
+ )
1927
+ CURRENCY =
1928
+ T.let(
1929
+ :currency,
1930
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1931
+ )
1932
+ PRICING_UNIT_ID =
1933
+ T.let(
1934
+ :pricing_unit_id,
1935
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1936
+ )
1937
+
1938
+ sig do
1939
+ override.returns(
1940
+ T::Array[
1941
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1942
+ ]
1943
+ )
1944
+ end
1945
+ def self.values
1946
+ end
1947
+ end
1948
+
1949
+ # Should prices that match the filter be included or excluded.
1950
+ module Operator
1951
+ extend Orb::Internal::Type::Enum
1952
+
1953
+ TaggedSymbol =
1954
+ T.type_alias do
1955
+ T.all(
1956
+ Symbol,
1957
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator
1958
+ )
1959
+ end
1960
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1961
+
1962
+ INCLUDES =
1963
+ T.let(
1964
+ :includes,
1965
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1966
+ )
1967
+ EXCLUDES =
1968
+ T.let(
1969
+ :excludes,
1970
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1971
+ )
1972
+
1973
+ sig do
1974
+ override.returns(
1975
+ T::Array[
1976
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1977
+ ]
1978
+ )
1979
+ end
1980
+ def self.values
1981
+ end
1982
+ end
1983
+ end
1136
1984
  end
1137
1985
 
1138
1986
  sig do
@@ -1235,10 +2083,6 @@ module Orb
1235
2083
  sig { returns(String) }
1236
2084
  attr_accessor :amount_discount
1237
2085
 
1238
- # The price ids that this discount interval applies to.
1239
- sig { returns(T::Array[String]) }
1240
- attr_accessor :applies_to_price_ids
1241
-
1242
2086
  # The price interval ids that this discount interval applies to.
1243
2087
  sig { returns(T::Array[String]) }
1244
2088
  attr_accessor :applies_to_price_interval_ids
@@ -1250,6 +2094,16 @@ module Orb
1250
2094
  sig { returns(T.nilable(Time)) }
1251
2095
  attr_accessor :end_date
1252
2096
 
2097
+ # The filters that determine which prices this discount interval applies to.
2098
+ sig do
2099
+ returns(
2100
+ T::Array[
2101
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter
2102
+ ]
2103
+ )
2104
+ end
2105
+ attr_accessor :filters
2106
+
1253
2107
  # The start date of the discount interval.
1254
2108
  sig { returns(Time) }
1255
2109
  attr_accessor :start_date
@@ -1257,9 +2111,12 @@ module Orb
1257
2111
  sig do
1258
2112
  params(
1259
2113
  amount_discount: String,
1260
- applies_to_price_ids: T::Array[String],
1261
2114
  applies_to_price_interval_ids: T::Array[String],
1262
2115
  end_date: T.nilable(Time),
2116
+ filters:
2117
+ T::Array[
2118
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::OrHash
2119
+ ],
1263
2120
  start_date: Time,
1264
2121
  discount_type: Symbol
1265
2122
  ).returns(T.attached_class)
@@ -1267,12 +2124,12 @@ module Orb
1267
2124
  def self.new(
1268
2125
  # Only available if discount_type is `amount`.
1269
2126
  amount_discount:,
1270
- # The price ids that this discount interval applies to.
1271
- applies_to_price_ids:,
1272
2127
  # The price interval ids that this discount interval applies to.
1273
2128
  applies_to_price_interval_ids:,
1274
2129
  # The end date of the discount interval.
1275
2130
  end_date:,
2131
+ # The filters that determine which prices this discount interval applies to.
2132
+ filters:,
1276
2133
  # The start date of the discount interval.
1277
2134
  start_date:,
1278
2135
  discount_type: :amount
@@ -1283,16 +2140,167 @@ module Orb
1283
2140
  override.returns(
1284
2141
  {
1285
2142
  amount_discount: String,
1286
- applies_to_price_ids: T::Array[String],
1287
2143
  applies_to_price_interval_ids: T::Array[String],
1288
2144
  discount_type: Symbol,
1289
2145
  end_date: T.nilable(Time),
2146
+ filters:
2147
+ T::Array[
2148
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter
2149
+ ],
1290
2150
  start_date: Time
1291
2151
  }
1292
2152
  )
1293
2153
  end
1294
2154
  def to_hash
1295
2155
  end
2156
+
2157
+ class Filter < Orb::Internal::Type::BaseModel
2158
+ OrHash =
2159
+ T.type_alias do
2160
+ T.any(
2161
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter,
2162
+ Orb::Internal::AnyHash
2163
+ )
2164
+ end
2165
+
2166
+ # The property of the price to filter on.
2167
+ sig do
2168
+ returns(
2169
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2170
+ )
2171
+ end
2172
+ attr_accessor :field
2173
+
2174
+ # Should prices that match the filter be included or excluded.
2175
+ sig do
2176
+ returns(
2177
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2178
+ )
2179
+ end
2180
+ attr_accessor :operator
2181
+
2182
+ # The IDs or values that match this filter.
2183
+ sig { returns(T::Array[String]) }
2184
+ attr_accessor :values
2185
+
2186
+ sig do
2187
+ params(
2188
+ field:
2189
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::OrSymbol,
2190
+ operator:
2191
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator::OrSymbol,
2192
+ values: T::Array[String]
2193
+ ).returns(T.attached_class)
2194
+ end
2195
+ def self.new(
2196
+ # The property of the price to filter on.
2197
+ field:,
2198
+ # Should prices that match the filter be included or excluded.
2199
+ operator:,
2200
+ # The IDs or values that match this filter.
2201
+ values:
2202
+ )
2203
+ end
2204
+
2205
+ sig do
2206
+ override.returns(
2207
+ {
2208
+ field:
2209
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol,
2210
+ operator:
2211
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol,
2212
+ values: T::Array[String]
2213
+ }
2214
+ )
2215
+ end
2216
+ def to_hash
2217
+ end
2218
+
2219
+ # The property of the price to filter on.
2220
+ module Field
2221
+ extend Orb::Internal::Type::Enum
2222
+
2223
+ TaggedSymbol =
2224
+ T.type_alias do
2225
+ T.all(
2226
+ Symbol,
2227
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field
2228
+ )
2229
+ end
2230
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2231
+
2232
+ PRICE_ID =
2233
+ T.let(
2234
+ :price_id,
2235
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2236
+ )
2237
+ ITEM_ID =
2238
+ T.let(
2239
+ :item_id,
2240
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2241
+ )
2242
+ PRICE_TYPE =
2243
+ T.let(
2244
+ :price_type,
2245
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2246
+ )
2247
+ CURRENCY =
2248
+ T.let(
2249
+ :currency,
2250
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2251
+ )
2252
+ PRICING_UNIT_ID =
2253
+ T.let(
2254
+ :pricing_unit_id,
2255
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2256
+ )
2257
+
2258
+ sig do
2259
+ override.returns(
2260
+ T::Array[
2261
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2262
+ ]
2263
+ )
2264
+ end
2265
+ def self.values
2266
+ end
2267
+ end
2268
+
2269
+ # Should prices that match the filter be included or excluded.
2270
+ module Operator
2271
+ extend Orb::Internal::Type::Enum
2272
+
2273
+ TaggedSymbol =
2274
+ T.type_alias do
2275
+ T.all(
2276
+ Symbol,
2277
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator
2278
+ )
2279
+ end
2280
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2281
+
2282
+ INCLUDES =
2283
+ T.let(
2284
+ :includes,
2285
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2286
+ )
2287
+ EXCLUDES =
2288
+ T.let(
2289
+ :excludes,
2290
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2291
+ )
2292
+
2293
+ sig do
2294
+ override.returns(
2295
+ T::Array[
2296
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2297
+ ]
2298
+ )
2299
+ end
2300
+ def self.values
2301
+ end
2302
+ end
2303
+ end
1296
2304
  end
1297
2305
 
1298
2306
  class Percentage < Orb::Internal::Type::BaseModel
@@ -1304,10 +2312,6 @@ module Orb
1304
2312
  )
1305
2313
  end
1306
2314
 
1307
- # The price ids that this discount interval applies to.
1308
- sig { returns(T::Array[String]) }
1309
- attr_accessor :applies_to_price_ids
1310
-
1311
2315
  # The price interval ids that this discount interval applies to.
1312
2316
  sig { returns(T::Array[String]) }
1313
2317
  attr_accessor :applies_to_price_interval_ids
@@ -1319,6 +2323,16 @@ module Orb
1319
2323
  sig { returns(T.nilable(Time)) }
1320
2324
  attr_accessor :end_date
1321
2325
 
2326
+ # The filters that determine which prices this discount interval applies to.
2327
+ sig do
2328
+ returns(
2329
+ T::Array[
2330
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter
2331
+ ]
2332
+ )
2333
+ end
2334
+ attr_accessor :filters
2335
+
1322
2336
  # Only available if discount_type is `percentage`.This is a number between 0
1323
2337
  # and 1.
1324
2338
  sig { returns(Float) }
@@ -1330,21 +2344,24 @@ module Orb
1330
2344
 
1331
2345
  sig do
1332
2346
  params(
1333
- applies_to_price_ids: T::Array[String],
1334
2347
  applies_to_price_interval_ids: T::Array[String],
1335
2348
  end_date: T.nilable(Time),
2349
+ filters:
2350
+ T::Array[
2351
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::OrHash
2352
+ ],
1336
2353
  percentage_discount: Float,
1337
2354
  start_date: Time,
1338
2355
  discount_type: Symbol
1339
2356
  ).returns(T.attached_class)
1340
2357
  end
1341
2358
  def self.new(
1342
- # The price ids that this discount interval applies to.
1343
- applies_to_price_ids:,
1344
2359
  # The price interval ids that this discount interval applies to.
1345
2360
  applies_to_price_interval_ids:,
1346
2361
  # The end date of the discount interval.
1347
2362
  end_date:,
2363
+ # The filters that determine which prices this discount interval applies to.
2364
+ filters:,
1348
2365
  # Only available if discount_type is `percentage`.This is a number between 0
1349
2366
  # and 1.
1350
2367
  percentage_discount:,
@@ -1357,10 +2374,13 @@ module Orb
1357
2374
  sig do
1358
2375
  override.returns(
1359
2376
  {
1360
- applies_to_price_ids: T::Array[String],
1361
2377
  applies_to_price_interval_ids: T::Array[String],
1362
2378
  discount_type: Symbol,
1363
2379
  end_date: T.nilable(Time),
2380
+ filters:
2381
+ T::Array[
2382
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter
2383
+ ],
1364
2384
  percentage_discount: Float,
1365
2385
  start_date: Time
1366
2386
  }
@@ -1368,6 +2388,154 @@ module Orb
1368
2388
  end
1369
2389
  def to_hash
1370
2390
  end
2391
+
2392
+ class Filter < Orb::Internal::Type::BaseModel
2393
+ OrHash =
2394
+ T.type_alias do
2395
+ T.any(
2396
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter,
2397
+ Orb::Internal::AnyHash
2398
+ )
2399
+ end
2400
+
2401
+ # The property of the price to filter on.
2402
+ sig do
2403
+ returns(
2404
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2405
+ )
2406
+ end
2407
+ attr_accessor :field
2408
+
2409
+ # Should prices that match the filter be included or excluded.
2410
+ sig do
2411
+ returns(
2412
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2413
+ )
2414
+ end
2415
+ attr_accessor :operator
2416
+
2417
+ # The IDs or values that match this filter.
2418
+ sig { returns(T::Array[String]) }
2419
+ attr_accessor :values
2420
+
2421
+ sig do
2422
+ params(
2423
+ field:
2424
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::OrSymbol,
2425
+ operator:
2426
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::OrSymbol,
2427
+ values: T::Array[String]
2428
+ ).returns(T.attached_class)
2429
+ end
2430
+ def self.new(
2431
+ # The property of the price to filter on.
2432
+ field:,
2433
+ # Should prices that match the filter be included or excluded.
2434
+ operator:,
2435
+ # The IDs or values that match this filter.
2436
+ values:
2437
+ )
2438
+ end
2439
+
2440
+ sig do
2441
+ override.returns(
2442
+ {
2443
+ field:
2444
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol,
2445
+ operator:
2446
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol,
2447
+ values: T::Array[String]
2448
+ }
2449
+ )
2450
+ end
2451
+ def to_hash
2452
+ end
2453
+
2454
+ # The property of the price to filter on.
2455
+ module Field
2456
+ extend Orb::Internal::Type::Enum
2457
+
2458
+ TaggedSymbol =
2459
+ T.type_alias do
2460
+ T.all(
2461
+ Symbol,
2462
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field
2463
+ )
2464
+ end
2465
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2466
+
2467
+ PRICE_ID =
2468
+ T.let(
2469
+ :price_id,
2470
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2471
+ )
2472
+ ITEM_ID =
2473
+ T.let(
2474
+ :item_id,
2475
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2476
+ )
2477
+ PRICE_TYPE =
2478
+ T.let(
2479
+ :price_type,
2480
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2481
+ )
2482
+ CURRENCY =
2483
+ T.let(
2484
+ :currency,
2485
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2486
+ )
2487
+ PRICING_UNIT_ID =
2488
+ T.let(
2489
+ :pricing_unit_id,
2490
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2491
+ )
2492
+
2493
+ sig do
2494
+ override.returns(
2495
+ T::Array[
2496
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2497
+ ]
2498
+ )
2499
+ end
2500
+ def self.values
2501
+ end
2502
+ end
2503
+
2504
+ # Should prices that match the filter be included or excluded.
2505
+ module Operator
2506
+ extend Orb::Internal::Type::Enum
2507
+
2508
+ TaggedSymbol =
2509
+ T.type_alias do
2510
+ T.all(
2511
+ Symbol,
2512
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator
2513
+ )
2514
+ end
2515
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2516
+
2517
+ INCLUDES =
2518
+ T.let(
2519
+ :includes,
2520
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2521
+ )
2522
+ EXCLUDES =
2523
+ T.let(
2524
+ :excludes,
2525
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2526
+ )
2527
+
2528
+ sig do
2529
+ override.returns(
2530
+ T::Array[
2531
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2532
+ ]
2533
+ )
2534
+ end
2535
+ def self.values
2536
+ end
2537
+ end
2538
+ end
1371
2539
  end
1372
2540
 
1373
2541
  class Usage < Orb::Internal::Type::BaseModel
@@ -1379,10 +2547,6 @@ module Orb
1379
2547
  )
1380
2548
  end
1381
2549
 
1382
- # The price ids that this discount interval applies to.
1383
- sig { returns(T::Array[String]) }
1384
- attr_accessor :applies_to_price_ids
1385
-
1386
2550
  # The price interval ids that this discount interval applies to.
1387
2551
  sig { returns(T::Array[String]) }
1388
2552
  attr_accessor :applies_to_price_interval_ids
@@ -1394,6 +2558,16 @@ module Orb
1394
2558
  sig { returns(T.nilable(Time)) }
1395
2559
  attr_accessor :end_date
1396
2560
 
2561
+ # The filters that determine which prices this discount interval applies to.
2562
+ sig do
2563
+ returns(
2564
+ T::Array[
2565
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter
2566
+ ]
2567
+ )
2568
+ end
2569
+ attr_accessor :filters
2570
+
1397
2571
  # The start date of the discount interval.
1398
2572
  sig { returns(Time) }
1399
2573
  attr_accessor :start_date
@@ -1405,21 +2579,24 @@ module Orb
1405
2579
 
1406
2580
  sig do
1407
2581
  params(
1408
- applies_to_price_ids: T::Array[String],
1409
2582
  applies_to_price_interval_ids: T::Array[String],
1410
2583
  end_date: T.nilable(Time),
2584
+ filters:
2585
+ T::Array[
2586
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::OrHash
2587
+ ],
1411
2588
  start_date: Time,
1412
2589
  usage_discount: Float,
1413
2590
  discount_type: Symbol
1414
2591
  ).returns(T.attached_class)
1415
2592
  end
1416
2593
  def self.new(
1417
- # The price ids that this discount interval applies to.
1418
- applies_to_price_ids:,
1419
2594
  # The price interval ids that this discount interval applies to.
1420
2595
  applies_to_price_interval_ids:,
1421
2596
  # The end date of the discount interval.
1422
2597
  end_date:,
2598
+ # The filters that determine which prices this discount interval applies to.
2599
+ filters:,
1423
2600
  # The start date of the discount interval.
1424
2601
  start_date:,
1425
2602
  # Only available if discount_type is `usage`. Number of usage units that this
@@ -1432,10 +2609,13 @@ module Orb
1432
2609
  sig do
1433
2610
  override.returns(
1434
2611
  {
1435
- applies_to_price_ids: T::Array[String],
1436
2612
  applies_to_price_interval_ids: T::Array[String],
1437
2613
  discount_type: Symbol,
1438
2614
  end_date: T.nilable(Time),
2615
+ filters:
2616
+ T::Array[
2617
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter
2618
+ ],
1439
2619
  start_date: Time,
1440
2620
  usage_discount: Float
1441
2621
  }
@@ -1443,6 +2623,154 @@ module Orb
1443
2623
  end
1444
2624
  def to_hash
1445
2625
  end
2626
+
2627
+ class Filter < Orb::Internal::Type::BaseModel
2628
+ OrHash =
2629
+ T.type_alias do
2630
+ T.any(
2631
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter,
2632
+ Orb::Internal::AnyHash
2633
+ )
2634
+ end
2635
+
2636
+ # The property of the price to filter on.
2637
+ sig do
2638
+ returns(
2639
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2640
+ )
2641
+ end
2642
+ attr_accessor :field
2643
+
2644
+ # Should prices that match the filter be included or excluded.
2645
+ sig do
2646
+ returns(
2647
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2648
+ )
2649
+ end
2650
+ attr_accessor :operator
2651
+
2652
+ # The IDs or values that match this filter.
2653
+ sig { returns(T::Array[String]) }
2654
+ attr_accessor :values
2655
+
2656
+ sig do
2657
+ params(
2658
+ field:
2659
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::OrSymbol,
2660
+ operator:
2661
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator::OrSymbol,
2662
+ values: T::Array[String]
2663
+ ).returns(T.attached_class)
2664
+ end
2665
+ def self.new(
2666
+ # The property of the price to filter on.
2667
+ field:,
2668
+ # Should prices that match the filter be included or excluded.
2669
+ operator:,
2670
+ # The IDs or values that match this filter.
2671
+ values:
2672
+ )
2673
+ end
2674
+
2675
+ sig do
2676
+ override.returns(
2677
+ {
2678
+ field:
2679
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol,
2680
+ operator:
2681
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol,
2682
+ values: T::Array[String]
2683
+ }
2684
+ )
2685
+ end
2686
+ def to_hash
2687
+ end
2688
+
2689
+ # The property of the price to filter on.
2690
+ module Field
2691
+ extend Orb::Internal::Type::Enum
2692
+
2693
+ TaggedSymbol =
2694
+ T.type_alias do
2695
+ T.all(
2696
+ Symbol,
2697
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field
2698
+ )
2699
+ end
2700
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2701
+
2702
+ PRICE_ID =
2703
+ T.let(
2704
+ :price_id,
2705
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2706
+ )
2707
+ ITEM_ID =
2708
+ T.let(
2709
+ :item_id,
2710
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2711
+ )
2712
+ PRICE_TYPE =
2713
+ T.let(
2714
+ :price_type,
2715
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2716
+ )
2717
+ CURRENCY =
2718
+ T.let(
2719
+ :currency,
2720
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2721
+ )
2722
+ PRICING_UNIT_ID =
2723
+ T.let(
2724
+ :pricing_unit_id,
2725
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2726
+ )
2727
+
2728
+ sig do
2729
+ override.returns(
2730
+ T::Array[
2731
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2732
+ ]
2733
+ )
2734
+ end
2735
+ def self.values
2736
+ end
2737
+ end
2738
+
2739
+ # Should prices that match the filter be included or excluded.
2740
+ module Operator
2741
+ extend Orb::Internal::Type::Enum
2742
+
2743
+ TaggedSymbol =
2744
+ T.type_alias do
2745
+ T.all(
2746
+ Symbol,
2747
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator
2748
+ )
2749
+ end
2750
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2751
+
2752
+ INCLUDES =
2753
+ T.let(
2754
+ :includes,
2755
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2756
+ )
2757
+ EXCLUDES =
2758
+ T.let(
2759
+ :excludes,
2760
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2761
+ )
2762
+
2763
+ sig do
2764
+ override.returns(
2765
+ T::Array[
2766
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2767
+ ]
2768
+ )
2769
+ end
2770
+ def self.values
2771
+ end
2772
+ end
2773
+ end
1446
2774
  end
1447
2775
 
1448
2776
  sig do
@@ -1511,10 +2839,6 @@ module Orb
1511
2839
  )
1512
2840
  end
1513
2841
 
1514
- # The price ids that this maximum interval applies to.
1515
- sig { returns(T::Array[String]) }
1516
- attr_accessor :applies_to_price_ids
1517
-
1518
2842
  # The price interval ids that this maximum interval applies to.
1519
2843
  sig { returns(T::Array[String]) }
1520
2844
  attr_accessor :applies_to_price_interval_ids
@@ -1523,6 +2847,16 @@ module Orb
1523
2847
  sig { returns(T.nilable(Time)) }
1524
2848
  attr_accessor :end_date
1525
2849
 
2850
+ # The filters that determine which prices this maximum interval applies to.
2851
+ sig do
2852
+ returns(
2853
+ T::Array[
2854
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter
2855
+ ]
2856
+ )
2857
+ end
2858
+ attr_accessor :filters
2859
+
1526
2860
  # The maximum amount to charge in a given billing period for the price intervals
1527
2861
  # this transform applies to.
1528
2862
  sig { returns(String) }
@@ -1534,20 +2868,23 @@ module Orb
1534
2868
 
1535
2869
  sig do
1536
2870
  params(
1537
- applies_to_price_ids: T::Array[String],
1538
2871
  applies_to_price_interval_ids: T::Array[String],
1539
2872
  end_date: T.nilable(Time),
2873
+ filters:
2874
+ T::Array[
2875
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::OrHash
2876
+ ],
1540
2877
  maximum_amount: String,
1541
2878
  start_date: Time
1542
2879
  ).returns(T.attached_class)
1543
2880
  end
1544
2881
  def self.new(
1545
- # The price ids that this maximum interval applies to.
1546
- applies_to_price_ids:,
1547
2882
  # The price interval ids that this maximum interval applies to.
1548
2883
  applies_to_price_interval_ids:,
1549
2884
  # The end date of the maximum interval.
1550
2885
  end_date:,
2886
+ # The filters that determine which prices this maximum interval applies to.
2887
+ filters:,
1551
2888
  # The maximum amount to charge in a given billing period for the price intervals
1552
2889
  # this transform applies to.
1553
2890
  maximum_amount:,
@@ -1559,9 +2896,12 @@ module Orb
1559
2896
  sig do
1560
2897
  override.returns(
1561
2898
  {
1562
- applies_to_price_ids: T::Array[String],
1563
2899
  applies_to_price_interval_ids: T::Array[String],
1564
2900
  end_date: T.nilable(Time),
2901
+ filters:
2902
+ T::Array[
2903
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter
2904
+ ],
1565
2905
  maximum_amount: String,
1566
2906
  start_date: Time
1567
2907
  }
@@ -1569,6 +2909,154 @@ module Orb
1569
2909
  end
1570
2910
  def to_hash
1571
2911
  end
2912
+
2913
+ class Filter < Orb::Internal::Type::BaseModel
2914
+ OrHash =
2915
+ T.type_alias do
2916
+ T.any(
2917
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter,
2918
+ Orb::Internal::AnyHash
2919
+ )
2920
+ end
2921
+
2922
+ # The property of the price to filter on.
2923
+ sig do
2924
+ returns(
2925
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
2926
+ )
2927
+ end
2928
+ attr_accessor :field
2929
+
2930
+ # Should prices that match the filter be included or excluded.
2931
+ sig do
2932
+ returns(
2933
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
2934
+ )
2935
+ end
2936
+ attr_accessor :operator
2937
+
2938
+ # The IDs or values that match this filter.
2939
+ sig { returns(T::Array[String]) }
2940
+ attr_accessor :values
2941
+
2942
+ sig do
2943
+ params(
2944
+ field:
2945
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::OrSymbol,
2946
+ operator:
2947
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator::OrSymbol,
2948
+ values: T::Array[String]
2949
+ ).returns(T.attached_class)
2950
+ end
2951
+ def self.new(
2952
+ # The property of the price to filter on.
2953
+ field:,
2954
+ # Should prices that match the filter be included or excluded.
2955
+ operator:,
2956
+ # The IDs or values that match this filter.
2957
+ values:
2958
+ )
2959
+ end
2960
+
2961
+ sig do
2962
+ override.returns(
2963
+ {
2964
+ field:
2965
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol,
2966
+ operator:
2967
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol,
2968
+ values: T::Array[String]
2969
+ }
2970
+ )
2971
+ end
2972
+ def to_hash
2973
+ end
2974
+
2975
+ # The property of the price to filter on.
2976
+ module Field
2977
+ extend Orb::Internal::Type::Enum
2978
+
2979
+ TaggedSymbol =
2980
+ T.type_alias do
2981
+ T.all(
2982
+ Symbol,
2983
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field
2984
+ )
2985
+ end
2986
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2987
+
2988
+ PRICE_ID =
2989
+ T.let(
2990
+ :price_id,
2991
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
2992
+ )
2993
+ ITEM_ID =
2994
+ T.let(
2995
+ :item_id,
2996
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
2997
+ )
2998
+ PRICE_TYPE =
2999
+ T.let(
3000
+ :price_type,
3001
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3002
+ )
3003
+ CURRENCY =
3004
+ T.let(
3005
+ :currency,
3006
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3007
+ )
3008
+ PRICING_UNIT_ID =
3009
+ T.let(
3010
+ :pricing_unit_id,
3011
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3012
+ )
3013
+
3014
+ sig do
3015
+ override.returns(
3016
+ T::Array[
3017
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3018
+ ]
3019
+ )
3020
+ end
3021
+ def self.values
3022
+ end
3023
+ end
3024
+
3025
+ # Should prices that match the filter be included or excluded.
3026
+ module Operator
3027
+ extend Orb::Internal::Type::Enum
3028
+
3029
+ TaggedSymbol =
3030
+ T.type_alias do
3031
+ T.all(
3032
+ Symbol,
3033
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator
3034
+ )
3035
+ end
3036
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3037
+
3038
+ INCLUDES =
3039
+ T.let(
3040
+ :includes,
3041
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
3042
+ )
3043
+ EXCLUDES =
3044
+ T.let(
3045
+ :excludes,
3046
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
3047
+ )
3048
+
3049
+ sig do
3050
+ override.returns(
3051
+ T::Array[
3052
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
3053
+ ]
3054
+ )
3055
+ end
3056
+ def self.values
3057
+ end
3058
+ end
3059
+ end
1572
3060
  end
1573
3061
 
1574
3062
  class MinimumInterval < Orb::Internal::Type::BaseModel
@@ -1580,10 +3068,6 @@ module Orb
1580
3068
  )
1581
3069
  end
1582
3070
 
1583
- # The price ids that this minimum interval applies to.
1584
- sig { returns(T::Array[String]) }
1585
- attr_accessor :applies_to_price_ids
1586
-
1587
3071
  # The price interval ids that this minimum interval applies to.
1588
3072
  sig { returns(T::Array[String]) }
1589
3073
  attr_accessor :applies_to_price_interval_ids
@@ -1592,6 +3076,16 @@ module Orb
1592
3076
  sig { returns(T.nilable(Time)) }
1593
3077
  attr_accessor :end_date
1594
3078
 
3079
+ # The filters that determine which prices this minimum interval applies to.
3080
+ sig do
3081
+ returns(
3082
+ T::Array[
3083
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter
3084
+ ]
3085
+ )
3086
+ end
3087
+ attr_accessor :filters
3088
+
1595
3089
  # The minimum amount to charge in a given billing period for the price intervals
1596
3090
  # this minimum applies to.
1597
3091
  sig { returns(String) }
@@ -1603,20 +3097,23 @@ module Orb
1603
3097
 
1604
3098
  sig do
1605
3099
  params(
1606
- applies_to_price_ids: T::Array[String],
1607
3100
  applies_to_price_interval_ids: T::Array[String],
1608
3101
  end_date: T.nilable(Time),
3102
+ filters:
3103
+ T::Array[
3104
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::OrHash
3105
+ ],
1609
3106
  minimum_amount: String,
1610
3107
  start_date: Time
1611
3108
  ).returns(T.attached_class)
1612
3109
  end
1613
3110
  def self.new(
1614
- # The price ids that this minimum interval applies to.
1615
- applies_to_price_ids:,
1616
3111
  # The price interval ids that this minimum interval applies to.
1617
3112
  applies_to_price_interval_ids:,
1618
3113
  # The end date of the minimum interval.
1619
3114
  end_date:,
3115
+ # The filters that determine which prices this minimum interval applies to.
3116
+ filters:,
1620
3117
  # The minimum amount to charge in a given billing period for the price intervals
1621
3118
  # this minimum applies to.
1622
3119
  minimum_amount:,
@@ -1628,9 +3125,12 @@ module Orb
1628
3125
  sig do
1629
3126
  override.returns(
1630
3127
  {
1631
- applies_to_price_ids: T::Array[String],
1632
3128
  applies_to_price_interval_ids: T::Array[String],
1633
3129
  end_date: T.nilable(Time),
3130
+ filters:
3131
+ T::Array[
3132
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter
3133
+ ],
1634
3134
  minimum_amount: String,
1635
3135
  start_date: Time
1636
3136
  }
@@ -1638,6 +3138,154 @@ module Orb
1638
3138
  end
1639
3139
  def to_hash
1640
3140
  end
3141
+
3142
+ class Filter < Orb::Internal::Type::BaseModel
3143
+ OrHash =
3144
+ T.type_alias do
3145
+ T.any(
3146
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter,
3147
+ Orb::Internal::AnyHash
3148
+ )
3149
+ end
3150
+
3151
+ # The property of the price to filter on.
3152
+ sig do
3153
+ returns(
3154
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3155
+ )
3156
+ end
3157
+ attr_accessor :field
3158
+
3159
+ # Should prices that match the filter be included or excluded.
3160
+ sig do
3161
+ returns(
3162
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3163
+ )
3164
+ end
3165
+ attr_accessor :operator
3166
+
3167
+ # The IDs or values that match this filter.
3168
+ sig { returns(T::Array[String]) }
3169
+ attr_accessor :values
3170
+
3171
+ sig do
3172
+ params(
3173
+ field:
3174
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::OrSymbol,
3175
+ operator:
3176
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator::OrSymbol,
3177
+ values: T::Array[String]
3178
+ ).returns(T.attached_class)
3179
+ end
3180
+ def self.new(
3181
+ # The property of the price to filter on.
3182
+ field:,
3183
+ # Should prices that match the filter be included or excluded.
3184
+ operator:,
3185
+ # The IDs or values that match this filter.
3186
+ values:
3187
+ )
3188
+ end
3189
+
3190
+ sig do
3191
+ override.returns(
3192
+ {
3193
+ field:
3194
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol,
3195
+ operator:
3196
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol,
3197
+ values: T::Array[String]
3198
+ }
3199
+ )
3200
+ end
3201
+ def to_hash
3202
+ end
3203
+
3204
+ # The property of the price to filter on.
3205
+ module Field
3206
+ extend Orb::Internal::Type::Enum
3207
+
3208
+ TaggedSymbol =
3209
+ T.type_alias do
3210
+ T.all(
3211
+ Symbol,
3212
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field
3213
+ )
3214
+ end
3215
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3216
+
3217
+ PRICE_ID =
3218
+ T.let(
3219
+ :price_id,
3220
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3221
+ )
3222
+ ITEM_ID =
3223
+ T.let(
3224
+ :item_id,
3225
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3226
+ )
3227
+ PRICE_TYPE =
3228
+ T.let(
3229
+ :price_type,
3230
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3231
+ )
3232
+ CURRENCY =
3233
+ T.let(
3234
+ :currency,
3235
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3236
+ )
3237
+ PRICING_UNIT_ID =
3238
+ T.let(
3239
+ :pricing_unit_id,
3240
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3241
+ )
3242
+
3243
+ sig do
3244
+ override.returns(
3245
+ T::Array[
3246
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3247
+ ]
3248
+ )
3249
+ end
3250
+ def self.values
3251
+ end
3252
+ end
3253
+
3254
+ # Should prices that match the filter be included or excluded.
3255
+ module Operator
3256
+ extend Orb::Internal::Type::Enum
3257
+
3258
+ TaggedSymbol =
3259
+ T.type_alias do
3260
+ T.all(
3261
+ Symbol,
3262
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator
3263
+ )
3264
+ end
3265
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3266
+
3267
+ INCLUDES =
3268
+ T.let(
3269
+ :includes,
3270
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3271
+ )
3272
+ EXCLUDES =
3273
+ T.let(
3274
+ :excludes,
3275
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3276
+ )
3277
+
3278
+ sig do
3279
+ override.returns(
3280
+ T::Array[
3281
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3282
+ ]
3283
+ )
3284
+ end
3285
+ def self.values
3286
+ end
3287
+ end
3288
+ end
1641
3289
  end
1642
3290
 
1643
3291
  class PendingSubscriptionChange < Orb::Internal::Type::BaseModel