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
@@ -146,6 +146,7 @@ module Orb
146
146
  id: String,
147
147
  adjustment_type: :usage_discount,
148
148
  applies_to_price_ids: ::Array[String],
149
+ filters: ::Array[Orb::Plan::Adjustment::UsageDiscount::Filter],
149
150
  is_invoice_level: bool,
150
151
  plan_phase_order: Integer?,
151
152
  reason: String?,
@@ -159,6 +160,8 @@ module Orb
159
160
 
160
161
  attr_accessor applies_to_price_ids: ::Array[String]
161
162
 
163
+ attr_accessor filters: ::Array[Orb::Plan::Adjustment::UsageDiscount::Filter]
164
+
162
165
  attr_accessor is_invoice_level: bool
163
166
 
164
167
  attr_accessor plan_phase_order: Integer?
@@ -170,6 +173,7 @@ module Orb
170
173
  def initialize: (
171
174
  id: String,
172
175
  applies_to_price_ids: ::Array[String],
176
+ filters: ::Array[Orb::Plan::Adjustment::UsageDiscount::Filter],
173
177
  is_invoice_level: bool,
174
178
  plan_phase_order: Integer?,
175
179
  reason: String?,
@@ -181,11 +185,65 @@ module Orb
181
185
  id: String,
182
186
  adjustment_type: :usage_discount,
183
187
  applies_to_price_ids: ::Array[String],
188
+ filters: ::Array[Orb::Plan::Adjustment::UsageDiscount::Filter],
184
189
  is_invoice_level: bool,
185
190
  plan_phase_order: Integer?,
186
191
  reason: String?,
187
192
  usage_discount: Float
188
193
  }
194
+
195
+ type filter =
196
+ {
197
+ field: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::field,
198
+ operator: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::operator,
199
+ values: ::Array[String]
200
+ }
201
+
202
+ class Filter < Orb::Internal::Type::BaseModel
203
+ attr_accessor field: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::field
204
+
205
+ attr_accessor operator: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::operator
206
+
207
+ attr_accessor values: ::Array[String]
208
+
209
+ def initialize: (
210
+ field: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::field,
211
+ operator: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::operator,
212
+ values: ::Array[String]
213
+ ) -> void
214
+
215
+ def to_hash: -> {
216
+ field: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::field,
217
+ operator: Orb::Models::Plan::Adjustment::UsageDiscount::Filter::operator,
218
+ values: ::Array[String]
219
+ }
220
+
221
+ type field =
222
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
223
+
224
+ module Field
225
+ extend Orb::Internal::Type::Enum
226
+
227
+ PRICE_ID: :price_id
228
+ ITEM_ID: :item_id
229
+ PRICE_TYPE: :price_type
230
+ CURRENCY: :currency
231
+ PRICING_UNIT_ID: :pricing_unit_id
232
+
233
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::UsageDiscount::Filter::field]
234
+ end
235
+
236
+ type operator = :includes | :excludes
237
+
238
+ module Operator
239
+ extend Orb::Internal::Type::Enum
240
+
241
+ INCLUDES: :includes
242
+ EXCLUDES: :excludes
243
+
244
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::UsageDiscount::Filter::operator]
245
+ end
246
+ end
189
247
  end
190
248
 
191
249
  type amount_discount =
@@ -194,6 +252,7 @@ module Orb
194
252
  adjustment_type: :amount_discount,
195
253
  amount_discount: String,
196
254
  applies_to_price_ids: ::Array[String],
255
+ filters: ::Array[Orb::Plan::Adjustment::AmountDiscount::Filter],
197
256
  is_invoice_level: bool,
198
257
  plan_phase_order: Integer?,
199
258
  reason: String?
@@ -208,6 +267,8 @@ module Orb
208
267
 
209
268
  attr_accessor applies_to_price_ids: ::Array[String]
210
269
 
270
+ attr_accessor filters: ::Array[Orb::Plan::Adjustment::AmountDiscount::Filter]
271
+
211
272
  attr_accessor is_invoice_level: bool
212
273
 
213
274
  attr_accessor plan_phase_order: Integer?
@@ -218,6 +279,7 @@ module Orb
218
279
  id: String,
219
280
  amount_discount: String,
220
281
  applies_to_price_ids: ::Array[String],
282
+ filters: ::Array[Orb::Plan::Adjustment::AmountDiscount::Filter],
221
283
  is_invoice_level: bool,
