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
@@ -1312,11 +1312,20 @@ module Orb
1312
1312
  required :amount, String
1313
1313
 
1314
1314
  # @!attribute applies_to_price_ids
1315
+ # @deprecated
1316
+ #
1315
1317
  # The price IDs that this adjustment applies to.
1316
1318
  #
1317
1319
  # @return [Array<String>]
1318
1320
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1319
1321
 
1322
+ # @!attribute filters
1323
+ # The filters that determine which prices to apply this adjustment to.
1324
+ #
1325
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter>]
1326
+ required :filters,
1327
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter] }
1328
+
1320
1329
  # @!attribute is_invoice_level
1321
1330
  # True for adjustments that apply to an entire invocice, false for adjustments
1322
1331
  # that apply to only one price.
@@ -1337,7 +1346,7 @@ module Orb
1337
1346
  # @return [Float]
1338
1347
  required :usage_discount, Float
1339
1348
 
1340
- # @!method initialize(id:, amount:, applies_to_price_ids:, is_invoice_level:, reason:, usage_discount:, adjustment_type: :usage_discount)
1349
+ # @!method initialize(id:, amount:, applies_to_price_ids:, filters:, is_invoice_level:, reason:, usage_discount:, adjustment_type: :usage_discount)
1341
1350
  # Some parameter documentations has been truncated, see
1342
1351
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount}
1343
1352
  # for more details.
@@ -1348,6 +1357,8 @@ module Orb
1348
1357
  #
1349
1358
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
1350
1359
  #
1360
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
1361
+ #
1351
1362
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
1352
1363
  #
1353
1364
  # @param reason [String, nil] The reason for the adjustment.
@@ -1355,6 +1366,64 @@ module Orb
1355
1366
  # @param usage_discount [Float] The number of usage units by which to discount the price this adjustment applies
1356
1367
  #
1357
1368
  # @param adjustment_type [Symbol, :usage_discount]
1369
+
1370
+ class Filter < Orb::Internal::Type::BaseModel
1371
+ # @!attribute field
1372
+ # The property of the price to filter on.
1373
+ #
1374
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field]
1375
+ required :field,
1376
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field }
1377
+
1378
+ # @!attribute operator
1379
+ # Should prices that match the filter be included or excluded.
1380
+ #
1381
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator]
1382
+ required :operator,
1383
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator }
1384
+
1385
+ # @!attribute values
1386
+ # The IDs or values that match this filter.
1387
+ #
1388
+ # @return [Array<String>]
1389
+ required :values, Orb::Internal::Type::ArrayOf[String]
1390
+
1391
+ # @!method initialize(field:, operator:, values:)
1392
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Field] The property of the price to filter on.
1393
+ #
1394
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
1395
+ #
1396
+ # @param values [Array<String>] The IDs or values that match this filter.
1397
+
1398
+ # The property of the price to filter on.
1399
+ #
1400
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter#field
1401
+ module Field
1402
+ extend Orb::Internal::Type::Enum
1403
+
1404
+ PRICE_ID = :price_id
1405
+ ITEM_ID = :item_id
1406
+ PRICE_TYPE = :price_type
1407
+ CURRENCY = :currency
1408
+ PRICING_UNIT_ID = :pricing_unit_id
1409
+
1410
+ # @!method self.values
1411
+ # @return [Array<Symbol>]
1412
+ end
1413
+
1414
+ # Should prices that match the filter be included or excluded.
1415
+ #
1416
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::UsageDiscount::Filter#operator
1417
+ module Operator
1418
+ extend Orb::Internal::Type::Enum
1419
+
1420
+ INCLUDES = :includes
1421
+ EXCLUDES = :excludes
1422
+
1423
+ # @!method self.values
1424
+ # @return [Array<Symbol>]
1425
+ end
1426
+ end
1358
1427
  end
1359
1428
 
1360
1429
  class AmountDiscount < Orb::Internal::Type::BaseModel
@@ -1382,11 +1451,20 @@ module Orb
1382
1451
  required :amount_discount, String
1383
1452
 
1384
1453
  # @!attribute applies_to_price_ids
1454
+ # @deprecated
1455
+ #
1385
1456
  # The price IDs that this adjustment applies to.
1386
1457
  #
1387
1458
  # @return [Array<String>]
1388
1459
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1389
1460
 
