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
@@ -2700,6 +2700,16 @@ module Orb
2700
2700
  sig { returns(T::Array[String]) }
2701
2701
  attr_accessor :applies_to_price_ids
2702
2702
 
2703
+ # The filters that determine which prices to apply this adjustment to.
2704
+ sig do
2705
+ returns(
2706
+ T::Array[
2707
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter
2708
+ ]
2709
+ )
2710
+ end
2711
+ attr_accessor :filters
2712
+
2703
2713
  # True for adjustments that apply to an entire invocice, false for adjustments
2704
2714
  # that apply to only one price.
2705
2715
  sig { returns(T::Boolean) }
@@ -2719,6 +2729,10 @@ module Orb
2719
2729
  id: String,
2720
2730
  amount: String,
2721
2731
  applies_to_price_ids: T::Array[String],
2732
+ filters:
2733
+ T::Array[
2734
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::OrHash
2735
+ ],
2722
2736
  is_invoice_level: T::Boolean,
2723
2737
  reason: T.nilable(String),
2724
2738
  usage_discount: Float,
@@ -2731,6 +2745,8 @@ module Orb
2731
2745
  amount:,
2732
2746
  # The price IDs that this adjustment applies to.
2733
2747
  applies_to_price_ids:,
2748
+ # The filters that determine which prices to apply this adjustment to.
2749
+ filters:,
2734
2750
  # True for adjustments that apply to an entire invocice, false for adjustments
2735
2751
  # that apply to only one price.
2736
2752
  is_invoice_level:,
@@ -2750,6 +2766,10 @@ module Orb
2750
2766
  adjustment_type: Symbol,
2751
2767
  amount: String,
2752
2768
  applies_to_price_ids: T::Array[String],
2769
+ filters:
2770
+ T::Array[
2771
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter
2772
+ ],
2753
2773
  is_invoice_level: T::Boolean,
2754
2774
  reason: T.nilable(String),
2755
2775
  usage_discount: Float
@@ -2758,6 +2778,154 @@ module Orb
2758
2778
  end
2759
2779
  def to_hash
2760
2780
  end
2781
+
2782
+ class Filter < Orb::Internal::Type::BaseModel
2783
+ OrHash =
2784
+ T.type_alias do
2785
+ T.any(
2786
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter,
2787
+ Orb::Internal::AnyHash
2788
+ )
2789
+ end
2790
+
2791
+ # The property of the price to filter on.
2792
+ sig do
2793
+ returns(
2794
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2795
+ )
2796
+ end
2797
+ attr_accessor :field
2798
+
2799
+ # Should prices that match the filter be included or excluded.
2800
+ sig do
2801
+ returns(
2802
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
2803
+ )
2804
+ end
2805
+ attr_accessor :operator
2806
+
2807
+ # The IDs or values that match this filter.
2808
+ sig { returns(T::Array[String]) }
2809
+ attr_accessor :values
2810
+
2811
+ sig do
2812
+ params(
2813
+ field:
2814
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::OrSymbol,
2815
+ operator:
2816
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator::OrSymbol,
2817
+ values: T::Array[String]
2818
+ ).returns(T.attached_class)
2819
+ end
2820
+ def self.new(
2821
+ # The property of the price to filter on.
2822
+ field:,
2823
+ # Should prices that match the filter be included or excluded.
2824
+ operator:,
2825
+ # The IDs or values that match this filter.
2826
+ values:
2827
+ )
2828
+ end
2829
+
2830
+ sig do
2831
+ override.returns(
2832
+ {
2833
+ field:
2834
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol,
2835
+ operator:
2836
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol,
2837
+ values: T::Array[String]
2838
+ }
2839
+ )
2840
+ end
2841
+ def to_hash
2842
+ end
2843
+
2844
+ # The property of the price to filter on.
2845
+ module Field
2846
+ extend Orb::Internal::Type::Enum
2847
+
2848
+ TaggedSymbol =
2849
+ T.type_alias do
2850
+ T.all(
2851
+ Symbol,
2852
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field
2853
+ )
2854
+ end
2855
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2856
+
2857
+ PRICE_ID =
2858
+ T.let(
2859
+ :price_id,
2860
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2861
+ )
2862
+ ITEM_ID =
2863
+ T.let(
2864
+ :item_id,
2865
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2866
+ )
2867
+ PRICE_TYPE =
2868
+ T.let(
2869
+ :price_type,
2870
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2871
+ )
2872
+ CURRENCY =
2873
+ T.let(
2874
+ :currency,
2875
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2876
+ )
2877
+ PRICING_UNIT_ID =
2878
+ T.let(
2879
+ :pricing_unit_id,
2880
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2881
+ )
2882
+
2883
+ sig do
2884
+ override.returns(
2885
+ T::Array[
2886
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field::TaggedSymbol
2887
+ ]
2888
+ )
2889
+ end
2890
+ def self.values
2891
+ end
2892
+ end
2893
+
2894
+ # Should prices that match the filter be included or excluded.
2895
+ module Operator
2896
+ extend Orb::Internal::Type::Enum
2897
+
2898
+ TaggedSymbol =
2899
+ T.type_alias do
2900
+ T.all(
2901
+ Symbol,
2902
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator
2903
+ )
2904
+ end
2905
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2906
+
2907
+ INCLUDES =
2908
+ T.let(
2909
+ :includes,
2910
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
2911
+ )
2912
+ EXCLUDES =
2913
+ T.let(
2914
+ :excludes,
2915
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
2916
+ )
2917
+
2918
+ sig do
2919
+ override.returns(
2920
+ T::Array[
2921
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator::TaggedSymbol
2922
+ ]
2923
+ )
2924
+ end
2925
+ def self.values
2926
+ end
2927
+ end
2928
+ end
2761
2929
  end
2762
2930
 
2763
2931
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -2788,6 +2956,16 @@ module Orb
2788
2956
  sig { returns(T::Array[String]) }
2789
2957
  attr_accessor :applies_to_price_ids
2790
2958
 
2959
+ # The filters that determine which prices to apply this adjustment to.
2960
+ sig do
2961
+ returns(
2962
+ T::Array[
2963
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter
2964
+ ]
2965
+ )
2966
+ end
2967
+ attr_accessor :filters
2968
+
2791
2969
  # True for adjustments that apply to an entire invocice, false for adjustments
2792
2970
  # that apply to only one price.
2793
2971
  sig { returns(T::Boolean) }
@@ -2803,6 +2981,10 @@ module Orb
2803
2981
  amount: String,
2804
2982
  amount_discount: String,
