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
@@ -99,6 +99,8 @@ module Orb
99
99
  required :default_invoice_memo, String, nil?: true
100
100
 
101
101
  # @!attribute discount_intervals
102
+ # @deprecated
103
+ #
102
104
  # The discount intervals for this subscription sorted by the start_date.
103
105
  #
104
106
  # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage>]
@@ -123,6 +125,8 @@ module Orb
123
125
  required :invoicing_threshold, String, nil?: true
124
126
 
125
127
  # @!attribute maximum_intervals
128
+ # @deprecated
129
+ #
126
130
  # The maximum intervals for this subscription sorted by the start_date.
127
131
  #
128
132
  # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval>]
@@ -139,12 +143,20 @@ module Orb
139
143
  required :metadata, Orb::Internal::Type::HashOf[String]
140
144
 
141
145
  # @!attribute minimum_intervals
146
+ # @deprecated
147
+ #
142
148
  # The minimum intervals for this subscription sorted by the start_date.
143
149
  #
144
150
  # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval>]
145
151
  required :minimum_intervals,
146
152
  -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval] }
147
153
 
154
+ # @!attribute name
155
+ # The name of the subscription.
156
+ #
157
+ # @return [String]
158
+ required :name, String
159
+
148
160
  # @!attribute net_terms
149
161
  # Determines the difference between the invoice issue date for subscription
150
162
  # invoices as the date that they are due. A value of `0` here represents that the
@@ -168,8 +180,8 @@ module Orb
168
180
  # subscription. You can see more about how to configure prices in the
169
181
  # [Price resource](/reference/price).
170
182
  #
171
- # @return [Orb::Models::Plan]
172
- required :plan, -> { Orb::Plan }
183
+ # @return [Orb::Models::Plan, nil]
184
+ required :plan, -> { Orb::Plan }, nil?: true
173
185
 
174
186
  # @!attribute price_intervals
175
187
  # The price intervals for this subscription.
@@ -211,7 +223,7 @@ module Orb
211
223
  -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::ChangedResources },
212
224
  nil?: true
213
225
 
214
- # @!method initialize(id:, active_plan_phase_order:, adjustment_intervals:, auto_collection:, billing_cycle_anchor_configuration:, billing_cycle_day:, created_at:, current_billing_period_end_date:, current_billing_period_start_date:, customer:, default_invoice_memo:, discount_intervals:, end_date:, fixed_fee_quantity_schedule:, invoicing_threshold:, maximum_intervals:, metadata:, minimum_intervals:, net_terms:, pending_subscription_change:, plan:, price_intervals:, redeemed_coupon:, start_date:, status:, trial_info:, changed_resources: nil)
226
+ # @!method initialize(id:, active_plan_phase_order:, adjustment_intervals:, auto_collection:, billing_cycle_anchor_configuration:, billing_cycle_day:, created_at:, current_billing_period_end_date:, current_billing_period_start_date:, customer:, default_invoice_memo:, discount_intervals:, end_date:, fixed_fee_quantity_schedule:, invoicing_threshold:, maximum_intervals:, metadata:, minimum_intervals:, name:, net_terms:, pending_subscription_change:, plan:, price_intervals:, redeemed_coupon:, start_date:, status:, trial_info:, changed_resources: nil)
215
227
  # Some parameter documentations has been truncated, see
216
228
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse} for more details.
217
229
  #
@@ -251,11 +263,13 @@ module Orb
251
263
  #
252
264
  # @param minimum_intervals [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval>] The minimum intervals for this subscription sorted by the start_date.
253
265
  #
266
+ # @param name [String] The name of the subscription.
267
+ #
254
268
  # @param net_terms [Integer] Determines the difference between the invoice issue date for subscription invoic
255
269
  #
256
270
  # @param pending_subscription_change [Orb::Models::SubscriptionUnscheduleCancellationResponse::PendingSubscriptionChange, nil] A pending subscription change if one exists on this subscription.
257
271
  #
258
- # @param plan [Orb::Models::Plan] The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
272
+ # @param plan [Orb::Models::Plan, nil] The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
259
273
  #
260
274
  # @param price_intervals [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval>] The price intervals for this subscription.
261
275
  #
@@ -343,11 +357,24 @@ module Orb
343
357
  required :adjustment_type, const: :usage_discount
344
358
 
345
359
  # @!attribute applies_to_price_ids
360
+ # @deprecated
361
+ #
346
362
  # The price IDs that this adjustment applies to.
347
363
  #
348
364
  # @return [Array<String>]
349
365
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
350
366
 
367
+ # @!attribute filters
368
+ # The filters that determine which prices to apply this adjustment to.
369
+ #
370
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter>]
371
+ required :filters,
372
+ -> do
373
+ Orb::Internal::Type::ArrayOf[
374
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter
375
+ ]
376
+ end
377
+
351
378
  # @!attribute is_invoice_level
352
379
  # True for adjustments that apply to an entire invocice, false for adjustments
353
380
  # that apply to only one price.
@@ -374,7 +401,7 @@ module Orb
374
401
  # @return [Float]
375
402
  required :usage_discount, Float
376
403
 
377
- # @!method initialize(id:, applies_to_price_ids:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount)
404
+ # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, usage_discount:, adjustment_type: :usage_discount)
378
405
  # Some parameter documentations has been truncated, see