1461
+ # @!attribute filters
1462
+ # The filters that determine which prices to apply this adjustment to.
1463
+ #
1464
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter>]
1465
+ required :filters,
1466
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter] }
1467
+
1390
1468
  # @!attribute is_invoice_level
1391
1469
  # True for adjustments that apply to an entire invocice, false for adjustments
1392
1470
  # that apply to only one price.
@@ -1400,7 +1478,7 @@ module Orb
1400
1478
  # @return [String, nil]
1401
1479
  required :reason, String, nil?: true
1402
1480
 
1403
- # @!method initialize(id:, amount:, amount_discount:, applies_to_price_ids:, is_invoice_level:, reason:, adjustment_type: :amount_discount)
1481
+ # @!method initialize(id:, amount:, amount_discount:, applies_to_price_ids:, filters:, is_invoice_level:, reason:, adjustment_type: :amount_discount)
1404
1482
  # Some parameter documentations has been truncated, see
1405
1483
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount}
1406
1484
  # for more details.
@@ -1413,11 +1491,71 @@ module Orb
1413
1491
  #
1414
1492
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
1415
1493
  #
1494
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
1495
+ #
1416
1496
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
1417
1497
  #
1418
1498
  # @param reason [String, nil] The reason for the adjustment.
1419
1499
  #
1420
1500
  # @param adjustment_type [Symbol, :amount_discount]
1501
+
1502
+ class Filter < Orb::Internal::Type::BaseModel
1503
+ # @!attribute field
1504
+ # The property of the price to filter on.
1505
+ #
1506
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field]
1507
+ required :field,
1508
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field }
1509
+
1510
+ # @!attribute operator
1511
+ # Should prices that match the filter be included or excluded.
1512
+ #
1513
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator]
1514
+ required :operator,
1515
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator }
1516
+
1517
+ # @!attribute values
1518
+ # The IDs or values that match this filter.
1519
+ #
1520
+ # @return [Array<String>]
1521
+ required :values, Orb::Internal::Type::ArrayOf[String]
1522
+
1523
+ # @!method initialize(field:, operator:, values:)
1524
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Field] The property of the price to filter on.
1525
+ #
1526
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
1527
+ #
1528
+ # @param values [Array<String>] The IDs or values that match this filter.
1529
+
1530
+ # The property of the price to filter on.
1531
+ #
1532
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter#field
1533
+ module Field
1534
+ extend Orb::Internal::Type::Enum
1535
+
1536
+ PRICE_ID = :price_id
1537
+ ITEM_ID = :item_id
1538
+ PRICE_TYPE = :price_type
1539
+ CURRENCY = :currency
1540
+ PRICING_UNIT_ID = :pricing_unit_id
1541
+
1542
+ # @!method self.values
1543
+ # @return [Array<Symbol>]
1544
+ end
1545
+
1546
+ # Should prices that match the filter be included or excluded.
1547
+ #
1548
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::AmountDiscount::Filter#operator
1549
+ module Operator
1550
+ extend Orb::Internal::Type::Enum
1551
+
1552
+ INCLUDES = :includes
1553
+ EXCLUDES = :excludes
1554
+
1555
+ # @!method self.values
1556
+ # @return [Array<Symbol>]
1557
+ end
1558
+ end
1421
1559
  end
1422
1560
 
1423
1561
  class PercentageDiscount < Orb::Internal::Type::BaseModel
@@ -1438,11 +1576,20 @@ module Orb
1438
1576
  required :amount, String
1439
1577
 
1440
1578
  # @!attribute applies_to_price_ids
1579
+ # @deprecated
1580
+ #
1441
1581
  # The price IDs that this adjustment applies to.
1442
1582
  #
1443
1583
  # @return [Array<String>]
1444
1584
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1445
1585
 
1586
+ # @!attribute filters
1587
+ # The filters that determine which prices to apply this adjustment to.
1588
+ #
1589
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter>]
1590
+ required :filters,
1591
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter] }
1592
+
1446
1593
  # @!attribute is_invoice_level
1447
1594
  # True for adjustments that apply to an entire invocice, false for adjustments
1448
1595
  # that apply to only one price.
@@ -1463,7 +1610,7 @@ module Orb
1463
1610
  # @return [String, nil]
1464
1611
  required :reason, String, nil?: true
1465
1612
 