2805
2983
  applies_to_price_ids: T::Array[String],
2984
+ filters:
2985
+ T::Array[
2986
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::OrHash
2987
+ ],
2806
2988
  is_invoice_level: T::Boolean,
2807
2989
  reason: T.nilable(String),
2808
2990
  adjustment_type: Symbol
@@ -2817,6 +2999,8 @@ module Orb
2817
2999
  amount_discount:,
2818
3000
  # The price IDs that this adjustment applies to.
2819
3001
  applies_to_price_ids:,
3002
+ # The filters that determine which prices to apply this adjustment to.
3003
+ filters:,
2820
3004
  # True for adjustments that apply to an entire invocice, false for adjustments
2821
3005
  # that apply to only one price.
2822
3006
  is_invoice_level:,
@@ -2834,6 +3018,10 @@ module Orb
2834
3018
  amount: String,
2835
3019
  amount_discount: String,
2836
3020
  applies_to_price_ids: T::Array[String],
3021
+ filters:
3022
+ T::Array[
3023
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter
3024
+ ],
2837
3025
  is_invoice_level: T::Boolean,
2838
3026
  reason: T.nilable(String)
2839
3027
  }
@@ -2841,6 +3029,154 @@ module Orb
2841
3029
  end
2842
3030
  def to_hash
2843
3031
  end
3032
+
3033
+ class Filter < Orb::Internal::Type::BaseModel
3034
+ OrHash =
3035
+ T.type_alias do
3036
+ T.any(
3037
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter,
3038
+ Orb::Internal::AnyHash
3039
+ )
3040
+ end
3041
+
3042
+ # The property of the price to filter on.
3043
+ sig do
3044
+ returns(
3045
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3046
+ )
3047
+ end
3048
+ attr_accessor :field
3049
+
3050
+ # Should prices that match the filter be included or excluded.
3051
+ sig do
3052
+ returns(
3053
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
3054
+ )
3055
+ end
3056
+ attr_accessor :operator
3057
+
3058
+ # The IDs or values that match this filter.
3059
+ sig { returns(T::Array[String]) }
3060
+ attr_accessor :values
3061
+
3062
+ sig do
3063
+ params(
3064
+ field:
3065
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::OrSymbol,
3066
+ operator:
3067
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator::OrSymbol,
3068
+ values: T::Array[String]
3069
+ ).returns(T.attached_class)
3070
+ end
3071
+ def self.new(
3072
+ # The property of the price to filter on.
3073
+ field:,
3074
+ # Should prices that match the filter be included or excluded.
3075
+ operator:,
3076
+ # The IDs or values that match this filter.
3077
+ values:
3078
+ )
3079
+ end
3080
+
3081
+ sig do
3082
+ override.returns(
3083
+ {
3084
+ field:
3085
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol,
3086
+ operator:
3087
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol,
3088
+ values: T::Array[String]
3089
+ }
3090
+ )
3091
+ end
3092
+ def to_hash
3093
+ end
3094
+
3095
+ # The property of the price to filter on.
3096
+ module Field
3097
+ extend Orb::Internal::Type::Enum
3098
+
3099
+ TaggedSymbol =
3100
+ T.type_alias do
3101
+ T.all(
3102
+ Symbol,
3103
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field
3104
+ )
3105
+ end
3106
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3107
+
3108
+ PRICE_ID =
3109
+ T.let(
3110
+ :price_id,
3111
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3112
+ )
3113
+ ITEM_ID =
3114
+ T.let(
3115
+ :item_id,
3116
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3117
+ )
3118
+ PRICE_TYPE =
3119
+ T.let(
3120
+ :price_type,
3121
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3122
+ )
3123
+ CURRENCY =
3124
+ T.let(
3125
+ :currency,
3126
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3127
+ )
3128
+ PRICING_UNIT_ID =
3129
+ T.let(
3130
+ :pricing_unit_id,
3131
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3132
+ )
3133
+
3134
+ sig do
3135
+ override.returns(
3136
+ T::Array[
3137
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field::TaggedSymbol
3138
+ ]
3139
+ )
3140
+ end
3141
+ def self.values
3142
+ end
3143
+ end
3144
+
3145
+ # Should prices that match the filter be included or excluded.
3146
+ module Operator
3147
+ extend Orb::Internal::Type::Enum
3148
+
3149
+ TaggedSymbol =
3150
+ T.type_alias do
3151
+ T.all(
3152
+ Symbol,
3153
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator
3154
+ )
3155
+ end
3156
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3157
+
3158
+ INCLUDES =
3159
+ T.let(
3160
+ :includes,
3161
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
3162
+ )
3163
+ EXCLUDES =
3164
+ T.let(
3165
+ :excludes,
3166
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
3167
+ )
3168
+
3169
+ sig do
3170
+ override.returns(
3171
+ T::Array[
3172
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator::TaggedSymbol
3173
+ ]
3174
+ )
3175
+ end
3176
+ def self.values
3177
+ end
3178
+ end
3179
+ end
2844
3180
  end
2845
3181
 
2846
3182
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -2866,6 +3202,16 @@ module Orb
2866
3202
  sig { returns(T::Array[String]) }
2867
3203
  attr_accessor :applies_to_price_ids
2868
3204
 
3205
+ # The filters that determine which prices to apply this adjustment to.
3206
+ sig do
3207
+ returns(
3208
+ T::Array[
3209
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter
3210
+ ]
3211
+ )
3212
+ end
3213
+ attr_accessor :filters
3214
+
2869
3215
  # True for adjustments that apply to an entire invocice, false for adjustments
2870
3216
  # that apply to only one price.
2871
3217
  sig { returns(T::Boolean) }
@@ -2885,6 +3231,10 @@ module Orb
2885
3231
  id: String,
2886
3232
  amount: String,
2887
3233
  applies_to_price_ids: T::Array[String],
3234
+ filters:
3235
+ T::Array[
3236
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::OrHash
3237
+ ],
2888
3238
  is_invoice_level: T::Boolean,
2889
3239
  percentage_discount: Float,
2890
3240
  reason: T.nilable(String),
@@ -2897,6 +3247,8 @@ module Orb
2897
3247
  amount:,
2898
3248
  # The price IDs that this adjustment applies to.
2899
3249
  applies_to_price_ids:,
3250
+ # The filters that determine which prices to apply this adjustment to.
3251
+ filters:,
2900
3252
  # True for adjustments that apply to an entire invocice, false for adjustments
2901
3253
  # that apply to only one price.
2902
3254
  is_invoice_level:,