379
406
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount}
380
407
  # for more details.
@@ -383,6 +410,8 @@ module Orb
383
410
  #
384
411
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
385
412
  #
413
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
414
+ #
386
415
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
387
416
  #
388
417
  # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active.
@@ -392,6 +421,64 @@ module Orb
392
421
  # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies
393
422
  #
394
423
  # @param adjustment_type [Symbol, :usage_discount]
424
+
425
+ class Filter < Orb::Internal::Type::BaseModel
426
+ # @!attribute field
427
+ # The property of the price to filter on.
428
+ #
429
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field]
430
+ required :field,
431
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field }
432
+
433
+ # @!attribute operator
434
+ # Should prices that match the filter be included or excluded.
435
+ #
436
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator]
437
+ required :operator,
438
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator }
439
+
440
+ # @!attribute values
441
+ # The IDs or values that match this filter.
442
+ #
443
+ # @return [Array<String>]
444
+ required :values, Orb::Internal::Type::ArrayOf[String]
445
+
446
+ # @!method initialize(field:, operator:, values:)
447
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on.
448
+ #
449
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
450
+ #
451
+ # @param values [Array<String>] The IDs or values that match this filter.
452
+
453
+ # The property of the price to filter on.
454
+ #
455
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter#field
456
+ module Field
457
+ extend Orb::Internal::Type::Enum
458
+
459
+ PRICE_ID = :price_id
460
+ ITEM_ID = :item_id
461
+ PRICE_TYPE = :price_type
462
+ CURRENCY = :currency
463
+ PRICING_UNIT_ID = :pricing_unit_id
464
+
465
+ # @!method self.values
466
+ # @return [Array<Symbol>]
467
+ end
468
+
469
+ # Should prices that match the filter be included or excluded.
470
+ #
471
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::UsageDiscount::Filter#operator
472
+ module Operator
473
+ extend Orb::Internal::Type::Enum
474
+
475
+ INCLUDES = :includes
476
+ EXCLUDES = :excludes
477
+
478
+ # @!method self.values
479
+ # @return [Array<Symbol>]
480
+ end
481
+ end
395
482
  end
396
483
 
397
484
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -413,11 +500,24 @@ module Orb
413
500
  required :amount_discount, String
414
501
 
415
502
  # @!attribute applies_to_price_ids
503
+ # @deprecated
504
+ #
416
505
  # The price IDs that this adjustment applies to.
417
506
  #
418
507
  # @return [Array<String>]
419
508
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
420
509
 
510
+ # @!attribute filters
511
+ # The filters that determine which prices to apply this adjustment to.
512
+ #
513
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter>]
514
+ required :filters,
515
+ -> do
516
+ Orb::Internal::Type::ArrayOf[
517
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter
518
+ ]
519
+ end
520
+
421
521
  # @!attribute is_invoice_level
422
522
  # True for adjustments that apply to an entire invocice, false for adjustments
423
523
  # that apply to only one price.
@@ -437,7 +537,7 @@ module Orb
437
537
  # @return [String, nil]
438
538
  required :reason, String, nil?: true
439
539
 
440
- # @!method initialize(id:, amount_discount:, applies_to_price_ids:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount)
540
+ # @!method initialize(id:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, adjustment_type: :amount_discount)
441
541
  # Some parameter documentations has been truncated, see
442
542
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount}
443
543
  # for more details.
@@ -448,6 +548,8 @@ module Orb
448
548
  #
449
549
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
450
550
  #
551
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
552
+ #
451
553
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
452
554
  #
453
555
  # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active.
@@ -455,6 +557,64 @@ module Orb
455
557
  # @param reason [String, nil] The reason for the adjustment.
456
558
  #
457
559
  # @param adjustment_type [Symbol, :amount_discount]
560
+
561
+ class Filter < Orb::Internal::Type::BaseModel
562
+ # @!attribute field
563
+ # The property of the price to filter on.
564
+ #
565
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field]
566
+ required :field,
567
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field }
568
+
569
+ # @!attribute operator
570
+ # Should prices that match the filter be included or excluded.
571
+ #
572
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator]
573
+ required :operator,
574
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator }
575
+
576
+ # @!attribute values
577
+ # The IDs or values that match this filter.
578
+ #
579
+ # @return [Array<String>]
580
+ required :values, Orb::Internal::Type::ArrayOf[String]
581
+
582
+ # @!method initialize(field:, operator:, values:)
583
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on.
584
+ #
585
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
586
+ #
587
+ # @param values [Array<String>] The IDs or values that match this filter.
588
+
589
+ # The property of the price to filter on.
590
+ #
591
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter#field
592
+ module Field
593
+ extend Orb::Internal::Type::Enum
594
+
595
+ PRICE_ID = :price_id
596
+ ITEM_ID = :item_id
597
+ PRICE_TYPE = :price_type
598
+ CURRENCY = :currency
599
+ PRICING_UNIT_ID = :pricing_unit_id
600
+
601
+ # @!method self.values
602
+ # @return [Array<Symbol>]
603
+ end
604
+
605
+ # Should prices that match the filter be included or excluded.
606
+ #
607
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::AmountDiscount::Filter#operator
608
+ module Operator
609
+ extend Orb::Internal::Type::Enum
610
+
611
+ INCLUDES = :includes
612
+ EXCLUDES = :excludes
613
+
614
+ # @!method self.values
615
+ # @return [Array<Symbol>]
616
+ end
617
+ end
458
618
  end