1466
- # @!method initialize(id:, amount:, applies_to_price_ids:, is_invoice_level:, percentage_discount:, reason:, adjustment_type: :percentage_discount)
1613
+ # @!method initialize(id:, amount:, applies_to_price_ids:, filters:, is_invoice_level:, percentage_discount:, reason:, adjustment_type: :percentage_discount)
1467
1614
  # Some parameter documentations has been truncated, see
1468
1615
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount}
1469
1616
  # for more details.
@@ -1474,6 +1621,8 @@ module Orb
1474
1621
  #
1475
1622
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
1476
1623
  #
1624
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
1625
+ #
1477
1626
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
1478
1627
  #
1479
1628
  # @param percentage_discount [Float] The percentage (as a value between 0 and 1) by which to discount the price inter
@@ -1481,6 +1630,64 @@ module Orb
1481
1630
  # @param reason [String, nil] The reason for the adjustment.
1482
1631
  #
1483
1632
  # @param adjustment_type [Symbol, :percentage_discount]
1633
+
1634
+ class Filter < Orb::Internal::Type::BaseModel
1635
+ # @!attribute field
1636
+ # The property of the price to filter on.
1637
+ #
1638
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field]
1639
+ required :field,
1640
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field }
1641
+
1642
+ # @!attribute operator
1643
+ # Should prices that match the filter be included or excluded.
1644
+ #
1645
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator]
1646
+ required :operator,
1647
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator }
1648
+
1649
+ # @!attribute values
1650
+ # The IDs or values that match this filter.
1651
+ #
1652
+ # @return [Array<String>]
1653
+ required :values, Orb::Internal::Type::ArrayOf[String]
1654
+
1655
+ # @!method initialize(field:, operator:, values:)
1656
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Field] The property of the price to filter on.
1657
+ #
1658
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
1659
+ #
1660
+ # @param values [Array<String>] The IDs or values that match this filter.
1661
+
1662
+ # The property of the price to filter on.
1663
+ #
1664
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter#field
1665
+ module Field
1666
+ extend Orb::Internal::Type::Enum
1667
+
1668
+ PRICE_ID = :price_id
1669
+ ITEM_ID = :item_id
1670
+ PRICE_TYPE = :price_type
1671
+ CURRENCY = :currency
1672
+ PRICING_UNIT_ID = :pricing_unit_id
1673
+
1674
+ # @!method self.values
1675
+ # @return [Array<Symbol>]
1676
+ end
1677
+
1678
+ # Should prices that match the filter be included or excluded.
1679
+ #
1680
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::PercentageDiscount::Filter#operator
1681
+ module Operator
1682
+ extend Orb::Internal::Type::Enum
1683
+
1684
+ INCLUDES = :includes
1685
+ EXCLUDES = :excludes
1686
+
1687
+ # @!method self.values
1688
+ # @return [Array<Symbol>]
1689
+ end
1690
+ end
1484
1691
  end
1485
1692
 
1486
1693
  class Minimum < Orb::Internal::Type::BaseModel
@@ -1501,11 +1708,20 @@ module Orb
1501
1708
  required :amount, String
1502
1709
 
1503
1710
  # @!attribute applies_to_price_ids
1711
+ # @deprecated
1712
+ #
1504
1713
  # The price IDs that this adjustment applies to.
1505
1714
  #
1506
1715
  # @return [Array<String>]
1507
1716
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1508
1717
 
1718
+ # @!attribute filters
1719
+ # The filters that determine which prices to apply this adjustment to.
1720
+ #
1721
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter>]
1722
+ required :filters,
1723
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter] }
1724
+
1509
1725
  # @!attribute is_invoice_level
1510
1726
  # True for adjustments that apply to an entire invocice, false for adjustments
1511
1727
  # that apply to only one price.
@@ -1532,7 +1748,7 @@ module Orb
1532
1748
  # @return [String, nil]
1533
1749
  required :reason, String, nil?: true
1534
1750
 
1535
- # @!method initialize(id:, amount:, applies_to_price_ids:, is_invoice_level:, item_id:, minimum_amount:, reason:, adjustment_type: :minimum)
1751
+ # @!method initialize(id:, amount:, applies_to_price_ids:, filters:, is_invoice_level:, item_id:, minimum_amount:, reason:, adjustment_type: :minimum)
1536
1752
  # Some parameter documentations has been truncated, see