222
284
  plan_phase_order: Integer?,
223
285
  reason: String?,
@@ -229,10 +291,64 @@ module Orb
229
291
  adjustment_type: :amount_discount,
230
292
  amount_discount: String,
231
293
  applies_to_price_ids: ::Array[String],
294
+ filters: ::Array[Orb::Plan::Adjustment::AmountDiscount::Filter],
232
295
  is_invoice_level: bool,
233
296
  plan_phase_order: Integer?,
234
297
  reason: String?
235
298
  }
299
+
300
+ type filter =
301
+ {
302
+ field: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::field,
303
+ operator: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::operator,
304
+ values: ::Array[String]
305
+ }
306
+
307
+ class Filter < Orb::Internal::Type::BaseModel
308
+ attr_accessor field: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::field
309
+
310
+ attr_accessor operator: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::operator
311
+
312
+ attr_accessor values: ::Array[String]
313
+
314
+ def initialize: (
315
+ field: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::field,
316
+ operator: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::operator,
317
+ values: ::Array[String]
318
+ ) -> void
319
+
320
+ def to_hash: -> {
321
+ field: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::field,
322
+ operator: Orb::Models::Plan::Adjustment::AmountDiscount::Filter::operator,
323
+ values: ::Array[String]
324
+ }
325
+
326
+ type field =
327
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
328
+
329
+ module Field
330
+ extend Orb::Internal::Type::Enum
331
+
332
+ PRICE_ID: :price_id
333
+ ITEM_ID: :item_id
334
+ PRICE_TYPE: :price_type
335
+ CURRENCY: :currency
336
+ PRICING_UNIT_ID: :pricing_unit_id
337
+
338
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::AmountDiscount::Filter::field]
339
+ end
340
+
341
+ type operator = :includes | :excludes
342
+
343
+ module Operator
344
+ extend Orb::Internal::Type::Enum
345
+
346
+ INCLUDES: :includes
347
+ EXCLUDES: :excludes
348
+
349
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::AmountDiscount::Filter::operator]
350
+ end
351
+ end
236
352
  end
237
353
 
238
354
  type percentage_discount =
@@ -240,6 +356,7 @@ module Orb
240
356
  id: String,
241
357
  adjustment_type: :percentage_discount,
242
358
  applies_to_price_ids: ::Array[String],
359
+ filters: ::Array[Orb::Plan::Adjustment::PercentageDiscount::Filter],
243
360
  is_invoice_level: bool,
244
361
  percentage_discount: Float,
245
362
  plan_phase_order: Integer?,
@@ -253,6 +370,8 @@ module Orb
253
370
 
254
371
  attr_accessor applies_to_price_ids: ::Array[String]
255
372
 
373
+ attr_accessor filters: ::Array[Orb::Plan::Adjustment::PercentageDiscount::Filter]
374
+
256
375
  attr_accessor is_invoice_level: bool
257
376
 
258
377
  attr_accessor percentage_discount: Float
@@ -264,6 +383,7 @@ module Orb
264
383
  def initialize: (
265
384
  id: String,
266
385
  applies_to_price_ids: ::Array[String],
386
+ filters: ::Array[Orb::Plan::Adjustment::PercentageDiscount::Filter],
267
387
  is_invoice_level: bool,
268
388
  percentage_discount: Float,
269
389
  plan_phase_order: Integer?,
@@ -275,11 +395,65 @@ module Orb
275
395
  id: String,
276
396
  adjustment_type: :percentage_discount,
277
397
  applies_to_price_ids: ::Array[String],
398
+ filters: ::Array[Orb::Plan::Adjustment::PercentageDiscount::Filter],
278
399
  is_invoice_level: bool,
279
400
  percentage_discount: Float,
280
401
  plan_phase_order: Integer?,
281
402
  reason: String?
282
403
  }