459
619
 
460
620
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -469,11 +629,24 @@ module Orb
469
629
  required :adjustment_type, const: :percentage_discount
470
630
 
471
631
  # @!attribute applies_to_price_ids
632
+ # @deprecated
633
+ #
472
634
  # The price IDs that this adjustment applies to.
473
635
  #
474
636
  # @return [Array<String>]
475
637
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
476
638
 
639
+ # @!attribute filters
640
+ # The filters that determine which prices to apply this adjustment to.
641
+ #
642
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter>]
643
+ required :filters,
644
+ -> do
645
+ Orb::Internal::Type::ArrayOf[
646
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter
647
+ ]
648
+ end
649
+
477
650
  # @!attribute is_invoice_level
478
651
  # True for adjustments that apply to an entire invocice, false for adjustments
479
652
  # that apply to only one price.
@@ -500,7 +673,7 @@ module Orb
500
673
  # @return [String, nil]
501
674
  required :reason, String, nil?: true
502
675
 
503
- # @!method initialize(id:, applies_to_price_ids:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount)
676
+ # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, plan_phase_order:, reason:, adjustment_type: :percentage_discount)
504
677
  # Some parameter documentations has been truncated, see
505
678
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount}
506
679
  # for more details.
@@ -509,6 +682,8 @@ module Orb
509
682
  #
510
683
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
511
684
  #
685
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
686
+ #
512
687
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
513
688
  #
514
689
  # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter
@@ -518,6 +693,64 @@ module Orb
518
693
  # @param reason [String, nil] The reason for the adjustment.
519
694
  #
520
695
  # @param adjustment_type [Symbol, :percentage_discount]
696
+
697
+ class Filter < Orb::Internal::Type::BaseModel
698
+ # @!attribute field
699
+ # The property of the price to filter on.
700
+ #
701
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field]
702
+ required :field,
703
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field }
704
+
705
+ # @!attribute operator
706
+ # Should prices that match the filter be included or excluded.
707
+ #
708
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator]
709
+ required :operator,
710
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator }
711
+
712
+ # @!attribute values
713
+ # The IDs or values that match this filter.
714
+ #
715
+ # @return [Array<String>]
716
+ required :values, Orb::Internal::Type::ArrayOf[String]
717
+
718
+ # @!method initialize(field:, operator:, values:)
719
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on.
720
+ #
721
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
722
+ #
723
+ # @param values [Array<String>] The IDs or values that match this filter.
724
+
725
+ # The property of the price to filter on.
726
+ #
727
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter#field
728
+ module Field
729
+ extend Orb::Internal::Type::Enum
730
+
731
+ PRICE_ID = :price_id
732
+ ITEM_ID = :item_id
733
+ PRICE_TYPE = :price_type
734
+ CURRENCY = :currency
735
+ PRICING_UNIT_ID = :pricing_unit_id
736
+
737
+ # @!method self.values
738
+ # @return [Array<Symbol>]
739
+ end
740
+
741
+ # Should prices that match the filter be included or excluded.
742
+ #
743
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PercentageDiscount::Filter#operator
744
+ module Operator
745
+ extend Orb::Internal::Type::Enum
746
+
747
+ INCLUDES = :includes
748
+ EXCLUDES = :excludes
749
+
750
+ # @!method self.values
751
+ # @return [Array<Symbol>]
752
+ end
753
+ end
521
754
  end
522
755
 
523
756
  class Minimum < Orb::Internal::Type::BaseModel
@@ -532,11 +765,20 @@ module Orb
532
765
  required :adjustment_type, const: :minimum
533
766
 
534
767
  # @!attribute applies_to_price_ids
768
+ # @deprecated
769
+ #
535
770
  # The price IDs that this adjustment applies to.
536
771
  #
537
772
  # @return [Array<String>]
538
773
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
539
774
 
775
+ # @!attribute filters
776
+ # The filters that determine which prices to apply this adjustment to.
777
+ #
778
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter>]
779
+ required :filters,
780
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter] }
781
+
540
782
  # @!attribute is_invoice_level
541
783
  # True for adjustments that apply to an entire invocice, false for adjustments
542
784
  # that apply to only one price.
@@ -569,7 +811,7 @@ module Orb
569
811
  # @return [String, nil]
570
812
  required :reason, String, nil?: true
571
813
 
572
- # @!method initialize(id:, applies_to_price_ids:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum)
814
+ # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, plan_phase_order:, reason:, adjustment_type: :minimum)
573
815
  # Some parameter documentations has been truncated, see
574
816
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum}
575
817
  # for more details.
@@ -578,6 +820,8 @@ module Orb
578
820
  #
579
821
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
580
822
  #
823
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter>] The filters that determine which prices to apply this adjustment to.
824
+ #
581
825
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
582
826
  #
583
827
  # @param item_id [String] The item ID that revenue from this minimum will be attributed to.
@@ -589,6 +833,64 @@ module Orb
589
833
  # @param reason [String, nil] The reason for the adjustment.