@@ -2916,6 +3268,10 @@ module Orb
2916
3268
  adjustment_type: Symbol,
2917
3269
  amount: String,
2918
3270
  applies_to_price_ids: T::Array[String],
3271
+ filters:
3272
+ T::Array[
3273
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter
3274
+ ],
2919
3275
  is_invoice_level: T::Boolean,
2920
3276
  percentage_discount: Float,
2921
3277
  reason: T.nilable(String)
@@ -2924,6 +3280,154 @@ module Orb
2924
3280
  end
2925
3281
  def to_hash
2926
3282
  end
3283
+
3284
+ class Filter < Orb::Internal::Type::BaseModel
3285
+ OrHash =
3286
+ T.type_alias do
3287
+ T.any(
3288
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter,
3289
+ Orb::Internal::AnyHash
3290
+ )
3291
+ end
3292
+
3293
+ # The property of the price to filter on.
3294
+ sig do
3295
+ returns(
3296
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3297
+ )
3298
+ end
3299
+ attr_accessor :field
3300
+
3301
+ # Should prices that match the filter be included or excluded.
3302
+ sig do
3303
+ returns(
3304
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
3305
+ )
3306
+ end
3307
+ attr_accessor :operator
3308
+
3309
+ # The IDs or values that match this filter.
3310
+ sig { returns(T::Array[String]) }
3311
+ attr_accessor :values
3312
+
3313
+ sig do
3314
+ params(
3315
+ field:
3316
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::OrSymbol,
3317
+ operator:
3318
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator::OrSymbol,
3319
+ values: T::Array[String]
3320
+ ).returns(T.attached_class)
3321
+ end
3322
+ def self.new(
3323
+ # The property of the price to filter on.
3324
+ field:,
3325
+ # Should prices that match the filter be included or excluded.
3326
+ operator:,
3327
+ # The IDs or values that match this filter.
3328
+ values:
3329
+ )
3330
+ end
3331
+
3332
+ sig do
3333
+ override.returns(
3334
+ {
3335
+ field:
3336
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol,
3337
+ operator:
3338
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol,
3339
+ values: T::Array[String]
3340
+ }
3341
+ )
3342
+ end
3343
+ def to_hash
3344
+ end
3345
+
3346
+ # The property of the price to filter on.
3347
+ module Field
3348
+ extend Orb::Internal::Type::Enum
3349
+
3350
+ TaggedSymbol =
3351
+ T.type_alias do
3352
+ T.all(
3353
+ Symbol,
3354
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field
3355
+ )
3356
+ end
3357
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3358
+
3359
+ PRICE_ID =
3360
+ T.let(
3361
+ :price_id,
3362
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3363
+ )
3364
+ ITEM_ID =
3365
+ T.let(
3366
+ :item_id,
3367
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3368
+ )
3369
+ PRICE_TYPE =
3370
+ T.let(
3371
+ :price_type,
3372
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3373
+ )
3374
+ CURRENCY =
3375
+ T.let(
3376
+ :currency,
3377
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3378
+ )
3379
+ PRICING_UNIT_ID =
3380
+ T.let(
3381
+ :pricing_unit_id,
3382
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3383
+ )
3384
+
3385
+ sig do
3386
+ override.returns(
3387
+ T::Array[
3388
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field::TaggedSymbol
3389
+ ]
3390
+ )
3391
+ end
3392
+ def self.values
3393
+ end
3394
+ end
3395
+
3396
+ # Should prices that match the filter be included or excluded.
3397
+ module Operator
3398
+ extend Orb::Internal::Type::Enum
3399
+
3400
+ TaggedSymbol =
3401
+ T.type_alias do
3402
+ T.all(
3403
+ Symbol,
3404
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator
3405
+ )
3406
+ end
3407
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3408
+
3409
+ INCLUDES =
3410
+ T.let(
3411
+ :includes,
3412
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
3413
+ )
3414
+ EXCLUDES =
3415
+ T.let(
3416
+ :excludes,
3417
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
3418
+ )
3419
+
3420
+ sig do
3421
+ override.returns(
3422
+ T::Array[
3423
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator::TaggedSymbol
3424
+ ]
3425
+ )
3426
+ end
3427
+ def self.values
3428
+ end
3429
+ end
3430
+ end
2927
3431
  end
2928
3432
 
2929
3433
  class Minimum < Orb::Internal::Type::BaseModel
@@ -2949,6 +3453,16 @@ module Orb
2949
3453
  sig { returns(T::Array[String]) }
2950
3454
  attr_accessor :applies_to_price_ids
2951
3455
 
3456
+ # The filters that determine which prices to apply this adjustment to.
3457
+ sig do
3458
+ returns(
3459
+ T::Array[
3460
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter
3461
+ ]
3462
+ )
3463
+ end
3464
+ attr_accessor :filters
3465
+
2952
3466
  # True for adjustments that apply to an entire invocice, false for adjustments
2953
3467
  # that apply to only one price.
2954
3468
  sig { returns(T::Boolean) }
@@ -2972,6 +3486,10 @@ module Orb
2972
3486
  id: String,
2973
3487
  amount: String,
2974
3488
  applies_to_price_ids: T::Array[String],
3489
+ filters:
3490
+ T::Array[
3491
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::OrHash
3492
+ ],
2975
3493
  is_invoice_level: T::Boolean,
2976
3494
  item_id: String,
2977
3495
  minimum_amount: String,
@@ -2985,6 +3503,8 @@ module Orb
2985
3503
  amount:,
2986
3504
  # The price IDs that this adjustment applies to.
2987
3505
  applies_to_price_ids:,
3506
+ # The filters that determine which prices to apply this adjustment to.
3507
+ filters:,
2988
3508
  # True for adjustments that apply to an entire invocice, false for adjustments
2989
3509
  # that apply to only one price.
2990
3510
  is_invoice_level:,
@@ -3006,6 +3526,10 @@ module Orb
3006
3526
  adjustment_type: Symbol,
3007
3527
  amount: String,
3008
3528
  applies_to_price_ids: T::Array[String],
3529
+ filters:
3530
+ T::Array[
3531
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter
3532
+ ],
3009
3533
  is_invoice_level: T::Boolean,
3010
3534
  item_id: String,
3011
3535
  minimum_amount: String,
@@ -3015,6 +3539,154 @@ module Orb
3015
3539
  end
3016
3540
  def to_hash
3017
3541
  end