404
+
405
+ type filter =
406
+ {
407
+ field: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::field,
408
+ operator: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::operator,
409
+ values: ::Array[String]
410
+ }
411
+
412
+ class Filter < Orb::Internal::Type::BaseModel
413
+ attr_accessor field: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::field
414
+
415
+ attr_accessor operator: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::operator
416
+
417
+ attr_accessor values: ::Array[String]
418
+
419
+ def initialize: (
420
+ field: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::field,
421
+ operator: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::operator,
422
+ values: ::Array[String]
423
+ ) -> void
424
+
425
+ def to_hash: -> {
426
+ field: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::field,
427
+ operator: Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::operator,
428
+ values: ::Array[String]
429
+ }
430
+
431
+ type field =
432
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
433
+
434
+ module Field
435
+ extend Orb::Internal::Type::Enum
436
+
437
+ PRICE_ID: :price_id
438
+ ITEM_ID: :item_id
439
+ PRICE_TYPE: :price_type
440
+ CURRENCY: :currency
441
+ PRICING_UNIT_ID: :pricing_unit_id
442
+
443
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::field]
444
+ end
445
+
446
+ type operator = :includes | :excludes
447
+
448
+ module Operator
449
+ extend Orb::Internal::Type::Enum
450
+
451
+ INCLUDES: :includes
452
+ EXCLUDES: :excludes
453
+
454
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::PercentageDiscount::Filter::operator]
455
+ end
456
+ end
283
457
  end
284
458
 
285
459
  type minimum =
@@ -287,6 +461,7 @@ module Orb
287
461
  id: String,
288
462
  adjustment_type: :minimum,
289
463
  applies_to_price_ids: ::Array[String],
464
+ filters: ::Array[Orb::Plan::Adjustment::Minimum::Filter],
290
465
  is_invoice_level: bool,
291
466
  item_id: String,
292
467
  minimum_amount: String,
@@ -301,6 +476,8 @@ module Orb
301
476
 
302
477
  attr_accessor applies_to_price_ids: ::Array[String]
303
478
 
479
+ attr_accessor filters: ::Array[Orb::Plan::Adjustment::Minimum::Filter]
480
+
304
481
  attr_accessor is_invoice_level: bool
305
482
 
306
483
  attr_accessor item_id: String
@@ -314,6 +491,7 @@ module Orb
314
491
  def initialize: (
315
492
  id: String,
316
493
  applies_to_price_ids: ::Array[String],
494
+ filters: ::Array[Orb::Plan::Adjustment::Minimum::Filter],
317
495
  is_invoice_level: bool,
318
496
  item_id: String,
319
497
  minimum_amount: String,
@@ -326,12 +504,66 @@ module Orb
326
504
  id: String,
327
505
  adjustment_type: :minimum,
328
506
  applies_to_price_ids: ::Array[String],
507
+ filters: ::Array[Orb::Plan::Adjustment::Minimum::Filter],
329
508
  is_invoice_level: bool,
330
509
  item_id: String,
331
510
  minimum_amount: String,
332
511
  plan_phase_order: Integer?,
333
512
  reason: String?
334
513
  }
514
+
515
+ type filter =
516
+ {
517
+ field: Orb::Models::Plan::Adjustment::Minimum::Filter::field,
518
+ operator: Orb::Models::Plan::Adjustment::Minimum::Filter::operator,
519
+ values: ::Array[String]
520
+ }
521
+
522
+ class Filter < Orb::Internal::Type::BaseModel
523
+ attr_accessor field: Orb::Models::Plan::Adjustment::Minimum::Filter::field
524
+
525
+ attr_accessor operator: Orb::Models::Plan::Adjustment::Minimum::Filter::operator
526
+
527
+ attr_accessor values: ::Array[String]
528
+
529
+ def initialize: (
530
+ field: Orb::Models::Plan::Adjustment::Minimum::Filter::field,
531
+ operator: Orb::Models::Plan::Adjustment::Minimum::Filter::operator,
532
+ values: ::Array[String]
533
+ ) -> void
534
+
535
+ def to_hash: -> {
536
+ field: Orb::Models::Plan::Adjustment::Minimum::Filter::field,
537
+ operator: Orb::Models::Plan::Adjustment::Minimum::Filter::operator,
538
+ values: ::Array[String]
539
+ }
540
+
541
+ type field =
542
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
543
+
544
+ module Field
545
+ extend Orb::Internal::Type::Enum
546
+
547
+ PRICE_ID: :price_id
548
+ ITEM_ID: :item_id
549
+ PRICE_TYPE: :price_type
550
+ CURRENCY: :currency
551
+ PRICING_UNIT_ID: :pricing_unit_id
552
+
553
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::Minimum::Filter::field]
554
+ end
555
+
556
+ type operator = :includes | :excludes
557
+
558
+ module Operator
559
+ extend Orb::Internal::Type::Enum
560
+
561
+ INCLUDES: :includes
562
+ EXCLUDES: :excludes
563
+
564
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::Minimum::Filter::operator]
565
+ end
566
+ end
335
567
  end