590
834
  #
591
835
  # @param adjustment_type [Symbol, :minimum]
836
+
837
+ class Filter < Orb::Internal::Type::BaseModel
838
+ # @!attribute field
839
+ # The property of the price to filter on.
840
+ #
841
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field]
842
+ required :field,
843
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field }
844
+
845
+ # @!attribute operator
846
+ # Should prices that match the filter be included or excluded.
847
+ #
848
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator]
849
+ required :operator,
850
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator }
851
+
852
+ # @!attribute values
853
+ # The IDs or values that match this filter.
854
+ #
855
+ # @return [Array<String>]
856
+ required :values, Orb::Internal::Type::ArrayOf[String]
857
+
858
+ # @!method initialize(field:, operator:, values:)
859
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Field] The property of the price to filter on.
860
+ #
861
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded.
862
+ #
863
+ # @param values [Array<String>] The IDs or values that match this filter.
864
+
865
+ # The property of the price to filter on.
866
+ #
867
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter#field
868
+ module Field
869
+ extend Orb::Internal::Type::Enum
870
+
871
+ PRICE_ID = :price_id
872
+ ITEM_ID = :item_id
873
+ PRICE_TYPE = :price_type
874
+ CURRENCY = :currency
875
+ PRICING_UNIT_ID = :pricing_unit_id
876
+
877
+ # @!method self.values
878
+ # @return [Array<Symbol>]
879
+ end
880
+
881
+ # Should prices that match the filter be included or excluded.
882
+ #
883
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Minimum::Filter#operator
884
+ module Operator
885
+ extend Orb::Internal::Type::Enum
886
+
887
+ INCLUDES = :includes
888
+ EXCLUDES = :excludes
889
+
890
+ # @!method self.values
891
+ # @return [Array<Symbol>]
892
+ end
893
+ end
592
894
  end
593
895
 
594
896
  class Maximum < Orb::Internal::Type::BaseModel
@@ -603,11 +905,20 @@ module Orb
603
905
  required :adjustment_type, const: :maximum
604
906
 
605
907
  # @!attribute applies_to_price_ids
908
+ # @deprecated
909
+ #
606
910
  # The price IDs that this adjustment applies to.
607
911
  #
608
912
  # @return [Array<String>]
609
913
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
610
914
 
915
+ # @!attribute filters
916
+ # The filters that determine which prices to apply this adjustment to.
917
+ #
918
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter>]
919
+ required :filters,
920
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter] }
921
+
611
922
  # @!attribute is_invoice_level
612
923
  # True for adjustments that apply to an entire invocice, false for adjustments
613
924
  # that apply to only one price.
@@ -634,7 +945,7 @@ module Orb
634
945
  # @return [String, nil]
635
946
  required :reason, String, nil?: true
636
947
 
637
- # @!method initialize(id:, applies_to_price_ids:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum)
948
+ # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, plan_phase_order:, reason:, adjustment_type: :maximum)
638
949
  # Some parameter documentations has been truncated, see
639
950
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum}
640
951
  # for more details.
@@ -643,6 +954,8 @@ module Orb
643
954
  #
644
955
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
645
956
  #
957
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter>] The filters that determine which prices to apply this adjustment to.
958
+ #
646
959
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
647
960
  #
648
961
  # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus
@@ -652,6 +965,64 @@ module Orb
652
965
  # @param reason [String, nil] The reason for the adjustment.
653
966
  #
654
967
  # @param adjustment_type [Symbol, :maximum]
968
+
969
+ class Filter < Orb::Internal::Type::BaseModel
970
+ # @!attribute field
971
+ # The property of the price to filter on.
972
+ #
973
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field]
974
+ required :field,
975
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field }
976
+
977
+ # @!attribute operator
978
+ # Should prices that match the filter be included or excluded.
979
+ #
980
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator]
981
+ required :operator,
982
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator }
983
+
984
+ # @!attribute values
985
+ # The IDs or values that match this filter.
986
+ #
987
+ # @return [Array<String>]
988
+ required :values, Orb::Internal::Type::ArrayOf[String]
989
+
990
+ # @!method initialize(field:, operator:, values:)
991
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Field] The property of the price to filter on.
992
+ #
993
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded.
994
+ #
995
+ # @param values [Array<String>] The IDs or values that match this filter.
996
+
997
+ # The property of the price to filter on.
998
+ #
999
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter#field
1000
+ module Field
1001
+ extend Orb::Internal::Type::Enum
1002
+
1003
+ PRICE_ID = :price_id
1004
+ ITEM_ID = :item_id
1005
+ PRICE_TYPE = :price_type
1006
+ CURRENCY = :currency
1007
+ PRICING_UNIT_ID = :pricing_unit_id
1008
+
1009
+ # @!method self.values
1010
+ # @return [Array<Symbol>]
1011
+ end
1012
+
1013
+ # Should prices that match the filter be included or excluded.
1014
+ #
1015
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::Maximum::Filter#operator
1016
+ module Operator
1017
+ extend Orb::Internal::Type::Enum
1018
+
1019
+ INCLUDES = :includes
1020
+ EXCLUDES = :excludes
1021
+
1022
+ # @!method self.values
1023
+ # @return [Array<Symbol>]
1024
+ end
1025
+ end
655
1026
  end