3542
+
3543
+ class Filter < Orb::Internal::Type::BaseModel
3544
+ OrHash =
3545
+ T.type_alias do
3546
+ T.any(
3547
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter,
3548
+ Orb::Internal::AnyHash
3549
+ )
3550
+ end
3551
+
3552
+ # The property of the price to filter on.
3553
+ sig do
3554
+ returns(
3555
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3556
+ )
3557
+ end
3558
+ attr_accessor :field
3559
+
3560
+ # Should prices that match the filter be included or excluded.
3561
+ sig do
3562
+ returns(
3563
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator::TaggedSymbol
3564
+ )
3565
+ end
3566
+ attr_accessor :operator
3567
+
3568
+ # The IDs or values that match this filter.
3569
+ sig { returns(T::Array[String]) }
3570
+ attr_accessor :values
3571
+
3572
+ sig do
3573
+ params(
3574
+ field:
3575
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::OrSymbol,
3576
+ operator:
3577
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator::OrSymbol,
3578
+ values: T::Array[String]
3579
+ ).returns(T.attached_class)
3580
+ end
3581
+ def self.new(
3582
+ # The property of the price to filter on.
3583
+ field:,
3584
+ # Should prices that match the filter be included or excluded.
3585
+ operator:,
3586
+ # The IDs or values that match this filter.
3587
+ values:
3588
+ )
3589
+ end
3590
+
3591
+ sig do
3592
+ override.returns(
3593
+ {
3594
+ field:
3595
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol,
3596
+ operator:
3597
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator::TaggedSymbol,
3598
+ values: T::Array[String]
3599
+ }
3600
+ )
3601
+ end
3602
+ def to_hash
3603
+ end
3604
+
3605
+ # The property of the price to filter on.
3606
+ module Field
3607
+ extend Orb::Internal::Type::Enum
3608
+
3609
+ TaggedSymbol =
3610
+ T.type_alias do
3611
+ T.all(
3612
+ Symbol,
3613
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field
3614
+ )
3615
+ end
3616
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3617
+
3618
+ PRICE_ID =
3619
+ T.let(
3620
+ :price_id,
3621
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3622
+ )
3623
+ ITEM_ID =
3624
+ T.let(
3625
+ :item_id,
3626
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3627
+ )
3628
+ PRICE_TYPE =
3629
+ T.let(
3630
+ :price_type,
3631
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3632
+ )
3633
+ CURRENCY =
3634
+ T.let(
3635
+ :currency,
3636
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3637
+ )
3638
+ PRICING_UNIT_ID =
3639
+ T.let(
3640
+ :pricing_unit_id,
3641
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3642
+ )
3643
+
3644
+ sig do
3645
+ override.returns(
3646
+ T::Array[
3647
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field::TaggedSymbol
3648
+ ]
3649
+ )
3650
+ end
3651
+ def self.values
3652
+ end
3653
+ end
3654
+
3655
+ # Should prices that match the filter be included or excluded.
3656
+ module Operator
3657
+ extend Orb::Internal::Type::Enum
3658
+
3659
+ TaggedSymbol =
3660
+ T.type_alias do
3661
+ T.all(
3662
+ Symbol,
3663
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator
3664
+ )
3665
+ end
3666
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3667
+
3668
+ INCLUDES =
3669
+ T.let(
3670
+ :includes,
3671
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator::TaggedSymbol
3672
+ )
3673
+ EXCLUDES =
3674
+ T.let(
3675
+ :excludes,
3676
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator::TaggedSymbol
3677
+ )
3678
+
3679
+ sig do
3680
+ override.returns(
3681
+ T::Array[
3682
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator::TaggedSymbol
3683
+ ]
3684
+ )
3685
+ end
3686
+ def self.values
3687
+ end
3688
+ end
3689
+ end
3018
3690
  end
3019
3691
 
3020
3692
  class Maximum < Orb::Internal::Type::BaseModel
@@ -3040,6 +3712,16 @@ module Orb
3040
3712
  sig { returns(T::Array[String]) }
3041
3713
  attr_accessor :applies_to_price_ids
3042
3714
 
3715
+ # The filters that determine which prices to apply this adjustment to.
3716
+ sig do
3717
+ returns(
3718
+ T::Array[
3719
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter
3720
+ ]
3721
+ )
3722
+ end
3723
+ attr_accessor :filters
3724
+
3043
3725
  # True for adjustments that apply to an entire invocice, false for adjustments
3044
3726
  # that apply to only one price.
3045
3727
  sig { returns(T::Boolean) }
@@ -3059,6 +3741,10 @@ module Orb
3059
3741
  id: String,
3060
3742
  amount: String,
3061
3743
  applies_to_price_ids: T::Array[String],
3744
+ filters:
3745
+ T::Array[
3746
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::OrHash
3747
+ ],
3062
3748
  is_invoice_level: T::Boolean,
3063
3749
  maximum_amount: String,
3064
3750
  reason: T.nilable(String),
@@ -3071,6 +3757,8 @@ module Orb
3071
3757
  amount:,
3072
3758
  # The price IDs that this adjustment applies to.
3073
3759
  applies_to_price_ids:,
3760
+ # The filters that determine which prices to apply this adjustment to.
3761
+ filters:,
3074
3762
  # True for adjustments that apply to an entire invocice, false for adjustments
3075
3763
  # that apply to only one price.
3076
3764
  is_invoice_level:,
@@ -3090,6 +3778,10 @@ module Orb
3090
3778
  adjustment_type: Symbol,
3091
3779
  amount: String,
3092
3780
  applies_to_price_ids: T::Array[String],
3781
+ filters:
3782
+ T::Array[
3783
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter
3784
+ ],
3093
3785
  is_invoice_level: T::Boolean,
3094
3786
  maximum_amount: String,
3095
3787
  reason: T.nilable(String)
@@ -3098,6 +3790,154 @@ module Orb
3098
3790
  end
3099
3791
  def to_hash
3100
3792
  end