1537
1753
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum} for
1538
1754
  # more details.
@@ -1543,6 +1759,8 @@ module Orb
1543
1759
  #
1544
1760
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
1545
1761
  #
1762
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter>] The filters that determine which prices to apply this adjustment to.
1763
+ #
1546
1764
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
1547
1765
  #
1548
1766
  # @param item_id [String] The item ID that revenue from this minimum will be attributed to.
@@ -1552,6 +1770,64 @@ module Orb
1552
1770
  # @param reason [String, nil] The reason for the adjustment.
1553
1771
  #
1554
1772
  # @param adjustment_type [Symbol, :minimum]
1773
+
1774
+ class Filter < Orb::Internal::Type::BaseModel
1775
+ # @!attribute field
1776
+ # The property of the price to filter on.
1777
+ #
1778
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field]
1779
+ required :field,
1780
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field }
1781
+
1782
+ # @!attribute operator
1783
+ # Should prices that match the filter be included or excluded.
1784
+ #
1785
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator]
1786
+ required :operator,
1787
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator }
1788
+
1789
+ # @!attribute values
1790
+ # The IDs or values that match this filter.
1791
+ #
1792
+ # @return [Array<String>]
1793
+ required :values, Orb::Internal::Type::ArrayOf[String]
1794
+
1795
+ # @!method initialize(field:, operator:, values:)
1796
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Field] The property of the price to filter on.
1797
+ #
1798
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter::Operator] Should prices that match the filter be included or excluded.
1799
+ #
1800
+ # @param values [Array<String>] The IDs or values that match this filter.
1801
+
1802
+ # The property of the price to filter on.
1803
+ #
1804
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter#field
1805
+ module Field
1806
+ extend Orb::Internal::Type::Enum
1807
+
1808
+ PRICE_ID = :price_id
1809
+ ITEM_ID = :item_id
1810
+ PRICE_TYPE = :price_type
1811
+ CURRENCY = :currency
1812
+ PRICING_UNIT_ID = :pricing_unit_id
1813
+
1814
+ # @!method self.values
1815
+ # @return [Array<Symbol>]
1816
+ end
1817
+
1818
+ # Should prices that match the filter be included or excluded.
1819
+ #
1820
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Minimum::Filter#operator
1821
+ module Operator
1822
+ extend Orb::Internal::Type::Enum
1823
+
1824
+ INCLUDES = :includes
1825
+ EXCLUDES = :excludes
1826
+
1827
+ # @!method self.values
1828
+ # @return [Array<Symbol>]
1829
+ end
1830
+ end
1555
1831
  end
1556
1832
 
1557
1833
  class Maximum < Orb::Internal::Type::BaseModel
@@ -1572,11 +1848,20 @@ module Orb
1572
1848
  required :amount, String
1573
1849
 
1574
1850
  # @!attribute applies_to_price_ids
1851
+ # @deprecated
1852
+ #
1575
1853
  # The price IDs that this adjustment applies to.
1576
1854
  #
1577
1855
  # @return [Array<String>]
1578
1856
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1579
1857
 
1858
+ # @!attribute filters
1859
+ # The filters that determine which prices to apply this adjustment to.
1860
+ #
1861
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter>]
1862
+ required :filters,
1863
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter] }
1864
+
1580
1865
  # @!attribute is_invoice_level
1581
1866
  # True for adjustments that apply to an entire invocice, false for adjustments
1582
1867
  # that apply to only one price.
@@ -1597,7 +1882,7 @@ module Orb
1597
1882
  # @return [String, nil]
1598
1883
  required :reason, String, nil?: true
1599
1884
 
1600
- # @!method initialize(id:, amount:, applies_to_price_ids:, is_invoice_level:, maximum_amount:, reason:, adjustment_type: :maximum)
1885
+ # @!method initialize(id:, amount:, applies_to_price_ids:, filters:, is_invoice_level:, maximum_amount:, reason:, adjustment_type: :maximum)
1601
1886
  # Some parameter documentations has been truncated, see
1602
1887
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum} for
1603
1888
  # more details.
@@ -1608,6 +1893,8 @@ module Orb
1608
1893
  #
1609
1894
  # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
1610
1895
  #
1896
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter>] The filters that determine which prices to apply this adjustment to.
1897
+ #
1611
1898
  # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invocice, false for adjustments tha
