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
@@ -155,6 +155,10 @@ module Orb
155
155
  end
156
156
  attr_accessor :minimum_intervals
157
157
 
158
+ # The name of the subscription.
159
+ sig { returns(String) }
160
+ attr_accessor :name
161
+
158
162
  # Determines the difference between the invoice issue date for subscription
159
163
  # invoices as the date that they are due. A value of `0` here represents that the
160
164
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -186,10 +190,10 @@ module Orb
186
190
  # subscribed to by a customer. Plans define the billing behavior of the
187
191
  # subscription. You can see more about how to configure prices in the
188
192
  # [Price resource](/reference/price).
189
- sig { returns(Orb::Plan) }
193
+ sig { returns(T.nilable(Orb::Plan)) }
190
194
  attr_reader :plan
191
195
 
192
- sig { params(plan: Orb::Plan::OrHash).void }
196
+ sig { params(plan: T.nilable(Orb::Plan::OrHash)).void }
193
197
  attr_writer :plan
194
198
 
195
199
  # The price intervals for this subscription.
@@ -303,12 +307,13 @@ module Orb
303
307
  T::Array[
304
308
  Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::OrHash
305
309
  ],
310
+ name: String,
306
311
  net_terms: Integer,
307
312
  pending_subscription_change:
308
313
  T.nilable(
309
314
  Orb::Models::SubscriptionTriggerPhaseResponse::PendingSubscriptionChange::OrHash
310
315
  ),
311
- plan: Orb::Plan::OrHash,
316
+ plan: T.nilable(Orb::Plan::OrHash),
312
317
  price_intervals:
