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
@@ -146,6 +146,10 @@ module Orb
146
146
  end
147
147
  attr_accessor :minimum_intervals
148
148
 
149
+ # The name of the subscription.
150
+ sig { returns(String) }
151
+ attr_accessor :name
152
+
149
153
  # Determines the difference between the invoice issue date for subscription
150
154
  # invoices as the date that they are due. A value of `0` here represents that the
151
155
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -177,10 +181,10 @@ module Orb
177
181
  # subscribed to by a customer. Plans define the billing behavior of the
178
182
  # subscription. You can see more about how to configure prices in the
179
183
  # [Price resource](/reference/price).
180
- sig { returns(Orb::Plan) }
184
+ sig { returns(T.nilable(Orb::Plan)) }
181
185
  attr_reader :plan
182
186
 
183
- sig { params(plan: Orb::Plan::OrHash).void }
187
+ sig { params(plan: T.nilable(Orb::Plan::OrHash)).void }
184
188
  attr_writer :plan
185
189
 
186
190
  # The price intervals for this subscription.
@@ -287,12 +291,13 @@ module Orb
287
291
  T::Array[
288
292
  Orb::Models::SubscriptionCancelResponse::MinimumInterval::OrHash
289
293
  ],
294
+ name: String,
290
295
  net_terms: Integer,
291
296
  pending_subscription_change:
292
297
  T.nilable(
293
298
  Orb::Models::SubscriptionCancelResponse::PendingSubscriptionChange::OrHash
294
299
  ),
295
- plan: Orb::Plan::OrHash,
300
+ plan: T.nilable(Orb::Plan::OrHash),
296
301
  price_intervals:
297
302
  T::Array[
298
303
  Orb::Models::SubscriptionCancelResponse::PriceInterval::OrHash
@@ -375,6 +380,8 @@ module Orb
375
380
  metadata:,
376
381
  # The minimum intervals for this subscription sorted by the start_date.
377
382
  minimum_intervals:,
383
+ # The name of the subscription.
384
+ name:,
378
385
  # Determines the difference between the invoice issue date for subscription
379
386
  # invoices as the date that they are due. A value of `0` here represents that the
380
387
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -438,12 +445,13 @@ module Orb
438
445
  T::Array[
439
446
  Orb::Models::SubscriptionCancelResponse::MinimumInterval
440
447
  ],
448
+ name: String,
441
449
  net_terms: Integer,
442
450
  pending_subscription_change:
443
451
  T.nilable(
444
452
  Orb::Models::SubscriptionCancelResponse::PendingSubscriptionChange
445
453
  ),
446
- plan: Orb::Plan,
454
+ plan: T.nilable(Orb::Plan),
447
455
  price_intervals:
448
456
  T::Array[Orb::Models::SubscriptionCancelResponse::PriceInterval],
449
457
  redeemed_coupon:
@@ -571,6 +579,16 @@ module Orb
571
579
  sig { returns(T::Array[String]) }
572
580
  attr_accessor :applies_to_price_ids
573
581
 
582
+ # The filters that determine which prices to apply this adjustment to.
583
+ sig do
584
+ returns(
585
+ T::Array[
586
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
587
+ ]
588
+ )
589
+ end
590
+ attr_accessor :filters
591
+
574
592
  # True for adjustments that apply to an entire invocice, false for adjustments
575
593
  # that apply to only one price.
576
594
  sig { returns(T::Boolean) }
@@ -593,6 +611,10 @@ module Orb
593
611
  params(
594
612
  id: String,
595
613
  applies_to_price_ids: T::Array[String],
614
+ filters:
615
+ T::Array[
616
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::OrHash
617
+ ],
596
618
  is_invoice_level: T::Boolean,
597
619
  plan_phase_order: T.nilable(Integer),
598
620
  reason: T.nilable(String),
@@ -604,6 +626,8 @@ module Orb
604
626
  id:,
605
627
  # The price IDs that this adjustment applies to.
606
628
  applies_to_price_ids:,
629
+ # The filters that determine which prices to apply this adjustment to.
630
+ filters:,
607
631
  # True for adjustments that apply to an entire invocice, false for adjustments
608
632
  # that apply to only one price.
609
633
  is_invoice_level:,
@@ -624,6 +648,10 @@ module Orb
624
648
  id: String,
625
649
  adjustment_type: Symbol,
626
650
  applies_to_price_ids: T::Array[String],
651
+ filters:
652
+ T::Array[
653
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
654
+ ],
627
655
  is_invoice_level: T::Boolean,
628
656
  plan_phase_order: T.nilable(Integer),
629
657
  reason: T.nilable(String),
@@ -633,6 +661,154 @@ module Orb
633
661
  end
634
662
  def to_hash
635
663
  end
664
+
665
+ class Filter < Orb::Internal::Type::BaseModel
666
+ OrHash =
667
+ T.type_alias do
668
+ T.any(
669
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter,
670
+ Orb::Internal::AnyHash
671
+ )
672
+ end
673
+
674
+ # The property of the price to filter on.
675
+ sig do
676
+ returns(
677
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
678
+ )
679
+ end
680
+ attr_accessor :field
681
+
682
+ # Should prices that match the filter be included or excluded.
683
+ sig do
684
+ returns(
685
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
686
+ )
687
+ end
688
+ attr_accessor :operator
689
+
690
+ # The IDs or values that match this filter.
691
+ sig { returns(T::Array[String]) }
692
+ attr_accessor :values
693
+
694
+ sig do
695
+ params(
696
+ field:
697
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::OrSymbol,
698
+ operator:
699
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::OrSymbol,
700
+ values: T::Array[String]
701
+ ).returns(T.attached_class)
702
+ end
703
+ def self.new(
704
+ # The property of the price to filter on.
705
+ field:,
706
+ # Should prices that match the filter be included or excluded.
707
+ operator:,
708
+ # The IDs or values that match this filter.
709
+ values:
710
+ )
711
+ end
712
+
713
+ sig do
714
+ override.returns(
715
+ {
716
+ field:
717
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol,
718
+ operator:
719
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol,
720
+ values: T::Array[String]
721
+ }
722
+ )
723
+ end
724
+ def to_hash
725
+ end
726
+
727
+ # The property of the price to filter on.
728
+ module Field
729
+ extend Orb::Internal::Type::Enum
730
+
731
+ TaggedSymbol =
732
+ T.type_alias do
733
+ T.all(
734
+ Symbol,
735
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field
736
+ )
737
+ end
738
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
739
+
740
+ PRICE_ID =
741
+ T.let(
742
+ :price_id,
743
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
744
+ )
745
+ ITEM_ID =
746
+ T.let(
747
+ :item_id,
748
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
749
+ )
750
+ PRICE_TYPE =
751
+ T.let(
752
+ :price_type,
753
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
754
+ )
755
+ CURRENCY =
756
+ T.let(
757
+ :currency,
758
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
759
+ )
760
+ PRICING_UNIT_ID =
761
+ T.let(
762
+ :pricing_unit_id,
763
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
764
+ )
765
+
766
+ sig do
767
+ override.returns(
768
+ T::Array[
769
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
770
+ ]
771
+ )
772
+ end
773
+ def self.values
774
+ end
775
+ end
776
+
777
+ # Should prices that match the filter be included or excluded.
778
+ module Operator
779
+ extend Orb::Internal::Type::Enum
780
+
781
+ TaggedSymbol =
782
+ T.type_alias do
783
+ T.all(
784
+ Symbol,
785
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator
786
+ )
787
+ end
788
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
789
+
790
+ INCLUDES =
791
+ T.let(
792
+ :includes,
793
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
794
+ )
795
+ EXCLUDES =
796
+ T.let(
797
+ :excludes,
798
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
799
+ )
800
+
801
+ sig do
802
+ override.returns(
803
+ T::Array[
804
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
805
+ ]
806
+ )
807
+ end
808
+ def self.values
809
+ end
810
+ end
811
+ end
636
812
  end
637
813
 
638
814
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -659,6 +835,16 @@ module Orb
659
835
  sig { returns(T::Array[String]) }
660
836
  attr_accessor :applies_to_price_ids
661
837
 
838
+ # The filters that determine which prices to apply this adjustment to.
839
+ sig do
840
+ returns(
841
+ T::Array[
842
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
843
+ ]
844
+ )
845
+ end
846
+ attr_accessor :filters
847
+
662
848
  # True for adjustments that apply to an entire invocice, false for adjustments
663
849
  # that apply to only one price.
664
850
  sig { returns(T::Boolean) }
@@ -677,6 +863,10 @@ module Orb
677
863
  id: String,
678
864
  amount_discount: String,
679
865
  applies_to_price_ids: T::Array[String],
866
+ filters:
867
+ T::Array[
868
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::OrHash
869
+ ],
680
870
  is_invoice_level: T::Boolean,
681
871
  plan_phase_order: T.nilable(Integer),
682
872
  reason: T.nilable(String),
@@ -690,6 +880,8 @@ module Orb
690
880
  amount_discount:,
691
881
  # The price IDs that this adjustment applies to.
692
882
  applies_to_price_ids:,
883
+ # The filters that determine which prices to apply this adjustment to.
884
+ filters:,
693
885
  # True for adjustments that apply to an entire invocice, false for adjustments
694
886
  # that apply to only one price.
695
887
  is_invoice_level:,
@@ -708,6 +900,10 @@ module Orb
708
900
  adjustment_type: Symbol,
709
901
  amount_discount: String,
710
902
  applies_to_price_ids: T::Array[String],
903
+ filters:
904
+ T::Array[
905
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
906
+ ],
711
907
  is_invoice_level: T::Boolean,
712
908
  plan_phase_order: T.nilable(Integer),
713
909
  reason: T.nilable(String)
@@ -716,6 +912,154 @@ module Orb
716
912
  end
717
913
  def to_hash
718
914
  end
915
+
916
+ class Filter < Orb::Internal::Type::BaseModel
917
+ OrHash =
918
+ T.type_alias do
919
+ T.any(
920
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter,
921
+ Orb::Internal::AnyHash
922
+ )
923
+ end
924
+
925
+ # The property of the price to filter on.
926
+ sig do
927
+ returns(
928
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
929
+ )
930
+ end
931
+ attr_accessor :field
932
+
933
+ # Should prices that match the filter be included or excluded.
934
+ sig do
935
+ returns(
936
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
937
+ )
938
+ end
939
+ attr_accessor :operator
940
+
941
+ # The IDs or values that match this filter.
942
+ sig { returns(T::Array[String]) }
943
+ attr_accessor :values
944
+
945
+ sig do
946
+ params(
947
+ field:
948
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::OrSymbol,
949
+ operator:
950
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::OrSymbol,
951
+ values: T::Array[String]
952
+ ).returns(T.attached_class)
953
+ end
954
+ def self.new(
955
+ # The property of the price to filter on.
956
+ field:,
957
+ # Should prices that match the filter be included or excluded.
958
+ operator:,
959
+ # The IDs or values that match this filter.
960
+ values:
961
+ )
962
+ end
963
+
964
+ sig do
965
+ override.returns(
966
+ {
967
+ field:
968
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol,
969
+ operator:
970
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol,
971
+ values: T::Array[String]
972
+ }
973
+ )
974
+ end
975
+ def to_hash
976
+ end
977
+
978
+ # The property of the price to filter on.
979
+ module Field
980
+ extend Orb::Internal::Type::Enum
981
+
982
+ TaggedSymbol =
983
+ T.type_alias do
984
+ T.all(
985
+ Symbol,
986
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field
987
+ )
988
+ end
989
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
990
+
991
+ PRICE_ID =
992
+ T.let(
993
+ :price_id,
994
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
995
+ )
996
+ ITEM_ID =
997
+ T.let(
998
+ :item_id,
999
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1000
+ )
1001
+ PRICE_TYPE =
1002
+ T.let(
1003
+ :price_type,
1004
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1005
+ )
1006
+ CURRENCY =
1007
+ T.let(
1008
+ :currency,
1009
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1010
+ )
1011
+ PRICING_UNIT_ID =
1012
+ T.let(
1013
+ :pricing_unit_id,
1014
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1015
+ )
1016
+
1017
+ sig do
1018
+ override.returns(
1019
+ T::Array[
1020
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1021
+ ]
1022
+ )
1023
+ end
1024
+ def self.values
1025
+ end
1026
+ end
1027
+
1028
+ # Should prices that match the filter be included or excluded.
1029
+ module Operator
1030
+ extend Orb::Internal::Type::Enum
1031
+
1032
+ TaggedSymbol =
1033
+ T.type_alias do
1034
+ T.all(
1035
+ Symbol,
1036
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator
1037
+ )
1038
+ end
1039
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1040
+
1041
+ INCLUDES =
1042
+ T.let(
1043
+ :includes,
1044
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1045
+ )
1046
+ EXCLUDES =
1047
+ T.let(
1048
+ :excludes,
1049
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1050
+ )
1051
+
1052
+ sig do
1053
+ override.returns(
1054
+ T::Array[
1055
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1056
+ ]
1057
+ )
1058
+ end
1059
+ def self.values
1060
+ end
1061
+ end
1062
+ end
719
1063
  end
720
1064
 
721
1065
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -737,6 +1081,16 @@ module Orb
737
1081
  sig { returns(T::Array[String]) }
738
1082
  attr_accessor :applies_to_price_ids
739
1083
 
1084
+ # The filters that determine which prices to apply this adjustment to.
1085
+ sig do
1086
+ returns(
1087
+ T::Array[
1088
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1089
+ ]
1090
+ )
1091
+ end
1092
+ attr_accessor :filters
1093
+
740
1094
  # True for adjustments that apply to an entire invocice, false for adjustments
741
1095
  # that apply to only one price.
742
1096
  sig { returns(T::Boolean) }
@@ -759,6 +1113,10 @@ module Orb
759
1113
  params(
760
1114
  id: String,
761
1115
  applies_to_price_ids: T::Array[String],
1116
+ filters:
1117
+ T::Array[
1118
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::OrHash
1119
+ ],
762
1120
  is_invoice_level: T::Boolean,
763
1121
  percentage_discount: Float,
764
1122
  plan_phase_order: T.nilable(Integer),
@@ -770,6 +1128,8 @@ module Orb
770
1128
  id:,
771
1129
  # The price IDs that this adjustment applies to.
772
1130
  applies_to_price_ids:,
1131
+ # The filters that determine which prices to apply this adjustment to.
1132
+ filters:,
773
1133
  # True for adjustments that apply to an entire invocice, false for adjustments
774
1134
  # that apply to only one price.
775
1135
  is_invoice_level:,
@@ -790,6 +1150,10 @@ module Orb
790
1150
  id: String,
791
1151
  adjustment_type: Symbol,
792
1152
  applies_to_price_ids: T::Array[String],
1153
+ filters:
1154
+ T::Array[
1155
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1156
+ ],
793
1157
  is_invoice_level: T::Boolean,
794
1158
  percentage_discount: Float,
795
1159
  plan_phase_order: T.nilable(Integer),
@@ -799,6 +1163,154 @@ module Orb
799
1163
  end
800
1164
  def to_hash
801
1165
  end
1166
+
1167
+ class Filter < Orb::Internal::Type::BaseModel
1168
+ OrHash =
1169
+ T.type_alias do
1170
+ T.any(
1171
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter,
1172
+ Orb::Internal::AnyHash
1173
+ )
1174
+ end
1175
+
1176
+ # The property of the price to filter on.
1177
+ sig do
1178
+ returns(
1179
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1180
+ )
1181
+ end
1182
+ attr_accessor :field
1183
+
1184
+ # Should prices that match the filter be included or excluded.
1185
+ sig do
1186
+ returns(
1187
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1188
+ )
1189
+ end
1190
+ attr_accessor :operator
1191
+
1192
+ # The IDs or values that match this filter.
1193
+ sig { returns(T::Array[String]) }
1194
+ attr_accessor :values
1195
+
1196
+ sig do
1197
+ params(
1198
+ field:
1199
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::OrSymbol,
1200
+ operator:
1201
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol,
1202
+ values: T::Array[String]
1203
+ ).returns(T.attached_class)
1204
+ end
1205
+ def self.new(
1206
+ # The property of the price to filter on.
1207
+ field:,
1208
+ # Should prices that match the filter be included or excluded.
1209
+ operator:,
1210
+ # The IDs or values that match this filter.
1211
+ values:
1212
+ )
1213
+ end
1214
+
1215
+ sig do
1216
+ override.returns(
1217
+ {
1218
+ field:
1219
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol,
1220
+ operator:
1221
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol,
1222
+ values: T::Array[String]
1223
+ }
1224
+ )
1225
+ end
1226
+ def to_hash
1227
+ end
1228
+
1229
+ # The property of the price to filter on.
1230
+ module Field
1231
+ extend Orb::Internal::Type::Enum
1232
+
1233
+ TaggedSymbol =
1234
+ T.type_alias do
1235
+ T.all(
1236
+ Symbol,
1237
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field
1238
+ )
1239
+ end
1240
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1241
+
1242
+ PRICE_ID =
1243
+ T.let(
1244
+ :price_id,
1245
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1246
+ )
1247
+ ITEM_ID =
1248
+ T.let(
1249
+ :item_id,
1250
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1251
+ )
1252
+ PRICE_TYPE =
1253
+ T.let(
1254
+ :price_type,
1255
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1256
+ )
1257
+ CURRENCY =
1258
+ T.let(
1259
+ :currency,
1260
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1261
+ )
1262
+ PRICING_UNIT_ID =
1263
+ T.let(
1264
+ :pricing_unit_id,
1265
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1266
+ )
1267
+
1268
+ sig do
1269
+ override.returns(
1270
+ T::Array[
1271
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1272
+ ]
1273
+ )
1274
+ end
1275
+ def self.values
1276
+ end
1277
+ end
1278
+
1279
+ # Should prices that match the filter be included or excluded.
1280
+ module Operator
1281
+ extend Orb::Internal::Type::Enum
1282
+
1283
+ TaggedSymbol =
1284
+ T.type_alias do
1285
+ T.all(
1286
+ Symbol,
1287
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator
1288
+ )
1289
+ end
1290
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1291
+
1292
+ INCLUDES =
1293
+ T.let(
1294
+ :includes,
1295
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1296
+ )
1297
+ EXCLUDES =
1298
+ T.let(
1299
+ :excludes,
1300
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1301
+ )
1302
+
1303
+ sig do
1304
+ override.returns(
1305
+ T::Array[
1306
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1307
+ ]
1308
+ )
1309
+ end
1310
+ def self.values
1311
+ end
1312
+ end
1313
+ end
802
1314
  end
803
1315
 
804
1316
  class Minimum < Orb::Internal::Type::BaseModel
@@ -820,6 +1332,16 @@ module Orb
820
1332
  sig { returns(T::Array[String]) }
821
1333
  attr_accessor :applies_to_price_ids
822
1334
 
1335
+ # The filters that determine which prices to apply this adjustment to.
1336
+ sig do
1337
+ returns(
1338
+ T::Array[
1339
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter
1340
+ ]
1341
+ )
1342
+ end
1343
+ attr_accessor :filters
1344
+
823
1345
  # True for adjustments that apply to an entire invocice, false for adjustments
824
1346
  # that apply to only one price.
825
1347
  sig { returns(T::Boolean) }
@@ -846,6 +1368,10 @@ module Orb
846
1368
  params(
847
1369
  id: String,
848
1370
  applies_to_price_ids: T::Array[String],
1371
+ filters:
1372
+ T::Array[
1373
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::OrHash
1374
+ ],
849
1375
  is_invoice_level: T::Boolean,
850
1376
  item_id: String,
851
1377
  minimum_amount: String,
@@ -858,6 +1384,8 @@ module Orb
858
1384
  id:,
859
1385
  # The price IDs that this adjustment applies to.
860
1386
  applies_to_price_ids:,
1387
+ # The filters that determine which prices to apply this adjustment to.
1388
+ filters:,
861
1389
  # True for adjustments that apply to an entire invocice, false for adjustments
862
1390
  # that apply to only one price.
863
1391
  is_invoice_level:,
@@ -880,6 +1408,10 @@ module Orb
880
1408
  id: String,
881
1409
  adjustment_type: Symbol,
882
1410
  applies_to_price_ids: T::Array[String],
1411
+ filters:
1412
+ T::Array[
1413
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter
1414
+ ],
883
1415
  is_invoice_level: T::Boolean,
884
1416
  item_id: String,
885
1417
  minimum_amount: String,
@@ -890,6 +1422,154 @@ module Orb
890
1422
  end
891
1423
  def to_hash
892
1424
  end
1425
+
1426
+ class Filter < Orb::Internal::Type::BaseModel
1427
+ OrHash =
1428
+ T.type_alias do
1429
+ T.any(
1430
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter,
1431
+ Orb::Internal::AnyHash
1432
+ )
1433
+ end
1434
+
1435
+ # The property of the price to filter on.
1436
+ sig do
1437
+ returns(
1438
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1439
+ )
1440
+ end
1441
+ attr_accessor :field
1442
+
1443
+ # Should prices that match the filter be included or excluded.
1444
+ sig do
1445
+ returns(
1446
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1447
+ )
1448
+ end
1449
+ attr_accessor :operator
1450
+
1451
+ # The IDs or values that match this filter.
1452
+ sig { returns(T::Array[String]) }
1453
+ attr_accessor :values
1454
+
1455
+ sig do
1456
+ params(
1457
+ field:
1458
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::OrSymbol,
1459
+ operator:
1460
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::OrSymbol,
1461
+ values: T::Array[String]
1462
+ ).returns(T.attached_class)
1463
+ end
1464
+ def self.new(
1465
+ # The property of the price to filter on.
1466
+ field:,
1467
+ # Should prices that match the filter be included or excluded.
1468
+ operator:,
1469
+ # The IDs or values that match this filter.
1470
+ values:
1471
+ )
1472
+ end
1473
+
1474
+ sig do
1475
+ override.returns(
1476
+ {
1477
+ field:
1478
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol,
1479
+ operator:
1480
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol,
1481
+ values: T::Array[String]
1482
+ }
1483
+ )
1484
+ end
1485
+ def to_hash
1486
+ end
1487
+
1488
+ # The property of the price to filter on.
1489
+ module Field
1490
+ extend Orb::Internal::Type::Enum
1491
+
1492
+ TaggedSymbol =
1493
+ T.type_alias do
1494
+ T.all(
1495
+ Symbol,
1496
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field
1497
+ )
1498
+ end
1499
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1500
+
1501
+ PRICE_ID =
1502
+ T.let(
1503
+ :price_id,
1504
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1505
+ )
1506
+ ITEM_ID =
1507
+ T.let(
1508
+ :item_id,
1509
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1510
+ )
1511
+ PRICE_TYPE =
1512
+ T.let(
1513
+ :price_type,
1514
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1515
+ )
1516
+ CURRENCY =
1517
+ T.let(
1518
+ :currency,
1519
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1520
+ )
1521
+ PRICING_UNIT_ID =
1522
+ T.let(
1523
+ :pricing_unit_id,
1524
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1525
+ )
1526
+
1527
+ sig do
1528
+ override.returns(
1529
+ T::Array[
1530
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1531
+ ]
1532
+ )
1533
+ end
1534
+ def self.values
1535
+ end
1536
+ end
1537
+
1538
+ # Should prices that match the filter be included or excluded.
1539
+ module Operator
1540
+ extend Orb::Internal::Type::Enum
1541
+
1542
+ TaggedSymbol =
1543
+ T.type_alias do
1544
+ T.all(
1545
+ Symbol,
1546
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator
1547
+ )
1548
+ end
1549
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1550
+
1551
+ INCLUDES =
1552
+ T.let(
1553
+ :includes,
1554
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1555
+ )
1556
+ EXCLUDES =
1557
+ T.let(
1558
+ :excludes,
1559
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1560
+ )
1561
+
1562
+ sig do
1563
+ override.returns(
1564
+ T::Array[
1565
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1566
+ ]
1567
+ )
1568
+ end
1569
+ def self.values
1570
+ end
1571
+ end
1572
+ end
893
1573
  end
894
1574
 
895
1575
  class Maximum < Orb::Internal::Type::BaseModel
@@ -911,6 +1591,16 @@ module Orb
911
1591
  sig { returns(T::Array[String]) }
912
1592
  attr_accessor :applies_to_price_ids
913
1593
 
1594
+ # The filters that determine which prices to apply this adjustment to.
1595
+ sig do
1596
+ returns(
1597
+ T::Array[
1598
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter
1599
+ ]
1600
+ )
1601
+ end
1602
+ attr_accessor :filters
1603
+
914
1604
  # True for adjustments that apply to an entire invocice, false for adjustments
915
1605
  # that apply to only one price.
916
1606
  sig { returns(T::Boolean) }
@@ -933,6 +1623,10 @@ module Orb
933
1623
  params(
934
1624
  id: String,
935
1625
  applies_to_price_ids: T::Array[String],
1626
+ filters:
1627
+ T::Array[
1628
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::OrHash
1629
+ ],
936
1630
  is_invoice_level: T::Boolean,
937
1631
  maximum_amount: String,
938
1632
  plan_phase_order: T.nilable(Integer),
@@ -944,6 +1638,8 @@ module Orb
944
1638
  id:,
945
1639
  # The price IDs that this adjustment applies to.
946
1640
  applies_to_price_ids:,
1641
+ # The filters that determine which prices to apply this adjustment to.
1642
+ filters:,
947
1643
  # True for adjustments that apply to an entire invocice, false for adjustments
948
1644
  # that apply to only one price.
949
1645
  is_invoice_level:,
@@ -964,6 +1660,10 @@ module Orb
964
1660
  id: String,
965
1661
  adjustment_type: Symbol,
966
1662
  applies_to_price_ids: T::Array[String],
1663
+ filters:
1664
+ T::Array[
1665
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter
1666
+ ],
967
1667
  is_invoice_level: T::Boolean,
968
1668
  maximum_amount: String,
969
1669
  plan_phase_order: T.nilable(Integer),
@@ -973,6 +1673,154 @@ module Orb
973
1673
  end
974
1674
  def to_hash
975
1675
  end
1676
+
1677
+ class Filter < Orb::Internal::Type::BaseModel
1678
+ OrHash =
1679
+ T.type_alias do
1680
+ T.any(
1681
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter,
1682
+ Orb::Internal::AnyHash
1683
+ )
1684
+ end
1685
+
1686
+ # The property of the price to filter on.
1687
+ sig do
1688
+ returns(
1689
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1690
+ )
1691
+ end
1692
+ attr_accessor :field
1693
+
1694
+ # Should prices that match the filter be included or excluded.
1695
+ sig do
1696
+ returns(
1697
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1698
+ )
1699
+ end
1700
+ attr_accessor :operator
1701
+
1702
+ # The IDs or values that match this filter.
1703
+ sig { returns(T::Array[String]) }
1704
+ attr_accessor :values
1705
+
1706
+ sig do
1707
+ params(
1708
+ field:
1709
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::OrSymbol,
1710
+ operator:
1711
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::OrSymbol,
1712
+ values: T::Array[String]
1713
+ ).returns(T.attached_class)
1714
+ end
1715
+ def self.new(
1716
+ # The property of the price to filter on.
1717
+ field:,
1718
+ # Should prices that match the filter be included or excluded.
1719
+ operator:,
1720
+ # The IDs or values that match this filter.
1721
+ values:
1722
+ )
1723
+ end
1724
+
1725
+ sig do
1726
+ override.returns(
1727
+ {
1728
+ field:
1729
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol,
1730
+ operator:
1731
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol,
1732
+ values: T::Array[String]
1733
+ }
1734
+ )
1735
+ end
1736
+ def to_hash
1737
+ end
1738
+
1739
+ # The property of the price to filter on.
1740
+ module Field
1741
+ extend Orb::Internal::Type::Enum
1742
+
1743
+ TaggedSymbol =
1744
+ T.type_alias do
1745
+ T.all(
1746
+ Symbol,
1747
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field
1748
+ )
1749
+ end
1750
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1751
+
1752
+ PRICE_ID =
1753
+ T.let(
1754
+ :price_id,
1755
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1756
+ )
1757
+ ITEM_ID =
1758
+ T.let(
1759
+ :item_id,
1760
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1761
+ )
1762
+ PRICE_TYPE =
1763
+ T.let(
1764
+ :price_type,
1765
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1766
+ )
1767
+ CURRENCY =
1768
+ T.let(
1769
+ :currency,
1770
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1771
+ )
1772
+ PRICING_UNIT_ID =
1773
+ T.let(
1774
+ :pricing_unit_id,
1775
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1776
+ )
1777
+
1778
+ sig do
1779
+ override.returns(
1780
+ T::Array[
1781
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1782
+ ]
1783
+ )
1784
+ end
1785
+ def self.values
1786
+ end
1787
+ end
1788
+
1789
+ # Should prices that match the filter be included or excluded.
1790
+ module Operator
1791
+ extend Orb::Internal::Type::Enum
1792
+
1793
+ TaggedSymbol =
1794
+ T.type_alias do
1795
+ T.all(
1796
+ Symbol,
1797
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator
1798
+ )
1799
+ end
1800
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1801
+
1802
+ INCLUDES =
1803
+ T.let(
1804
+ :includes,
1805
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1806
+ )
1807
+ EXCLUDES =
1808
+ T.let(
1809
+ :excludes,
1810
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1811
+ )
1812
+
1813
+ sig do
1814
+ override.returns(
1815
+ T::Array[
1816
+ Orb::Models::SubscriptionCancelResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1817
+ ]
1818
+ )
1819
+ end
1820
+ def self.values
1821
+ end
1822
+ end
1823
+ end
976
1824
  end
977
1825
 
978
1826
  sig do
@@ -1075,10 +1923,6 @@ module Orb
1075
1923
  sig { returns(String) }
1076
1924
  attr_accessor :amount_discount
1077
1925
 
1078
- # The price ids that this discount interval applies to.
1079
- sig { returns(T::Array[String]) }
1080
- attr_accessor :applies_to_price_ids
1081
-
1082
1926
  # The price interval ids that this discount interval applies to.
1083
1927
  sig { returns(T::Array[String]) }
1084
1928
  attr_accessor :applies_to_price_interval_ids
@@ -1090,6 +1934,16 @@ module Orb
1090
1934
  sig { returns(T.nilable(Time)) }
1091
1935
  attr_accessor :end_date
1092
1936
 
1937
+ # The filters that determine which prices this discount interval applies to.
1938
+ sig do
1939
+ returns(
1940
+ T::Array[
1941
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter
1942
+ ]
1943
+ )
1944
+ end
1945
+ attr_accessor :filters
1946
+
1093
1947
  # The start date of the discount interval.
1094
1948
  sig { returns(Time) }
1095
1949
  attr_accessor :start_date
@@ -1097,9 +1951,12 @@ module Orb
1097
1951
  sig do
1098
1952
  params(
1099
1953
  amount_discount: String,
1100
- applies_to_price_ids: T::Array[String],
1101
1954
  applies_to_price_interval_ids: T::Array[String],
1102
1955
  end_date: T.nilable(Time),
1956
+ filters:
1957
+ T::Array[
1958
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::OrHash
1959
+ ],
1103
1960
  start_date: Time,
1104
1961
  discount_type: Symbol
1105
1962
  ).returns(T.attached_class)
@@ -1107,12 +1964,12 @@ module Orb
1107
1964
  def self.new(
1108
1965
  # Only available if discount_type is `amount`.
1109
1966
  amount_discount:,
1110
- # The price ids that this discount interval applies to.
1111
- applies_to_price_ids:,
1112
1967
  # The price interval ids that this discount interval applies to.
1113
1968
  applies_to_price_interval_ids:,
1114
1969
  # The end date of the discount interval.
1115
1970
  end_date:,
1971
+ # The filters that determine which prices this discount interval applies to.
1972
+ filters:,
1116
1973
  # The start date of the discount interval.
1117
1974
  start_date:,
1118
1975
  discount_type: :amount
@@ -1123,16 +1980,167 @@ module Orb
1123
1980
  override.returns(
1124
1981
  {
1125
1982
  amount_discount: String,
1126
- applies_to_price_ids: T::Array[String],
1127
1983
  applies_to_price_interval_ids: T::Array[String],
1128
1984
  discount_type: Symbol,
1129
1985
  end_date: T.nilable(Time),
1986
+ filters:
1987
+ T::Array[
1988
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter
1989
+ ],
1130
1990
  start_date: Time
1131
1991
  }
1132
1992
  )
1133
1993
  end
1134
1994
  def to_hash
1135
1995
  end
1996
+
1997
+ class Filter < Orb::Internal::Type::BaseModel
1998
+ OrHash =
1999
+ T.type_alias do
2000
+ T.any(
2001
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter,
2002
+ Orb::Internal::AnyHash
2003
+ )
2004
+ end
2005
+
2006
+ # The property of the price to filter on.
2007
+ sig do
2008
+ returns(
2009
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2010
+ )
2011
+ end
2012
+ attr_accessor :field
2013
+
2014
+ # Should prices that match the filter be included or excluded.
2015
+ sig do
2016
+ returns(
2017
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2018
+ )
2019
+ end
2020
+ attr_accessor :operator
2021
+
2022
+ # The IDs or values that match this filter.
2023
+ sig { returns(T::Array[String]) }
2024
+ attr_accessor :values
2025
+
2026
+ sig do
2027
+ params(
2028
+ field:
2029
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::OrSymbol,
2030
+ operator:
2031
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator::OrSymbol,
2032
+ values: T::Array[String]
2033
+ ).returns(T.attached_class)
2034
+ end
2035
+ def self.new(
2036
+ # The property of the price to filter on.
2037
+ field:,
2038
+ # Should prices that match the filter be included or excluded.
2039
+ operator:,
2040
+ # The IDs or values that match this filter.
2041
+ values:
2042
+ )
2043
+ end
2044
+
2045
+ sig do
2046
+ override.returns(
2047
+ {
2048
+ field:
2049
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol,
2050
+ operator:
2051
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol,
2052
+ values: T::Array[String]
2053
+ }
2054
+ )
2055
+ end
2056
+ def to_hash
2057
+ end
2058
+
2059
+ # The property of the price to filter on.
2060
+ module Field
2061
+ extend Orb::Internal::Type::Enum
2062
+
2063
+ TaggedSymbol =
2064
+ T.type_alias do
2065
+ T.all(
2066
+ Symbol,
2067
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field
2068
+ )
2069
+ end
2070
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2071
+
2072
+ PRICE_ID =
2073
+ T.let(
2074
+ :price_id,
2075
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2076
+ )
2077
+ ITEM_ID =
2078
+ T.let(
2079
+ :item_id,
2080
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2081
+ )
2082
+ PRICE_TYPE =
2083
+ T.let(
2084
+ :price_type,
2085
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2086
+ )
2087
+ CURRENCY =
2088
+ T.let(
2089
+ :currency,
2090
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2091
+ )
2092
+ PRICING_UNIT_ID =
2093
+ T.let(
2094
+ :pricing_unit_id,
2095
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2096
+ )
2097
+
2098
+ sig do
2099
+ override.returns(
2100
+ T::Array[
2101
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2102
+ ]
2103
+ )
2104
+ end
2105
+ def self.values
2106
+ end
2107
+ end
2108
+
2109
+ # Should prices that match the filter be included or excluded.
2110
+ module Operator
2111
+ extend Orb::Internal::Type::Enum
2112
+
2113
+ TaggedSymbol =
2114
+ T.type_alias do
2115
+ T.all(
2116
+ Symbol,
2117
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator
2118
+ )
2119
+ end
2120
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2121
+
2122
+ INCLUDES =
2123
+ T.let(
2124
+ :includes,
2125
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2126
+ )
2127
+ EXCLUDES =
2128
+ T.let(
2129
+ :excludes,
2130
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2131
+ )
2132
+
2133
+ sig do
2134
+ override.returns(
2135
+ T::Array[
2136
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2137
+ ]
2138
+ )
2139
+ end
2140
+ def self.values
2141
+ end
2142
+ end
2143
+ end
1136
2144
  end
1137
2145
 
1138
2146
  class Percentage < Orb::Internal::Type::BaseModel
@@ -1144,10 +2152,6 @@ module Orb
1144
2152
  )
1145
2153
  end
1146
2154
 
1147
- # The price ids that this discount interval applies to.
1148
- sig { returns(T::Array[String]) }
1149
- attr_accessor :applies_to_price_ids
1150
-
1151
2155
  # The price interval ids that this discount interval applies to.
1152
2156
  sig { returns(T::Array[String]) }
1153
2157
  attr_accessor :applies_to_price_interval_ids
@@ -1159,6 +2163,16 @@ module Orb
1159
2163
  sig { returns(T.nilable(Time)) }
1160
2164
  attr_accessor :end_date
1161
2165
 
2166
+ # The filters that determine which prices this discount interval applies to.
2167
+ sig do
2168
+ returns(
2169
+ T::Array[
2170
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter
2171
+ ]
2172
+ )
2173
+ end
2174
+ attr_accessor :filters
2175
+
1162
2176
  # Only available if discount_type is `percentage`.This is a number between 0
1163
2177
  # and 1.
1164
2178
  sig { returns(Float) }
@@ -1170,21 +2184,24 @@ module Orb
1170
2184
 
1171
2185
  sig do
1172
2186
  params(
1173
- applies_to_price_ids: T::Array[String],
1174
2187
  applies_to_price_interval_ids: T::Array[String],
1175
2188
  end_date: T.nilable(Time),
2189
+ filters:
2190
+ T::Array[
2191
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::OrHash
2192
+ ],
1176
2193
  percentage_discount: Float,
1177
2194
  start_date: Time,
1178
2195
  discount_type: Symbol
1179
2196
  ).returns(T.attached_class)
1180
2197
  end
1181
2198
  def self.new(
1182
- # The price ids that this discount interval applies to.
1183
- applies_to_price_ids:,
1184
2199
  # The price interval ids that this discount interval applies to.
1185
2200
  applies_to_price_interval_ids:,
1186
2201
  # The end date of the discount interval.
1187
2202
  end_date:,
2203
+ # The filters that determine which prices this discount interval applies to.
2204
+ filters:,
1188
2205
  # Only available if discount_type is `percentage`.This is a number between 0
1189
2206
  # and 1.
1190
2207
  percentage_discount:,
@@ -1197,10 +2214,13 @@ module Orb
1197
2214
  sig do
1198
2215
  override.returns(
1199
2216
  {
1200
- applies_to_price_ids: T::Array[String],
1201
2217
  applies_to_price_interval_ids: T::Array[String],
1202
2218
  discount_type: Symbol,
1203
2219
  end_date: T.nilable(Time),
2220
+ filters:
2221
+ T::Array[
2222
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter
2223
+ ],
1204
2224
  percentage_discount: Float,
1205
2225
  start_date: Time
1206
2226
  }
@@ -1208,6 +2228,154 @@ module Orb
1208
2228
  end
1209
2229
  def to_hash
1210
2230
  end
2231
+
2232
+ class Filter < Orb::Internal::Type::BaseModel
2233
+ OrHash =
2234
+ T.type_alias do
2235
+ T.any(
2236
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter,
2237
+ Orb::Internal::AnyHash
2238
+ )
2239
+ end
2240
+
2241
+ # The property of the price to filter on.
2242
+ sig do
2243
+ returns(
2244
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2245
+ )
2246
+ end
2247
+ attr_accessor :field
2248
+
2249
+ # Should prices that match the filter be included or excluded.
2250
+ sig do
2251
+ returns(
2252
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2253
+ )
2254
+ end
2255
+ attr_accessor :operator
2256
+
2257
+ # The IDs or values that match this filter.
2258
+ sig { returns(T::Array[String]) }
2259
+ attr_accessor :values
2260
+
2261
+ sig do
2262
+ params(
2263
+ field:
2264
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::OrSymbol,
2265
+ operator:
2266
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator::OrSymbol,
2267
+ values: T::Array[String]
2268
+ ).returns(T.attached_class)
2269
+ end
2270
+ def self.new(
2271
+ # The property of the price to filter on.
2272
+ field:,
2273
+ # Should prices that match the filter be included or excluded.
2274
+ operator:,
2275
+ # The IDs or values that match this filter.
2276
+ values:
2277
+ )
2278
+ end
2279
+
2280
+ sig do
2281
+ override.returns(
2282
+ {
2283
+ field:
2284
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol,
2285
+ operator:
2286
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol,
2287
+ values: T::Array[String]
2288
+ }
2289
+ )
2290
+ end
2291
+ def to_hash
2292
+ end
2293
+
2294
+ # The property of the price to filter on.
2295
+ module Field
2296
+ extend Orb::Internal::Type::Enum
2297
+
2298
+ TaggedSymbol =
2299
+ T.type_alias do
2300
+ T.all(
2301
+ Symbol,
2302
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field
2303
+ )
2304
+ end
2305
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2306
+
2307
+ PRICE_ID =
2308
+ T.let(
2309
+ :price_id,
2310
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2311
+ )
2312
+ ITEM_ID =
2313
+ T.let(
2314
+ :item_id,
2315
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2316
+ )
2317
+ PRICE_TYPE =
2318
+ T.let(
2319
+ :price_type,
2320
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2321
+ )
2322
+ CURRENCY =
2323
+ T.let(
2324
+ :currency,
2325
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2326
+ )
2327
+ PRICING_UNIT_ID =
2328
+ T.let(
2329
+ :pricing_unit_id,
2330
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2331
+ )
2332
+
2333
+ sig do
2334
+ override.returns(
2335
+ T::Array[
2336
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2337
+ ]
2338
+ )
2339
+ end
2340
+ def self.values
2341
+ end
2342
+ end
2343
+
2344
+ # Should prices that match the filter be included or excluded.
2345
+ module Operator
2346
+ extend Orb::Internal::Type::Enum
2347
+
2348
+ TaggedSymbol =
2349
+ T.type_alias do
2350
+ T.all(
2351
+ Symbol,
2352
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator
2353
+ )
2354
+ end
2355
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2356
+
2357
+ INCLUDES =
2358
+ T.let(
2359
+ :includes,
2360
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2361
+ )
2362
+ EXCLUDES =
2363
+ T.let(
2364
+ :excludes,
2365
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2366
+ )
2367
+
2368
+ sig do
2369
+ override.returns(
2370
+ T::Array[
2371
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2372
+ ]
2373
+ )
2374
+ end
2375
+ def self.values
2376
+ end
2377
+ end
2378
+ end
1211
2379
  end
1212
2380
 
1213
2381
  class Usage < Orb::Internal::Type::BaseModel
@@ -1219,10 +2387,6 @@ module Orb
1219
2387
  )
1220
2388
  end
1221
2389
 
1222
- # The price ids that this discount interval applies to.
1223
- sig { returns(T::Array[String]) }
1224
- attr_accessor :applies_to_price_ids
1225
-
1226
2390
  # The price interval ids that this discount interval applies to.
1227
2391
  sig { returns(T::Array[String]) }
1228
2392
  attr_accessor :applies_to_price_interval_ids
@@ -1234,6 +2398,16 @@ module Orb
1234
2398
  sig { returns(T.nilable(Time)) }
1235
2399
  attr_accessor :end_date
1236
2400
 
2401
+ # The filters that determine which prices this discount interval applies to.
2402
+ sig do
2403
+ returns(
2404
+ T::Array[
2405
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter
2406
+ ]
2407
+ )
2408
+ end
2409
+ attr_accessor :filters
2410
+
1237
2411
  # The start date of the discount interval.
1238
2412
  sig { returns(Time) }
1239
2413
  attr_accessor :start_date
@@ -1245,21 +2419,24 @@ module Orb
1245
2419
 
1246
2420
  sig do
1247
2421
  params(
1248
- applies_to_price_ids: T::Array[String],
1249
2422
  applies_to_price_interval_ids: T::Array[String],
1250
2423
  end_date: T.nilable(Time),
2424
+ filters:
2425
+ T::Array[
2426
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::OrHash
2427
+ ],
1251
2428
  start_date: Time,
1252
2429
  usage_discount: Float,
1253
2430
  discount_type: Symbol
1254
2431
  ).returns(T.attached_class)
1255
2432
  end
1256
2433
  def self.new(
1257
- # The price ids that this discount interval applies to.
1258
- applies_to_price_ids:,
1259
2434
  # The price interval ids that this discount interval applies to.
1260
2435
  applies_to_price_interval_ids:,
1261
2436
  # The end date of the discount interval.
1262
2437
  end_date:,
2438
+ # The filters that determine which prices this discount interval applies to.
2439
+ filters:,
1263
2440
  # The start date of the discount interval.
1264
2441
  start_date:,
1265
2442
  # Only available if discount_type is `usage`. Number of usage units that this
@@ -1272,10 +2449,13 @@ module Orb
1272
2449
  sig do
1273
2450
  override.returns(
1274
2451
  {
1275
- applies_to_price_ids: T::Array[String],
1276
2452
  applies_to_price_interval_ids: T::Array[String],
1277
2453
  discount_type: Symbol,
1278
2454
  end_date: T.nilable(Time),
2455
+ filters:
2456
+ T::Array[
2457
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter
2458
+ ],
1279
2459
  start_date: Time,
1280
2460
  usage_discount: Float
1281
2461
  }
@@ -1283,6 +2463,154 @@ module Orb
1283
2463
  end
1284
2464
  def to_hash
1285
2465
  end
2466
+
2467
+ class Filter < Orb::Internal::Type::BaseModel
2468
+ OrHash =
2469
+ T.type_alias do
2470
+ T.any(
2471
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter,
2472
+ Orb::Internal::AnyHash
2473
+ )
2474
+ end
2475
+
2476
+ # The property of the price to filter on.
2477
+ sig do
2478
+ returns(
2479
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2480
+ )
2481
+ end
2482
+ attr_accessor :field
2483
+
2484
+ # Should prices that match the filter be included or excluded.
2485
+ sig do
2486
+ returns(
2487
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2488
+ )
2489
+ end
2490
+ attr_accessor :operator
2491
+
2492
+ # The IDs or values that match this filter.
2493
+ sig { returns(T::Array[String]) }
2494
+ attr_accessor :values
2495
+
2496
+ sig do
2497
+ params(
2498
+ field:
2499
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::OrSymbol,
2500
+ operator:
2501
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator::OrSymbol,
2502
+ values: T::Array[String]
2503
+ ).returns(T.attached_class)
2504
+ end
2505
+ def self.new(
2506
+ # The property of the price to filter on.
2507
+ field:,
2508
+ # Should prices that match the filter be included or excluded.
2509
+ operator:,
2510
+ # The IDs or values that match this filter.
2511
+ values:
2512
+ )
2513
+ end
2514
+
2515
+ sig do
2516
+ override.returns(
2517
+ {
2518
+ field:
2519
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol,
2520
+ operator:
2521
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol,
2522
+ values: T::Array[String]
2523
+ }
2524
+ )
2525
+ end
2526
+ def to_hash
2527
+ end
2528
+
2529
+ # The property of the price to filter on.
2530
+ module Field
2531
+ extend Orb::Internal::Type::Enum
2532
+
2533
+ TaggedSymbol =
2534
+ T.type_alias do
2535
+ T.all(
2536
+ Symbol,
2537
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field
2538
+ )
2539
+ end
2540
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2541
+
2542
+ PRICE_ID =
2543
+ T.let(
2544
+ :price_id,
2545
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2546
+ )
2547
+ ITEM_ID =
2548
+ T.let(
2549
+ :item_id,
2550
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2551
+ )
2552
+ PRICE_TYPE =
2553
+ T.let(
2554
+ :price_type,
2555
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2556
+ )
2557
+ CURRENCY =
2558
+ T.let(
2559
+ :currency,
2560
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2561
+ )
2562
+ PRICING_UNIT_ID =
2563
+ T.let(
2564
+ :pricing_unit_id,
2565
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2566
+ )
2567
+
2568
+ sig do
2569
+ override.returns(
2570
+ T::Array[
2571
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2572
+ ]
2573
+ )
2574
+ end
2575
+ def self.values
2576
+ end
2577
+ end
2578
+
2579
+ # Should prices that match the filter be included or excluded.
2580
+ module Operator
2581
+ extend Orb::Internal::Type::Enum
2582
+
2583
+ TaggedSymbol =
2584
+ T.type_alias do
2585
+ T.all(
2586
+ Symbol,
2587
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator
2588
+ )
2589
+ end
2590
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2591
+
2592
+ INCLUDES =
2593
+ T.let(
2594
+ :includes,
2595
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2596
+ )
2597
+ EXCLUDES =
2598
+ T.let(
2599
+ :excludes,
2600
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2601
+ )
2602
+
2603
+ sig do
2604
+ override.returns(
2605
+ T::Array[
2606
+ Orb::Models::SubscriptionCancelResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2607
+ ]
2608
+ )
2609
+ end
2610
+ def self.values
2611
+ end
2612
+ end
2613
+ end
1286
2614
  end
1287
2615
 
1288
2616
  sig do
@@ -1351,10 +2679,6 @@ module Orb
1351
2679
  )
1352
2680
  end
1353
2681
 
1354
- # The price ids that this maximum interval applies to.
1355
- sig { returns(T::Array[String]) }
1356
- attr_accessor :applies_to_price_ids
1357
-
1358
2682
  # The price interval ids that this maximum interval applies to.
1359
2683
  sig { returns(T::Array[String]) }
1360
2684
  attr_accessor :applies_to_price_interval_ids
@@ -1363,6 +2687,16 @@ module Orb
1363
2687
  sig { returns(T.nilable(Time)) }
1364
2688
  attr_accessor :end_date
1365
2689
 
2690
+ # The filters that determine which prices this maximum interval applies to.
2691
+ sig do
2692
+ returns(
2693
+ T::Array[
2694
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter
2695
+ ]
2696
+ )
2697
+ end
2698
+ attr_accessor :filters
2699
+
1366
2700
  # The maximum amount to charge in a given billing period for the price intervals
1367
2701
  # this transform applies to.
1368
2702
  sig { returns(String) }
@@ -1374,20 +2708,23 @@ module Orb
1374
2708
 
1375
2709
  sig do
1376
2710
  params(
1377
- applies_to_price_ids: T::Array[String],
1378
2711
  applies_to_price_interval_ids: T::Array[String],
1379
2712
  end_date: T.nilable(Time),
2713
+ filters:
2714
+ T::Array[
2715
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::OrHash
2716
+ ],
1380
2717
  maximum_amount: String,
1381
2718
  start_date: Time
1382
2719
  ).returns(T.attached_class)
1383
2720
  end
1384
2721
  def self.new(
1385
- # The price ids that this maximum interval applies to.
1386
- applies_to_price_ids:,
1387
2722
  # The price interval ids that this maximum interval applies to.
1388
2723
  applies_to_price_interval_ids:,
1389
2724
  # The end date of the maximum interval.
1390
2725
  end_date:,
2726
+ # The filters that determine which prices this maximum interval applies to.
2727
+ filters:,
1391
2728
  # The maximum amount to charge in a given billing period for the price intervals
1392
2729
  # this transform applies to.
1393
2730
  maximum_amount:,
@@ -1399,9 +2736,12 @@ module Orb
1399
2736
  sig do
1400
2737
  override.returns(
1401
2738
  {
1402
- applies_to_price_ids: T::Array[String],
1403
2739
  applies_to_price_interval_ids: T::Array[String],
1404
2740
  end_date: T.nilable(Time),
2741
+ filters:
2742
+ T::Array[
2743
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter
2744
+ ],
1405
2745
  maximum_amount: String,
1406
2746
  start_date: Time
1407
2747
  }
@@ -1409,6 +2749,154 @@ module Orb
1409
2749
  end
1410
2750
  def to_hash
1411
2751
  end
2752
+
2753
+ class Filter < Orb::Internal::Type::BaseModel
2754
+ OrHash =
2755
+ T.type_alias do
2756
+ T.any(
2757
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter,
2758
+ Orb::Internal::AnyHash
2759
+ )
2760
+ end
2761
+
2762
+ # The property of the price to filter on.
2763
+ sig do
2764
+ returns(
2765
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2766
+ )
2767
+ end
2768
+ attr_accessor :field
2769
+
2770
+ # Should prices that match the filter be included or excluded.
2771
+ sig do
2772
+ returns(
2773
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2774
+ )
2775
+ end
2776
+ attr_accessor :operator
2777
+
2778
+ # The IDs or values that match this filter.
2779
+ sig { returns(T::Array[String]) }
2780
+ attr_accessor :values
2781
+
2782
+ sig do
2783
+ params(
2784
+ field:
2785
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::OrSymbol,
2786
+ operator:
2787
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator::OrSymbol,
2788
+ values: T::Array[String]
2789
+ ).returns(T.attached_class)
2790
+ end
2791
+ def self.new(
2792
+ # The property of the price to filter on.
2793
+ field:,
2794
+ # Should prices that match the filter be included or excluded.
2795
+ operator:,
2796
+ # The IDs or values that match this filter.
2797
+ values:
2798
+ )
2799
+ end
2800
+
2801
+ sig do
2802
+ override.returns(
2803
+ {
2804
+ field:
2805
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol,
2806
+ operator:
2807
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator::TaggedSymbol,
2808
+ values: T::Array[String]
2809
+ }
2810
+ )
2811
+ end
2812
+ def to_hash
2813
+ end
2814
+
2815
+ # The property of the price to filter on.
2816
+ module Field
2817
+ extend Orb::Internal::Type::Enum
2818
+
2819
+ TaggedSymbol =
2820
+ T.type_alias do
2821
+ T.all(
2822
+ Symbol,
2823
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field
2824
+ )
2825
+ end
2826
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2827
+
2828
+ PRICE_ID =
2829
+ T.let(
2830
+ :price_id,
2831
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2832
+ )
2833
+ ITEM_ID =
2834
+ T.let(
2835
+ :item_id,
2836
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2837
+ )
2838
+ PRICE_TYPE =
2839
+ T.let(
2840
+ :price_type,
2841
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2842
+ )
2843
+ CURRENCY =
2844
+ T.let(
2845
+ :currency,
2846
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2847
+ )
2848
+ PRICING_UNIT_ID =
2849
+ T.let(
2850
+ :pricing_unit_id,
2851
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2852
+ )
2853
+
2854
+ sig do
2855
+ override.returns(
2856
+ T::Array[
2857
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Field::TaggedSymbol
2858
+ ]
2859
+ )
2860
+ end
2861
+ def self.values
2862
+ end
2863
+ end
2864
+
2865
+ # Should prices that match the filter be included or excluded.
2866
+ module Operator
2867
+ extend Orb::Internal::Type::Enum
2868
+
2869
+ TaggedSymbol =
2870
+ T.type_alias do
2871
+ T.all(
2872
+ Symbol,
2873
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator
2874
+ )
2875
+ end
2876
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2877
+
2878
+ INCLUDES =
2879
+ T.let(
2880
+ :includes,
2881
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2882
+ )
2883
+ EXCLUDES =
2884
+ T.let(
2885
+ :excludes,
2886
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2887
+ )
2888
+
2889
+ sig do
2890
+ override.returns(
2891
+ T::Array[
2892
+ Orb::Models::SubscriptionCancelResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2893
+ ]
2894
+ )
2895
+ end
2896
+ def self.values
2897
+ end
2898
+ end
2899
+ end
1412
2900
  end
1413
2901
 
1414
2902
  class MinimumInterval < Orb::Internal::Type::BaseModel
@@ -1420,10 +2908,6 @@ module Orb
1420
2908
  )
1421
2909
  end
1422
2910
 
1423
- # The price ids that this minimum interval applies to.
1424
- sig { returns(T::Array[String]) }
1425
- attr_accessor :applies_to_price_ids
1426
-
1427
2911
  # The price interval ids that this minimum interval applies to.
1428
2912
  sig { returns(T::Array[String]) }
1429
2913
  attr_accessor :applies_to_price_interval_ids
@@ -1432,6 +2916,16 @@ module Orb
1432
2916
  sig { returns(T.nilable(Time)) }
1433
2917
  attr_accessor :end_date
1434
2918
 
2919
+ # The filters that determine which prices this minimum interval applies to.
2920
+ sig do
2921
+ returns(
2922
+ T::Array[
2923
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter
2924
+ ]
2925
+ )
2926
+ end
2927
+ attr_accessor :filters
2928
+
1435
2929
  # The minimum amount to charge in a given billing period for the price intervals
1436
2930
  # this minimum applies to.
1437
2931
  sig { returns(String) }
@@ -1443,20 +2937,23 @@ module Orb
1443
2937
 
1444
2938
  sig do
1445
2939
  params(
1446
- applies_to_price_ids: T::Array[String],
1447
2940
  applies_to_price_interval_ids: T::Array[String],
1448
2941
  end_date: T.nilable(Time),
2942
+ filters:
2943
+ T::Array[
2944
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::OrHash
2945
+ ],
1449
2946
  minimum_amount: String,
1450
2947
  start_date: Time
1451
2948
  ).returns(T.attached_class)
1452
2949
  end
1453
2950
  def self.new(
1454
- # The price ids that this minimum interval applies to.
1455
- applies_to_price_ids:,
1456
2951
  # The price interval ids that this minimum interval applies to.
1457
2952
  applies_to_price_interval_ids:,
1458
2953
  # The end date of the minimum interval.
1459
2954
  end_date:,
2955
+ # The filters that determine which prices this minimum interval applies to.
2956
+ filters:,
1460
2957
  # The minimum amount to charge in a given billing period for the price intervals
1461
2958
  # this minimum applies to.
1462
2959
  minimum_amount:,
@@ -1468,9 +2965,12 @@ module Orb
1468
2965
  sig do
1469
2966
  override.returns(
1470
2967
  {
1471
- applies_to_price_ids: T::Array[String],
1472
2968
  applies_to_price_interval_ids: T::Array[String],
1473
2969
  end_date: T.nilable(Time),
2970
+ filters:
2971
+ T::Array[
2972
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter
2973
+ ],
1474
2974
  minimum_amount: String,
1475
2975
  start_date: Time
1476
2976
  }
@@ -1478,6 +2978,154 @@ module Orb
1478
2978
  end
1479
2979
  def to_hash
1480
2980
  end
2981
+
2982
+ class Filter < Orb::Internal::Type::BaseModel
2983
+ OrHash =
2984
+ T.type_alias do
2985
+ T.any(
2986
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter,
2987
+ Orb::Internal::AnyHash
2988
+ )
2989
+ end
2990
+
2991
+ # The property of the price to filter on.
2992
+ sig do
2993
+ returns(
2994
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
2995
+ )
2996
+ end
2997
+ attr_accessor :field
2998
+
2999
+ # Should prices that match the filter be included or excluded.
3000
+ sig do
3001
+ returns(
3002
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3003
+ )
3004
+ end
3005
+ attr_accessor :operator
3006
+
3007
+ # The IDs or values that match this filter.
3008
+ sig { returns(T::Array[String]) }
3009
+ attr_accessor :values
3010
+
3011
+ sig do
3012
+ params(
3013
+ field:
3014
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::OrSymbol,
3015
+ operator:
3016
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator::OrSymbol,
3017
+ values: T::Array[String]
3018
+ ).returns(T.attached_class)
3019
+ end
3020
+ def self.new(
3021
+ # The property of the price to filter on.
3022
+ field:,
3023
+ # Should prices that match the filter be included or excluded.
3024
+ operator:,
3025
+ # The IDs or values that match this filter.
3026
+ values:
3027
+ )
3028
+ end
3029
+
3030
+ sig do
3031
+ override.returns(
3032
+ {
3033
+ field:
3034
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol,
3035
+ operator:
3036
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator::TaggedSymbol,
3037
+ values: T::Array[String]
3038
+ }
3039
+ )
3040
+ end
3041
+ def to_hash
3042
+ end
3043
+
3044
+ # The property of the price to filter on.
3045
+ module Field
3046
+ extend Orb::Internal::Type::Enum
3047
+
3048
+ TaggedSymbol =
3049
+ T.type_alias do
3050
+ T.all(
3051
+ Symbol,
3052
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field
3053
+ )
3054
+ end
3055
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3056
+
3057
+ PRICE_ID =
3058
+ T.let(
3059
+ :price_id,
3060
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
3061
+ )
3062
+ ITEM_ID =
3063
+ T.let(
3064
+ :item_id,
3065
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
3066
+ )
3067
+ PRICE_TYPE =
3068
+ T.let(
3069
+ :price_type,
3070
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
3071
+ )
3072
+ CURRENCY =
3073
+ T.let(
3074
+ :currency,
3075
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
3076
+ )
3077
+ PRICING_UNIT_ID =
3078
+ T.let(
3079
+ :pricing_unit_id,
3080
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
3081
+ )
3082
+
3083
+ sig do
3084
+ override.returns(
3085
+ T::Array[
3086
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Field::TaggedSymbol
3087
+ ]
3088
+ )
3089
+ end
3090
+ def self.values
3091
+ end
3092
+ end
3093
+
3094
+ # Should prices that match the filter be included or excluded.
3095
+ module Operator
3096
+ extend Orb::Internal::Type::Enum
3097
+
3098
+ TaggedSymbol =
3099
+ T.type_alias do
3100
+ T.all(
3101
+ Symbol,
3102
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator
3103
+ )
3104
+ end
3105
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3106
+
3107
+ INCLUDES =
3108
+ T.let(
3109
+ :includes,
3110
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3111
+ )
3112
+ EXCLUDES =
3113
+ T.let(
3114
+ :excludes,
3115
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3116
+ )
3117
+
3118
+ sig do
3119
+ override.returns(
3120
+ T::Array[
3121
+ Orb::Models::SubscriptionCancelResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3122
+ ]
3123
+ )
3124
+ end
3125
+ def self.values
3126
+ end
3127
+ end
3128
+ end
1481
3129
  end
1482
3130
 
1483
3131
  class PendingSubscriptionChange < Orb::Internal::Type::BaseModel