1612
1899
  #
1613
1900
  # @param maximum_amount [String] The maximum amount to charge in a given billing period for the prices this adjus
@@ -1615,6 +1902,64 @@ module Orb
1615
1902
  # @param reason [String, nil] The reason for the adjustment.
1616
1903
  #
1617
1904
  # @param adjustment_type [Symbol, :maximum]
1905
+
1906
+ class Filter < Orb::Internal::Type::BaseModel
1907
+ # @!attribute field
1908
+ # The property of the price to filter on.
1909
+ #
1910
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field]
1911
+ required :field,
1912
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field }
1913
+
1914
+ # @!attribute operator
1915
+ # Should prices that match the filter be included or excluded.
1916
+ #
1917
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator]
1918
+ required :operator,
1919
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator }
1920
+
1921
+ # @!attribute values
1922
+ # The IDs or values that match this filter.
1923
+ #
1924
+ # @return [Array<String>]
1925
+ required :values, Orb::Internal::Type::ArrayOf[String]
1926
+
1927
+ # @!method initialize(field:, operator:, values:)
1928
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Field] The property of the price to filter on.
1929
+ #
1930
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter::Operator] Should prices that match the filter be included or excluded.
1931
+ #
1932
+ # @param values [Array<String>] The IDs or values that match this filter.
1933
+
1934
+ # The property of the price to filter on.
1935
+ #
1936
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter#field
1937
+ module Field
1938
+ extend Orb::Internal::Type::Enum
1939
+
1940
+ PRICE_ID = :price_id
1941
+ ITEM_ID = :item_id
1942
+ PRICE_TYPE = :price_type
1943
+ CURRENCY = :currency
1944
+ PRICING_UNIT_ID = :pricing_unit_id
1945
+
1946
+ # @!method self.values
1947
+ # @return [Array<Symbol>]
1948
+ end
1949
+
1950
+ # Should prices that match the filter be included or excluded.
1951
+ #
1952
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Adjustment::Maximum::Filter#operator
1953
+ module Operator
1954
+ extend Orb::Internal::Type::Enum
1955
+
1956
+ INCLUDES = :includes
1957
+ EXCLUDES = :excludes
1958
+
1959
+ # @!method self.values
1960
+ # @return [Array<Symbol>]
1961
+ end
1962
+ end
1618
1963
  end
1619
1964
 
1620
1965
  # @!method self.variants
@@ -1626,19 +1971,28 @@ module Orb
1626
1971
  # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem#maximum
1627
1972
  class Maximum < Orb::Internal::Type::BaseModel
1628
1973
  # @!attribute applies_to_price_ids
1974
+ # @deprecated
1975
+ #
1629
1976
  # List of price_ids that this maximum amount applies to. For plan/plan phase
1630
1977
  # maximums, this can be a subset of prices.
1631
1978
  #
1632
1979
  # @return [Array<String>]
1633
1980
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1634
1981
 
1982
+ # @!attribute filters
1983
+ # The filters that determine which prices to apply this maximum to.
1984
+ #
1985
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter>]
1986
+ required :filters,
1987
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter] }
1988
+
1635
1989
  # @!attribute maximum_amount
1636
1990
  # Maximum amount applied
1637
1991
  #
1638
1992
  # @return [String]
1639
1993
  required :maximum_amount, String
1640
1994
 
1641
- # @!method initialize(applies_to_price_ids:, maximum_amount:)
1995
+ # @!method initialize(applies_to_price_ids:, filters:, maximum_amount:)
1642
1996
  # Some parameter documentations has been truncated, see
1643
1997
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum} for more details.
1644
1998
  #
@@ -1646,7 +2000,66 @@ module Orb
1646
2000
  #
1647
2001
  # @param applies_to_price_ids [Array<String>] List of price_ids that this maximum amount applies to. For plan/plan phase maxim
1648
2002
  #
2003
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter>] The filters that determine which prices to apply this maximum to.
2004
+ #
1649
2005
  # @param maximum_amount [String] Maximum amount applied