656
1027
 
657
1028
  # @!method self.variants
@@ -716,12 +1087,6 @@ module Orb
716
1087
  # @return [String]
717
1088
  required :amount_discount, String
718
1089
 
719
- # @!attribute applies_to_price_ids
720
- # The price ids that this discount interval applies to.
721
- #
722
- # @return [Array<String>]
723
- required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
724
-
725
1090
  # @!attribute applies_to_price_interval_ids
726
1091
  # The price interval ids that this discount interval applies to.
727
1092
  #
@@ -739,33 +1104,92 @@ module Orb
739
1104
  # @return [Time, nil]
740
1105
  required :end_date, Time, nil?: true
741
1106
 
1107
+ # @!attribute filters
1108
+ # The filters that determine which prices this discount interval applies to.
1109
+ #
1110
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter>]
1111
+ required :filters,
1112
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter] }
1113
+
742
1114
  # @!attribute start_date
743
1115
  # The start date of the discount interval.
744
1116
  #
745
1117
  # @return [Time]
746
1118
  required :start_date, Time
747
1119
 
748
- # @!method initialize(amount_discount:, applies_to_price_ids:, applies_to_price_interval_ids:, end_date:, start_date:, discount_type: :amount)
1120
+ # @!method initialize(amount_discount:, applies_to_price_interval_ids:, end_date:, filters:, start_date:, discount_type: :amount)
749
1121
  # @param amount_discount [String] Only available if discount_type is `amount`.
750
1122
  #
751
- # @param applies_to_price_ids [Array<String>] The price ids that this discount interval applies to.
752
- #
753
1123
  # @param applies_to_price_interval_ids [Array<String>] The price interval ids that this discount interval applies to.
754
1124
  #
755
1125
  # @param end_date [Time, nil] The end date of the discount interval.
756
1126
  #
1127
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter>] The filters that determine which prices this discount interval applies to.
1128
+ #
757
1129
  # @param start_date [Time] The start date of the discount interval.
758
1130
  #
759
1131
  # @param discount_type [Symbol, :amount]
1132
+
1133
+ class Filter < Orb::Internal::Type::BaseModel
1134
+ # @!attribute field
1135
+ # The property of the price to filter on.
1136
+ #
1137
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter::Field]
1138
+ required :field,
1139
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter::Field }
1140
+
1141
+ # @!attribute operator
1142
+ # Should prices that match the filter be included or excluded.
1143
+ #
1144
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter::Operator]
1145
+ required :operator,
1146
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter::Operator }
1147
+
1148
+ # @!attribute values
1149
+ # The IDs or values that match this filter.
1150
+ #
1151
+ # @return [Array<String>]
1152
+ required :values, Orb::Internal::Type::ArrayOf[String]
1153
+
1154
+ # @!method initialize(field:, operator:, values:)
1155
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter::Field] The property of the price to filter on.
1156
+ #
1157
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter::Operator] Should prices that match the filter be included or excluded.
1158
+ #
1159
+ # @param values [Array<String>] The IDs or values that match this filter.
1160
+
1161
+ # The property of the price to filter on.
1162
+ #
1163
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter#field
1164
+ module Field
1165
+ extend Orb::Internal::Type::Enum
1166
+
1167
+ PRICE_ID = :price_id
1168
+ ITEM_ID = :item_id
1169
+ PRICE_TYPE = :price_type
1170
+ CURRENCY = :currency
1171
+ PRICING_UNIT_ID = :pricing_unit_id
1172
+
1173
+ # @!method self.values
1174
+ # @return [Array<Symbol>]
1175
+ end
1176
+
1177
+ # Should prices that match the filter be included or excluded.
1178
+ #
1179
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Amount::Filter#operator
1180
+ module Operator
1181
+ extend Orb::Internal::Type::Enum
1182
+
1183
+ INCLUDES = :includes
1184
+ EXCLUDES = :excludes
1185
+
1186
+ # @!method self.values
1187
+ # @return [Array<Symbol>]
1188
+ end
1189
+ end
760
1190
  end
761
1191
 
762
1192
  class Percentage < Orb::Internal::Type::BaseModel
763
- # @!attribute applies_to_price_ids
764
- # The price ids that this discount interval applies to.
765
- #
766
- # @return [Array<String>]
767
- required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
768
-
769
1193
  # @!attribute applies_to_price_interval_ids
770
1194
  # The price interval ids that this discount interval applies to.
771
1195
  #
@@ -783,6 +1207,13 @@ module Orb
783
1207
  # @return [Time, nil]
784
1208
  required :end_date, Time, nil?: true
785
1209
 
1210
+ # @!attribute filters
1211
+ # The filters that determine which prices this discount interval applies to.
1212
+ #
1213
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter>]
1214
+ required :filters,
1215
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter] }
1216
+
786
1217
  # @!attribute percentage_discount
787
1218
  # Only available if discount_type is `percentage`.This is a number between 0
788
1219
  # and 1.
@@ -796,31 +1227,83 @@ module Orb
796
1227
  # @return [Time]
797
1228
  required :start_date, Time
798
1229
 