3793
+
3794
+ class Filter < Orb::Internal::Type::BaseModel
3795
+ OrHash =
3796
+ T.type_alias do
3797
+ T.any(
3798
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter,
3799
+ Orb::Internal::AnyHash
3800
+ )
3801
+ end
3802
+
3803
+ # The property of the price to filter on.
3804
+ sig do
3805
+ returns(
3806
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3807
+ )
3808
+ end
3809
+ attr_accessor :field
3810
+
3811
+ # Should prices that match the filter be included or excluded.
3812
+ sig do
3813
+ returns(
3814
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator::TaggedSymbol
3815
+ )
3816
+ end
3817
+ attr_accessor :operator
3818
+
3819
+ # The IDs or values that match this filter.
3820
+ sig { returns(T::Array[String]) }
3821
+ attr_accessor :values
3822
+
3823
+ sig do
3824
+ params(
3825
+ field:
3826
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::OrSymbol,
3827
+ operator:
3828
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator::OrSymbol,
3829
+ values: T::Array[String]
3830
+ ).returns(T.attached_class)
3831
+ end
3832
+ def self.new(
3833
+ # The property of the price to filter on.
3834
+ field:,
3835
+ # Should prices that match the filter be included or excluded.
3836
+ operator:,
3837
+ # The IDs or values that match this filter.
3838
+ values:
3839
+ )
3840
+ end
3841
+
3842
+ sig do
3843
+ override.returns(
3844
+ {
3845
+ field:
3846
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol,
3847
+ operator:
3848
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator::TaggedSymbol,
3849
+ values: T::Array[String]
3850
+ }
3851
+ )
3852
+ end
3853
+ def to_hash
3854
+ end
3855
+
3856
+ # The property of the price to filter on.
3857
+ module Field
3858
+ extend Orb::Internal::Type::Enum
3859
+
3860
+ TaggedSymbol =
3861
+ T.type_alias do
3862
+ T.all(
3863
+ Symbol,
3864
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field
3865
+ )
3866
+ end
3867
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3868
+
3869
+ PRICE_ID =
3870
+ T.let(
3871
+ :price_id,
3872
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3873
+ )
3874
+ ITEM_ID =
3875
+ T.let(
3876
+ :item_id,
3877
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3878
+ )
3879
+ PRICE_TYPE =
3880
+ T.let(
3881
+ :price_type,
3882
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3883
+ )
3884
+ CURRENCY =
3885
+ T.let(
3886
+ :currency,
3887
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3888
+ )
3889
+ PRICING_UNIT_ID =
3890
+ T.let(
3891
+ :pricing_unit_id,
3892
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3893
+ )
3894
+
3895
+ sig do
3896
+ override.returns(
3897
+ T::Array[
3898
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field::TaggedSymbol
3899
+ ]
3900
+ )
3901
+ end
3902
+ def self.values
3903
+ end
3904
+ end
3905
+
3906
+ # Should prices that match the filter be included or excluded.
3907
+ module Operator
3908
+ extend Orb::Internal::Type::Enum
3909
+
3910
+ TaggedSymbol =
3911
+ T.type_alias do
3912
+ T.all(
3913
+ Symbol,
3914
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator
3915
+ )
3916
+ end
3917
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3918
+
3919
+ INCLUDES =
3920
+ T.let(
3921
+ :includes,
3922
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator::TaggedSymbol
3923
+ )
3924
+ EXCLUDES =
3925
+ T.let(
3926
+ :excludes,
3927
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator::TaggedSymbol
3928
+ )
3929
+
3930
+ sig do
3931
+ override.returns(
3932
+ T::Array[
3933
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator::TaggedSymbol
3934
+ ]
3935
+ )
3936
+ end
3937
+ def self.values
3938
+ end
3939
+ end
3940
+ end
3101
3941
  end
3102
3942
 
3103
3943
  sig do
@@ -3125,6 +3965,16 @@ module Orb
3125
3965
  sig { returns(T::Array[String]) }
3126
3966
  attr_accessor :applies_to_price_ids
3127
3967
 
3968
+ # The filters that determine which prices to apply this maximum to.
3969
+ sig do
3970
+ returns(
3971
+ T::Array[
3972
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter
3973
+ ]
3974
+ )
3975
+ end
3976
+ attr_accessor :filters
3977
+
3128
3978
  # Maximum amount applied
3129
3979
  sig { returns(String) }
3130
3980
  attr_accessor :maximum_amount
@@ -3133,6 +3983,10 @@ module Orb
3133
3983
  sig do
3134
3984
  params(
3135
3985
  applies_to_price_ids: T::Array[String],
3986
+ filters:
3987
+ T::Array[
3988
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::OrHash
3989
+ ],
3136
3990
  maximum_amount: String
3137
3991
  ).returns(T.attached_class)
3138
3992
  end
@@ -3140,6 +3994,8 @@ module Orb
3140
3994
  # List of price_ids that this maximum amount applies to. For plan/plan phase
3141
3995
  # maximums, this can be a subset of prices.
3142
3996
  applies_to_price_ids:,
3997
+ # The filters that determine which prices to apply this maximum to.
3998
+ filters:,
3143
3999
  # Maximum amount applied
3144
4000
  maximum_amount:
3145
4001
  )
@@ -3147,11 +4003,166 @@ module Orb
3147
4003
 
3148
4004
  sig do
3149
4005
  override.returns(
3150
- { applies_to_price_ids: T::Array[String], maximum_amount: String }
4006
+ {
4007
+ applies_to_price_ids: T::Array[String],
4008
+ filters:
4009
+ T::Array[
4010
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter
4011
+ ],
4012
+ maximum_amount: String
4013
+ }
3151
4014
  )
3152
4015
  end
3153
4016
  def to_hash
3154
4017
  end