2006
+
2007
+ class Filter < Orb::Internal::Type::BaseModel
2008
+ # @!attribute field
2009
+ # The property of the price to filter on.
2010
+ #
2011
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field]
2012
+ required :field, enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field }
2013
+
2014
+ # @!attribute operator
2015
+ # Should prices that match the filter be included or excluded.
2016
+ #
2017
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator]
2018
+ required :operator,
2019
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator }
2020
+
2021
+ # @!attribute values
2022
+ # The IDs or values that match this filter.
2023
+ #
2024
+ # @return [Array<String>]
2025
+ required :values, Orb::Internal::Type::ArrayOf[String]
2026
+
2027
+ # @!method initialize(field:, operator:, values:)
2028
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Field] The property of the price to filter on.
2029
+ #
2030
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter::Operator] Should prices that match the filter be included or excluded.
2031
+ #
2032
+ # @param values [Array<String>] The IDs or values that match this filter.
2033
+
2034
+ # The property of the price to filter on.
2035
+ #
2036
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter#field
2037
+ module Field
2038
+ extend Orb::Internal::Type::Enum
2039
+
2040
+ PRICE_ID = :price_id
2041
+ ITEM_ID = :item_id
2042
+ PRICE_TYPE = :price_type
2043
+ CURRENCY = :currency
2044
+ PRICING_UNIT_ID = :pricing_unit_id
2045
+
2046
+ # @!method self.values
2047
+ # @return [Array<Symbol>]
2048
+ end
2049
+
2050
+ # Should prices that match the filter be included or excluded.
2051
+ #
2052
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Maximum::Filter#operator
2053
+ module Operator
2054
+ extend Orb::Internal::Type::Enum
2055
+
2056
+ INCLUDES = :includes
2057
+ EXCLUDES = :excludes
2058
+
2059
+ # @!method self.values
2060
+ # @return [Array<Symbol>]
2061
+ end
2062
+ end
1650
2063
  end
1651
2064
 
1652
2065
  # @deprecated
@@ -1654,19 +2067,28 @@ module Orb
1654
2067
  # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem#minimum
1655
2068
  class Minimum < Orb::Internal::Type::BaseModel
1656
2069
  # @!attribute applies_to_price_ids
2070
+ # @deprecated
2071
+ #
1657
2072
  # List of price_ids that this minimum amount applies to. For plan/plan phase
1658
2073
  # minimums, this can be a subset of prices.
1659
2074
  #
1660
2075
  # @return [Array<String>]
1661
2076
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1662
2077
 
2078
+ # @!attribute filters
2079
+ # The filters that determine which prices to apply this minimum to.
2080
+ #
2081
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter>]
2082
+ required :filters,
2083
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter] }
2084
+
1663
2085
  # @!attribute minimum_amount
1664
2086
  # Minimum amount applied
1665
2087
  #
1666
2088
  # @return [String]
1667
2089
  required :minimum_amount, String
1668
2090
 
1669
- # @!method initialize(applies_to_price_ids:, minimum_amount:)
2091
+ # @!method initialize(applies_to_price_ids:, filters:, minimum_amount:)
1670
2092
  # Some parameter documentations has been truncated, see
1671
2093
  # {Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum} for more details.
1672
2094
  #
@@ -1674,7 +2096,66 @@ module Orb
1674
2096
  #
1675
2097
  # @param applies_to_price_ids [Array<String>] List of price_ids that this minimum amount applies to. For plan/plan phase minim
1676
2098
  #
2099
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter>] The filters that determine which prices to apply this minimum to.
2100
+ #
1677
2101
  # @param minimum_amount [String] Minimum amount applied