799
- # @!method initialize(applies_to_price_ids:, applies_to_price_interval_ids:, end_date:, percentage_discount:, start_date:, discount_type: :percentage)
1230
+ # @!method initialize(applies_to_price_interval_ids:, end_date:, filters:, percentage_discount:, start_date:, discount_type: :percentage)
800
1231
  # Some parameter documentations has been truncated, see
801
1232
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage}
802
1233
  # for more details.
803
1234
  #
804
- # @param applies_to_price_ids [Array<String>] The price ids that this discount interval applies to.
805
- #
806
1235
  # @param applies_to_price_interval_ids [Array<String>] The price interval ids that this discount interval applies to.
807
1236
  #
808
1237
  # @param end_date [Time, nil] The end date of the discount interval.
809
1238
  #
1239
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter>] The filters that determine which prices this discount interval applies to.
1240
+ #
810
1241
  # @param percentage_discount [Float] Only available if discount_type is `percentage`.This is a number between 0 and 1
811
1242
  #
812
1243
  # @param start_date [Time] The start date of the discount interval.
813
1244
  #
814
1245
  # @param discount_type [Symbol, :percentage]
1246
+
1247
+ class Filter < Orb::Internal::Type::BaseModel
1248
+ # @!attribute field
1249
+ # The property of the price to filter on.
1250
+ #
1251
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter::Field]
1252
+ required :field,
1253
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter::Field }
1254
+
1255
+ # @!attribute operator
1256
+ # Should prices that match the filter be included or excluded.
1257
+ #
1258
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter::Operator]
1259
+ required :operator,
1260
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter::Operator }
1261
+
1262
+ # @!attribute values
1263
+ # The IDs or values that match this filter.
1264
+ #
1265
+ # @return [Array<String>]
1266
+ required :values, Orb::Internal::Type::ArrayOf[String]
1267
+
1268
+ # @!method initialize(field:, operator:, values:)
1269
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter::Field] The property of the price to filter on.
1270
+ #
1271
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter::Operator] Should prices that match the filter be included or excluded.
1272
+ #
1273
+ # @param values [Array<String>] The IDs or values that match this filter.
1274
+
1275
+ # The property of the price to filter on.
1276
+ #
1277
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter#field
1278
+ module Field
1279
+ extend Orb::Internal::Type::Enum
1280
+
1281
+ PRICE_ID = :price_id
1282
+ ITEM_ID = :item_id
1283
+ PRICE_TYPE = :price_type
1284
+ CURRENCY = :currency
1285
+ PRICING_UNIT_ID = :pricing_unit_id
1286
+
1287
+ # @!method self.values
1288
+ # @return [Array<Symbol>]
1289
+ end
1290
+
1291
+ # Should prices that match the filter be included or excluded.
1292
+ #
1293
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Percentage::Filter#operator
1294
+ module Operator
1295
+ extend Orb::Internal::Type::Enum
1296
+
1297
+ INCLUDES = :includes
1298
+ EXCLUDES = :excludes
1299
+
1300
+ # @!method self.values
1301
+ # @return [Array<Symbol>]
1302
+ end
1303
+ end
815
1304
  end
816
1305
 
817
1306
  class Usage < Orb::Internal::Type::BaseModel
818
- # @!attribute applies_to_price_ids
819
- # The price ids that this discount interval applies to.
820
- #
821
- # @return [Array<String>]
822
- required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
823
-
824
1307
  # @!attribute applies_to_price_interval_ids
825
1308
  # The price interval ids that this discount interval applies to.
826
1309
  #
@@ -838,6 +1321,13 @@ module Orb
838
1321
  # @return [Time, nil]
839
1322
  required :end_date, Time, nil?: true
840
1323
 
1324
+ # @!attribute filters
1325
+ # The filters that determine which prices this discount interval applies to.
1326
+ #
1327
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter>]
1328
+ required :filters,
1329
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter] }
1330
+
841
1331
  # @!attribute start_date
842
1332
  # The start date of the discount interval.
843
1333
  #
@@ -851,22 +1341,80 @@ module Orb
851
1341
  # @return [Float]
852
1342
  required :usage_discount, Float
853
1343
 
854
- # @!method initialize(applies_to_price_ids:, applies_to_price_interval_ids:, end_date:, start_date:, usage_discount:, discount_type: :usage)
1344
+ # @!method initialize(applies_to_price_interval_ids:, end_date:, filters:, start_date:, usage_discount:, discount_type: :usage)
855
1345
  # Some parameter documentations has been truncated, see
856
1346
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage}
857
1347
  # for more details.
858
1348
  #
859
- # @param applies_to_price_ids [Array<String>] The price ids that this discount interval applies to.
860
- #
861
1349
  # @param applies_to_price_interval_ids [Array<String>] The price interval ids that this discount interval applies to.
862
1350
  #
863
1351
  # @param end_date [Time, nil] The end date of the discount interval.
864
1352
  #
1353
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter>] The filters that determine which prices this discount interval applies to.
1354
+ #
865
1355
  # @param start_date [Time] The start date of the discount interval.
866
1356
  #
867
1357
  # @param usage_discount [Float] Only available if discount_type is `usage`. Number of usage units that this disc
868
1358
  #
869
1359
  # @param discount_type [Symbol, :usage]