4018
+
4019
+ class Filter < Orb::Internal::Type::BaseModel
4020
+ OrHash =
4021
+ T.type_alias do
4022
+ T.any(
4023
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter,
4024
+ Orb::Internal::AnyHash
4025
+ )
4026
+ end
4027
+
4028
+ # The property of the price to filter on.
4029
+ sig do
4030
+ returns(
4031
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4032
+ )
4033
+ end
4034
+ attr_accessor :field
4035
+
4036
+ # Should prices that match the filter be included or excluded.
4037
+ sig do
4038
+ returns(
4039
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator::TaggedSymbol
4040
+ )
4041
+ end
4042
+ attr_accessor :operator
4043
+
4044
+ # The IDs or values that match this filter.
4045
+ sig { returns(T::Array[String]) }
4046
+ attr_accessor :values
4047
+
4048
+ sig do
4049
+ params(
4050
+ field:
4051
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::OrSymbol,
4052
+ operator:
4053
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator::OrSymbol,
4054
+ values: T::Array[String]
4055
+ ).returns(T.attached_class)
4056
+ end
4057
+ def self.new(
4058
+ # The property of the price to filter on.
4059
+ field:,
4060
+ # Should prices that match the filter be included or excluded.
4061
+ operator:,
4062
+ # The IDs or values that match this filter.
4063
+ values:
4064
+ )
4065
+ end
4066
+
4067
+ sig do
4068
+ override.returns(
4069
+ {
4070
+ field:
4071
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol,
4072
+ operator:
4073
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator::TaggedSymbol,
4074
+ values: T::Array[String]
4075
+ }
4076
+ )
4077
+ end
4078
+ def to_hash
4079
+ end
4080
+
4081
+ # The property of the price to filter on.
4082
+ module Field
4083
+ extend Orb::Internal::Type::Enum
4084
+
4085
+ TaggedSymbol =
4086
+ T.type_alias do
4087
+ T.all(
4088
+ Symbol,
4089
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field
4090
+ )
4091
+ end
4092
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4093
+
4094
+ PRICE_ID =
4095
+ T.let(
4096
+ :price_id,
4097
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4098
+ )
4099
+ ITEM_ID =
4100
+ T.let(
4101
+ :item_id,
4102
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4103
+ )
4104
+ PRICE_TYPE =
4105
+ T.let(
4106
+ :price_type,
4107
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4108
+ )
4109
+ CURRENCY =
4110
+ T.let(
4111
+ :currency,
4112
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4113
+ )
4114
+ PRICING_UNIT_ID =
4115
+ T.let(
4116
+ :pricing_unit_id,
4117
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4118
+ )
4119
+
4120
+ sig do
4121
+ override.returns(
4122
+ T::Array[
4123
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field::TaggedSymbol
4124
+ ]
4125
+ )
4126
+ end
4127
+ def self.values
4128
+ end
4129
+ end
4130
+
4131
+ # Should prices that match the filter be included or excluded.
4132
+ module Operator
4133
+ extend Orb::Internal::Type::Enum
4134
+
4135
+ TaggedSymbol =
4136
+ T.type_alias do
4137
+ T.all(
4138
+ Symbol,
4139
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator
4140
+ )
4141
+ end
4142
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4143
+
4144
+ INCLUDES =
4145
+ T.let(
4146
+ :includes,
4147
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator::TaggedSymbol
4148
+ )
4149
+ EXCLUDES =
4150
+ T.let(
4151
+ :excludes,
4152
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator::TaggedSymbol
4153
+ )
4154
+
4155
+ sig do
4156
+ override.returns(
4157
+ T::Array[
4158
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator::TaggedSymbol
4159
+ ]
4160
+ )
4161
+ end
4162
+ def self.values
4163
+ end
4164
+ end
4165
+ end
3155
4166
  end
3156
4167
 
3157
4168
  class Minimum < Orb::Internal::Type::BaseModel
@@ -3168,6 +4179,16 @@ module Orb
3168
4179
  sig { returns(T::Array[String]) }
3169
4180
  attr_accessor :applies_to_price_ids
3170
4181
 
4182
+ # The filters that determine which prices to apply this minimum to.
4183
+ sig do
4184
+ returns(
4185
+ T::Array[
4186
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter
4187
+ ]
4188
+ )
4189
+ end
4190
+ attr_accessor :filters
4191
+
3171
4192
  # Minimum amount applied
3172
4193
  sig { returns(String) }
3173
4194
  attr_accessor :minimum_amount
@@ -3176,6 +4197,10 @@ module Orb
3176
4197
  sig do
3177
4198
  params(
3178
4199
  applies_to_price_ids: T::Array[String],
4200
+ filters:
4201
+ T::Array[
4202
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::OrHash
4203
+ ],
3179
4204
  minimum_amount: String
3180
4205
  ).returns(T.attached_class)
3181
4206
  end
@@ -3183,6 +4208,8 @@ module Orb
3183
4208
  # List of price_ids that this minimum amount applies to. For plan/plan phase
3184
4209
  # minimums, this can be a subset of prices.
3185
4210
  applies_to_price_ids:,
4211
+ # The filters that determine which prices to apply this minimum to.
4212
+ filters:,
3186
4213
  # Minimum amount applied
3187
4214
  minimum_amount:
3188
4215
  )
@@ -3190,11 +4217,166 @@ module Orb
3190
4217
 
3191
4218
  sig do
3192
4219
  override.returns(
3193
- { applies_to_price_ids: T::Array[String], minimum_amount: String }
4220
+ {
4221
+ applies_to_price_ids: T::Array[String],
4222
+ filters:
4223
+ T::Array[
4224
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter
4225
+ ],
4226
+ minimum_amount: String
4227
+ }
3194
4228
  )
3195
4229
  end
3196
4230
  def to_hash
3197
4231
  end
4232
+
4233
+ class Filter < Orb::Internal::Type::BaseModel
4234
+ OrHash =
4235
+ T.type_alias do
4236
+ T.any(
4237
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter,
4238
+ Orb::Internal::AnyHash
4239
+ )
4240
+ end
4241
+
4242
+ # The property of the price to filter on.
4243
+ sig do
4244
+ returns(
4245
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4246
+ )
4247
+ end
4248
+ attr_accessor :field
4249
+
4250
+ # Should prices that match the filter be included or excluded.
4251
+ sig do
4252
+ returns(
4253
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator::TaggedSymbol
4254
+ )
4255
+ end
4256
+ attr_accessor :operator
4257
+
4258
+ # The IDs or values that match this filter.
4259
+ sig { returns(T::Array[String]) }
4260
+ attr_accessor :values
4261
+
4262
+ sig do
4263
+ params(
4264
+ field:
4265
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::OrSymbol,
4266
+ operator:
4267
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator::OrSymbol,
4268
+ values: T::Array[String]
4269
+ ).returns(T.attached_class)
4270
+ end
4271
+ def self.new(
4272
+ # The property of the price to filter on.
4273
+ field:,
4274
+ # Should prices that match the filter be included or excluded.
4275
+ operator:,
4276
+ # The IDs or values that match this filter.
4277
+ values:
4278
+ )
4279
+ end
4280
+
4281
+ sig do
4282
+ override.returns(
4283
+ {
4284
+ field:
4285
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol,
4286
+ operator:
4287
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator::TaggedSymbol,
4288
+ values: T::Array[String]
4289
+ }
4290
+ )
4291
+ end
4292
+ def to_hash
4293
+ end
4294
+
4295
+ # The property of the price to filter on.
4296
+ module Field
4297
+ extend Orb::Internal::Type::Enum
4298
+
4299
+ TaggedSymbol =
4300
+ T.type_alias do
4301
+ T.all(
4302
+ Symbol,
4303
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field
4304
+ )
4305
+ end
4306
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4307
+
4308
+ PRICE_ID =
4309
+ T.let(
4310
+ :price_id,
4311
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4312
+ )
4313
+ ITEM_ID =
4314
+ T.let(
4315
+ :item_id,
4316
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4317
+ )
4318
+ PRICE_TYPE =
4319
+ T.let(
4320
+ :price_type,
4321
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4322
+ )
4323
+ CURRENCY =
4324
+ T.let(
4325
+ :currency,
4326
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4327
+ )
4328
+ PRICING_UNIT_ID =
4329
+ T.let(
4330
+ :pricing_unit_id,
4331
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4332
+ )
4333
+
4334
+ sig do
4335
+ override.returns(
4336
+ T::Array[
4337
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field::TaggedSymbol
4338
+ ]
4339
+ )
4340
+ end
4341
+ def self.values
4342
+ end
4343
+ end
4344
+
4345
+ # Should prices that match the filter be included or excluded.
4346
+ module Operator
4347
+ extend Orb::Internal::Type::Enum
4348
+
4349
+ TaggedSymbol =
4350
+ T.type_alias do
4351
+ T.all(
4352
+ Symbol,
4353
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator
4354
+ )
4355
+ end
4356
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4357
+
4358
+ INCLUDES =
4359
+ T.let(
4360
+ :includes,
4361
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator::TaggedSymbol
4362
+ )
4363
+ EXCLUDES =
4364
+ T.let(
4365
+ :excludes,
4366
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator::TaggedSymbol
4367
+ )
4368
+
4369
+ sig do
4370
+ override.returns(
4371
+ T::Array[
4372
+ Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator::TaggedSymbol
4373
+ ]
4374
+ )
4375
+ end
4376
+ def self.values
4377
+ end
4378
+ end
4379
+ end
3198
4380
  end