2102
+
2103
+ class Filter < Orb::Internal::Type::BaseModel
2104
+ # @!attribute field
2105
+ # The property of the price to filter on.
2106
+ #
2107
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field]
2108
+ required :field, enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field }
2109
+
2110
+ # @!attribute operator
2111
+ # Should prices that match the filter be included or excluded.
2112
+ #
2113
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator]
2114
+ required :operator,
2115
+ enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator }
2116
+
2117
+ # @!attribute values
2118
+ # The IDs or values that match this filter.
2119
+ #
2120
+ # @return [Array<String>]
2121
+ required :values, Orb::Internal::Type::ArrayOf[String]
2122
+
2123
+ # @!method initialize(field:, operator:, values:)
2124
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Field] The property of the price to filter on.
2125
+ #
2126
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter::Operator] Should prices that match the filter be included or excluded.
2127
+ #
2128
+ # @param values [Array<String>] The IDs or values that match this filter.
2129
+
2130
+ # The property of the price to filter on.
2131
+ #
2132
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter#field
2133
+ module Field
2134
+ extend Orb::Internal::Type::Enum
2135
+
2136
+ PRICE_ID = :price_id
2137
+ ITEM_ID = :item_id
2138
+ PRICE_TYPE = :price_type
2139
+ CURRENCY = :currency
2140
+ PRICING_UNIT_ID = :pricing_unit_id
2141
+
2142
+ # @!method self.values
2143
+ # @return [Array<Symbol>]
2144
+ end
2145
+
2146
+ # Should prices that match the filter be included or excluded.
2147
+ #
2148
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::LineItem::Minimum::Filter#operator
2149
+ module Operator
2150
+ extend Orb::Internal::Type::Enum
2151
+
2152
+ INCLUDES = :includes
2153
+ EXCLUDES = :excludes
2154
+
2155
+ # @!method self.values
2156
+ # @return [Array<Symbol>]
2157
+ end
2158
+ end
1678
2159
  end
1679
2160
 
1680
2161
  module SubLineItem
@@ -1954,49 +2435,183 @@ module Orb
1954
2435
  # @see Orb::Models::InvoiceFetchUpcomingResponse#maximum
1955
2436
  class Maximum < Orb::Internal::Type::BaseModel
1956
2437
  # @!attribute applies_to_price_ids
2438
+ # @deprecated
2439
+ #
1957
2440
  # List of price_ids that this maximum amount applies to. For plan/plan phase
1958
2441
  # maximums, this can be a subset of prices.
1959
2442
  #
1960
2443
  # @return [Array<String>]
1961
2444
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1962
2445
 
2446
+ # @!attribute filters
2447
+ # The filters that determine which prices to apply this maximum to.
2448
+ #
2449
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter>]
2450
+ required :filters,
2451
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter] }
2452
+
1963
2453
  # @!attribute maximum_amount
1964
2454
  # Maximum amount applied
1965
2455
  #
1966
2456
  # @return [String]
1967
2457
  required :maximum_amount, String
1968
2458
 
1969
- # @!method initialize(applies_to_price_ids:, maximum_amount:)
2459
+ # @!method initialize(applies_to_price_ids:, filters:, maximum_amount:)
1970
2460
  # Some parameter documentations has been truncated, see
1971
2461
  # {Orb::Models::InvoiceFetchUpcomingResponse::Maximum} for more details.
1972
2462
  #
1973
2463
  # @param applies_to_price_ids [Array<String>] List of price_ids that this maximum amount applies to. For plan/plan phase maxim
1974
2464
  #
2465
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter>] The filters that determine which prices to apply this maximum to.
2466
+ #
1975
2467
  # @param maximum_amount [String] Maximum amount applied
2468
+
2469
+ class Filter < Orb::Internal::Type::BaseModel
2470
+ # @!attribute field
2471
+ # The property of the price to filter on.
2472
+ #
2473
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field]
2474
+ required :field, enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field }
2475
+
2476
+ # @!attribute operator
2477
+ # Should prices that match the filter be included or excluded.
2478
+ #
2479
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator]
2480
+ required :operator, enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator }
2481
+
2482
+ # @!attribute values
2483
+ # The IDs or values that match this filter.
2484
+ #
2485
+ # @return [Array<String>]
2486
+ required :values, Orb::Internal::Type::ArrayOf[String]
2487
+
2488
+ # @!method initialize(field:, operator:, values:)
2489
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Field] The property of the price to filter on.
2490
+ #
2491
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter::Operator] Should prices that match the filter be included or excluded.
2492
+ #
2493
+ # @param values [Array<String>] The IDs or values that match this filter.
2494
+
2495
+ # The property of the price to filter on.
2496
+ #
2497
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter#field
2498
+ module Field
2499
+ extend Orb::Internal::Type::Enum
2500
+
2501
+ PRICE_ID = :price_id
2502
+ ITEM_ID = :item_id
2503
+ PRICE_TYPE = :price_type
2504
+ CURRENCY = :currency
2505
+ PRICING_UNIT_ID = :pricing_unit_id
2506
+
2507
+ # @!method self.values
2508
+ # @return [Array<Symbol>]
2509
+ end
2510
+
2511
+ # Should prices that match the filter be included or excluded.
2512
+ #
2513
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::Maximum::Filter#operator
2514
+ module Operator
2515
+ extend Orb::Internal::Type::Enum
2516
+
2517
+ INCLUDES = :includes
2518
+ EXCLUDES = :excludes
2519
+
2520
+ # @!method self.values
2521
+ # @return [Array<Symbol>]
2522
+ end
2523
+ end
1976
2524
  end
