orb-billing 0.5.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/orb/internal/type/base_model.rb +2 -2
  5. data/lib/orb/internal/type/union.rb +6 -6
  6. data/lib/orb/internal/util.rb +5 -1
  7. data/lib/orb/models/alert.rb +33 -1
  8. data/lib/orb/models/amount_discount.rb +10 -10
  9. data/lib/orb/models/credit_note_create_params.rb +9 -9
  10. data/lib/orb/models/customer_create_params.rb +21 -3
  11. data/lib/orb/models/customer_update_by_external_id_params.rb +21 -3
  12. data/lib/orb/models/customer_update_params.rb +21 -3
  13. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +9 -1
  14. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +9 -1
  15. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +9 -1
  16. data/lib/orb/models/customers/credits/ledger_list_response.rb +9 -1
  17. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +1 -1
  18. data/lib/orb/models/customers/credits/top_up_create_params.rb +1 -1
  19. data/lib/orb/models/invoice.rb +626 -9
  20. data/lib/orb/models/invoice_fetch_upcoming_response.rb +624 -9
  21. data/lib/orb/models/invoice_line_item_create_response.rb +486 -7
  22. data/lib/orb/models/item.rb +18 -1
  23. data/lib/orb/models/item_archive_params.rb +14 -0
  24. data/lib/orb/models/item_create_params.rb +14 -1
  25. data/lib/orb/models/item_update_params.rb +16 -1
  26. data/lib/orb/models/percentage_discount.rb +10 -10
  27. data/lib/orb/models/plan.rb +618 -9
  28. data/lib/orb/models/plan_create_params.rb +2066 -30
  29. data/lib/orb/models/plan_set_default_version_params.rb +22 -0
  30. data/lib/orb/models/plans/external_plan_id/version_create_params.rb +17948 -0
  31. data/lib/orb/models/plans/external_plan_id/version_create_response.rb +819 -0
  32. data/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +24 -0
  33. data/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +819 -0
  34. data/lib/orb/models/plans/external_plan_id_set_default_version_params.rb +24 -0
  35. data/lib/orb/models/plans/version_create_params.rb +17794 -0
  36. data/lib/orb/models/plans/version_create_response.rb +814 -0
  37. data/lib/orb/models/plans/version_retrieve_params.rb +22 -0
  38. data/lib/orb/models/plans/version_retrieve_response.rb +814 -0
  39. data/lib/orb/models/price.rb +4124 -70
  40. data/lib/orb/models/price_create_params.rb +45 -1
  41. data/lib/orb/models/price_evaluate_params.rb +8529 -21
  42. data/lib/orb/models/price_evaluate_response.rb +38 -3
  43. data/lib/orb/models/subscription.rb +730 -54
  44. data/lib/orb/models/subscription_cancel_response.rb +706 -54
  45. data/lib/orb/models/subscription_change_apply_response.rb +728 -54
  46. data/lib/orb/models/subscription_change_cancel_response.rb +728 -54
  47. data/lib/orb/models/subscription_change_retrieve_response.rb +728 -54
  48. data/lib/orb/models/subscription_create_params.rb +5992 -1698
  49. data/lib/orb/models/subscription_create_response.rb +706 -54
  50. data/lib/orb/models/subscription_fetch_schedule_response.rb +3 -3
  51. data/lib/orb/models/subscription_price_intervals_params.rb +1392 -76
  52. data/lib/orb/models/subscription_price_intervals_response.rb +712 -54
  53. data/lib/orb/models/subscription_schedule_plan_change_params.rb +6005 -1723
  54. data/lib/orb/models/subscription_schedule_plan_change_response.rb +716 -54
  55. data/lib/orb/models/subscription_trigger_phase_response.rb +708 -54
  56. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +720 -54
  57. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +728 -54
  58. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +728 -54
  59. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +1 -1
  60. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +720 -54
  61. data/lib/orb/models/subscription_update_trial_response.rb +706 -54
  62. data/lib/orb/models/trial_discount.rb +10 -10
  63. data/lib/orb/models/usage_discount.rb +10 -10
  64. data/lib/orb/models.rb +4 -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/versions.rb +88 -0
  71. data/lib/orb/resources/plans/external_plan_id.rb +32 -1
  72. data/lib/orb/resources/plans/versions.rb +86 -0
  73. data/lib/orb/resources/plans.rb +33 -2
  74. data/lib/orb/resources/prices.rb +23 -17
  75. data/lib/orb/resources/subscriptions.rb +5 -1
  76. data/lib/orb/version.rb +1 -1
  77. data/lib/orb.rb +16 -1
  78. data/rbi/orb/models/alert.rbi +50 -3
  79. data/rbi/orb/models/amount_discount.rbi +8 -8
  80. data/rbi/orb/models/credit_note_create_params.rbi +8 -8
  81. data/rbi/orb/models/customer_create_params.rbi +38 -4
  82. data/rbi/orb/models/customer_update_by_external_id_params.rbi +38 -4
  83. data/rbi/orb/models/customer_update_params.rbi +38 -4
  84. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +9 -1
  85. data/rbi/orb/models/customers/credits/ledger_create_entry_response.rbi +9 -1
  86. data/rbi/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +9 -1
  87. data/rbi/orb/models/customers/credits/ledger_list_response.rbi +9 -1
  88. data/rbi/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +2 -2
  89. data/rbi/orb/models/customers/credits/top_up_create_params.rbi +2 -2
  90. data/rbi/orb/models/invoice.rbi +1451 -35
  91. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +1524 -4
  92. data/rbi/orb/models/invoice_line_item_create_response.rbi +1184 -2
  93. data/rbi/orb/models/item.rbi +20 -1
  94. data/rbi/orb/models/item_archive_params.rbi +25 -0
  95. data/rbi/orb/models/item_create_params.rbi +18 -1
  96. data/rbi/orb/models/item_update_params.rbi +17 -1
  97. data/rbi/orb/models/percentage_discount.rbi +10 -10
  98. data/rbi/orb/models/plan.rbi +1339 -4
  99. data/rbi/orb/models/plan_create_params.rbi +3833 -29
  100. data/rbi/orb/models/plan_set_default_version_params.rbi +40 -0
  101. data/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +32668 -0
  102. data/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +1562 -0
  103. data/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +42 -0
  104. data/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +1562 -0
  105. data/rbi/orb/models/plans/external_plan_id_set_default_version_params.rbi +45 -0
  106. data/rbi/orb/models/plans/version_create_params.rbi +32607 -0
  107. data/rbi/orb/models/plans/version_create_response.rbi +1556 -0
  108. data/rbi/orb/models/plans/version_retrieve_params.rbi +37 -0
  109. data/rbi/orb/models/plans/version_retrieve_response.rbi +1558 -0
  110. data/rbi/orb/models/price.rbi +9447 -441
  111. data/rbi/orb/models/price_create_params.rbi +80 -0
  112. data/rbi/orb/models/price_evaluate_params.rbi +15684 -25
  113. data/rbi/orb/models/price_evaluate_response.rbi +68 -5
  114. data/rbi/orb/models/subscription.rbi +1654 -44
  115. data/rbi/orb/models/subscription_cancel_response.rbi +1692 -44
  116. data/rbi/orb/models/subscription_change_apply_response.rbi +1692 -44
  117. data/rbi/orb/models/subscription_change_cancel_response.rbi +1692 -44
  118. data/rbi/orb/models/subscription_change_retrieve_response.rbi +1692 -44
  119. data/rbi/orb/models/subscription_create_params.rbi +10400 -2710
  120. data/rbi/orb/models/subscription_create_response.rbi +1692 -44
  121. data/rbi/orb/models/subscription_fetch_schedule_response.rbi +13 -4
  122. data/rbi/orb/models/subscription_price_intervals_params.rbi +2401 -49
  123. data/rbi/orb/models/subscription_price_intervals_response.rbi +1692 -44
  124. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +10423 -2753
  125. data/rbi/orb/models/subscription_schedule_plan_change_response.rbi +1692 -44
  126. data/rbi/orb/models/subscription_trigger_phase_response.rbi +1692 -44
  127. data/rbi/orb/models/subscription_unschedule_cancellation_response.rbi +1692 -44
  128. data/rbi/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +1692 -44
  129. data/rbi/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +1692 -44
  130. data/rbi/orb/models/subscription_update_fixed_fee_quantity_params.rbi +2 -2
  131. data/rbi/orb/models/subscription_update_fixed_fee_quantity_response.rbi +1692 -44
  132. data/rbi/orb/models/subscription_update_trial_response.rbi +1692 -44
  133. data/rbi/orb/models/trial_discount.rbi +8 -8
  134. data/rbi/orb/models/usage_discount.rbi +10 -10
  135. data/rbi/orb/models.rbi +4 -0
  136. data/rbi/orb/resources/credit_notes.rbi +3 -3
  137. data/rbi/orb/resources/customers/balance_transactions.rbi +0 -7
  138. data/rbi/orb/resources/customers/credits/top_ups.rbi +2 -2
  139. data/rbi/orb/resources/customers.rbi +7 -7
  140. data/rbi/orb/resources/dimensional_price_groups.rbi +1 -1
  141. data/rbi/orb/resources/items.rbi +20 -0
  142. data/rbi/orb/resources/plans/external_plan_id/versions.rbi +103 -0
  143. data/rbi/orb/resources/plans/external_plan_id.rbi +23 -1
  144. data/rbi/orb/resources/plans/versions.rbi +91 -0
  145. data/rbi/orb/resources/plans.rbi +27 -2
  146. data/rbi/orb/resources/prices.rbi +27 -17
  147. data/rbi/orb/resources/subscriptions.rbi +9 -1
  148. data/sig/orb/models/alert.rbs +20 -3
  149. data/sig/orb/models/amount_discount.rbs +5 -5
  150. data/sig/orb/models/credit_note_create_params.rbs +6 -6
  151. data/sig/orb/models/customer_create_params.rbs +13 -0
  152. data/sig/orb/models/customer_update_by_external_id_params.rbs +13 -0
  153. data/sig/orb/models/customer_update_params.rbs +13 -0
  154. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +7 -2
  155. data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +7 -2
  156. data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +7 -2
  157. data/sig/orb/models/customers/credits/ledger_list_response.rbs +7 -2
  158. data/sig/orb/models/invoice.rbs +558 -4
  159. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +558 -4
  160. data/sig/orb/models/invoice_line_item_create_response.rbs +414 -2
  161. data/sig/orb/models/item.rbs +5 -0
  162. data/sig/orb/models/item_archive_params.rbs +14 -0
  163. data/sig/orb/models/item_create_params.rbs +10 -2
  164. data/sig/orb/models/item_update_params.rbs +5 -0
  165. data/sig/orb/models/percentage_discount.rbs +5 -5
  166. data/sig/orb/models/plan.rbs +538 -4
  167. data/sig/orb/models/plan_create_params.rbs +1460 -3
  168. data/sig/orb/models/plan_set_default_version_params.rbs +20 -0
  169. data/sig/orb/models/plans/external_plan_id/version_create_params.rbs +12923 -0
  170. data/sig/orb/models/plans/external_plan_id/version_create_response.rbs +664 -0
  171. data/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +27 -0
  172. data/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +664 -0
  173. data/sig/orb/models/plans/external_plan_id_set_default_version_params.rbs +25 -0
  174. data/sig/orb/models/plans/version_create_params.rbs +12898 -0
  175. data/sig/orb/models/plans/version_create_response.rbs +662 -0
  176. data/sig/orb/models/plans/version_retrieve_params.rbs +25 -0
  177. data/sig/orb/models/plans/version_retrieve_response.rbs +662 -0
  178. data/sig/orb/models/price.rbs +3512 -96
  179. data/sig/orb/models/price_create_params.rbs +32 -0
  180. data/sig/orb/models/price_evaluate_params.rbs +6187 -10
  181. data/sig/orb/models/price_evaluate_response.rbs +41 -4
  182. data/sig/orb/models/subscription.rbs +609 -29
  183. data/sig/orb/models/subscription_cancel_response.rbs +609 -29
  184. data/sig/orb/models/subscription_change_apply_response.rbs +621 -29
  185. data/sig/orb/models/subscription_change_cancel_response.rbs +621 -29
  186. data/sig/orb/models/subscription_change_retrieve_response.rbs +621 -29
  187. data/sig/orb/models/subscription_create_params.rbs +4450 -1466
  188. data/sig/orb/models/subscription_create_response.rbs +609 -29
  189. data/sig/orb/models/subscription_fetch_schedule_response.rbs +4 -4
  190. data/sig/orb/models/subscription_price_intervals_params.rbs +920 -24
  191. data/sig/orb/models/subscription_price_intervals_response.rbs +609 -29
  192. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +4440 -1466
  193. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +609 -29
  194. data/sig/orb/models/subscription_trigger_phase_response.rbs +609 -29
  195. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +609 -29
  196. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +609 -29
  197. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +609 -29
  198. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +609 -29
  199. data/sig/orb/models/subscription_update_trial_response.rbs +609 -29
  200. data/sig/orb/models/trial_discount.rbs +5 -5
  201. data/sig/orb/models/usage_discount.rbs +5 -5
  202. data/sig/orb/models.rbs +4 -0
  203. data/sig/orb/resources/credit_notes.rbs +1 -1
  204. data/sig/orb/resources/items.rbs +7 -0
  205. data/sig/orb/resources/plans/external_plan_id/versions.rbs +30 -0
  206. data/sig/orb/resources/plans/external_plan_id.rbs +8 -0
  207. data/sig/orb/resources/plans/versions.rbs +28 -0
  208. data/sig/orb/resources/plans.rbs +8 -0
  209. data/sig/orb/resources/prices.rbs +3 -3
  210. data/sig/orb/resources/subscriptions.rbs +2 -0
  211. metadata +41 -2