3199
4381
 
3200
4382
  module SubLineItem
@@ -3748,6 +4930,14 @@ module Orb
3748
4930
  sig { returns(T::Array[String]) }
3749
4931
  attr_accessor :applies_to_price_ids
3750
4932
 
4933
+ # The filters that determine which prices to apply this maximum to.
4934
+ sig do
4935
+ returns(
4936
+ T::Array[Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter]
4937
+ )
4938
+ end
4939
+ attr_accessor :filters
4940
+
3751
4941
  # Maximum amount applied
3752
4942
  sig { returns(String) }
3753
4943
  attr_accessor :maximum_amount
@@ -3755,6 +4945,10 @@ module Orb
3755
4945
  sig do
3756
4946
  params(
3757
4947
  applies_to_price_ids: T::Array[String],
4948
+ filters:
4949
+ T::Array[
4950
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::OrHash
4951
+ ],
3758
4952
  maximum_amount: String
3759
4953
  ).returns(T.attached_class)
3760
4954
  end
@@ -3762,6 +4956,8 @@ module Orb
3762
4956
  # List of price_ids that this maximum amount applies to. For plan/plan phase
3763
4957
  # maximums, this can be a subset of prices.
3764
4958
  applies_to_price_ids:,
4959
+ # The filters that determine which prices to apply this maximum to.
4960
+ filters:,
3765
4961
  # Maximum amount applied
3766
4962
  maximum_amount:
3767
4963
  )
@@ -3769,11 +4965,166 @@ module Orb
3769
4965
 
3770
4966
  sig do
3771
4967
  override.returns(
3772
- { applies_to_price_ids: T::Array[String], maximum_amount: String }
4968
+ {
4969
+ applies_to_price_ids: T::Array[String],
4970
+ filters:
4971
+ T::Array[
4972
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter
4973
+ ],
4974
+ maximum_amount: String
4975
+ }
3773
4976
  )
3774
4977
  end
3775
4978
  def to_hash
3776
4979
  end
4980
+
4981
+ class Filter < Orb::Internal::Type::BaseModel
4982
+ OrHash =
4983
+ T.type_alias do
4984
+ T.any(
4985
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter,
4986
+ Orb::Internal::AnyHash
4987
+ )
4988
+ end
4989
+
4990
+ # The property of the price to filter on.
4991
+ sig do
4992
+ returns(
4993
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
4994
+ )
4995
+ end
4996
+ attr_accessor :field
4997
+
4998
+ # Should prices that match the filter be included or excluded.
4999
+ sig do
5000
+ returns(
5001
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator::TaggedSymbol
5002
+ )
5003
+ end
5004
+ attr_accessor :operator
5005
+
5006
+ # The IDs or values that match this filter.
5007
+ sig { returns(T::Array[String]) }
5008
+ attr_accessor :values
5009
+
5010
+ sig do
5011
+ params(
5012
+ field:
5013
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::OrSymbol,
5014
+ operator:
5015
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator::OrSymbol,
5016
+ values: T::Array[String]
5017
+ ).returns(T.attached_class)
5018
+ end
5019
+ def self.new(
5020
+ # The property of the price to filter on.
5021
+ field:,
5022
+ # Should prices that match the filter be included or excluded.
5023
+ operator:,
5024
+ # The IDs or values that match this filter.
5025
+ values:
5026
+ )
5027
+ end
5028
+
5029
+ sig do
5030
+ override.returns(
5031
+ {
5032
+ field:
5033
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol,
5034
+ operator:
5035
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator::TaggedSymbol,
5036
+ values: T::Array[String]
5037
+ }
5038
+ )
5039
+ end
5040
+ def to_hash
5041
+ end
5042
+
5043
+ # The property of the price to filter on.
5044
+ module Field
5045
+ extend Orb::Internal::Type::Enum
5046
+
5047
+ TaggedSymbol =
5048
+ T.type_alias do
5049
+ T.all(
5050
+ Symbol,
5051
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field
5052
+ )
5053
+ end
5054
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5055
+
5056
+ PRICE_ID =
5057
+ T.let(
5058
+ :price_id,
5059
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
5060
+ )
5061
+ ITEM_ID =
5062
+ T.let(
5063
+ :item_id,
5064
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
5065
+ )
5066
+ PRICE_TYPE =
5067
+ T.let(
5068
+ :price_type,
5069
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
5070
+ )
5071
+ CURRENCY =
5072
+ T.let(
5073
+ :currency,
5074
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
5075
+ )
5076
+ PRICING_UNIT_ID =
5077
+ T.let(
5078
+ :pricing_unit_id,
5079
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
5080
+ )
5081
+
5082
+ sig do
5083
+ override.returns(
5084
+ T::Array[
5085
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field::TaggedSymbol
5086
+ ]
5087
+ )
5088
+ end
5089
+ def self.values
5090
+ end
5091
+ end
5092
+
5093
+ # Should prices that match the filter be included or excluded.
5094
+ module Operator
5095
+ extend Orb::Internal::Type::Enum
5096
+
5097
+ TaggedSymbol =
5098
+ T.type_alias do
5099
+ T.all(
5100
+ Symbol,
5101
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator
5102
+ )
5103
+ end
5104
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5105
+
5106
+ INCLUDES =
5107
+ T.let(
5108
+ :includes,
5109
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator::TaggedSymbol
5110
+ )
5111
+ EXCLUDES =
5112
+ T.let(
5113
+ :excludes,
5114
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator::TaggedSymbol
5115
+ )
5116
+
5117
+ sig do
5118
+ override.returns(
5119
+ T::Array[
5120
+ Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator::TaggedSymbol
5121
+ ]
5122
+ )
5123
+ end
5124
+ def self.values
5125
+ end
5126
+ end
5127
+ end
3777
5128
  end