1977
2525
 
1978
2526
  # @see Orb::Models::InvoiceFetchUpcomingResponse#minimum
1979
2527
  class Minimum < Orb::Internal::Type::BaseModel
1980
2528
  # @!attribute applies_to_price_ids
2529
+ # @deprecated
2530
+ #
1981
2531
  # List of price_ids that this minimum amount applies to. For plan/plan phase
1982
2532
  # minimums, this can be a subset of prices.
1983
2533
  #
1984
2534
  # @return [Array<String>]
1985
2535
  required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
1986
2536
 
2537
+ # @!attribute filters
2538
+ # The filters that determine which prices to apply this minimum to.
2539
+ #
2540
+ # @return [Array<Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter>]
2541
+ required :filters,
2542
+ -> { Orb::Internal::Type::ArrayOf[Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter] }
2543
+
1987
2544
  # @!attribute minimum_amount
1988
2545
  # Minimum amount applied
1989
2546
  #
1990
2547
  # @return [String]
1991
2548
  required :minimum_amount, String
1992
2549
 
1993
- # @!method initialize(applies_to_price_ids:, minimum_amount:)
2550
+ # @!method initialize(applies_to_price_ids:, filters:, minimum_amount:)
1994
2551
  # Some parameter documentations has been truncated, see
1995
2552
  # {Orb::Models::InvoiceFetchUpcomingResponse::Minimum} for more details.
1996
2553
  #
1997
2554
  # @param applies_to_price_ids [Array<String>] List of price_ids that this minimum amount applies to. For plan/plan phase minim
1998
2555
  #
2556
+ # @param filters [Array<Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter>] The filters that determine which prices to apply this minimum to.
2557
+ #
1999
2558
  # @param minimum_amount [String] Minimum amount applied
2559
+
2560
+ class Filter < Orb::Internal::Type::BaseModel
2561
+ # @!attribute field
2562
+ # The property of the price to filter on.
2563
+ #
2564
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field]
2565
+ required :field, enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field }
2566
+
2567
+ # @!attribute operator
2568
+ # Should prices that match the filter be included or excluded.
2569
+ #
2570
+ # @return [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator]
2571
+ required :operator, enum: -> { Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator }
2572
+
2573
+ # @!attribute values
2574
+ # The IDs or values that match this filter.
2575
+ #
2576
+ # @return [Array<String>]
2577
+ required :values, Orb::Internal::Type::ArrayOf[String]
2578
+
2579
+ # @!method initialize(field:, operator:, values:)
2580
+ # @param field [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Field] The property of the price to filter on.
2581
+ #
2582
+ # @param operator [Symbol, Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter::Operator] Should prices that match the filter be included or excluded.
2583
+ #
2584
+ # @param values [Array<String>] The IDs or values that match this filter.
2585
+
2586
+ # The property of the price to filter on.
2587
+ #
2588
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter#field
2589
+ module Field
2590
+ extend Orb::Internal::Type::Enum
2591
+
2592
+ PRICE_ID = :price_id
2593
+ ITEM_ID = :item_id
2594
+ PRICE_TYPE = :price_type
2595
+ CURRENCY = :currency
2596
+ PRICING_UNIT_ID = :pricing_unit_id
2597
+
2598
+ # @!method self.values
2599
+ # @return [Array<Symbol>]
2600
+ end
2601
+
2602
+ # Should prices that match the filter be included or excluded.
2603
+ #
2604
+ # @see Orb::Models::InvoiceFetchUpcomingResponse::Minimum::Filter#operator
2605
+ module Operator
2606
+ extend Orb::Internal::Type::Enum
2607
+
2608
+ INCLUDES = :includes
2609
+ EXCLUDES = :excludes
2610
+
2611
+ # @!method self.values
2612
+ # @return [Array<Symbol>]
2613
+ end
2614
+ end
2000
2615
  end
2001
2616
 
2002
2617
  class PaymentAttempt < Orb::Internal::Type::BaseModel