313
318
  T::Array[
314
319
  Orb::Models::SubscriptionTriggerPhaseResponse::PriceInterval::OrHash
@@ -392,6 +397,8 @@ module Orb
392
397
  metadata:,
393
398
  # The minimum intervals for this subscription sorted by the start_date.
394
399
  minimum_intervals:,
400
+ # The name of the subscription.
401
+ name:,
395
402
  # Determines the difference between the invoice issue date for subscription
396
403
  # invoices as the date that they are due. A value of `0` here represents that the
397
404
  # invoice is due on issue, whereas a value of `30` represents that the customer
@@ -455,12 +462,13 @@ module Orb
455
462
  T::Array[
456
463
  Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval
457
464
  ],
465
+ name: String,
458
466
  net_terms: Integer,
459
467
  pending_subscription_change:
460
468
  T.nilable(
461
469
  Orb::Models::SubscriptionTriggerPhaseResponse::PendingSubscriptionChange
462
470
  ),
463
- plan: Orb::Plan,
471
+ plan: T.nilable(Orb::Plan),
464
472
  price_intervals:
465
473
  T::Array[
466
474
  Orb::Models::SubscriptionTriggerPhaseResponse::PriceInterval
@@ -591,6 +599,16 @@ module Orb
591
599
  sig { returns(T::Array[String]) }
592
600
  attr_accessor :applies_to_price_ids
593
601
 
602
+ # The filters that determine which prices to apply this adjustment to.
603
+ sig do
604
+ returns(
605
+ T::Array[
606
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
607
+ ]
608
+ )
609
+ end
610
+ attr_accessor :filters
611
+
594
612
  # True for adjustments that apply to an entire invocice, false for adjustments
595
613
  # that apply to only one price.
596
614
  sig { returns(T::Boolean) }
@@ -613,6 +631,10 @@ module Orb
613
631
  params(
614
632
  id: String,
615
633
  applies_to_price_ids: T::Array[String],
634
+ filters:
635
+ T::Array[
636
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::OrHash
637
+ ],
616
638
  is_invoice_level: T::Boolean,
617
639
  plan_phase_order: T.nilable(Integer),
618
640
  reason: T.nilable(String),
@@ -624,6 +646,8 @@ module Orb
624
646
  id:,
625
647
  # The price IDs that this adjustment applies to.
626
648
  applies_to_price_ids:,
649
+ # The filters that determine which prices to apply this adjustment to.
650
+ filters:,
627
651
  # True for adjustments that apply to an entire invocice, false for adjustments
628
652
  # that apply to only one price.
629
653
  is_invoice_level:,
@@ -644,6 +668,10 @@ module Orb
644
668
  id: String,
645
669
  adjustment_type: Symbol,
646
670
  applies_to_price_ids: T::Array[String],
671
+ filters:
672
+ T::Array[
673
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
674
+ ],
647
675
  is_invoice_level: T::Boolean,
648
676
  plan_phase_order: T.nilable(Integer),
649
677
  reason: T.nilable(String),
@@ -653,6 +681,154 @@ module Orb
653
681
  end
654
682
  def to_hash
655
683
  end
684
+
685
+ class Filter < Orb::Internal::Type::BaseModel
686
+ OrHash =
687
+ T.type_alias do
688
+ T.any(
689
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter,
690
+ Orb::Internal::AnyHash
691
+ )
692
+ end
693
+
694
+ # The property of the price to filter on.
695
+ sig do
696
+ returns(
697
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
698
+ )
699
+ end
700
+ attr_accessor :field
701
+
702
+ # Should prices that match the filter be included or excluded.
703
+ sig do
704
+ returns(
705
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
706
+ )
707
+ end
708
+ attr_accessor :operator
709
+
710
+ # The IDs or values that match this filter.
711
+ sig { returns(T::Array[String]) }
712
+ attr_accessor :values
713
+
714
+ sig do
715
+ params(
716
+ field:
717
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::OrSymbol,
718
+ operator:
719
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::OrSymbol,
720
+ values: T::Array[String]
721
+ ).returns(T.attached_class)
722
+ end
723
+ def self.new(
724
+ # The property of the price to filter on.
725
+ field:,
726
+ # Should prices that match the filter be included or excluded.
727
+ operator:,
728
+ # The IDs or values that match this filter.
729
+ values:
730
+ )
731
+ end
732
+
733
+ sig do
734
+ override.returns(
735
+ {
736
+ field:
737
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol,
738
+ operator:
739
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol,
740
+ values: T::Array[String]
741
+ }
742
+ )
743
+ end
744
+ def to_hash
745
+ end
746
+
747
+ # The property of the price to filter on.
748
+ module Field
749
+ extend Orb::Internal::Type::Enum
750
+
751
+ TaggedSymbol =
752
+ T.type_alias do
753
+ T.all(
754
+ Symbol,
755
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field
756
+ )
757
+ end
758
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
759
+
760
+ PRICE_ID =
761
+ T.let(
762
+ :price_id,
763
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
764
+ )
765
+ ITEM_ID =
766
+ T.let(
767
+ :item_id,
768
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
769
+ )
770
+ PRICE_TYPE =
771
+ T.let(
772
+ :price_type,
773
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
774
+ )
775
+ CURRENCY =
776
+ T.let(
777
+ :currency,
778
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
779
+ )
780
+ PRICING_UNIT_ID =
781
+ T.let(
782
+ :pricing_unit_id,
783
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
784
+ )
785
+
786
+ sig do
787
+ override.returns(
788
+ T::Array[
789
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
790
+ ]
791
+ )
792
+ end
793
+ def self.values
794
+ end
795
+ end
796
+
797
+ # Should prices that match the filter be included or excluded.
798
+ module Operator
799
+ extend Orb::Internal::Type::Enum
800
+
801
+ TaggedSymbol =
802
+ T.type_alias do
803
+ T.all(
804
+ Symbol,
805
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator
806
+ )
807
+ end
808
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
809
+
810
+ INCLUDES =
811
+ T.let(
812
+ :includes,
813
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
814
+ )
815
+ EXCLUDES =
816
+ T.let(
817
+ :excludes,
818
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
819
+ )
820
+
821
+ sig do
822
+ override.returns(
823
+ T::Array[
824
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
825
+ ]
826
+ )
827
+ end
828
+ def self.values
829
+ end
830
+ end
831
+ end
656
832
  end
657
833
 
658
834
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -679,6 +855,16 @@ module Orb
679
855
  sig { returns(T::Array[String]) }
680
856
  attr_accessor :applies_to_price_ids
681
857
 
858
+ # The filters that determine which prices to apply this adjustment to.
859
+ sig do
860
+ returns(
861
+ T::Array[
862
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
863
+ ]
864
+ )
865
+ end
866
+ attr_accessor :filters
867
+
682
868
  # True for adjustments that apply to an entire invocice, false for adjustments
683
869
  # that apply to only one price.
684
870
  sig { returns(T::Boolean) }
@@ -697,6 +883,10 @@ module Orb
697
883
  id: String,
698
884
  amount_discount: String,
699
885
  applies_to_price_ids: T::Array[String],
886
+ filters:
887
+ T::Array[
888
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::OrHash
889
+ ],
700
890
  is_invoice_level: T::Boolean,
701
891
  plan_phase_order: T.nilable(Integer),
702
892
  reason: T.nilable(String),
@@ -710,6 +900,8 @@ module Orb
710
900
  amount_discount:,
711
901
  # The price IDs that this adjustment applies to.
712
902
  applies_to_price_ids:,
903
+ # The filters that determine which prices to apply this adjustment to.
904
+ filters:,
713
905
  # True for adjustments that apply to an entire invocice, false for adjustments
714
906
  # that apply to only one price.
715
907
  is_invoice_level:,
@@ -728,6 +920,10 @@ module Orb
728
920
  adjustment_type: Symbol,
729
921
  amount_discount: String,
730
922
  applies_to_price_ids: T::Array[String],
923
+ filters:
924
+ T::Array[
925
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
926
+ ],
731
927
  is_invoice_level: T::Boolean,
732
928
  plan_phase_order: T.nilable(Integer),
733
929
  reason: T.nilable(String)
@@ -736,6 +932,154 @@ module Orb
736
932
  end
737
933
  def to_hash
738
934
  end
935
+
936
+ class Filter < Orb::Internal::Type::BaseModel
937
+ OrHash =
938
+ T.type_alias do
939
+ T.any(
940
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter,
941
+ Orb::Internal::AnyHash
942
+ )
943
+ end
944
+
945
+ # The property of the price to filter on.
946
+ sig do
947
+ returns(
948
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
949
+ )
950
+ end
951
+ attr_accessor :field
952
+
953
+ # Should prices that match the filter be included or excluded.
954
+ sig do
955
+ returns(
956
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
957
+ )
958
+ end
959
+ attr_accessor :operator
960
+
961
+ # The IDs or values that match this filter.
962
+ sig { returns(T::Array[String]) }
963
+ attr_accessor :values
964
+
965
+ sig do
966
+ params(
967
+ field:
968
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::OrSymbol,
969
+ operator:
970
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::OrSymbol,
971
+ values: T::Array[String]
972
+ ).returns(T.attached_class)
973
+ end
974
+ def self.new(
975
+ # The property of the price to filter on.
976
+ field:,
977
+ # Should prices that match the filter be included or excluded.
978
+ operator:,
979
+ # The IDs or values that match this filter.
980
+ values:
981
+ )
982
+ end
983
+
984
+ sig do
985
+ override.returns(
986
+ {
987
+ field:
988
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol,
989
+ operator:
990
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol,
991
+ values: T::Array[String]
992
+ }
993
+ )
994
+ end
995
+ def to_hash
996
+ end
997
+
998
+ # The property of the price to filter on.
999
+ module Field
1000
+ extend Orb::Internal::Type::Enum
1001
+
1002
+ TaggedSymbol =
1003
+ T.type_alias do
1004
+ T.all(
1005
+ Symbol,
1006
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field
1007
+ )
1008
+ end
1009
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1010
+
1011
+ PRICE_ID =
1012
+ T.let(
1013
+ :price_id,
1014
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1015
+ )
1016
+ ITEM_ID =
1017
+ T.let(
1018
+ :item_id,
1019
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1020
+ )
1021
+ PRICE_TYPE =
1022
+ T.let(
1023
+ :price_type,
1024
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1025
+ )
1026
+ CURRENCY =
1027
+ T.let(
1028
+ :currency,
1029
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1030
+ )
1031
+ PRICING_UNIT_ID =
1032
+ T.let(
1033
+ :pricing_unit_id,
1034
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1035
+ )
1036
+
1037
+ sig do
1038
+ override.returns(
1039
+ T::Array[
1040
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
1041
+ ]
1042
+ )
1043
+ end
1044
+ def self.values
1045
+ end
1046
+ end
1047
+
1048
+ # Should prices that match the filter be included or excluded.
1049
+ module Operator
1050
+ extend Orb::Internal::Type::Enum
1051
+
1052
+ TaggedSymbol =
1053
+ T.type_alias do
1054
+ T.all(
1055
+ Symbol,
1056
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator
1057
+ )
1058
+ end
1059
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1060
+
1061
+ INCLUDES =
1062
+ T.let(
1063
+ :includes,
1064
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1065
+ )
1066
+ EXCLUDES =
1067
+ T.let(
1068
+ :excludes,
1069
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1070
+ )
1071
+
1072
+ sig do
1073
+ override.returns(
1074
+ T::Array[
1075
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
1076
+ ]
1077
+ )
1078
+ end
1079
+ def self.values
1080
+ end
1081
+ end
1082
+ end
739
1083
  end
740
1084
 
741
1085
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -757,6 +1101,16 @@ module Orb
757
1101
  sig { returns(T::Array[String]) }
758
1102
  attr_accessor :applies_to_price_ids
759
1103
 
1104
+ # The filters that determine which prices to apply this adjustment to.
1105
+ sig do
1106
+ returns(
1107
+ T::Array[
1108
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1109
+ ]
1110
+ )
1111
+ end
1112
+ attr_accessor :filters
1113
+
760
1114
  # True for adjustments that apply to an entire invocice, false for adjustments
761
1115
  # that apply to only one price.
762
1116
  sig { returns(T::Boolean) }
@@ -779,6 +1133,10 @@ module Orb
779
1133
  params(
780
1134
  id: String,
781
1135
  applies_to_price_ids: T::Array[String],
1136
+ filters:
1137
+ T::Array[
1138
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::OrHash
1139
+ ],
782
1140
  is_invoice_level: T::Boolean,
783
1141
  percentage_discount: Float,
784
1142
  plan_phase_order: T.nilable(Integer),
@@ -790,6 +1148,8 @@ module Orb
790
1148
  id:,
791
1149
  # The price IDs that this adjustment applies to.
792
1150
  applies_to_price_ids:,
1151
+ # The filters that determine which prices to apply this adjustment to.
1152
+ filters:,
793
1153
  # True for adjustments that apply to an entire invocice, false for adjustments
794
1154
  # that apply to only one price.
795
1155
  is_invoice_level:,
@@ -810,6 +1170,10 @@ module Orb
810
1170
  id: String,
811
1171
  adjustment_type: Symbol,
812
1172
  applies_to_price_ids: T::Array[String],
1173
+ filters:
1174
+ T::Array[
1175
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
1176
+ ],
813
1177
  is_invoice_level: T::Boolean,
814
1178
  percentage_discount: Float,
815
1179
  plan_phase_order: T.nilable(Integer),
@@ -819,6 +1183,154 @@ module Orb
819
1183
  end
820
1184
  def to_hash
821
1185
  end
1186
+
1187
+ class Filter < Orb::Internal::Type::BaseModel
1188
+ OrHash =
1189
+ T.type_alias do
1190
+ T.any(
1191
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter,
1192
+ Orb::Internal::AnyHash
1193
+ )
1194
+ end
1195
+
1196
+ # The property of the price to filter on.
1197
+ sig do
1198
+ returns(
1199
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1200
+ )
1201
+ end
1202
+ attr_accessor :field
1203
+
1204
+ # Should prices that match the filter be included or excluded.
1205
+ sig do
1206
+ returns(
1207
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1208
+ )
1209
+ end
1210
+ attr_accessor :operator
1211
+
1212
+ # The IDs or values that match this filter.
1213
+ sig { returns(T::Array[String]) }
1214
+ attr_accessor :values
1215
+
1216
+ sig do
1217
+ params(
1218
+ field:
1219
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::OrSymbol,
1220
+ operator:
1221
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol,
1222
+ values: T::Array[String]
1223
+ ).returns(T.attached_class)
1224
+ end
1225
+ def self.new(
1226
+ # The property of the price to filter on.
1227
+ field:,
1228
+ # Should prices that match the filter be included or excluded.
1229
+ operator:,
1230
+ # The IDs or values that match this filter.
1231
+ values:
1232
+ )
1233
+ end
1234
+
1235
+ sig do
1236
+ override.returns(
1237
+ {
1238
+ field:
1239
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol,
1240
+ operator:
1241
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol,
1242
+ values: T::Array[String]
1243
+ }
1244
+ )
1245
+ end
1246
+ def to_hash
1247
+ end
1248
+
1249
+ # The property of the price to filter on.
1250
+ module Field
1251
+ extend Orb::Internal::Type::Enum
1252
+
1253
+ TaggedSymbol =
1254
+ T.type_alias do
1255
+ T.all(
1256
+ Symbol,
1257
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field
1258
+ )
1259
+ end
1260
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1261
+
1262
+ PRICE_ID =
1263
+ T.let(
1264
+ :price_id,
1265
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1266
+ )
1267
+ ITEM_ID =
1268
+ T.let(
1269
+ :item_id,
1270
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1271
+ )
1272
+ PRICE_TYPE =
1273
+ T.let(
1274
+ :price_type,
1275
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1276
+ )
1277
+ CURRENCY =
1278
+ T.let(
1279
+ :currency,
1280
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1281
+ )
1282
+ PRICING_UNIT_ID =
1283
+ T.let(
1284
+ :pricing_unit_id,
1285
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1286
+ )
1287
+
1288
+ sig do
1289
+ override.returns(
1290
+ T::Array[
1291
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
1292
+ ]
1293
+ )
1294
+ end
1295
+ def self.values
1296
+ end
1297
+ end
1298
+
1299
+ # Should prices that match the filter be included or excluded.
1300
+ module Operator
1301
+ extend Orb::Internal::Type::Enum
1302
+
1303
+ TaggedSymbol =
1304
+ T.type_alias do
1305
+ T.all(
1306
+ Symbol,
1307
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator
1308
+ )
1309
+ end
1310
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1311
+
1312
+ INCLUDES =
1313
+ T.let(
1314
+ :includes,
1315
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1316
+ )
1317
+ EXCLUDES =
1318
+ T.let(
1319
+ :excludes,
1320
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1321
+ )
1322
+
1323
+ sig do
1324
+ override.returns(
1325
+ T::Array[
1326
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
1327
+ ]
1328
+ )
1329
+ end
1330
+ def self.values
1331
+ end
1332
+ end
1333
+ end
822
1334
  end
823
1335
 
824
1336
  class Minimum < Orb::Internal::Type::BaseModel
@@ -840,6 +1352,16 @@ module Orb
840
1352
  sig { returns(T::Array[String]) }
841
1353
  attr_accessor :applies_to_price_ids
842
1354
 
1355
+ # The filters that determine which prices to apply this adjustment to.
1356
+ sig do
1357
+ returns(
1358
+ T::Array[
1359
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter
1360
+ ]
1361
+ )
1362
+ end
1363
+ attr_accessor :filters
1364
+
843
1365
  # True for adjustments that apply to an entire invocice, false for adjustments
844
1366
  # that apply to only one price.
845
1367
  sig { returns(T::Boolean) }
@@ -866,6 +1388,10 @@ module Orb
866
1388
  params(
867
1389
  id: String,
868
1390
  applies_to_price_ids: T::Array[String],
1391
+ filters:
1392
+ T::Array[
1393
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::OrHash
1394
+ ],
869
1395
  is_invoice_level: T::Boolean,
870
1396
  item_id: String,
871
1397
  minimum_amount: String,
@@ -878,6 +1404,8 @@ module Orb
878
1404
  id:,
879
1405
  # The price IDs that this adjustment applies to.
880
1406
  applies_to_price_ids:,
1407
+ # The filters that determine which prices to apply this adjustment to.
1408
+ filters:,
881
1409
  # True for adjustments that apply to an entire invocice, false for adjustments
882
1410
  # that apply to only one price.
883
1411
  is_invoice_level:,
@@ -900,6 +1428,10 @@ module Orb
900
1428
  id: String,
901
1429
  adjustment_type: Symbol,
902
1430
  applies_to_price_ids: T::Array[String],
1431
+ filters:
1432
+ T::Array[
1433
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter
1434
+ ],
903
1435
  is_invoice_level: T::Boolean,
904
1436
  item_id: String,
905
1437
  minimum_amount: String,
@@ -910,6 +1442,154 @@ module Orb
910
1442
  end
911
1443
  def to_hash
912
1444
  end
1445
+
1446
+ class Filter < Orb::Internal::Type::BaseModel
1447
+ OrHash =
1448
+ T.type_alias do
1449
+ T.any(
1450
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter,
1451
+ Orb::Internal::AnyHash
1452
+ )
1453
+ end
1454
+
1455
+ # The property of the price to filter on.
1456
+ sig do
1457
+ returns(
1458
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1459
+ )
1460
+ end
1461
+ attr_accessor :field
1462
+
1463
+ # Should prices that match the filter be included or excluded.
1464
+ sig do
1465
+ returns(
1466
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1467
+ )
1468
+ end
1469
+ attr_accessor :operator
1470
+
1471
+ # The IDs or values that match this filter.
1472
+ sig { returns(T::Array[String]) }
1473
+ attr_accessor :values
1474
+
1475
+ sig do
1476
+ params(
1477
+ field:
1478
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::OrSymbol,
1479
+ operator:
1480
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::OrSymbol,
1481
+ values: T::Array[String]
1482
+ ).returns(T.attached_class)
1483
+ end
1484
+ def self.new(
1485
+ # The property of the price to filter on.
1486
+ field:,
1487
+ # Should prices that match the filter be included or excluded.
1488
+ operator:,
1489
+ # The IDs or values that match this filter.
1490
+ values:
1491
+ )
1492
+ end
1493
+
1494
+ sig do
1495
+ override.returns(
1496
+ {
1497
+ field:
1498
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol,
1499
+ operator:
1500
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol,
1501
+ values: T::Array[String]
1502
+ }
1503
+ )
1504
+ end
1505
+ def to_hash
1506
+ end
1507
+
1508
+ # The property of the price to filter on.
1509
+ module Field
1510
+ extend Orb::Internal::Type::Enum
1511
+
1512
+ TaggedSymbol =
1513
+ T.type_alias do
1514
+ T.all(
1515
+ Symbol,
1516
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field
1517
+ )
1518
+ end
1519
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1520
+
1521
+ PRICE_ID =
1522
+ T.let(
1523
+ :price_id,
1524
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1525
+ )
1526
+ ITEM_ID =
1527
+ T.let(
1528
+ :item_id,
1529
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1530
+ )
1531
+ PRICE_TYPE =
1532
+ T.let(
1533
+ :price_type,
1534
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1535
+ )
1536
+ CURRENCY =
1537
+ T.let(
1538
+ :currency,
1539
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1540
+ )
1541
+ PRICING_UNIT_ID =
1542
+ T.let(
1543
+ :pricing_unit_id,
1544
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1545
+ )
1546
+
1547
+ sig do
1548
+ override.returns(
1549
+ T::Array[
1550
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field::TaggedSymbol
1551
+ ]
1552
+ )
1553
+ end
1554
+ def self.values
1555
+ end
1556
+ end
1557
+
1558
+ # Should prices that match the filter be included or excluded.
1559
+ module Operator
1560
+ extend Orb::Internal::Type::Enum
1561
+
1562
+ TaggedSymbol =
1563
+ T.type_alias do
1564
+ T.all(
1565
+ Symbol,
1566
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator
1567
+ )
1568
+ end
1569
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1570
+
1571
+ INCLUDES =
1572
+ T.let(
1573
+ :includes,
1574
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1575
+ )
1576
+ EXCLUDES =
1577
+ T.let(
1578
+ :excludes,
1579
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1580
+ )
1581
+
1582
+ sig do
1583
+ override.returns(
1584
+ T::Array[
1585
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator::TaggedSymbol
1586
+ ]
1587
+ )
1588
+ end
1589
+ def self.values
1590
+ end
1591
+ end
1592
+ end
913
1593
  end
914
1594
 
915
1595
  class Maximum < Orb::Internal::Type::BaseModel
@@ -931,6 +1611,16 @@ module Orb
931
1611
  sig { returns(T::Array[String]) }
932
1612
  attr_accessor :applies_to_price_ids
933
1613
 
1614
+ # The filters that determine which prices to apply this adjustment to.
1615
+ sig do
1616
+ returns(
1617
+ T::Array[
1618
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter
1619
+ ]
1620
+ )
1621
+ end
1622
+ attr_accessor :filters
1623
+
934
1624
  # True for adjustments that apply to an entire invocice, false for adjustments
935
1625
  # that apply to only one price.
936
1626
  sig { returns(T::Boolean) }
@@ -953,6 +1643,10 @@ module Orb
953
1643
  params(
954
1644
  id: String,
955
1645
  applies_to_price_ids: T::Array[String],
1646
+ filters:
1647
+ T::Array[
1648
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::OrHash
1649
+ ],
956
1650
  is_invoice_level: T::Boolean,
957
1651
  maximum_amount: String,
958
1652
  plan_phase_order: T.nilable(Integer),
@@ -964,6 +1658,8 @@ module Orb
964
1658
  id:,
965
1659
  # The price IDs that this adjustment applies to.
966
1660
  applies_to_price_ids:,
1661
+ # The filters that determine which prices to apply this adjustment to.
1662
+ filters:,
967
1663
  # True for adjustments that apply to an entire invocice, false for adjustments
968
1664
  # that apply to only one price.
969
1665
  is_invoice_level:,
@@ -984,6 +1680,10 @@ module Orb
984
1680
  id: String,
985
1681
  adjustment_type: Symbol,
986
1682
  applies_to_price_ids: T::Array[String],
1683
+ filters:
1684
+ T::Array[
1685
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter
1686
+ ],
987
1687
  is_invoice_level: T::Boolean,
988
1688
  maximum_amount: String,
989
1689
  plan_phase_order: T.nilable(Integer),
@@ -993,6 +1693,154 @@ module Orb
993
1693
  end
994
1694
  def to_hash
995
1695
  end
1696
+
1697
+ class Filter < Orb::Internal::Type::BaseModel
1698
+ OrHash =
1699
+ T.type_alias do
1700
+ T.any(
1701
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter,
1702
+ Orb::Internal::AnyHash
1703
+ )
1704
+ end
1705
+
1706
+ # The property of the price to filter on.
1707
+ sig do
1708
+ returns(
1709
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1710
+ )
1711
+ end
1712
+ attr_accessor :field
1713
+
1714
+ # Should prices that match the filter be included or excluded.
1715
+ sig do
1716
+ returns(
1717
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1718
+ )
1719
+ end
1720
+ attr_accessor :operator
1721
+
1722
+ # The IDs or values that match this filter.
1723
+ sig { returns(T::Array[String]) }
1724
+ attr_accessor :values
1725
+
1726
+ sig do
1727
+ params(
1728
+ field:
1729
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::OrSymbol,
1730
+ operator:
1731
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::OrSymbol,
1732
+ values: T::Array[String]
1733
+ ).returns(T.attached_class)
1734
+ end
1735
+ def self.new(
1736
+ # The property of the price to filter on.
1737
+ field:,
1738
+ # Should prices that match the filter be included or excluded.
1739
+ operator:,
1740
+ # The IDs or values that match this filter.
1741
+ values:
1742
+ )
1743
+ end
1744
+
1745
+ sig do
1746
+ override.returns(
1747
+ {
1748
+ field:
1749
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol,
1750
+ operator:
1751
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol,
1752
+ values: T::Array[String]
1753
+ }
1754
+ )
1755
+ end
1756
+ def to_hash
1757
+ end
1758
+
1759
+ # The property of the price to filter on.
1760
+ module Field
1761
+ extend Orb::Internal::Type::Enum
1762
+
1763
+ TaggedSymbol =
1764
+ T.type_alias do
1765
+ T.all(
1766
+ Symbol,
1767
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field
1768
+ )
1769
+ end
1770
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1771
+
1772
+ PRICE_ID =
1773
+ T.let(
1774
+ :price_id,
1775
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1776
+ )
1777
+ ITEM_ID =
1778
+ T.let(
1779
+ :item_id,
1780
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1781
+ )
1782
+ PRICE_TYPE =
1783
+ T.let(
1784
+ :price_type,
1785
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1786
+ )
1787
+ CURRENCY =
1788
+ T.let(
1789
+ :currency,
1790
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1791
+ )
1792
+ PRICING_UNIT_ID =
1793
+ T.let(
1794
+ :pricing_unit_id,
1795
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1796
+ )
1797
+
1798
+ sig do
1799
+ override.returns(
1800
+ T::Array[
1801
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field::TaggedSymbol
1802
+ ]
1803
+ )
1804
+ end
1805
+ def self.values
1806
+ end
1807
+ end
1808
+
1809
+ # Should prices that match the filter be included or excluded.
1810
+ module Operator
1811
+ extend Orb::Internal::Type::Enum
1812
+
1813
+ TaggedSymbol =
1814
+ T.type_alias do
1815
+ T.all(
1816
+ Symbol,
1817
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator
1818
+ )
1819
+ end
1820
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1821
+
1822
+ INCLUDES =
1823
+ T.let(
1824
+ :includes,
1825
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1826
+ )
1827
+ EXCLUDES =
1828
+ T.let(
1829
+ :excludes,
1830
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1831
+ )
1832
+
1833
+ sig do
1834
+ override.returns(
1835
+ T::Array[
1836
+ Orb::Models::SubscriptionTriggerPhaseResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator::TaggedSymbol
1837
+ ]
1838
+ )
1839
+ end
1840
+ def self.values
1841
+ end
1842
+ end
1843
+ end
996
1844
  end
997
1845
 
998
1846
  sig do
@@ -1095,10 +1943,6 @@ module Orb
1095
1943
  sig { returns(String) }
1096
1944
  attr_accessor :amount_discount
1097
1945
 
1098
- # The price ids that this discount interval applies to.
1099
- sig { returns(T::Array[String]) }
1100
- attr_accessor :applies_to_price_ids
1101
-
1102
1946
  # The price interval ids that this discount interval applies to.
1103
1947
  sig { returns(T::Array[String]) }
1104
1948
  attr_accessor :applies_to_price_interval_ids
@@ -1110,6 +1954,16 @@ module Orb
1110
1954
  sig { returns(T.nilable(Time)) }
1111
1955
  attr_accessor :end_date
1112
1956
 
1957
+ # The filters that determine which prices this discount interval applies to.
1958
+ sig do
1959
+ returns(
1960
+ T::Array[
1961
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter
1962
+ ]
1963
+ )
1964
+ end
1965
+ attr_accessor :filters
1966
+
1113
1967
  # The start date of the discount interval.
1114
1968
  sig { returns(Time) }
1115
1969
  attr_accessor :start_date
@@ -1117,9 +1971,12 @@ module Orb
1117
1971
  sig do
1118
1972
  params(
1119
1973
  amount_discount: String,
1120
- applies_to_price_ids: T::Array[String],
1121
1974
  applies_to_price_interval_ids: T::Array[String],
1122
1975
  end_date: T.nilable(Time),
1976
+ filters:
1977
+ T::Array[
1978
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::OrHash
1979
+ ],
1123
1980
  start_date: Time,
1124
1981
  discount_type: Symbol
1125
1982
  ).returns(T.attached_class)
@@ -1127,12 +1984,12 @@ module Orb
1127
1984
  def self.new(
1128
1985
  # Only available if discount_type is `amount`.
1129
1986
  amount_discount:,
1130
- # The price ids that this discount interval applies to.
1131
- applies_to_price_ids:,
1132
1987
  # The price interval ids that this discount interval applies to.
1133
1988
  applies_to_price_interval_ids:,
1134
1989
  # The end date of the discount interval.
1135
1990
  end_date:,
1991
+ # The filters that determine which prices this discount interval applies to.
1992
+ filters:,
1136
1993
  # The start date of the discount interval.
1137
1994
  start_date:,
1138
1995
  discount_type: :amount
@@ -1143,16 +2000,167 @@ module Orb
1143
2000
  override.returns(
1144
2001
  {
1145
2002
  amount_discount: String,
1146
- applies_to_price_ids: T::Array[String],
1147
2003
  applies_to_price_interval_ids: T::Array[String],
1148
2004
  discount_type: Symbol,
1149
2005
  end_date: T.nilable(Time),
2006
+ filters:
2007
+ T::Array[
2008
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter
2009
+ ],
1150
2010
  start_date: Time
1151
2011
  }
1152
2012
  )
1153
2013
  end
1154
2014
  def to_hash
1155
2015
  end
2016
+
2017
+ class Filter < Orb::Internal::Type::BaseModel
2018
+ OrHash =
2019
+ T.type_alias do
2020
+ T.any(
2021
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter,
2022
+ Orb::Internal::AnyHash
2023
+ )
2024
+ end
2025
+
2026
+ # The property of the price to filter on.
2027
+ sig do
2028
+ returns(
2029
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2030
+ )
2031
+ end
2032
+ attr_accessor :field
2033
+
2034
+ # Should prices that match the filter be included or excluded.
2035
+ sig do
2036
+ returns(
2037
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2038
+ )
2039
+ end
2040
+ attr_accessor :operator
2041
+
2042
+ # The IDs or values that match this filter.
2043
+ sig { returns(T::Array[String]) }
2044
+ attr_accessor :values
2045
+
2046
+ sig do
2047
+ params(
2048
+ field:
2049
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::OrSymbol,
2050
+ operator:
2051
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator::OrSymbol,
2052
+ values: T::Array[String]
2053
+ ).returns(T.attached_class)
2054
+ end
2055
+ def self.new(
2056
+ # The property of the price to filter on.
2057
+ field:,
2058
+ # Should prices that match the filter be included or excluded.
2059
+ operator:,
2060
+ # The IDs or values that match this filter.
2061
+ values:
2062
+ )
2063
+ end
2064
+
2065
+ sig do
2066
+ override.returns(
2067
+ {
2068
+ field:
2069
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol,
2070
+ operator:
2071
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol,
2072
+ values: T::Array[String]
2073
+ }
2074
+ )
2075
+ end
2076
+ def to_hash
2077
+ end
2078
+
2079
+ # The property of the price to filter on.
2080
+ module Field
2081
+ extend Orb::Internal::Type::Enum
2082
+
2083
+ TaggedSymbol =
2084
+ T.type_alias do
2085
+ T.all(
2086
+ Symbol,
2087
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field
2088
+ )
2089
+ end
2090
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2091
+
2092
+ PRICE_ID =
2093
+ T.let(
2094
+ :price_id,
2095
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2096
+ )
2097
+ ITEM_ID =
2098
+ T.let(
2099
+ :item_id,
2100
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2101
+ )
2102
+ PRICE_TYPE =
2103
+ T.let(
2104
+ :price_type,
2105
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2106
+ )
2107
+ CURRENCY =
2108
+ T.let(
2109
+ :currency,
2110
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2111
+ )
2112
+ PRICING_UNIT_ID =
2113
+ T.let(
2114
+ :pricing_unit_id,
2115
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2116
+ )
2117
+
2118
+ sig do
2119
+ override.returns(
2120
+ T::Array[
2121
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Field::TaggedSymbol
2122
+ ]
2123
+ )
2124
+ end
2125
+ def self.values
2126
+ end
2127
+ end
2128
+
2129
+ # Should prices that match the filter be included or excluded.
2130
+ module Operator
2131
+ extend Orb::Internal::Type::Enum
2132
+
2133
+ TaggedSymbol =
2134
+ T.type_alias do
2135
+ T.all(
2136
+ Symbol,
2137
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator
2138
+ )
2139
+ end
2140
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2141
+
2142
+ INCLUDES =
2143
+ T.let(
2144
+ :includes,
2145
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2146
+ )
2147
+ EXCLUDES =
2148
+ T.let(
2149
+ :excludes,
2150
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2151
+ )
2152
+
2153
+ sig do
2154
+ override.returns(
2155
+ T::Array[
2156
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Amount::Filter::Operator::TaggedSymbol
2157
+ ]
2158
+ )
2159
+ end
2160
+ def self.values
2161
+ end
2162
+ end
2163
+ end
1156
2164
  end
1157
2165
 
1158
2166
  class Percentage < Orb::Internal::Type::BaseModel
@@ -1164,10 +2172,6 @@ module Orb
1164
2172
  )
1165
2173
  end
1166
2174
 
1167
- # The price ids that this discount interval applies to.
1168
- sig { returns(T::Array[String]) }
1169
- attr_accessor :applies_to_price_ids
1170
-
1171
2175
  # The price interval ids that this discount interval applies to.
1172
2176
  sig { returns(T::Array[String]) }
1173
2177
  attr_accessor :applies_to_price_interval_ids
@@ -1179,6 +2183,16 @@ module Orb
1179
2183
  sig { returns(T.nilable(Time)) }
1180
2184
  attr_accessor :end_date
1181
2185
 
2186
+ # The filters that determine which prices this discount interval applies to.
2187
+ sig do
2188
+ returns(
2189
+ T::Array[
2190
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter
2191
+ ]
2192
+ )
2193
+ end
2194
+ attr_accessor :filters
2195
+
1182
2196
  # Only available if discount_type is `percentage`.This is a number between 0
1183
2197
  # and 1.
1184
2198
  sig { returns(Float) }
@@ -1190,21 +2204,24 @@ module Orb
1190
2204
 
1191
2205
  sig do
1192
2206
  params(
1193
- applies_to_price_ids: T::Array[String],
1194
2207
  applies_to_price_interval_ids: T::Array[String],
1195
2208
  end_date: T.nilable(Time),
2209
+ filters:
2210
+ T::Array[
2211
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::OrHash
2212
+ ],
1196
2213
  percentage_discount: Float,
1197
2214
  start_date: Time,
1198
2215
  discount_type: Symbol
1199
2216
  ).returns(T.attached_class)
1200
2217
  end
1201
2218
  def self.new(
1202
- # The price ids that this discount interval applies to.
1203
- applies_to_price_ids:,
1204
2219
  # The price interval ids that this discount interval applies to.
1205
2220
  applies_to_price_interval_ids:,
1206
2221
  # The end date of the discount interval.
1207
2222
  end_date:,
2223
+ # The filters that determine which prices this discount interval applies to.
2224
+ filters:,
1208
2225
  # Only available if discount_type is `percentage`.This is a number between 0
1209
2226
  # and 1.
1210
2227
  percentage_discount:,
@@ -1217,10 +2234,13 @@ module Orb
1217
2234
  sig do
1218
2235
  override.returns(
1219
2236
  {
1220
- applies_to_price_ids: T::Array[String],
1221
2237
  applies_to_price_interval_ids: T::Array[String],
1222
2238
  discount_type: Symbol,
1223
2239
  end_date: T.nilable(Time),
2240
+ filters:
2241
+ T::Array[
2242
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter
2243
+ ],
1224
2244
  percentage_discount: Float,
1225
2245
  start_date: Time
1226
2246
  }
@@ -1228,6 +2248,154 @@ module Orb
1228
2248
  end
1229
2249
  def to_hash
1230
2250
  end
2251
+
2252
+ class Filter < Orb::Internal::Type::BaseModel
2253
+ OrHash =
2254
+ T.type_alias do
2255
+ T.any(
2256
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter,
2257
+ Orb::Internal::AnyHash
2258
+ )
2259
+ end
2260
+
2261
+ # The property of the price to filter on.
2262
+ sig do
2263
+ returns(
2264
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2265
+ )
2266
+ end
2267
+ attr_accessor :field
2268
+
2269
+ # Should prices that match the filter be included or excluded.
2270
+ sig do
2271
+ returns(
2272
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2273
+ )
2274
+ end
2275
+ attr_accessor :operator
2276
+
2277
+ # The IDs or values that match this filter.
2278
+ sig { returns(T::Array[String]) }
2279
+ attr_accessor :values
2280
+
2281
+ sig do
2282
+ params(
2283
+ field:
2284
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::OrSymbol,
2285
+ operator:
2286
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator::OrSymbol,
2287
+ values: T::Array[String]
2288
+ ).returns(T.attached_class)
2289
+ end
2290
+ def self.new(
2291
+ # The property of the price to filter on.
2292
+ field:,
2293
+ # Should prices that match the filter be included or excluded.
2294
+ operator:,
2295
+ # The IDs or values that match this filter.
2296
+ values:
2297
+ )
2298
+ end
2299
+
2300
+ sig do
2301
+ override.returns(
2302
+ {
2303
+ field:
2304
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol,
2305
+ operator:
2306
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol,
2307
+ values: T::Array[String]
2308
+ }
2309
+ )
2310
+ end
2311
+ def to_hash
2312
+ end
2313
+
2314
+ # The property of the price to filter on.
2315
+ module Field
2316
+ extend Orb::Internal::Type::Enum
2317
+
2318
+ TaggedSymbol =
2319
+ T.type_alias do
2320
+ T.all(
2321
+ Symbol,
2322
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field
2323
+ )
2324
+ end
2325
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2326
+
2327
+ PRICE_ID =
2328
+ T.let(
2329
+ :price_id,
2330
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2331
+ )
2332
+ ITEM_ID =
2333
+ T.let(
2334
+ :item_id,
2335
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2336
+ )
2337
+ PRICE_TYPE =
2338
+ T.let(
2339
+ :price_type,
2340
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2341
+ )
2342
+ CURRENCY =
2343
+ T.let(
2344
+ :currency,
2345
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2346
+ )
2347
+ PRICING_UNIT_ID =
2348
+ T.let(
2349
+ :pricing_unit_id,
2350
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2351
+ )
2352
+
2353
+ sig do
2354
+ override.returns(
2355
+ T::Array[
2356
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Field::TaggedSymbol
2357
+ ]
2358
+ )
2359
+ end
2360
+ def self.values
2361
+ end
2362
+ end
2363
+
2364
+ # Should prices that match the filter be included or excluded.
2365
+ module Operator
2366
+ extend Orb::Internal::Type::Enum
2367
+
2368
+ TaggedSymbol =
2369
+ T.type_alias do
2370
+ T.all(
2371
+ Symbol,
2372
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator
2373
+ )
2374
+ end
2375
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2376
+
2377
+ INCLUDES =
2378
+ T.let(
2379
+ :includes,
2380
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2381
+ )
2382
+ EXCLUDES =
2383
+ T.let(
2384
+ :excludes,
2385
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2386
+ )
2387
+
2388
+ sig do
2389
+ override.returns(
2390
+ T::Array[
2391
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Percentage::Filter::Operator::TaggedSymbol
2392
+ ]
2393
+ )
2394
+ end
2395
+ def self.values
2396
+ end
2397
+ end
2398
+ end
1231
2399
  end
1232
2400
 
1233
2401
  class Usage < Orb::Internal::Type::BaseModel
@@ -1239,10 +2407,6 @@ module Orb
1239
2407
  )
1240
2408
  end
1241
2409
 
1242
- # The price ids that this discount interval applies to.
1243
- sig { returns(T::Array[String]) }
1244
- attr_accessor :applies_to_price_ids
1245
-
1246
2410
  # The price interval ids that this discount interval applies to.
1247
2411
  sig { returns(T::Array[String]) }
1248
2412
  attr_accessor :applies_to_price_interval_ids
@@ -1254,6 +2418,16 @@ module Orb
1254
2418
  sig { returns(T.nilable(Time)) }
1255
2419
  attr_accessor :end_date
1256
2420
 
2421
+ # The filters that determine which prices this discount interval applies to.
2422
+ sig do
2423
+ returns(
2424
+ T::Array[
2425
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter
2426
+ ]
2427
+ )
2428
+ end
2429
+ attr_accessor :filters
2430
+
1257
2431
  # The start date of the discount interval.
1258
2432
  sig { returns(Time) }
1259
2433
  attr_accessor :start_date
@@ -1265,21 +2439,24 @@ module Orb
1265
2439
 
1266
2440
  sig do
1267
2441
  params(
1268
- applies_to_price_ids: T::Array[String],
1269
2442
  applies_to_price_interval_ids: T::Array[String],
1270
2443
  end_date: T.nilable(Time),
2444
+ filters:
2445
+ T::Array[
2446
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::OrHash
2447
+ ],
1271
2448
  start_date: Time,
1272
2449
  usage_discount: Float,
1273
2450
  discount_type: Symbol
1274
2451
  ).returns(T.attached_class)
1275
2452
  end
1276
2453
  def self.new(
1277
- # The price ids that this discount interval applies to.
1278
- applies_to_price_ids:,
1279
2454
  # The price interval ids that this discount interval applies to.
1280
2455
  applies_to_price_interval_ids:,
1281
2456
  # The end date of the discount interval.
1282
2457
  end_date:,
2458
+ # The filters that determine which prices this discount interval applies to.
2459
+ filters:,
1283
2460
  # The start date of the discount interval.
1284
2461
  start_date:,
1285
2462
  # Only available if discount_type is `usage`. Number of usage units that this
@@ -1292,10 +2469,13 @@ module Orb
1292
2469
  sig do
1293
2470
  override.returns(
1294
2471
  {
1295
- applies_to_price_ids: T::Array[String],
1296
2472
  applies_to_price_interval_ids: T::Array[String],
1297
2473
  discount_type: Symbol,
1298
2474
  end_date: T.nilable(Time),
2475
+ filters:
2476
+ T::Array[
2477
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter
2478
+ ],
1299
2479
  start_date: Time,
1300
2480
  usage_discount: Float
1301
2481
  }
@@ -1303,6 +2483,154 @@ module Orb
1303
2483
  end
1304
2484
  def to_hash
1305
2485
  end
2486
+
2487
+ class Filter < Orb::Internal::Type::BaseModel
2488
+ OrHash =
2489
+ T.type_alias do
2490
+ T.any(
2491
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter,
2492
+ Orb::Internal::AnyHash
2493
+ )
2494
+ end
2495
+
2496
+ # The property of the price to filter on.
2497
+ sig do
2498
+ returns(
2499
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2500
+ )
2501
+ end
2502
+ attr_accessor :field
2503
+
2504
+ # Should prices that match the filter be included or excluded.
2505
+ sig do
2506
+ returns(
2507
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2508
+ )
2509
+ end
2510
+ attr_accessor :operator
2511
+
2512
+ # The IDs or values that match this filter.
2513
+ sig { returns(T::Array[String]) }
2514
+ attr_accessor :values
2515
+
2516
+ sig do
2517
+ params(
2518
+ field:
2519
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::OrSymbol,
2520
+ operator:
2521
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator::OrSymbol,
2522
+ values: T::Array[String]
2523
+ ).returns(T.attached_class)
2524
+ end
2525
+ def self.new(
2526
+ # The property of the price to filter on.
2527
+ field:,
2528
+ # Should prices that match the filter be included or excluded.
2529
+ operator:,
2530
+ # The IDs or values that match this filter.
2531
+ values:
2532
+ )
2533
+ end
2534
+
2535
+ sig do
2536
+ override.returns(
2537
+ {
2538
+ field:
2539
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol,
2540
+ operator:
2541
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol,
2542
+ values: T::Array[String]
2543
+ }
2544
+ )
2545
+ end
2546
+ def to_hash
2547
+ end
2548
+
2549
+ # The property of the price to filter on.
2550
+ module Field
2551
+ extend Orb::Internal::Type::Enum
2552
+
2553
+ TaggedSymbol =
2554
+ T.type_alias do
2555
+ T.all(
2556
+ Symbol,
2557
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field
2558
+ )
2559
+ end
2560
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2561
+
2562
+ PRICE_ID =
2563
+ T.let(
2564
+ :price_id,
2565
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2566
+ )
2567
+ ITEM_ID =
2568
+ T.let(
2569
+ :item_id,
2570
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2571
+ )
2572
+ PRICE_TYPE =
2573
+ T.let(
2574
+ :price_type,
2575
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2576
+ )
2577
+ CURRENCY =
2578
+ T.let(
2579
+ :currency,
2580
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2581
+ )
2582
+ PRICING_UNIT_ID =
2583
+ T.let(
2584
+ :pricing_unit_id,
2585
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2586
+ )
2587
+
2588
+ sig do
2589
+ override.returns(
2590
+ T::Array[
2591
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Field::TaggedSymbol
2592
+ ]
2593
+ )
2594
+ end
2595
+ def self.values
2596
+ end
2597
+ end
2598
+
2599
+ # Should prices that match the filter be included or excluded.
2600
+ module Operator
2601
+ extend Orb::Internal::Type::Enum
2602
+
2603
+ TaggedSymbol =
2604
+ T.type_alias do
2605
+ T.all(
2606
+ Symbol,
2607
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator
2608
+ )
2609
+ end
2610
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2611
+
2612
+ INCLUDES =
2613
+ T.let(
2614
+ :includes,
2615
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2616
+ )
2617
+ EXCLUDES =
2618
+ T.let(
2619
+ :excludes,
2620
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2621
+ )
2622
+
2623
+ sig do
2624
+ override.returns(
2625
+ T::Array[
2626
+ Orb::Models::SubscriptionTriggerPhaseResponse::DiscountInterval::Usage::Filter::Operator::TaggedSymbol
2627
+ ]
2628
+ )
2629
+ end
2630
+ def self.values
2631
+ end
2632
+ end
2633
+ end
1306
2634
  end
1307
2635
 
1308
2636
  sig do
@@ -1371,10 +2699,6 @@ module Orb
1371
2699
  )
1372
2700
  end
1373
2701
 
1374
- # The price ids that this maximum interval applies to.
1375
- sig { returns(T::Array[String]) }
1376
- attr_accessor :applies_to_price_ids
1377
-
1378
2702
  # The price interval ids that this maximum interval applies to.
1379
2703
  sig { returns(T::Array[String]) }
1380
2704
  attr_accessor :applies_to_price_interval_ids
@@ -1383,6 +2707,16 @@ module Orb
1383
2707
  sig { returns(T.nilable(Time)) }
1384
2708
  attr_accessor :end_date
1385
2709
 
2710
+ # The filters that determine which prices this maximum interval applies to.
2711
+ sig do
2712
+ returns(
2713
+ T::Array[
2714
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter
2715
+ ]
2716
+ )
2717
+ end
2718
+ attr_accessor :filters
2719
+
1386
2720
  # The maximum amount to charge in a given billing period for the price intervals
1387
2721
  # this transform applies to.
1388
2722
  sig { returns(String) }
@@ -1394,20 +2728,23 @@ module Orb
1394
2728
 
1395
2729
  sig do
1396
2730
  params(
1397
- applies_to_price_ids: T::Array[String],
1398
2731
  applies_to_price_interval_ids: T::Array[String],
1399
2732
  end_date: T.nilable(Time),
2733
+ filters:
2734
+ T::Array[
2735
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::OrHash
2736
+ ],
1400
2737
  maximum_amount: String,
1401
2738
  start_date: Time
1402
2739
  ).returns(T.attached_class)
1403
2740
  end
1404
2741
  def self.new(
1405
- # The price ids that this maximum interval applies to.
1406
- applies_to_price_ids:,
1407
2742
  # The price interval ids that this maximum interval applies to.
1408
2743
  applies_to_price_interval_ids:,
1409
2744
  # The end date of the maximum interval.
1410
2745
  end_date:,
2746
+ # The filters that determine which prices this maximum interval applies to.
2747
+ filters:,
1411
2748
  # The maximum amount to charge in a given billing period for the price intervals
1412
2749
  # this transform applies to.
1413
2750
  maximum_amount:,
@@ -1419,9 +2756,12 @@ module Orb
1419
2756
  sig do
1420
2757
  override.returns(
1421
2758
  {
1422
- applies_to_price_ids: T::Array[String],
1423
2759
  applies_to_price_interval_ids: T::Array[String],
1424
2760
  end_date: T.nilable(Time),
2761
+ filters:
2762
+ T::Array[
2763
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter
2764
+ ],
1425
2765
  maximum_amount: String,
1426
2766
  start_date: Time
1427
2767
  }
@@ -1429,6 +2769,154 @@ module Orb
1429
2769
  end
1430
2770
  def to_hash
1431
2771
  end
2772
+
2773
+ class Filter < Orb::Internal::Type::BaseModel
2774
+ OrHash =
2775
+ T.type_alias do
2776
+ T.any(
2777
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter,
2778
+ Orb::Internal::AnyHash
2779
+ )
2780
+ end
2781
+
2782
+ # The property of the price to filter on.
2783
+ sig do
2784
+ returns(
2785
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2786
+ )
2787
+ end
2788
+ attr_accessor :field
2789
+
2790
+ # Should prices that match the filter be included or excluded.
2791
+ sig do
2792
+ returns(
2793
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2794
+ )
2795
+ end
2796
+ attr_accessor :operator
2797
+
2798
+ # The IDs or values that match this filter.
2799
+ sig { returns(T::Array[String]) }
2800
+ attr_accessor :values
2801
+
2802
+ sig do
2803
+ params(
2804
+ field:
2805
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::OrSymbol,
2806
+ operator:
2807
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator::OrSymbol,
2808
+ values: T::Array[String]
2809
+ ).returns(T.attached_class)
2810
+ end
2811
+ def self.new(
2812
+ # The property of the price to filter on.
2813
+ field:,
2814
+ # Should prices that match the filter be included or excluded.
2815
+ operator:,
2816
+ # The IDs or values that match this filter.
2817
+ values:
2818
+ )
2819
+ end
2820
+
2821
+ sig do
2822
+ override.returns(
2823
+ {
2824
+ field:
2825
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol,
2826
+ operator:
2827
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator::TaggedSymbol,
2828
+ values: T::Array[String]
2829
+ }
2830
+ )
2831
+ end
2832
+ def to_hash
2833
+ end
2834
+
2835
+ # The property of the price to filter on.
2836
+ module Field
2837
+ extend Orb::Internal::Type::Enum
2838
+
2839
+ TaggedSymbol =
2840
+ T.type_alias do
2841
+ T.all(
2842
+ Symbol,
2843
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field
2844
+ )
2845
+ end
2846
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2847
+
2848
+ PRICE_ID =
2849
+ T.let(
2850
+ :price_id,
2851
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2852
+ )
2853
+ ITEM_ID =
2854
+ T.let(
2855
+ :item_id,
2856
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2857
+ )
2858
+ PRICE_TYPE =
2859
+ T.let(
2860
+ :price_type,
2861
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2862
+ )
2863
+ CURRENCY =
2864
+ T.let(
2865
+ :currency,
2866
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2867
+ )
2868
+ PRICING_UNIT_ID =
2869
+ T.let(
2870
+ :pricing_unit_id,
2871
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2872
+ )
2873
+
2874
+ sig do
2875
+ override.returns(
2876
+ T::Array[
2877
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Field::TaggedSymbol
2878
+ ]
2879
+ )
2880
+ end
2881
+ def self.values
2882
+ end
2883
+ end
2884
+
2885
+ # Should prices that match the filter be included or excluded.
2886
+ module Operator
2887
+ extend Orb::Internal::Type::Enum
2888
+
2889
+ TaggedSymbol =
2890
+ T.type_alias do
2891
+ T.all(
2892
+ Symbol,
2893
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator
2894
+ )
2895
+ end
2896
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2897
+
2898
+ INCLUDES =
2899
+ T.let(
2900
+ :includes,
2901
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2902
+ )
2903
+ EXCLUDES =
2904
+ T.let(
2905
+ :excludes,
2906
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2907
+ )
2908
+
2909
+ sig do
2910
+ override.returns(
2911
+ T::Array[
2912
+ Orb::Models::SubscriptionTriggerPhaseResponse::MaximumInterval::Filter::Operator::TaggedSymbol
2913
+ ]
2914
+ )
2915
+ end
2916
+ def self.values
2917
+ end
2918
+ end
2919
+ end
1432
2920
  end
1433
2921
 
1434
2922
  class MinimumInterval < Orb::Internal::Type::BaseModel
@@ -1440,10 +2928,6 @@ module Orb
1440
2928
  )
1441
2929
  end
1442
2930
 
1443
- # The price ids that this minimum interval applies to.
1444
- sig { returns(T::Array[String]) }
1445
- attr_accessor :applies_to_price_ids
1446
-
1447
2931
  # The price interval ids that this minimum interval applies to.
1448
2932
  sig { returns(T::Array[String]) }
1449
2933
  attr_accessor :applies_to_price_interval_ids
@@ -1452,6 +2936,16 @@ module Orb
1452
2936
  sig { returns(T.nilable(Time)) }
1453
2937
  attr_accessor :end_date
1454
2938
 
2939
+ # The filters that determine which prices this minimum interval applies to.
2940
+ sig do
2941
+ returns(
2942
+ T::Array[
2943
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter
2944
+ ]
2945
+ )
2946
+ end
2947
+ attr_accessor :filters
2948
+
1455
2949
  # The minimum amount to charge in a given billing period for the price intervals
1456
2950
  # this minimum applies to.
1457
2951
  sig { returns(String) }
@@ -1463,20 +2957,23 @@ module Orb
1463
2957
 
1464
2958
  sig do
1465
2959
  params(
1466
- applies_to_price_ids: T::Array[String],
1467
2960
  applies_to_price_interval_ids: T::Array[String],
1468
2961
  end_date: T.nilable(Time),
2962
+ filters:
2963
+ T::Array[
2964
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::OrHash
2965
+ ],
1469
2966
  minimum_amount: String,
1470
2967
  start_date: Time
1471
2968
  ).returns(T.attached_class)
1472
2969
  end
1473
2970
  def self.new(
1474
- # The price ids that this minimum interval applies to.
1475
- applies_to_price_ids:,
1476
2971
  # The price interval ids that this minimum interval applies to.
1477
2972
  applies_to_price_interval_ids:,
1478
2973
  # The end date of the minimum interval.
1479
2974
  end_date:,
2975
+ # The filters that determine which prices this minimum interval applies to.
2976
+ filters:,
1480
2977
  # The minimum amount to charge in a given billing period for the price intervals
1481
2978
  # this minimum applies to.
1482
2979
  minimum_amount:,
@@ -1488,9 +2985,12 @@ module Orb
1488
2985
  sig do
1489
2986
  override.returns(
1490
2987
  {
1491
- applies_to_price_ids: T::Array[String],
1492
2988
  applies_to_price_interval_ids: T::Array[String],
1493
2989
  end_date: T.nilable(Time),
2990
+ filters:
2991
+ T::Array[
2992
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter
2993
+ ],
1494
2994
  minimum_amount: String,
1495
2995
  start_date: Time
1496
2996
  }
@@ -1498,6 +2998,154 @@ module Orb
1498
2998
  end
1499
2999
  def to_hash
1500
3000
  end
3001
+
3002
+ class Filter < Orb::Internal::Type::BaseModel
3003
+ OrHash =
3004
+ T.type_alias do
3005
+ T.any(
3006
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter,
3007
+ Orb::Internal::AnyHash
3008
+ )
3009
+ end
3010
+
3011
+ # The property of the price to filter on.
3012
+ sig do
3013
+ returns(
3014
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3015
+ )
3016
+ end
3017
+ attr_accessor :field
3018
+
3019
+ # Should prices that match the filter be included or excluded.
3020
+ sig do
3021
+ returns(
3022
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3023
+ )
3024
+ end
3025
+ attr_accessor :operator
3026
+
3027
+ # The IDs or values that match this filter.
3028
+ sig { returns(T::Array[String]) }
3029
+ attr_accessor :values
3030
+
3031
+ sig do
3032
+ params(
3033
+ field:
3034
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::OrSymbol,
3035
+ operator:
3036
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator::OrSymbol,
3037
+ values: T::Array[String]
3038
+ ).returns(T.attached_class)
3039
+ end
3040
+ def self.new(
3041
+ # The property of the price to filter on.
3042
+ field:,
3043
+ # Should prices that match the filter be included or excluded.
3044
+ operator:,
3045
+ # The IDs or values that match this filter.
3046
+ values:
3047
+ )
3048
+ end
3049
+
3050
+ sig do
3051
+ override.returns(
3052
+ {
3053
+ field:
3054
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol,
3055
+ operator:
3056
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator::TaggedSymbol,
3057
+ values: T::Array[String]
3058
+ }
3059
+ )
3060
+ end
3061
+ def to_hash
3062
+ end
3063
+
3064
+ # The property of the price to filter on.
3065
+ module Field
3066
+ extend Orb::Internal::Type::Enum
3067
+
3068
+ TaggedSymbol =
3069
+ T.type_alias do
3070
+ T.all(
3071
+ Symbol,
3072
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field
3073
+ )
3074
+ end
3075
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3076
+
3077
+ PRICE_ID =
3078
+ T.let(
3079
+ :price_id,
3080
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3081
+ )
3082
+ ITEM_ID =
3083
+ T.let(
3084
+ :item_id,
3085
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3086
+ )
3087
+ PRICE_TYPE =
3088
+ T.let(
3089
+ :price_type,
3090
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3091
+ )
3092
+ CURRENCY =
3093
+ T.let(
3094
+ :currency,
3095
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3096
+ )
3097
+ PRICING_UNIT_ID =
3098
+ T.let(
3099
+ :pricing_unit_id,
3100
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3101
+ )
3102
+
3103
+ sig do
3104
+ override.returns(
3105
+ T::Array[
3106
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Field::TaggedSymbol
3107
+ ]
3108
+ )
3109
+ end
3110
+ def self.values
3111
+ end
3112
+ end
3113
+
3114
+ # Should prices that match the filter be included or excluded.
3115
+ module Operator
3116
+ extend Orb::Internal::Type::Enum
3117
+
3118
+ TaggedSymbol =
3119
+ T.type_alias do
3120
+ T.all(
3121
+ Symbol,
3122
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator
3123
+ )
3124
+ end
3125
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3126
+
3127
+ INCLUDES =
3128
+ T.let(
3129
+ :includes,
3130
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3131
+ )
3132
+ EXCLUDES =
3133
+ T.let(
3134
+ :excludes,
3135
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3136
+ )
3137
+
3138
+ sig do
3139
+ override.returns(
3140
+ T::Array[
3141
+ Orb::Models::SubscriptionTriggerPhaseResponse::MinimumInterval::Filter::Operator::TaggedSymbol
3142
+ ]
3143
+ )
3144
+ end
3145
+ def self.values
3146
+ end
3147
+ end
3148
+ end
1501
3149
  end
1502
3150
 
1503
3151
  class PendingSubscriptionChange < Orb::Internal::Type::BaseModel