@@ -294,6 +294,10 @@ module Orb
294
294
  end
295
295
  attr_accessor :minimum_intervals
296
296
 
297
+ # The name of the subscription.
298
+ sig { returns(String) }
299
+ attr_accessor :name
300
+
297
301
  # Determines the difference between the invoice issue date for subscription
298
302
  # invoices as the date that they are due. A value of `0` here represents that the
299
303
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -325,10 +329,10 @@ module Orb
325
329
  # subscribed to by a customer. Plans define the billing behavior of the
326
330
  # subscription. You can see more about how to configure prices in the
327
331
  # [Price resource](/reference/price).
328
- sig { returns(Orb::Plan) }
332
+ sig { returns(T.nilable(Orb::Plan)) }
329
333
  attr_reader :plan
330
334
 
331
- sig { params(plan: Orb::Plan::OrHash).void }
335
+ sig { params(plan: T.nilable(Orb::Plan::OrHash)).void }
332
336
  attr_writer :plan
333
337
 
334
338
  # The price intervals for this subscription.
@@ -448,12 +452,13 @@ module Orb
448
452
  T::Array[
449
453
  Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::OrHash
450
454
  ],
455
+ name: String,
451
456
  net_terms: Integer,
452
457
  pending_subscription_change:
453
458
  T.nilable(
454
459
  Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::PendingSubscriptionChange::OrHash
455
460
  ),
456
- plan: Orb::Plan::OrHash,
461
+ plan: T.nilable(Orb::Plan::OrHash),
457
462
  price_intervals:
458
463
  T::Array[
459
464
  Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::PriceInterval::OrHash
@@ -537,6 +542,8 @@ module Orb
537
542
  metadata:,
538
543
  # The minimum intervals for this subscription sorted by the start_date.
539
544
  minimum_intervals:,
545
+ # The name of the subscription.
546
+ name:,
540
547
  # Determines the difference between the invoice issue date for subscription
541
548
  # invoices as the date that they are due. A value of `0` here represents that the
542
549
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -600,12 +607,13 @@ module Orb
600
607
  T::Array[
601
608
  Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval
602
609
  ],
610
+ name: String,
603
611
  net_terms: Integer,
604
612
  pending_subscription_change:
605
613
  T.nilable(
606
614
  Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::PendingSubscriptionChange
607
615
  ),
608
- plan: Orb::Plan,
616
+ plan: T.nilable(Orb::Plan),
609
617
  price_intervals:
610
618
  T::Array[
611
619
  Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::PriceInterval
@@ -736,6 +744,16 @@ module Orb
736
744
  sig { returns(T::Array[String]) }
737
745
  attr_accessor :applies_to_price_ids
738
746
 
747
+ # The filters that determine which prices to apply this adjustment to.
748
+ sig do
749
+ returns(
750
+ T::Array[
751
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter
752
+ ]
753
+ )
754
+ end
755
+ attr_accessor :filters
756
+
739
757
  # True for adjustments that apply to an entire invocice, false for adjustments
740
758
  # that apply to only one price.
741
759
  sig { returns(T::Boolean) }
@@ -758,6 +776,10 @@ module Orb
758
776
  params(
759
777
  id: String,
760
778
  applies_to_price_ids: T::Array[String],
779
+ filters:
780
+ T::Array[
781
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::OrHash
782
+ ],
761
783
  is_invoice_level: T::Boolean,
762
784
  plan_phase_order: T.nilable(Integer),
763
785
  reason: T.nilable(String),
@@ -769,6 +791,8 @@ module Orb
769
791
  id:,
770
792
  # The price IDs that this adjustment applies to.
771
793
  applies_to_price_ids:,
794
+ # The filters that determine which prices to apply this adjustment to.
795
+ filters:,
772
796
  # True for adjustments that apply to an entire invocice, false for adjustments
773
797
  # that apply to only one price.
774
798
  is_invoice_level:,
@@ -789,6 +813,10 @@ module Orb
789
813
  id: String,
790
814
  adjustment_type: Symbol,
791
815
  applies_to_price_ids: T::Array[String],
816
+ filters:
817
+ T::Array[
818
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter
819
+ ],
792
820
  is_invoice_level: T::Boolean,
793
821
  plan_phase_order: T.nilable(Integer),
794
822
  reason: T.nilable(String),
@@ -798,6 +826,154 @@ module Orb
798
826
  end
799
827
  def to_hash
800
828
  end
829
+
830
+ class Filter < Orb::Internal::Type::BaseModel
831
+ OrHash =
832
+ T.type_alias do
833
+ T.any(
834
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter,
835
+ Orb::Internal::AnyHash
836
+ )
837
+ end
838
+
839
+ # The property of the price to filter on.
840
+ sig do
841
+ returns(
842
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
843
+ )
844
+ end
845
+ attr_accessor :field
846
+
847
+ # Should prices that match the filter be included or excluded.
848
+ sig do
849
+ returns(
850
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
851
+ )
852
+ end
853
+ attr_accessor :operator
854
+
855
+ # The IDs or values that match this filter.
856
+ sig { returns(T::Array[String]) }
857
+ attr_accessor :values
858
+
859
+ sig do
860
+ params(
861
+ field:
862
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::OrSymbol,
863
+ operator:
864
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::OrSymbol,
865
+ values: T::Array[String]
866
+ ).returns(T.attached_class)
867
+ end
868
+ def self.new(
869
+ # The property of the price to filter on.
870
+ field:,
871
+ # Should prices that match the filter be included or excluded.
872
+ operator:,
873
+ # The IDs or values that match this filter.
874
+ values:
875
+ )
876
+ end
877
+
878
+ sig do
879
+ override.returns(
880
+ {
881
+ field:
882
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol,
883
+ operator:
884
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol,
885
+ values: T::Array[String]
886
+ }
887
+ )
888
+ end
889
+ def to_hash
890
+ end
891
+
892
+ # The property of the price to filter on.
893
+ module Field
894
+ extend Orb::Internal::Type::Enum
895
+
896
+ TaggedSymbol =
897
+ T.type_alias do
898
+ T.all(
899
+ Symbol,
900
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field
901
+ )
902
+ end
903
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
904
+
905
+ PRICE_ID =
906
+ T.let(
907
+ :price_id,
908
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
909
+ )
910
+ ITEM_ID =
911
+ T.let(
912
+ :item_id,
913
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
914
+ )
915
+ PRICE_TYPE =
916
+ T.let(
917
+ :price_type,
918
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
919
+ )
920
+ CURRENCY =
921
+ T.let(
922
+ :currency,
923
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
924
+ )
925
+ PRICING_UNIT_ID =
926
+ T.let(
927
+ :pricing_unit_id,
928
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
929
+ )
930
+
931
+ sig do
932
+ override.returns(
933
+ T::Array[
934
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
935
+ ]
936
+ )
937
+ end
938
+ def self.values
939
+ end
940
+ end
941
+
942
+ # Should prices that match the filter be included or excluded.
943
+ module Operator
944
+ extend Orb::Internal::Type::Enum
945
+
946
+ TaggedSymbol =
947
+ T.type_alias do
948
+ T.all(
949
+ Symbol,
950
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator
951
+ )
952
+ end
953
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
954
+
955
+ INCLUDES =
956
+ T.let(
957
+ :includes,
958
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
959
+ )
960
+ EXCLUDES =
961
+ T.let(
962
+ :excludes,
963
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
964
+ )
965
+
966
+ sig do
967
+ override.returns(
968
+ T::Array[
969
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
970
+ ]
971
+ )
972
+ end
973
+ def self.values
974
+ end
975
+ end
976
+ end
801
977
  end
802
978
 
803
979
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -824,6 +1000,16 @@ module Orb
824
1000
  sig { returns(T::Array[String]) }
825
1001
  attr_accessor :applies_to_price_ids
826
1002
 
1003
+ # The filters that determine which prices to apply this adjustment to.
1004
+ sig do
1005
+ returns(
1006
+ T::Array[
1007
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter
1008
+ ]
1009
+ )
1010
+ end
1011
+ attr_accessor :filters
1012
+
827
1013
  # True for adjustments that apply to an entire invocice, false for adjustments
828
1014
  # that apply to only one price.
829
1015
  sig { returns(T::Boolean) }
@@ -842,6 +1028,10 @@ module Orb
842
1028
  id: String,
843
1029
  amount_discount: String,
844
1030
  applies_to_price_ids: T::Array[String],
1031
+ filters:
1032
+ T::Array[
1033
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::OrHash
1034
+ ],
845
1035
  is_invoice_level: T::Boolean,
846
1036
  plan_phase_order: T.nilable(Integer),
847
1037
  reason: T.nilable(String),
@@ -855,6 +1045,8 @@ module Orb
855
1045
  amount_discount:,
856
1046
  # The price IDs that this adjustment applies to.
857
1047
  applies_to_price_ids:,
1048
+ # The filters that determine which prices to apply this adjustment to.
1049
+ filters:,
858
1050
  # True for adjustments that apply to an entire invocice, false for adjustments
859
1051
  # that apply to only one price.
860
1052
  is_invoice_level:,
@@ -873,6 +1065,10 @@ module Orb
873
1065
  adjustment_type: Symbol,
874
1066
  amount_discount: String,
875
1067
  applies_to_price_ids: T::Array[String],
1068
+ filters:
1069
+ T::Array[
1070
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter
1071
+ ],
876
1072
  is_invoice_level: T::Boolean,
877
1073
  plan_phase_order: T.nilable(Integer),
878
1074
  reason: T.nilable(String)
@@ -881,6 +1077,154 @@ module Orb
881
1077
  end
882
1078
  def to_hash
883
1079
  end
1080
+
1081
+ class Filter < Orb::Internal::Type::BaseModel
1082
+ OrHash =
1083
+ T.type_alias do
1084
+ T.any(
1085
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter,
1086
+ Orb::Internal::AnyHash
1087
+ )
1088
+ end
1089
+
1090
+ # The property of the price to filter on.
1091
+ sig do
1092
+ returns(
1093
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1094
+ )
1095
+ end
1096
+ attr_accessor :field
1097
+
1098
+ # Should prices that match the filter be included or excluded.
1099
+ sig do
1100
+ returns(
1101
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1102
+ )
1103
+ end
1104
+ attr_accessor :operator
1105
+
1106
+ # The IDs or values that match this filter.
1107
+ sig { returns(T::Array[String]) }
1108
+ attr_accessor :values
1109
+
1110
+ sig do
1111
+ params(
1112
+ field:
1113
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::OrSymbol,
1114
+ operator:
1115
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::OrSymbol,
1116
+ values: T::Array[String]
1117
+ ).returns(T.attached_class)
1118
+ end
1119
+ def self.new(
1120
+ # The property of the price to filter on.
1121
+ field:,
1122
+ # Should prices that match the filter be included or excluded.
1123
+ operator:,
1124
+ # The IDs or values that match this filter.
1125
+ values:
1126
+ )
1127
+ end
1128
+
1129
+ sig do
1130
+ override.returns(
1131
+ {
1132
+ field:
1133
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol,
1134
+ operator:
1135
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol,
1136
+ values: T::Array[String]
1137
+ }
1138
+ )
1139
+ end
1140
+ def to_hash
1141
+ end
1142
+
1143
+ # The property of the price to filter on.
1144
+ module Field
1145
+ extend Orb::Internal::Type::Enum
1146
+
1147
+ TaggedSymbol =
1148
+ T.type_alias do
1149
+ T.all(
1150
+ Symbol,
1151
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field
1152
+ )
1153
+ end
1154
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1155
+
1156
+ PRICE_ID =
1157
+ T.let(
1158
+ :price_id,
1159
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1160
+ )
1161
+ ITEM_ID =
1162
+ T.let(
1163
+ :item_id,
1164
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1165
+ )
1166
+ PRICE_TYPE =
1167
+ T.let(
1168
+ :price_type,
1169
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1170
+ )
1171
+ CURRENCY =
1172
+ T.let(
1173
+ :currency,
1174
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1175
+ )
1176
+ PRICING_UNIT_ID =
1177
+ T.let(
1178
+ :pricing_unit_id,
1179
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1180
+ )
1181
+
1182
+ sig do
1183
+ override.returns(
1184
+ T::Array[
1185
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1186
+ ]
1187
+ )
1188
+ end
1189
+ def self.values
1190
+ end
1191
+ end
1192
+
1193
+ # Should prices that match the filter be included or excluded.
1194
+ module Operator
1195
+ extend Orb::Internal::Type::Enum
1196
+
1197
+ TaggedSymbol =
1198
+ T.type_alias do
1199
+ T.all(
1200
+ Symbol,
1201
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator
1202
+ )
1203
+ end
1204
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1205
+
1206
+ INCLUDES =
1207
+ T.let(
1208
+ :includes,
1209
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1210
+ )
1211
+ EXCLUDES =
1212
+ T.let(
1213
+ :excludes,
1214
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1215
+ )
1216
+
1217
+ sig do
1218
+ override.returns(
1219
+ T::Array[
1220
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1221
+ ]
1222
+ )
1223
+ end
1224
+ def self.values
1225
+ end
1226
+ end
1227
+ end
884
1228
  end
885
1229
 
886
1230
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -902,6 +1246,16 @@ module Orb
902
1246
  sig { returns(T::Array[String]) }
903
1247
  attr_accessor :applies_to_price_ids
904
1248
 
1249
+ # The filters that determine which prices to apply this adjustment to.
1250
+ sig do
1251
+ returns(
1252
+ T::Array[
1253
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1254
+ ]
1255
+ )
1256
+ end
1257
+ attr_accessor :filters
1258
+
905
1259
  # True for adjustments that apply to an entire invocice, false for adjustments
906
1260
  # that apply to only one price.
907
1261
  sig { returns(T::Boolean) }
@@ -924,6 +1278,10 @@ module Orb
924
1278
  params(
925
1279
  id: String,
926
1280
  applies_to_price_ids: T::Array[String],
1281
+ filters:
1282
+ T::Array[
1283
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::OrHash
1284
+ ],
927
1285
  is_invoice_level: T::Boolean,
928
1286
  percentage_discount: Float,
929
1287
  plan_phase_order: T.nilable(Integer),
@@ -935,6 +1293,8 @@ module Orb
935
1293
  id:,
936
1294
  # The price IDs that this adjustment applies to.
937
1295
  applies_to_price_ids:,
1296
+ # The filters that determine which prices to apply this adjustment to.
1297
+ filters:,
938
1298
  # True for adjustments that apply to an entire invocice, false for adjustments
939
1299
  # that apply to only one price.
940
1300
  is_invoice_level:,
@@ -955,6 +1315,10 @@ module Orb
955
1315
  id: String,
956
1316
  adjustment_type: Symbol,
957
1317
  applies_to_price_ids: T::Array[String],
1318
+ filters:
1319
+ T::Array[
1320
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1321
+ ],
958
1322
  is_invoice_level: T::Boolean,
959
1323
  percentage_discount: Float,
960
1324
  plan_phase_order: T.nilable(Integer),
@@ -964,6 +1328,154 @@ module Orb
964
1328
  end
965
1329
  def to_hash
966
1330
  end
1331
+
1332
+ class Filter < Orb::Internal::Type::BaseModel
1333
+ OrHash =
1334
+ T.type_alias do
1335
+ T.any(
1336
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter,
1337
+ Orb::Internal::AnyHash
1338
+ )
1339
+ end
1340
+
1341
+ # The property of the price to filter on.
1342
+ sig do
1343
+ returns(
1344
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1345
+ )
1346
+ end
1347
+ attr_accessor :field
1348
+
1349
+ # Should prices that match the filter be included or excluded.
1350
+ sig do
1351
+ returns(
1352
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1353
+ )
1354
+ end
1355
+ attr_accessor :operator
1356
+
1357
+ # The IDs or values that match this filter.
1358
+ sig { returns(T::Array[String]) }
1359
+ attr_accessor :values
1360
+
1361
+ sig do
1362
+ params(
1363
+ field:
1364
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::OrSymbol,
1365
+ operator:
1366
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol,
1367
+ values: T::Array[String]
1368
+ ).returns(T.attached_class)
1369
+ end
1370
+ def self.new(
1371
+ # The property of the price to filter on.
1372
+ field:,
1373
+ # Should prices that match the filter be included or excluded.
1374
+ operator:,
1375
+ # The IDs or values that match this filter.
1376
+ values:
1377
+ )
1378
+ end
1379
+
1380
+ sig do
1381
+ override.returns(
1382
+ {
1383
+ field:
1384
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol,
1385
+ operator:
1386
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol,
1387
+ values: T::Array[String]
1388
+ }
1389
+ )
1390
+ end
1391
+ def to_hash
1392
+ end
1393
+
1394
+ # The property of the price to filter on.
1395
+ module Field
1396
+ extend Orb::Internal::Type::Enum
1397
+
1398
+ TaggedSymbol =
1399
+ T.type_alias do
1400
+ T.all(
1401
+ Symbol,
1402
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field
1403
+ )
1404
+ end
1405
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1406
+
1407
+ PRICE_ID =
1408
+ T.let(
1409
+ :price_id,
1410
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1411
+ )
1412
+ ITEM_ID =
1413
+ T.let(
1414
+ :item_id,
1415
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1416
+ )
1417
+ PRICE_TYPE =
1418
+ T.let(
1419
+ :price_type,
1420
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1421
+ )
1422
+ CURRENCY =
1423
+ T.let(
1424
+ :currency,
1425
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1426
+ )
1427
+ PRICING_UNIT_ID =
1428
+ T.let(
1429
+ :pricing_unit_id,
1430
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1431
+ )
1432
+
1433
+ sig do
1434
+ override.returns(
1435
+ T::Array[
1436
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1437
+ ]
1438
+ )
1439
+ end
1440
+ def self.values
1441
+ end
1442
+ end
1443
+
1444
+ # Should prices that match the filter be included or excluded.
1445
+ module Operator
1446
+ extend Orb::Internal::Type::Enum
1447
+
1448
+ TaggedSymbol =
1449
+ T.type_alias do
1450
+ T.all(
1451
+ Symbol,
1452
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator
1453
+ )
1454
+ end
1455
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1456
+
1457
+ INCLUDES =
1458
+ T.let(
1459
+ :includes,
1460
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1461
+ )
1462
+ EXCLUDES =
1463
+ T.let(
1464
+ :excludes,
1465
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1466
+ )
1467
+
1468
+ sig do
1469
+ override.returns(
1470
+ T::Array[
1471
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1472
+ ]
1473
+ )
1474
+ end
1475
+ def self.values
1476
+ end
1477
+ end
1478
+ end
967
1479
  end
968
1480
 
969
1481
  class Minimum < Orb::Internal::Type::BaseModel
@@ -985,6 +1497,16 @@ module Orb
985
1497
  sig { returns(T::Array[String]) }
986
1498
  attr_accessor :applies_to_price_ids
987
1499
 
1500
+ # The filters that determine which prices to apply this adjustment to.
1501
+ sig do
1502
+ returns(
1503
+ T::Array[
1504
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter
1505
+ ]
1506
+ )
1507
+ end
1508
+ attr_accessor :filters
1509
+
988
1510
  # True for adjustments that apply to an entire invocice, false for adjustments
989
1511
  # that apply to only one price.
990
1512
  sig { returns(T::Boolean) }
@@ -1011,6 +1533,10 @@ module Orb
1011
1533
  params(
1012
1534
  id: String,
1013
1535
  applies_to_price_ids: T::Array[String],
1536
+ filters:
1537
+ T::Array[
1538
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::OrHash
1539
+ ],
1014
1540
  is_invoice_level: T::Boolean,
1015
1541
  item_id: String,
1016
1542
  minimum_amount: String,
@@ -1023,6 +1549,8 @@ module Orb
1023
1549
  id:,
1024
1550
  # The price IDs that this adjustment applies to.
1025
1551
  applies_to_price_ids:,
1552
+ # The filters that determine which prices to apply this adjustment to.
1553
+ filters:,
1026
1554
  # True for adjustments that apply to an entire invocice, false for adjustments
1027
1555
  # that apply to only one price.
1028
1556
  is_invoice_level:,
@@ -1045,6 +1573,10 @@ module Orb
1045
1573
  id: String,
1046
1574
  adjustment_type: Symbol,
1047
1575
  applies_to_price_ids: T::Array[String],
1576
+ filters:
1577
+ T::Array[
1578
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter
1579
+ ],
1048
1580
  is_invoice_level: T::Boolean,
1049
1581
  item_id: String,
1050
1582
  minimum_amount: String,
@@ -1055,6 +1587,154 @@ module Orb
1055
1587
  end
1056
1588
  def to_hash
1057
1589
  end
1590
+
1591
+ class Filter < Orb::Internal::Type::BaseModel
1592
+ OrHash =
1593
+ T.type_alias do
1594
+ T.any(
1595
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter,
1596
+ Orb::Internal::AnyHash
1597
+ )
1598
+ end
1599
+
1600
+ # The property of the price to filter on.
1601
+ sig do
1602
+ returns(
1603
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1604
+ )
1605
+ end
1606
+ attr_accessor :field
1607
+
1608
+ # Should prices that match the filter be included or excluded.
1609
+ sig do
1610
+ returns(
1611
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1612
+ )
1613
+ end
1614
+ attr_accessor :operator
1615
+
1616
+ # The IDs or values that match this filter.
1617
+ sig { returns(T::Array[String]) }
1618
+ attr_accessor :values
1619
+
1620
+ sig do
1621
+ params(
1622
+ field:
1623
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::OrSymbol,
1624
+ operator:
1625
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::OrSymbol,
1626
+ values: T::Array[String]
1627
+ ).returns(T.attached_class)
1628
+ end
1629
+ def self.new(
1630
+ # The property of the price to filter on.
1631
+ field:,
1632
+ # Should prices that match the filter be included or excluded.
1633
+ operator:,
1634
+ # The IDs or values that match this filter.
1635
+ values:
1636
+ )
1637
+ end
1638
+
1639
+ sig do
1640
+ override.returns(
1641
+ {
1642
+ field:
1643
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol,
1644
+ operator:
1645
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol,
1646
+ values: T::Array[String]
1647
+ }
1648
+ )
1649
+ end
1650
+ def to_hash
1651
+ end
1652
+
1653
+ # The property of the price to filter on.
1654
+ module Field
1655
+ extend Orb::Internal::Type::Enum
1656
+
1657
+ TaggedSymbol =
1658
+ T.type_alias do
1659
+ T.all(
1660
+ Symbol,
1661
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field
1662
+ )
1663
+ end
1664
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1665
+
1666
+ PRICE_ID =
1667
+ T.let(
1668
+ :price_id,
1669
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1670
+ )
1671
+ ITEM_ID =
1672
+ T.let(
1673
+ :item_id,
1674
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1675
+ )
1676
+ PRICE_TYPE =
1677
+ T.let(
1678
+ :price_type,
1679
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1680
+ )
1681
+ CURRENCY =
1682
+ T.let(
1683
+ :currency,
1684
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1685
+ )
1686
+ PRICING_UNIT_ID =
1687
+ T.let(
1688
+ :pricing_unit_id,
1689
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1690
+ )
1691
+
1692
+ sig do
1693
+ override.returns(
1694
+ T::Array[
1695
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1696
+ ]
1697
+ )
1698
+ end
1699
+ def self.values
1700
+ end
1701
+ end
1702
+
1703
+ # Should prices that match the filter be included or excluded.
1704
+ module Operator
1705
+ extend Orb::Internal::Type::Enum
1706
+
1707
+ TaggedSymbol =
1708
+ T.type_alias do
1709
+ T.all(
1710
+ Symbol,
1711
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator
1712
+ )
1713
+ end
1714
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1715
+
1716
+ INCLUDES =
1717
+ T.let(
1718
+ :includes,
1719
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1720
+ )
1721
+ EXCLUDES =
1722
+ T.let(
1723
+ :excludes,
1724
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1725
+ )
1726
+
1727
+ sig do
1728
+ override.returns(
1729
+ T::Array[
1730
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1731
+ ]
1732
+ )
1733
+ end
1734
+ def self.values
1735
+ end
1736
+ end
1737
+ end
1058
1738
  end
1059
1739
 
1060
1740
  class Maximum < Orb::Internal::Type::BaseModel
@@ -1076,6 +1756,16 @@ module Orb
1076
1756
  sig { returns(T::Array[String]) }
1077
1757
  attr_accessor :applies_to_price_ids
1078
1758
 
1759
+ # The filters that determine which prices to apply this adjustment to.
1760
+ sig do
1761
+ returns(
1762
+ T::Array[
1763
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter
1764
+ ]
1765
+ )
1766
+ end
1767
+ attr_accessor :filters
1768
+
1079
1769
  # True for adjustments that apply to an entire invocice, false for adjustments
1080
1770
  # that apply to only one price.
1081
1771
  sig { returns(T::Boolean) }
@@ -1098,6 +1788,10 @@ module Orb
1098
1788
  params(
1099
1789
  id: String,
1100
1790
  applies_to_price_ids: T::Array[String],
1791
+ filters:
1792
+ T::Array[
1793
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::OrHash
1794
+ ],
1101
1795
  is_invoice_level: T::Boolean,
1102
1796
  maximum_amount: String,
1103
1797
  plan_phase_order: T.nilable(Integer),
@@ -1109,6 +1803,8 @@ module Orb
1109
1803
  id:,
1110
1804
  # The price IDs that this adjustment applies to.
1111
1805
  applies_to_price_ids:,
1806
+ # The filters that determine which prices to apply this adjustment to.
1807
+ filters:,
1112
1808
  # True for adjustments that apply to an entire invocice, false for adjustments
1113
1809
  # that apply to only one price.
1114
1810
  is_invoice_level:,
@@ -1129,6 +1825,10 @@ module Orb
1129
1825
  id: String,
1130
1826
  adjustment_type: Symbol,
1131
1827
  applies_to_price_ids: T::Array[String],
1828
+ filters:
1829
+ T::Array[
1830
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter
1831
+ ],
1132
1832
  is_invoice_level: T::Boolean,
1133
1833
  maximum_amount: String,
1134
1834
  plan_phase_order: T.nilable(Integer),
@@ -1138,6 +1838,154 @@ module Orb
1138
1838
  end
1139
1839
  def to_hash
1140
1840
  end
1841
+
1842
+ class Filter < Orb::Internal::Type::BaseModel
1843
+ OrHash =
1844
+ T.type_alias do
1845
+ T.any(
1846
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter,
1847
+ Orb::Internal::AnyHash
1848
+ )
1849
+ end
1850
+
1851
+ # The property of the price to filter on.
1852
+ sig do
1853
+ returns(
1854
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1855
+ )
1856
+ end
1857
+ attr_accessor :field
1858
+
1859
+ # Should prices that match the filter be included or excluded.
1860
+ sig do
1861
+ returns(
1862
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1863
+ )
1864
+ end
1865
+ attr_accessor :operator
1866
+
1867
+ # The IDs or values that match this filter.
1868
+ sig { returns(T::Array[String]) }
1869
+ attr_accessor :values
1870
+
1871
+ sig do
1872
+ params(
1873
+ field:
1874
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::OrSymbol,
1875
+ operator:
1876
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::OrSymbol,
1877
+ values: T::Array[String]
1878
+ ).returns(T.attached_class)
1879
+ end
1880
+ def self.new(
1881
+ # The property of the price to filter on.
1882
+ field:,
1883
+ # Should prices that match the filter be included or excluded.
1884
+ operator:,
1885
+ # The IDs or values that match this filter.
1886
+ values:
1887
+ )
1888
+ end
1889
+
1890
+ sig do
1891
+ override.returns(
1892
+ {
1893
+ field:
1894
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol,
1895
+ operator:
1896
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol,
1897
+ values: T::Array[String]
1898
+ }
1899
+ )
1900
+ end
1901
+ def to_hash
1902
+ end
1903
+
1904
+ # The property of the price to filter on.
1905
+ module Field
1906
+ extend Orb::Internal::Type::Enum
1907
+
1908
+ TaggedSymbol =
1909
+ T.type_alias do
1910
+ T.all(
1911
+ Symbol,
1912
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field
1913
+ )
1914
+ end
1915
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1916
+
1917
+ PRICE_ID =
1918
+ T.let(
1919
+ :price_id,
1920
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1921
+ )
1922
+ ITEM_ID =
1923
+ T.let(
1924
+ :item_id,
1925
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1926
+ )
1927
+ PRICE_TYPE =
1928
+ T.let(
1929
+ :price_type,
1930
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1931
+ )
1932
+ CURRENCY =
1933
+ T.let(
1934
+ :currency,
1935
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1936
+ )
1937
+ PRICING_UNIT_ID =
1938
+ T.let(
1939
+ :pricing_unit_id,
1940
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1941
+ )
1942
+
1943
+ sig do
1944
+ override.returns(
1945
+ T::Array[
1946
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1947
+ ]
1948
+ )
1949
+ end
1950
+ def self.values
1951
+ end
1952
+ end
1953
+
1954
+ # Should prices that match the filter be included or excluded.
1955
+ module Operator
1956
+ extend Orb::Internal::Type::Enum
1957
+
1958
+ TaggedSymbol =
1959
+ T.type_alias do
1960
+ T.all(
1961
+ Symbol,
1962
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator
1963
+ )
1964
+ end
1965
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1966
+
1967
+ INCLUDES =
1968
+ T.let(
1969
+ :includes,
1970
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1971
+ )
1972
+ EXCLUDES =
1973
+ T.let(
1974
+ :excludes,
1975
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1976
+ )
1977
+
1978
+ sig do
1979
+ override.returns(
1980
+ T::Array[
1981
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1982
+ ]
1983
+ )
1984
+ end
1985
+ def self.values
1986
+ end
1987
+ end
1988
+ end
1141
1989
  end
1142
1990
 
1143
1991
  sig do
@@ -1240,10 +2088,6 @@ module Orb
1240
2088
  sig { returns(String) }
1241
2089
  attr_accessor :amount_discount
1242
2090
 
1243
- # The price ids that this discount interval applies to.
1244
- sig { returns(T::Array[String]) }
1245
- attr_accessor :applies_to_price_ids
1246
-
1247
2091
  # The price interval ids that this discount interval applies to.
1248
2092
  sig { returns(T::Array[String]) }
1249
2093
  attr_accessor :applies_to_price_interval_ids
@@ -1255,6 +2099,16 @@ module Orb
1255
2099
  sig { returns(T.nilable(Time)) }
1256
2100
  attr_accessor :end_date
1257
2101
 
2102
+ # The filters that determine which prices this discount interval applies to.
2103
+ sig do
2104
+ returns(
2105
+ T::Array[
2106
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter
2107
+ ]
2108
+ )
2109
+ end
2110
+ attr_accessor :filters
2111
+
1258
2112
  # The start date of the discount interval.
1259
2113
  sig { returns(Time) }
1260
2114
  attr_accessor :start_date
@@ -1262,9 +2116,12 @@ module Orb
1262
2116
  sig do
1263
2117
  params(
1264
2118
  amount_discount: String,
1265
- applies_to_price_ids: T::Array[String],
1266
2119
  applies_to_price_interval_ids: T::Array[String],
1267
2120
  end_date: T.nilable(Time),
2121
+ filters:
2122
+ T::Array[
2123
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::OrHash
2124
+ ],
1268
2125
  start_date: Time,
1269
2126
  discount_type: Symbol
1270
2127
  ).returns(T.attached_class)
@@ -1272,12 +2129,12 @@ module Orb
1272
2129
  def self.new(
1273
2130
  # Only available if discount_type is `amount`.
1274
2131
  amount_discount:,
1275
- # The price ids that this discount interval applies to.
1276
- applies_to_price_ids:,
1277
2132
  # The price interval ids that this discount interval applies to.
1278
2133
  applies_to_price_interval_ids:,
1279
2134
  # The end date of the discount interval.
1280
2135
  end_date:,
2136
+ # The filters that determine which prices this discount interval applies to.
2137
+ filters:,
1281
2138
  # The start date of the discount interval.
1282
2139
  start_date:,
1283
2140
  discount_type: :amount
@@ -1288,16 +2145,167 @@ module Orb
1288
2145
  override.returns(
1289
2146
  {
1290
2147
  amount_discount: String,
1291
- applies_to_price_ids: T::Array[String],
1292
2148
  applies_to_price_interval_ids: T::Array[String],
1293
2149
  discount_type: Symbol,
1294
2150
  end_date: T.nilable(Time),
2151
+ filters:
2152
+ T::Array[
2153
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter
2154
+ ],
1295
2155
  start_date: Time
1296
2156
  }
1297
2157
  )
1298
2158
  end
1299
2159
  def to_hash
1300
2160
  end
2161
+
2162
+ class Filter < Orb::Internal::Type::BaseModel
2163
+ OrHash =
2164
+ T.type_alias do
2165
+ T.any(
2166
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter,
2167
+ Orb::Internal::AnyHash
2168
+ )
2169
+ end
2170
+
2171
+ # The property of the price to filter on.
2172
+ sig do
2173
+ returns(
2174
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2175
+ )
2176
+ end
2177
+ attr_accessor :field
2178
+
2179
+ # Should prices that match the filter be included or excluded.
2180
+ sig do
2181
+ returns(
2182
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2183
+ )
2184
+ end
2185
+ attr_accessor :operator
2186
+
2187
+ # The IDs or values that match this filter.
2188
+ sig { returns(T::Array[String]) }
2189
+ attr_accessor :values
2190
+
2191
+ sig do
2192
+ params(
2193
+ field:
2194
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::OrSymbol,
2195
+ operator:
2196
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator::OrSymbol,
2197
+ values: T::Array[String]
2198
+ ).returns(T.attached_class)
2199
+ end
2200
+ def self.new(
2201
+ # The property of the price to filter on.
2202
+ field:,
2203
+ # Should prices that match the filter be included or excluded.
2204
+ operator:,
2205
+ # The IDs or values that match this filter.
2206
+ values:
2207
+ )
2208
+ end
2209
+
2210
+ sig do
2211
+ override.returns(
2212
+ {
2213
+ field:
2214
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol,
2215
+ operator:
2216
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol,
2217
+ values: T::Array[String]
2218
+ }
2219
+ )
2220
+ end
2221
+ def to_hash
2222
+ end
2223
+
2224
+ # The property of the price to filter on.
2225
+ module Field
2226
+ extend Orb::Internal::Type::Enum
2227
+
2228
+ TaggedSymbol =
2229
+ T.type_alias do
2230
+ T.all(
2231
+ Symbol,
2232
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field
2233
+ )
2234
+ end
2235
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2236
+
2237
+ PRICE_ID =
2238
+ T.let(
2239
+ :price_id,
2240
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2241
+ )
2242
+ ITEM_ID =
2243
+ T.let(
2244
+ :item_id,
2245
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2246
+ )
2247
+ PRICE_TYPE =
2248
+ T.let(
2249
+ :price_type,
2250
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2251
+ )
2252
+ CURRENCY =
2253
+ T.let(
2254
+ :currency,
2255
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2256
+ )
2257
+ PRICING_UNIT_ID =
2258
+ T.let(
2259
+ :pricing_unit_id,
2260
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2261
+ )
2262
+
2263
+ sig do
2264
+ override.returns(
2265
+ T::Array[
2266
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2267
+ ]
2268
+ )
2269
+ end
2270
+ def self.values
2271
+ end
2272
+ end
2273
+
2274
+ # Should prices that match the filter be included or excluded.
2275
+ module Operator
2276
+ extend Orb::Internal::Type::Enum
2277
+
2278
+ TaggedSymbol =
2279
+ T.type_alias do
2280
+ T.all(
2281
+ Symbol,
2282
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator
2283
+ )
2284
+ end
2285
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2286
+
2287
+ INCLUDES =
2288
+ T.let(
2289
+ :includes,
2290
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2291
+ )
2292
+ EXCLUDES =
2293
+ T.let(
2294
+ :excludes,
2295
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2296
+ )
2297
+
2298
+ sig do
2299
+ override.returns(
2300
+ T::Array[
2301
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2302
+ ]
2303
+ )
2304
+ end
2305
+ def self.values
2306
+ end
2307
+ end
2308
+ end
1301
2309
  end
1302
2310
 
1303
2311
  class Percentage < Orb::Internal::Type::BaseModel
@@ -1309,10 +2317,6 @@ module Orb
1309
2317
  )
1310
2318
  end
1311
2319
 
1312
- # The price ids that this discount interval applies to.
1313
- sig { returns(T::Array[String]) }
1314
- attr_accessor :applies_to_price_ids
1315
-
1316
2320
  # The price interval ids that this discount interval applies to.
1317
2321
  sig { returns(T::Array[String]) }
1318
2322
  attr_accessor :applies_to_price_interval_ids
@@ -1324,6 +2328,16 @@ module Orb
1324
2328
  sig { returns(T.nilable(Time)) }
1325
2329
  attr_accessor :end_date
1326
2330
 
2331
+ # The filters that determine which prices this discount interval applies to.
2332
+ sig do
2333
+ returns(
2334
+ T::Array[
2335
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter
2336
+ ]
2337
+ )
2338
+ end
2339
+ attr_accessor :filters
2340
+
1327
2341
  # Only available if discount_type is `percentage`.This is a number between 0
1328
2342
  # and 1.
1329
2343
  sig { returns(Float) }
@@ -1335,21 +2349,24 @@ module Orb
1335
2349
 
1336
2350
  sig do
1337
2351
  params(
1338
- applies_to_price_ids: T::Array[String],
1339
2352
  applies_to_price_interval_ids: T::Array[String],
1340
2353
  end_date: T.nilable(Time),
2354
+ filters:
2355
+ T::Array[
2356
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::OrHash
2357
+ ],
1341
2358
  percentage_discount: Float,
1342
2359
  start_date: Time,
1343
2360
  discount_type: Symbol
1344
2361
  ).returns(T.attached_class)
1345
2362
  end
1346
2363
  def self.new(
1347
- # The price ids that this discount interval applies to.
1348
- applies_to_price_ids:,
1349
2364
  # The price interval ids that this discount interval applies to.
1350
2365
  applies_to_price_interval_ids:,
1351
2366
  # The end date of the discount interval.
1352
2367
  end_date:,
2368
+ # The filters that determine which prices this discount interval applies to.
2369
+ filters:,
1353
2370
  # Only available if discount_type is `percentage`.This is a number between 0
1354
2371
  # and 1.
1355
2372
  percentage_discount:,
@@ -1362,10 +2379,13 @@ module Orb
1362
2379
  sig do
1363
2380
  override.returns(
1364
2381
  {
1365
- applies_to_price_ids: T::Array[String],
1366
2382
  applies_to_price_interval_ids: T::Array[String],
1367
2383
  discount_type: Symbol,
1368
2384
  end_date: T.nilable(Time),
2385
+ filters:
2386
+ T::Array[
2387
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter
2388
+ ],
1369
2389
  percentage_discount: Float,
1370
2390
  start_date: Time
1371
2391
  }
@@ -1373,6 +2393,154 @@ module Orb
1373
2393
  end
1374
2394
  def to_hash
1375
2395
  end
2396
+
2397
+ class Filter < Orb::Internal::Type::BaseModel
2398
+ OrHash =
2399
+ T.type_alias do
2400
+ T.any(
2401
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter,
2402
+ Orb::Internal::AnyHash
2403
+ )
2404
+ end
2405
+
2406
+ # The property of the price to filter on.
2407
+ sig do
2408
+ returns(
2409
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2410
+ )
2411
+ end
2412
+ attr_accessor :field
2413
+
2414
+ # Should prices that match the filter be included or excluded.
2415
+ sig do
2416
+ returns(
2417
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2418
+ )
2419
+ end
2420
+ attr_accessor :operator
2421
+
2422
+ # The IDs or values that match this filter.
2423
+ sig { returns(T::Array[String]) }
2424
+ attr_accessor :values
2425
+
2426
+ sig do
2427
+ params(
2428
+ field:
2429
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::OrSymbol,
2430
+ operator:
2431
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::OrSymbol,
2432
+ values: T::Array[String]
2433
+ ).returns(T.attached_class)
2434
+ end
2435
+ def self.new(
2436
+ # The property of the price to filter on.
2437
+ field:,
2438
+ # Should prices that match the filter be included or excluded.
2439
+ operator:,
2440
+ # The IDs or values that match this filter.
2441
+ values:
2442
+ )
2443
+ end
2444
+
2445
+ sig do
2446
+ override.returns(
2447
+ {
2448
+ field:
2449
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol,
2450
+ operator:
2451
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol,
2452
+ values: T::Array[String]
2453
+ }
2454
+ )
2455
+ end
2456
+ def to_hash
2457
+ end
2458
+
2459
+ # The property of the price to filter on.
2460
+ module Field
2461
+ extend Orb::Internal::Type::Enum
2462
+
2463
+ TaggedSymbol =
2464
+ T.type_alias do
2465
+ T.all(
2466
+ Symbol,
2467
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field
2468
+ )
2469
+ end
2470
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2471
+
2472
+ PRICE_ID =
2473
+ T.let(
2474
+ :price_id,
2475
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2476
+ )
2477
+ ITEM_ID =
2478
+ T.let(
2479
+ :item_id,
2480
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2481
+ )
2482
+ PRICE_TYPE =
2483
+ T.let(
2484
+ :price_type,
2485
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2486
+ )
2487
+ CURRENCY =
2488
+ T.let(
2489
+ :currency,
2490
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2491
+ )
2492
+ PRICING_UNIT_ID =
2493
+ T.let(
2494
+ :pricing_unit_id,
2495
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2496
+ )
2497
+
2498
+ sig do
2499
+ override.returns(
2500
+ T::Array[
2501
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2502
+ ]
2503
+ )
2504
+ end
2505
+ def self.values
2506
+ end
2507
+ end
2508
+
2509
+ # Should prices that match the filter be included or excluded.
2510
+ module Operator
2511
+ extend Orb::Internal::Type::Enum
2512
+
2513
+ TaggedSymbol =
2514
+ T.type_alias do
2515
+ T.all(
2516
+ Symbol,
2517
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator
2518
+ )
2519
+ end
2520
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2521
+
2522
+ INCLUDES =
2523
+ T.let(
2524
+ :includes,
2525
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2526
+ )
2527
+ EXCLUDES =
2528
+ T.let(
2529
+ :excludes,
2530
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2531
+ )
2532
+
2533
+ sig do
2534
+ override.returns(
2535
+ T::Array[
2536
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2537
+ ]
2538
+ )
2539
+ end
2540
+ def self.values
2541
+ end
2542
+ end
2543
+ end
1376
2544
  end
1377
2545
 
1378
2546
  class Usage < Orb::Internal::Type::BaseModel
@@ -1384,10 +2552,6 @@ module Orb
1384
2552
  )
1385
2553
  end
1386
2554
 
1387
- # The price ids that this discount interval applies to.
1388
- sig { returns(T::Array[String]) }
1389
- attr_accessor :applies_to_price_ids
1390
-
1391
2555
  # The price interval ids that this discount interval applies to.
1392
2556
  sig { returns(T::Array[String]) }
1393
2557
  attr_accessor :applies_to_price_interval_ids
@@ -1399,6 +2563,16 @@ module Orb
1399
2563
  sig { returns(T.nilable(Time)) }
1400
2564
  attr_accessor :end_date
1401
2565
 
2566
+ # The filters that determine which prices this discount interval applies to.
2567
+ sig do
2568
+ returns(
2569
+ T::Array[
2570
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter
2571
+ ]
2572
+ )
2573
+ end
2574
+ attr_accessor :filters
2575
+
1402
2576
  # The start date of the discount interval.
1403
2577
  sig { returns(Time) }
1404
2578
  attr_accessor :start_date
@@ -1410,21 +2584,24 @@ module Orb
1410
2584
 
1411
2585
  sig do
1412
2586
  params(
1413
- applies_to_price_ids: T::Array[String],
1414
2587
  applies_to_price_interval_ids: T::Array[String],
1415
2588
  end_date: T.nilable(Time),
2589
+ filters:
2590
+ T::Array[
2591
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::OrHash
2592
+ ],
1416
2593
  start_date: Time,
1417
2594
  usage_discount: Float,
1418
2595
  discount_type: Symbol
1419
2596
  ).returns(T.attached_class)
1420
2597
  end
1421
2598
  def self.new(
1422
- # The price ids that this discount interval applies to.
1423
- applies_to_price_ids:,
1424
2599
  # The price interval ids that this discount interval applies to.
1425
2600
  applies_to_price_interval_ids:,
1426
2601
  # The end date of the discount interval.
1427
2602
  end_date:,
2603
+ # The filters that determine which prices this discount interval applies to.
2604
+ filters:,
1428
2605
  # The start date of the discount interval.
1429
2606
  start_date:,
1430
2607
  # Only available if discount_type is `usage`. Number of usage units that this
@@ -1437,10 +2614,13 @@ module Orb
1437
2614
  sig do
1438
2615
  override.returns(
1439
2616
  {
1440
- applies_to_price_ids: T::Array[String],
1441
2617
  applies_to_price_interval_ids: T::Array[String],
1442
2618
  discount_type: Symbol,
1443
2619
  end_date: T.nilable(Time),
2620
+ filters:
2621
+ T::Array[
2622
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter
2623
+ ],
1444
2624
  start_date: Time,
1445
2625
  usage_discount: Float
1446
2626
  }
@@ -1448,6 +2628,154 @@ module Orb
1448
2628
  end
1449
2629
  def to_hash
1450
2630
  end
2631
+
2632
+ class Filter < Orb::Internal::Type::BaseModel
2633
+ OrHash =
2634
+ T.type_alias do
2635
+ T.any(
2636
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter,
2637
+ Orb::Internal::AnyHash
2638
+ )
2639
+ end
2640
+
2641
+ # The property of the price to filter on.
2642
+ sig do
2643
+ returns(
2644
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2645
+ )
2646
+ end
2647
+ attr_accessor :field
2648
+
2649
+ # Should prices that match the filter be included or excluded.
2650
+ sig do
2651
+ returns(
2652
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2653
+ )
2654
+ end
2655
+ attr_accessor :operator
2656
+
2657
+ # The IDs or values that match this filter.
2658
+ sig { returns(T::Array[String]) }
2659
+ attr_accessor :values
2660
+
2661
+ sig do
2662
+ params(
2663
+ field:
2664
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::OrSymbol,
2665
+ operator:
2666
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator::OrSymbol,
2667
+ values: T::Array[String]
2668
+ ).returns(T.attached_class)
2669
+ end
2670
+ def self.new(
2671
+ # The property of the price to filter on.
2672
+ field:,
2673
+ # Should prices that match the filter be included or excluded.
2674
+ operator:,
2675
+ # The IDs or values that match this filter.
2676
+ values:
2677
+ )
2678
+ end
2679
+
2680
+ sig do
2681
+ override.returns(
2682
+ {
2683
+ field:
2684
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol,
2685
+ operator:
2686
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol,
2687
+ values: T::Array[String]
2688
+ }
2689
+ )
2690
+ end
2691
+ def to_hash
2692
+ end
2693
+
2694
+ # The property of the price to filter on.
2695
+ module Field
2696
+ extend Orb::Internal::Type::Enum
2697
+
2698
+ TaggedSymbol =
2699
+ T.type_alias do
2700
+ T.all(
2701
+ Symbol,
2702
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field
2703
+ )
2704
+ end
2705
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2706
+
2707
+ PRICE_ID =
2708
+ T.let(
2709
+ :price_id,
2710
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2711
+ )
2712
+ ITEM_ID =
2713
+ T.let(
2714
+ :item_id,
2715
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2716
+ )
2717
+ PRICE_TYPE =
2718
+ T.let(
2719
+ :price_type,
2720
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2721
+ )
2722
+ CURRENCY =
2723
+ T.let(
2724
+ :currency,
2725
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2726
+ )
2727
+ PRICING_UNIT_ID =
2728
+ T.let(
2729
+ :pricing_unit_id,
2730
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2731
+ )
2732
+
2733
+ sig do
2734
+ override.returns(
2735
+ T::Array[
2736
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2737
+ ]
2738
+ )
2739
+ end
2740
+ def self.values
2741
+ end
2742
+ end
2743
+
2744
+ # Should prices that match the filter be included or excluded.
2745
+ module Operator
2746
+ extend Orb::Internal::Type::Enum
2747
+
2748
+ TaggedSymbol =
2749
+ T.type_alias do
2750
+ T.all(
2751
+ Symbol,
2752
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator
2753
+ )
2754
+ end
2755
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2756
+
2757
+ INCLUDES =
2758
+ T.let(
2759
+ :includes,
2760
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2761
+ )
2762
+ EXCLUDES =
2763
+ T.let(
2764
+ :excludes,
2765
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2766
+ )
2767
+
2768
+ sig do
2769
+ override.returns(
2770
+ T::Array[
2771
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2772
+ ]
2773
+ )
2774
+ end
2775
+ def self.values
2776
+ end
2777
+ end
2778
+ end
1451
2779
  end
1452
2780
 
1453
2781
  sig do
@@ -1516,10 +2844,6 @@ module Orb
1516
2844
  )
1517
2845
  end
1518
2846
 
1519
- # The price ids that this maximum interval applies to.
1520
- sig { returns(T::Array[String]) }
1521
- attr_accessor :applies_to_price_ids
1522
-
1523
2847
  # The price interval ids that this maximum interval applies to.
1524
2848
  sig { returns(T::Array[String]) }
1525
2849
  attr_accessor :applies_to_price_interval_ids
@@ -1528,6 +2852,16 @@ module Orb
1528
2852
  sig { returns(T.nilable(Time)) }
1529
2853
  attr_accessor :end_date
1530
2854
 
2855
+ # The filters that determine which prices this maximum interval applies to.
2856
+ sig do
2857
+ returns(
2858
+ T::Array[
2859
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter
2860
+ ]
2861
+ )
2862
+ end
2863
+ attr_accessor :filters
2864
+
1531
2865
  # The maximum amount to charge in a given billing period for the price intervals
1532
2866
  # this transform applies to.
1533
2867
  sig { returns(String) }
@@ -1539,20 +2873,23 @@ module Orb
1539
2873
 
1540
2874
  sig do
1541
2875
  params(
1542
- applies_to_price_ids: T::Array[String],
1543
2876
  applies_to_price_interval_ids: T::Array[String],
1544
2877
  end_date: T.nilable(Time),
2878
+ filters:
2879
+ T::Array[
2880
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::OrHash
2881
+ ],
1545
2882
  maximum_amount: String,
1546
2883
  start_date: Time
1547
2884
  ).returns(T.attached_class)
1548
2885
  end
1549
2886
  def self.new(
1550
- # The price ids that this maximum interval applies to.
1551
- applies_to_price_ids:,
1552
2887
  # The price interval ids that this maximum interval applies to.
1553
2888
  applies_to_price_interval_ids:,
1554
2889
  # The end date of the maximum interval.
1555
2890
  end_date:,
2891
+ # The filters that determine which prices this maximum interval applies to.
2892
+ filters:,
1556
2893
  # The maximum amount to charge in a given billing period for the price intervals
1557
2894
  # this transform applies to.
1558
2895
  maximum_amount:,
@@ -1564,9 +2901,12 @@ module Orb
1564
2901
  sig do
1565
2902
  override.returns(
1566
2903
  {
1567
- applies_to_price_ids: T::Array[String],
1568
2904
  applies_to_price_interval_ids: T::Array[String],
1569
2905
  end_date: T.nilable(Time),
2906
+ filters:
2907
+ T::Array[
2908
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter
2909
+ ],
1570
2910
  maximum_amount: String,
1571
2911
  start_date: Time
1572
2912
  }
@@ -1574,6 +2914,154 @@ module Orb
1574
2914
  end
1575
2915
  def to_hash
1576
2916
  end
2917
+
2918
+ class Filter < Orb::Internal::Type::BaseModel
2919
+ OrHash =
2920
+ T.type_alias do
2921
+ T.any(
2922
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter,
2923
+ Orb::Internal::AnyHash
2924
+ )
2925
+ end
2926
+
2927
+ # The property of the price to filter on.
2928
+ sig do
2929
+ returns(
2930
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
2931
+ )
2932
+ end
2933
+ attr_accessor :field
2934
+
2935
+ # Should prices that match the filter be included or excluded.
2936
+ sig do
2937
+ returns(
2938
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
2939
+ )
2940
+ end
2941
+ attr_accessor :operator
2942
+
2943
+ # The IDs or values that match this filter.
2944
+ sig { returns(T::Array[String]) }
2945
+ attr_accessor :values
2946
+
2947
+ sig do
2948
+ params(
2949
+ field:
2950
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::OrSymbol,
2951
+ operator:
2952
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator::OrSymbol,
2953
+ values: T::Array[String]
2954
+ ).returns(T.attached_class)
2955
+ end
2956
+ def self.new(
2957
+ # The property of the price to filter on.
2958
+ field:,
2959
+ # Should prices that match the filter be included or excluded.
2960
+ operator:,
2961
+ # The IDs or values that match this filter.
2962
+ values:
2963
+ )
2964
+ end
2965
+
2966
+ sig do
2967
+ override.returns(
2968
+ {
2969
+ field:
2970
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol,
2971
+ operator:
2972
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol,
2973
+ values: T::Array[String]
2974
+ }
2975
+ )
2976
+ end
2977
+ def to_hash
2978
+ end
2979
+
2980
+ # The property of the price to filter on.
2981
+ module Field
2982
+ extend Orb::Internal::Type::Enum
2983
+
2984
+ TaggedSymbol =
2985
+ T.type_alias do
2986
+ T.all(
2987
+ Symbol,
2988
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field
2989
+ )
2990
+ end
2991
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2992
+
2993
+ PRICE_ID =
2994
+ T.let(
2995
+ :price_id,
2996
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
2997
+ )
2998
+ ITEM_ID =
2999
+ T.let(
3000
+ :item_id,
3001
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3002
+ )
3003
+ PRICE_TYPE =
3004
+ T.let(
3005
+ :price_type,
3006
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3007
+ )
3008
+ CURRENCY =
3009
+ T.let(
3010
+ :currency,
3011
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3012
+ )
3013
+ PRICING_UNIT_ID =
3014
+ T.let(
3015
+ :pricing_unit_id,
3016
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3017
+ )
3018
+
3019
+ sig do
3020
+ override.returns(
3021
+ T::Array[
3022
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Field::TaggedSymbol
3023
+ ]
3024
+ )
3025
+ end
3026
+ def self.values
3027
+ end
3028
+ end
3029
+
3030
+ # Should prices that match the filter be included or excluded.
3031
+ module Operator
3032
+ extend Orb::Internal::Type::Enum
3033
+
3034
+ TaggedSymbol =
3035
+ T.type_alias do
3036
+ T.all(
3037
+ Symbol,
3038
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator
3039
+ )
3040
+ end
3041
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3042
+
3043
+ INCLUDES =
3044
+ T.let(
3045
+ :includes,
3046
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
3047
+ )
3048
+ EXCLUDES =
3049
+ T.let(
3050
+ :excludes,
3051
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
3052
+ )
3053
+
3054
+ sig do
3055
+ override.returns(
3056
+ T::Array[
3057
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MaximumInterval::Filter::Operator::TaggedSymbol
3058
+ ]
3059
+ )
3060
+ end
3061
+ def self.values
3062
+ end
3063
+ end
3064
+ end
1577
3065
  end
1578
3066
 
1579
3067
  class MinimumInterval < Orb::Internal::Type::BaseModel
@@ -1585,10 +3073,6 @@ module Orb
1585
3073
  )
1586
3074
  end
1587
3075
 
1588
- # The price ids that this minimum interval applies to.
1589
- sig { returns(T::Array[String]) }
1590
- attr_accessor :applies_to_price_ids
1591
-
1592
3076
  # The price interval ids that this minimum interval applies to.
1593
3077
  sig { returns(T::Array[String]) }
1594
3078
  attr_accessor :applies_to_price_interval_ids
@@ -1597,6 +3081,16 @@ module Orb
1597
3081
  sig { returns(T.nilable(Time)) }
1598
3082
  attr_accessor :end_date
1599
3083
 
3084
+ # The filters that determine which prices this minimum interval applies to.
3085
+ sig do
3086
+ returns(
3087
+ T::Array[
3088
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter
3089
+ ]
3090
+ )
3091
+ end
3092
+ attr_accessor :filters
3093
+
1600
3094
  # The minimum amount to charge in a given billing period for the price intervals
1601
3095
  # this minimum applies to.
1602
3096
  sig { returns(String) }
@@ -1608,20 +3102,23 @@ module Orb
1608
3102
 
1609
3103
  sig do
1610
3104
  params(
1611
- applies_to_price_ids: T::Array[String],
1612
3105
  applies_to_price_interval_ids: T::Array[String],
1613
3106
  end_date: T.nilable(Time),
3107
+ filters:
3108
+ T::Array[
3109
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::OrHash
3110
+ ],
1614
3111
  minimum_amount: String,
1615
3112
  start_date: Time
1616
3113
  ).returns(T.attached_class)
1617
3114
  end
1618
3115
  def self.new(
1619
- # The price ids that this minimum interval applies to.
1620
- applies_to_price_ids:,
1621
3116
  # The price interval ids that this minimum interval applies to.
1622
3117
  applies_to_price_interval_ids:,
1623
3118
  # The end date of the minimum interval.
1624
3119
  end_date:,
3120
+ # The filters that determine which prices this minimum interval applies to.
3121
+ filters:,
1625
3122
  # The minimum amount to charge in a given billing period for the price intervals
1626
3123
  # this minimum applies to.
1627
3124
  minimum_amount:,
@@ -1633,9 +3130,12 @@ module Orb
1633
3130
  sig do
1634
3131
  override.returns(
1635
3132
  {
1636
- applies_to_price_ids: T::Array[String],
1637
3133
  applies_to_price_interval_ids: T::Array[String],
1638
3134
  end_date: T.nilable(Time),
3135
+ filters:
3136
+ T::Array[
3137
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter
3138
+ ],
1639
3139
  minimum_amount: String,
1640
3140
  start_date: Time
1641
3141
  }
@@ -1643,6 +3143,154 @@ module Orb
1643
3143
  end
1644
3144
  def to_hash
1645
3145
  end
3146
+
3147
+ class Filter < Orb::Internal::Type::BaseModel
3148
+ OrHash =
3149
+ T.type_alias do
3150
+ T.any(
3151
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter,
3152
+ Orb::Internal::AnyHash
3153
+ )
3154
+ end
3155
+
3156
+ # The property of the price to filter on.
3157
+ sig do
3158
+ returns(
3159
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3160
+ )
3161
+ end
3162
+ attr_accessor :field
3163
+
3164
+ # Should prices that match the filter be included or excluded.
3165
+ sig do
3166
+ returns(
3167
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3168
+ )
3169
+ end
3170
+ attr_accessor :operator
3171
+
3172
+ # The IDs or values that match this filter.
3173
+ sig { returns(T::Array[String]) }
3174
+ attr_accessor :values
3175
+
3176
+ sig do
3177
+ params(
3178
+ field:
3179
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::OrSymbol,
3180
+ operator:
3181
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator::OrSymbol,
3182
+ values: T::Array[String]
3183
+ ).returns(T.attached_class)
3184
+ end
3185
+ def self.new(
3186
+ # The property of the price to filter on.
3187
+ field:,
3188
+ # Should prices that match the filter be included or excluded.
3189
+ operator:,
3190
+ # The IDs or values that match this filter.
3191
+ values:
3192
+ )
3193
+ end
3194
+
3195
+ sig do
3196
+ override.returns(
3197
+ {
3198
+ field:
3199
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol,
3200
+ operator:
3201
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol,
3202
+ values: T::Array[String]
3203
+ }
3204
+ )
3205
+ end
3206
+ def to_hash
3207
+ end
3208
+
3209
+ # The property of the price to filter on.
3210
+ module Field
3211
+ extend Orb::Internal::Type::Enum
3212
+
3213
+ TaggedSymbol =
3214
+ T.type_alias do
3215
+ T.all(
3216
+ Symbol,
3217
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field
3218
+ )
3219
+ end
3220
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3221
+
3222
+ PRICE_ID =
3223
+ T.let(
3224
+ :price_id,
3225
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3226
+ )
3227
+ ITEM_ID =
3228
+ T.let(
3229
+ :item_id,
3230
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3231
+ )
3232
+ PRICE_TYPE =
3233
+ T.let(
3234
+ :price_type,
3235
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3236
+ )
3237
+ CURRENCY =
3238
+ T.let(
3239
+ :currency,
3240
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3241
+ )
3242
+ PRICING_UNIT_ID =
3243
+ T.let(
3244
+ :pricing_unit_id,
3245
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3246
+ )
3247
+
3248
+ sig do
3249
+ override.returns(
3250
+ T::Array[
3251
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Field::TaggedSymbol
3252
+ ]
3253
+ )
3254
+ end
3255
+ def self.values
3256
+ end
3257
+ end
3258
+
3259
+ # Should prices that match the filter be included or excluded.
3260
+ module Operator
3261
+ extend Orb::Internal::Type::Enum
3262
+
3263
+ TaggedSymbol =
3264
+ T.type_alias do
3265
+ T.all(
3266
+ Symbol,
3267
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator
3268
+ )
3269
+ end
3270
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3271
+
3272
+ INCLUDES =
3273
+ T.let(
3274
+ :includes,
3275
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3276
+ )
3277
+ EXCLUDES =
3278
+ T.let(
3279
+ :excludes,
3280
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3281
+ )
3282
+
3283
+ sig do
3284
+ override.returns(
3285
+ T::Array[
3286
+ Orb::Models::SubscriptionChangeRetrieveResponse::Subscription::MinimumInterval::Filter::Operator::TaggedSymbol
3287
+ ]
3288
+ )
3289
+ end
3290
+ def self.values
3291
+ end
3292
+ end
3293
+ end
1646
3294
  end
1647
3295
 
1648
3296
  class PendingSubscriptionChange < Orb::Internal::Type::BaseModel