336
568
 
337
569
  type maximum =
@@ -339,6 +571,7 @@ module Orb
339
571
  id: String,
340
572
  adjustment_type: :maximum,
341
573
  applies_to_price_ids: ::Array[String],
574
+ filters: ::Array[Orb::Plan::Adjustment::Maximum::Filter],
342
575
  is_invoice_level: bool,
343
576
  maximum_amount: String,
344
577
  plan_phase_order: Integer?,
@@ -352,6 +585,8 @@ module Orb
352
585
 
353
586
  attr_accessor applies_to_price_ids: ::Array[String]
354
587
 
588
+ attr_accessor filters: ::Array[Orb::Plan::Adjustment::Maximum::Filter]
589
+
355
590
  attr_accessor is_invoice_level: bool
356
591
 
357
592
  attr_accessor maximum_amount: String
@@ -363,6 +598,7 @@ module Orb
363
598
  def initialize: (
364
599
  id: String,
365
600
  applies_to_price_ids: ::Array[String],
601
+ filters: ::Array[Orb::Plan::Adjustment::Maximum::Filter],
366
602
  is_invoice_level: bool,
367
603
  maximum_amount: String,
368
604
  plan_phase_order: Integer?,
@@ -374,11 +610,65 @@ module Orb
374
610
  id: String,
375
611
  adjustment_type: :maximum,
376
612
  applies_to_price_ids: ::Array[String],
613
+ filters: ::Array[Orb::Plan::Adjustment::Maximum::Filter],
377
614
  is_invoice_level: bool,
378
615
  maximum_amount: String,
379
616
  plan_phase_order: Integer?,
380
617
  reason: String?
381
618
  }
619
+
620
+ type filter =
621
+ {
622
+ field: Orb::Models::Plan::Adjustment::Maximum::Filter::field,
623
+ operator: Orb::Models::Plan::Adjustment::Maximum::Filter::operator,
624
+ values: ::Array[String]
625
+ }
626
+
627
+ class Filter < Orb::Internal::Type::BaseModel
628
+ attr_accessor field: Orb::Models::Plan::Adjustment::Maximum::Filter::field
629
+
630
+ attr_accessor operator: Orb::Models::Plan::Adjustment::Maximum::Filter::operator
631
+
632
+ attr_accessor values: ::Array[String]
633
+
634
+ def initialize: (
635
+ field: Orb::Models::Plan::Adjustment::Maximum::Filter::field,
636
+ operator: Orb::Models::Plan::Adjustment::Maximum::Filter::operator,
637
+ values: ::Array[String]
638
+ ) -> void
639
+
640
+ def to_hash: -> {
641
+ field: Orb::Models::Plan::Adjustment::Maximum::Filter::field,
642
+ operator: Orb::Models::Plan::Adjustment::Maximum::Filter::operator,
643
+ values: ::Array[String]
644
+ }
645
+
646
+ type field =
647
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
648
+
649
+ module Field
650
+ extend Orb::Internal::Type::Enum
651
+
652
+ PRICE_ID: :price_id
653
+ ITEM_ID: :item_id
654
+ PRICE_TYPE: :price_type
655
+ CURRENCY: :currency
656
+ PRICING_UNIT_ID: :pricing_unit_id
657
+
658
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::Maximum::Filter::field]
659
+ end
660
+
661
+ type operator = :includes | :excludes
662
+
663
+ module Operator
664
+ extend Orb::Internal::Type::Enum
665
+
666
+ INCLUDES: :includes
667
+ EXCLUDES: :excludes
668
+
669
+ def self?.values: -> ::Array[Orb::Models::Plan::Adjustment::Maximum::Filter::operator]
670
+ end
671
+ end
382
672
  end
383
673
 
384
674
  def self?.variants: -> ::Array[Orb::Models::Plan::adjustment]
@@ -407,41 +697,163 @@ module Orb
407
697
  end
408
698
 
409
699
  type maximum =
410
- { applies_to_price_ids: ::Array[String], maximum_amount: String }
700
+ {
701
+ applies_to_price_ids: ::Array[String],
702
+ filters: ::Array[Orb::Plan::Maximum::Filter],
703
+ maximum_amount: String
704
+ }
411
705
 
