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