3778
5129
 
3779
5130
  class Minimum < Orb::Internal::Type::BaseModel
@@ -3790,6 +5141,14 @@ module Orb
3790
5141
  sig { returns(T::Array[String]) }
3791
5142
  attr_accessor :applies_to_price_ids
3792
5143
 
5144
+ # The filters that determine which prices to apply this minimum to.
5145
+ sig do
5146
+ returns(
5147
+ T::Array[Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter]
5148
+ )
5149
+ end
5150
+ attr_accessor :filters
5151
+
3793
5152
  # Minimum amount applied
3794
5153
  sig { returns(String) }
3795
5154
  attr_accessor :minimum_amount
@@ -3797,6 +5156,10 @@ module Orb
3797
5156
  sig do
3798
5157
  params(
3799
5158
  applies_to_price_ids: T::Array[String],
5159
+ filters:
5160
+ T::Array[
5161
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::OrHash
5162
+ ],
3800
5163
  minimum_amount: String
3801
5164
  ).returns(T.attached_class)
3802
5165
  end
@@ -3804,6 +5167,8 @@ module Orb
3804
5167
  # List of price_ids that this minimum amount applies to. For plan/plan phase
3805
5168
  # minimums, this can be a subset of prices.
3806
5169
  applies_to_price_ids:,
5170
+ # The filters that determine which prices to apply this minimum to.
5171
+ filters:,
3807
5172
  # Minimum amount applied
3808
5173
  minimum_amount:
3809
5174
  )
@@ -3811,11 +5176,166 @@ module Orb
3811
5176
 
3812
5177
  sig do
3813
5178
  override.returns(
3814
- { applies_to_price_ids: T::Array[String], minimum_amount: String }
5179
+ {
5180
+ applies_to_price_ids: T::Array[String],
5181
+ filters:
5182
+ T::Array[
5183
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter
5184
+ ],
5185
+ minimum_amount: String
5186
+ }
3815
5187
  )
3816
5188
  end
3817
5189
  def to_hash
3818
5190
  end
5191
+
5192
+ class Filter < Orb::Internal::Type::BaseModel
5193
+ OrHash =
5194
+ T.type_alias do
5195
+ T.any(
5196
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter,
5197
+ Orb::Internal::AnyHash
5198
+ )
5199
+ end
5200
+
5201
+ # The property of the price to filter on.
5202
+ sig do
5203
+ returns(
5204
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5205
+ )
5206
+ end
5207
+ attr_accessor :field
5208
+
5209
+ # Should prices that match the filter be included or excluded.
5210
+ sig do
5211
+ returns(
5212
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator::TaggedSymbol
5213
+ )
5214
+ end
5215
+ attr_accessor :operator
5216
+
5217
+ # The IDs or values that match this filter.
5218
+ sig { returns(T::Array[String]) }
5219
+ attr_accessor :values
5220
+
5221
+ sig do
5222
+ params(
5223
+ field:
5224
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::OrSymbol,
5225
+ operator:
5226
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator::OrSymbol,
5227
+ values: T::Array[String]
5228
+ ).returns(T.attached_class)
5229
+ end
5230
+ def self.new(
5231
+ # The property of the price to filter on.
5232
+ field:,
5233
+ # Should prices that match the filter be included or excluded.
5234
+ operator:,
5235
+ # The IDs or values that match this filter.
5236
+ values:
5237
+ )
5238
+ end
5239
+
5240
+ sig do
5241
+ override.returns(
5242
+ {
5243
+ field:
5244
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol,
5245
+ operator:
5246
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator::TaggedSymbol,
5247
+ values: T::Array[String]
5248
+ }
5249
+ )
5250
+ end
5251
+ def to_hash
5252
+ end
5253
+
5254
+ # The property of the price to filter on.
5255
+ module Field
5256
+ extend Orb::Internal::Type::Enum
5257
+
5258
+ TaggedSymbol =
5259
+ T.type_alias do
5260
+ T.all(
5261
+ Symbol,
5262
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field
5263
+ )
5264
+ end
5265
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5266
+
5267
+ PRICE_ID =
5268
+ T.let(
5269
+ :price_id,
5270
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5271
+ )
5272
+ ITEM_ID =
5273
+ T.let(
5274
+ :item_id,
5275
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5276
+ )
5277
+ PRICE_TYPE =
5278
+ T.let(
5279
+ :price_type,
5280
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5281
+ )
5282
+ CURRENCY =
5283
+ T.let(
5284
+ :currency,
5285
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5286
+ )
5287
+ PRICING_UNIT_ID =
5288
+ T.let(
5289
+ :pricing_unit_id,
5290
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5291
+ )
5292
+
5293
+ sig do
5294
+ override.returns(
5295
+ T::Array[
5296
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field::TaggedSymbol
5297
+ ]
5298
+ )
5299
+ end
5300
+ def self.values
5301
+ end
5302
+ end
5303
+
5304
+ # Should prices that match the filter be included or excluded.
5305
+ module Operator
5306
+ extend Orb::Internal::Type::Enum
5307
+
5308
+ TaggedSymbol =
5309
+ T.type_alias do
5310
+ T.all(
5311
+ Symbol,
5312
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator
5313
+ )
5314
+ end
5315
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5316
+
5317
+ INCLUDES =
5318
+ T.let(
5319
+ :includes,
5320
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator::TaggedSymbol
5321
+ )
5322
+ EXCLUDES =
5323
+ T.let(
5324
+ :excludes,
5325
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator::TaggedSymbol
5326
+ )
5327
+
5328
+ sig do
5329
+ override.returns(
5330
+ T::Array[
5331
+ Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator::TaggedSymbol
5332
+ ]
5333
+ )
5334
+ end
5335
+ def self.values
5336
+ end
5337
+ end
5338
+ end
3819
5339
  end
3820
5340
 
3821
5341
  class PaymentAttempt < Orb::Internal::Type::BaseModel