412
706
  class Maximum < Orb::Internal::Type::BaseModel
413
707
  attr_accessor applies_to_price_ids: ::Array[String]
414
708
 
709
+ attr_accessor filters: ::Array[Orb::Plan::Maximum::Filter]
710
+
415
711
  attr_accessor maximum_amount: String
416
712
 
417
713
  def initialize: (
418
714
  applies_to_price_ids: ::Array[String],
715
+ filters: ::Array[Orb::Plan::Maximum::Filter],
419
716
  maximum_amount: String
420
717
  ) -> void
421
718
 
422
719
  def to_hash: -> {
423
720
  applies_to_price_ids: ::Array[String],
721
+ filters: ::Array[Orb::Plan::Maximum::Filter],
424
722
  maximum_amount: String
425
723
  }
724
+
725
+ type filter =
726
+ {
727
+ field: Orb::Models::Plan::Maximum::Filter::field,
728
+ operator: Orb::Models::Plan::Maximum::Filter::operator,
729
+ values: ::Array[String]
730
+ }
731
+
732
+ class Filter < Orb::Internal::Type::BaseModel
733
+ attr_accessor field: Orb::Models::Plan::Maximum::Filter::field
734
+
735
+ attr_accessor operator: Orb::Models::Plan::Maximum::Filter::operator
736
+
737
+ attr_accessor values: ::Array[String]
738
+
739
+ def initialize: (
740
+ field: Orb::Models::Plan::Maximum::Filter::field,
741
+ operator: Orb::Models::Plan::Maximum::Filter::operator,
742
+ values: ::Array[String]
743
+ ) -> void
744
+
745
+ def to_hash: -> {
746
+ field: Orb::Models::Plan::Maximum::Filter::field,
747
+ operator: Orb::Models::Plan::Maximum::Filter::operator,
748
+ values: ::Array[String]
749
+ }
750
+
751
+ type field =
752
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
753
+
754
+ module Field
755
+ extend Orb::Internal::Type::Enum
756
+
757
+ PRICE_ID: :price_id
758
+ ITEM_ID: :item_id
759
+ PRICE_TYPE: :price_type
760
+ CURRENCY: :currency
761
+ PRICING_UNIT_ID: :pricing_unit_id
762
+
763
+ def self?.values: -> ::Array[Orb::Models::Plan::Maximum::Filter::field]
764
+ end
765
+
766
+ type operator = :includes | :excludes
767
+
768
+ module Operator
769
+ extend Orb::Internal::Type::Enum
770
+
771
+ INCLUDES: :includes
772
+ EXCLUDES: :excludes
773
+
774
+ def self?.values: -> ::Array[Orb::Models::Plan::Maximum::Filter::operator]
775
+ end
776
+ end
426
777
  end
427
778
 
428
779
  type minimum =
429
- { applies_to_price_ids: ::Array[String], minimum_amount: String }
780
+ {
781
+ applies_to_price_ids: ::Array[String],
782
+ filters: ::Array[Orb::Plan::Minimum::Filter],
783
+ minimum_amount: String
784
+ }
430
785
 
431
786
  class Minimum < Orb::Internal::Type::BaseModel
432
787
  attr_accessor applies_to_price_ids: ::Array[String]
433
788
 
789
+ attr_accessor filters: ::Array[Orb::Plan::Minimum::Filter]
790
+
434
791
  attr_accessor minimum_amount: String
435
792
 
436
793
  def initialize: (
437
794
  applies_to_price_ids: ::Array[String],
795
+ filters: ::Array[Orb::Plan::Minimum::Filter],
438
796
  minimum_amount: String
439
797
  ) -> void
440
798
 
441
799
  def to_hash: -> {
442
800
  applies_to_price_ids: ::Array[String],
801
+ filters: ::Array[Orb::Plan::Minimum::Filter],
443
802
  minimum_amount: String
444
803
  }