1360
+
1361
+ class Filter < Orb::Internal::Type::BaseModel
1362
+ # @!attribute field
1363
+ # The property of the price to filter on.
1364
+ #
1365
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter::Field]
1366
+ required :field,
1367
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter::Field }
1368
+
1369
+ # @!attribute operator
1370
+ # Should prices that match the filter be included or excluded.
1371
+ #
1372
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter::Operator]
1373
+ required :operator,
1374
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter::Operator }
1375
+
1376
+ # @!attribute values
1377
+ # The IDs or values that match this filter.
1378
+ #
1379
+ # @return [Array<String>]
1380
+ required :values, Orb::Internal::Type::ArrayOf[String]
1381
+
1382
+ # @!method initialize(field:, operator:, values:)
1383
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter::Field] The property of the price to filter on.
1384
+ #
1385
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter::Operator] Should prices that match the filter be included or excluded.
1386
+ #
1387
+ # @param values [Array<String>] The IDs or values that match this filter.
1388
+
1389
+ # The property of the price to filter on.
1390
+ #
1391
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter#field
1392
+ module Field
1393
+ extend Orb::Internal::Type::Enum
1394
+
1395
+ PRICE_ID = :price_id
1396
+ ITEM_ID = :item_id
1397
+ PRICE_TYPE = :price_type
1398
+ CURRENCY = :currency
1399
+ PRICING_UNIT_ID = :pricing_unit_id
1400
+
1401
+ # @!method self.values
1402
+ # @return [Array<Symbol>]
1403
+ end
1404
+
1405
+ # Should prices that match the filter be included or excluded.
1406
+ #
1407
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::Usage::Filter#operator
1408
+ module Operator
1409
+ extend Orb::Internal::Type::Enum
1410
+
1411
+ INCLUDES = :includes
1412
+ EXCLUDES = :excludes
1413
+
1414
+ # @!method self.values
1415
+ # @return [Array<Symbol>]
1416
+ end
1417
+ end
870
1418
  end
871
1419
 
872
1420
  # @!method self.variants
@@ -902,12 +1450,6 @@ module Orb
902
1450
  end
903
1451
 
904
1452
  class MaximumInterval < Orb::Internal::Type::BaseModel
905
- # @!attribute applies_to_price_ids
906
- # The price ids that this maximum interval applies to.
907
- #
908
- # @return [Array<String>]
909
- required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
910
-
911
1453
  # @!attribute applies_to_price_interval_ids
912
1454
  # The price interval ids that this maximum interval applies to.
913
1455
  #
@@ -920,6 +1462,13 @@ module Orb
920
1462
  # @return [Time, nil]
921
1463
  required :end_date, Time, nil?: true
922
1464
 
1465
+ # @!attribute filters
1466
+ # The filters that determine which prices this maximum interval applies to.
1467
+ #
1468
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter>]
1469
+ required :filters,
1470
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter] }
1471
+
923
1472
  # @!attribute maximum_amount
924
1473
  # The maximum amount to charge in a given billing period for the price intervals
925
1474
  # this transform applies to.
@@ -933,29 +1482,81 @@ module Orb
933
1482
  # @return [Time]
934
1483
  required :start_date, Time
935
1484
 
936
- # @!method initialize(applies_to_price_ids:, applies_to_price_interval_ids:, end_date:, maximum_amount:, start_date:)
1485
+ # @!method initialize(applies_to_price_interval_ids:, end_date:, filters:, maximum_amount:, start_date:)
937
1486
  # Some parameter documentations has been truncated, see
938
1487
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval} for
939
1488
  # more details.
940
1489
  #
941
- # @param applies_to_price_ids [Array<String>] The price ids that this maximum interval applies to.
942
- #
943
1490
  # @param applies_to_price_interval_ids [Array<String>] The price interval ids that this maximum interval applies to.
944
1491
  #
945
1492
  # @param end_date [Time, nil] The end date of the maximum interval.
946
1493
  #
1494
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter>] The filters that determine which prices this maximum interval applies to.
1495
+ #
947
1496
  # @param maximum_amount [String] The maximum amount to charge in a given billing period for the price intervals t
948
1497
  #
949
1498
  # @param start_date [Time] The start date of the maximum interval.
1499
+
1500
+ class Filter < Orb::Internal::Type::BaseModel
1501
+ # @!attribute field
1502
+ # The property of the price to filter on.
1503
+ #
1504
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter::Field]
1505
+ required :field,
1506
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter::Field }
1507
+
1508
+ # @!attribute operator
1509
+ # Should prices that match the filter be included or excluded.
1510
+ #
1511
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter::Operator]
1512
+ required :operator,
1513
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter::Operator }
1514
+
1515
+ # @!attribute values
1516
+ # The IDs or values that match this filter.
1517
+ #
1518
+ # @return [Array<String>]
1519
+ required :values, Orb::Internal::Type::ArrayOf[String]
1520
+
1521
+ # @!method initialize(field:, operator:, values:)
1522
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter::Field] The property of the price to filter on.
1523
+ #
1524
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter::Operator] Should prices that match the filter be included or excluded.
1525
+ #
1526
+ # @param values [Array<String>] The IDs or values that match this filter.
1527
+
1528
+ # The property of the price to filter on.
1529
+ #
1530
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter#field
1531
+ module Field
1532
+ extend Orb::Internal::Type::Enum
1533
+
1534
+ PRICE_ID = :price_id
1535
+ ITEM_ID = :item_id
1536
+ PRICE_TYPE = :price_type
1537
+ CURRENCY = :currency
1538
+ PRICING_UNIT_ID = :pricing_unit_id
1539
+
1540
+ # @!method self.values
1541
+ # @return [Array<Symbol>]
1542
+ end
1543
+
1544
+ # Should prices that match the filter be included or excluded.
1545
+ #
1546
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval::Filter#operator
1547
+ module Operator
1548
+ extend Orb::Internal::Type::Enum
1549
+
1550
+ INCLUDES = :includes
1551
+ EXCLUDES = :excludes
1552
+
1553
+ # @!method self.values
1554
+ # @return [Array<Symbol>]
1555
+ end
1556
+ end
950
1557
  end