804
+
805
+ type filter =
806
+ {
807
+ field: Orb::Models::Plan::Minimum::Filter::field,
808
+ operator: Orb::Models::Plan::Minimum::Filter::operator,
809
+ values: ::Array[String]
810
+ }
811
+
812
+ class Filter < Orb::Internal::Type::BaseModel
813
+ attr_accessor field: Orb::Models::Plan::Minimum::Filter::field
814
+
815
+ attr_accessor operator: Orb::Models::Plan::Minimum::Filter::operator
816
+
817
+ attr_accessor values: ::Array[String]
818
+
819
+ def initialize: (
820
+ field: Orb::Models::Plan::Minimum::Filter::field,
821
+ operator: Orb::Models::Plan::Minimum::Filter::operator,
822
+ values: ::Array[String]
823
+ ) -> void
824
+
825
+ def to_hash: -> {
826
+ field: Orb::Models::Plan::Minimum::Filter::field,
827
+ operator: Orb::Models::Plan::Minimum::Filter::operator,
828
+ values: ::Array[String]
829
+ }
830
+
831
+ type field =
832
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
833
+
834
+ module Field
835
+ extend Orb::Internal::Type::Enum
836
+
837
+ PRICE_ID: :price_id
838
+ ITEM_ID: :item_id
839
+ PRICE_TYPE: :price_type
840
+ CURRENCY: :currency
841
+ PRICING_UNIT_ID: :pricing_unit_id
842
+
843
+ def self?.values: -> ::Array[Orb::Models::Plan::Minimum::Filter::field]
844
+ end
845
+
846
+ type operator = :includes | :excludes
847
+
848
+ module Operator
849
+ extend Orb::Internal::Type::Enum
850
+
851
+ INCLUDES: :includes
852
+ EXCLUDES: :excludes
853
+
854
+ def self?.values: -> ::Array[Orb::Models::Plan::Minimum::Filter::operator]
855
+ end
856
+ end
445
857
  end
446
858
 
447
859
  type plan_phase =
@@ -526,41 +938,163 @@ module Orb
526
938
  end
527
939
 
528
940
  type maximum =
529
- { applies_to_price_ids: ::Array[String], maximum_amount: String }
941
+ {
942
+ applies_to_price_ids: ::Array[String],
943
+ filters: ::Array[Orb::Plan::PlanPhase::Maximum::Filter],
944
+ maximum_amount: String
945
+ }
530
946
 
531
947
  class Maximum < Orb::Internal::Type::BaseModel
532
948
  attr_accessor applies_to_price_ids: ::Array[String]
533
949
 
950
+ attr_accessor filters: ::Array[Orb::Plan::PlanPhase::Maximum::Filter]
951
+
534
952
  attr_accessor maximum_amount: String
535
953
 
536
954
  def initialize: (
537
955
  applies_to_price_ids: ::Array[String],
956
+ filters: ::Array[Orb::Plan::PlanPhase::Maximum::Filter],
538
957
  maximum_amount: String
539
958
  ) -> void
540
959
 
541
960
  def to_hash: -> {
542
961
  applies_to_price_ids: ::Array[String],
962
+ filters: ::Array[Orb::Plan::PlanPhase::Maximum::Filter],
543
963
  maximum_amount: String
544
964
  }
965
+
966
+ type filter =
967
+ {
968
+ field: Orb::Models::Plan::PlanPhase::Maximum::Filter::field,
969
+ operator: Orb::Models::Plan::PlanPhase::Maximum::Filter::operator,
970
+ values: ::Array[String]
971
+ }
972
+
973
+ class Filter < Orb::Internal::Type::BaseModel
974
+ attr_accessor field: Orb::Models::Plan::PlanPhase::Maximum::Filter::field
975
+
976
+ attr_accessor operator: Orb::Models::Plan::PlanPhase::Maximum::Filter::operator
977
+
978
+ attr_accessor values: ::Array[String]
979
+
980
+ def initialize: (
981
+ field: Orb::Models::Plan::PlanPhase::Maximum::Filter::field,
982
+ operator: Orb::Models::Plan::PlanPhase::Maximum::Filter::operator,
983
+ values: ::Array[String]
984
+ ) -> void
985
+
986
+ def to_hash: -> {
987
+ field: Orb::Models::Plan::PlanPhase::Maximum::Filter::field,
988
+ operator: Orb::Models::Plan::PlanPhase::Maximum::Filter::operator,
989
+ values: ::Array[String]
990
+ }
991
+
992
+ type field =
993
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
994
+
995
+ module Field
996
+ extend Orb::Internal::Type::Enum
997
+
998
+ PRICE_ID: :price_id
999
+ ITEM_ID: :item_id
1000
+ PRICE_TYPE: :price_type
1001
+ CURRENCY: :currency
1002
+ PRICING_UNIT_ID: :pricing_unit_id
1003
+
1004
+ def self?.values: -> ::Array[Orb::Models::Plan::PlanPhase::Maximum::Filter::field]
1005
+ end
1006
+
1007
+ type operator = :includes | :excludes
1008
+
1009
+ module Operator
1010
+ extend Orb::Internal::Type::Enum
1011
+
1012
+ INCLUDES: :includes
1013
+ EXCLUDES: :excludes
1014
+
1015
+ def self?.values: -> ::Array[Orb::Models::Plan::PlanPhase::Maximum::Filter::operator]
1016
+ end
1017
+ end
545
1018
  end
546
1019
 
547
1020
  type minimum =
548
- { applies_to_price_ids: ::Array[String], minimum_amount: String }
1021
+ {
1022
+ applies_to_price_ids: ::Array[String],
1023
+ filters: ::Array[Orb::Plan::PlanPhase::Minimum::Filter],
1024
+ minimum_amount: String
1025
+ }
549
1026
 
550
1027
  class Minimum < Orb::Internal::Type::BaseModel
551
1028
  attr_accessor applies_to_price_ids: ::Array[String]
552
1029
 
1030
+ attr_accessor filters: ::Array[Orb::Plan::PlanPhase::Minimum::Filter]
1031
+
553
1032
  attr_accessor minimum_amount: String
554
1033
 
555
1034
  def initialize: (
556
1035
  applies_to_price_ids: ::Array[String],
1036
+ filters: ::Array[Orb::Plan::PlanPhase::Minimum::Filter],
557
1037
  minimum_amount: String
558
1038
  ) -> void
559
1039
 
560
1040
  def to_hash: -> {
561
1041
  applies_to_price_ids: ::Array[String],
1042
+ filters: ::Array[Orb::Plan::PlanPhase::Minimum::Filter],
562
1043
  minimum_amount: String
563
1044
  }
1045
+
1046
+ type filter =
1047
+ {
1048
+ field: Orb::Models::Plan::PlanPhase::Minimum::Filter::field,
1049
+ operator: Orb::Models::Plan::PlanPhase::Minimum::Filter::operator,
1050
+ values: ::Array[String]
1051
+ }
1052
+
1053
+ class Filter < Orb::Internal::Type::BaseModel
1054
+ attr_accessor field: Orb::Models::Plan::PlanPhase::Minimum::Filter::field
1055
+
1056
+ attr_accessor operator: Orb::Models::Plan::PlanPhase::Minimum::Filter::operator
1057
+
1058
+ attr_accessor values: ::Array[String]
1059
+
1060
+ def initialize: (
1061
+ field: Orb::Models::Plan::PlanPhase::Minimum::Filter::field,
1062
+ operator: Orb::Models::Plan::PlanPhase::Minimum::Filter::operator,
1063
+ values: ::Array[String]
1064
+ ) -> void
1065
+
1066
+ def to_hash: -> {
1067
+ field: Orb::Models::Plan::PlanPhase::Minimum::Filter::field,
1068
+ operator: Orb::Models::Plan::PlanPhase::Minimum::Filter::operator,
1069
+ values: ::Array[String]
1070
+ }
1071
+
1072
+ type field =
1073
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
1074
+
1075
+ module Field
1076
+ extend Orb::Internal::Type::Enum
1077
+
1078
+ PRICE_ID: :price_id
1079
+ ITEM_ID: :item_id
1080
+ PRICE_TYPE: :price_type
1081
+ CURRENCY: :currency
1082
+ PRICING_UNIT_ID: :pricing_unit_id
1083
+
1084
+ def self?.values: -> ::Array[Orb::Models::Plan::PlanPhase::Minimum::Filter::field]
1085
+ end
1086
+
1087
+ type operator = :includes | :excludes
1088
+
1089
+ module Operator
1090
+ extend Orb::Internal::Type::Enum
1091
+
1092
+ INCLUDES: :includes
1093
+ EXCLUDES: :excludes
1094
+
1095
+ def self?.values: -> ::Array[Orb::Models::Plan::PlanPhase::Minimum::Filter::operator]
1096
+ end
1097
+ end
564
1098
  end
565
1099
  end
566
1100