951
1558
 
952
1559
  class MinimumInterval < Orb::Internal::Type::BaseModel
953
- # @!attribute applies_to_price_ids
954
- # The price ids that this minimum interval applies to.
955
- #
956
- # @return [Array<String>]
957
- required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
958
-
959
1560
  # @!attribute applies_to_price_interval_ids
960
1561
  # The price interval ids that this minimum interval applies to.
961
1562
  #
@@ -968,6 +1569,13 @@ module Orb
968
1569
  # @return [Time, nil]
969
1570
  required :end_date, Time, nil?: true
970
1571
 
1572
+ # @!attribute filters
1573
+ # The filters that determine which prices this minimum interval applies to.
1574
+ #
1575
+ # @return [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter>]
1576
+ required :filters,
1577
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter] }
1578
+
971
1579
  # @!attribute minimum_amount
972
1580
  # The minimum amount to charge in a given billing period for the price intervals
973
1581
  # this minimum applies to.
@@ -981,20 +1589,78 @@ module Orb
981
1589
  # @return [Time]
982
1590
  required :start_date, Time
983
1591
 
984
- # @!method initialize(applies_to_price_ids:, applies_to_price_interval_ids:, end_date:, minimum_amount:, start_date:)
1592
+ # @!method initialize(applies_to_price_interval_ids:, end_date:, filters:, minimum_amount:, start_date:)
985
1593
  # Some parameter documentations has been truncated, see
986
1594
  # {Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval} for
987
1595
  # more details.
988
1596
  #
989
- # @param applies_to_price_ids [Array<String>] The price ids that this minimum interval applies to.
990
- #
991
1597
  # @param applies_to_price_interval_ids [Array<String>] The price interval ids that this minimum interval applies to.
992
1598
  #
993
1599
  # @param end_date [Time, nil] The end date of the minimum interval.
994
1600
  #
1601
+ # @param filters [Array<Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter>] The filters that determine which prices this minimum interval applies to.
1602
+ #
995
1603
  # @param minimum_amount [String] The minimum amount to charge in a given billing period for the price intervals t
996
1604
  #
997
1605
  # @param start_date [Time] The start date of the minimum interval.
1606
+
1607
+ class Filter < Orb::Internal::Type::BaseModel
1608
+ # @!attribute field
1609
+ # The property of the price to filter on.
1610
+ #
1611
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter::Field]
1612
+ required :field,
1613
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter::Field }
1614
+
1615
+ # @!attribute operator
1616
+ # Should prices that match the filter be included or excluded.
1617
+ #
1618
+ # @return [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter::Operator]
1619
+ required :operator,
1620
+ enum: -> { Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter::Operator }
1621
+
1622
+ # @!attribute values
1623
+ # The IDs or values that match this filter.
1624
+ #
1625
+ # @return [Array<String>]
1626
+ required :values, Orb::Internal::Type::ArrayOf[String]
1627
+
1628
+ # @!method initialize(field:, operator:, values:)
1629
+ # @param field [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter::Field] The property of the price to filter on.
1630
+ #
1631
+ # @param operator [Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter::Operator] Should prices that match the filter be included or excluded.
1632
+ #
1633
+ # @param values [Array<String>] The IDs or values that match this filter.
1634
+
1635
+ # The property of the price to filter on.
1636
+ #
1637
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter#field
1638
+ module Field
1639
+ extend Orb::Internal::Type::Enum
1640
+
1641
+ PRICE_ID = :price_id
1642
+ ITEM_ID = :item_id
1643
+ PRICE_TYPE = :price_type
1644
+ CURRENCY = :currency
1645
+ PRICING_UNIT_ID = :pricing_unit_id
1646
+
1647
+ # @!method self.values
1648
+ # @return [Array<Symbol>]
1649
+ end
1650
+
1651
+ # Should prices that match the filter be included or excluded.
1652
+ #
1653
+ # @see Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval::Filter#operator
1654
+ module Operator
1655
+ extend Orb::Internal::Type::Enum
1656
+
1657
+ INCLUDES = :includes
1658
+ EXCLUDES = :excludes
1659
+
1660
+ # @!method self.values
1661
+ # @return [Array<Symbol>]
1662
+ end
1663
+ end
998
1664
  end
999
1665
 
1000
1666
  # @see Orb::Models::SubscriptionUnscheduleCancellationResponse#pending_subscription_change