orb-billing 0.5.5 → 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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -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/models/alert.rb +33 -1
  7. data/lib/orb/models/amount_discount.rb +10 -10
  8. data/lib/orb/models/credit_note_create_params.rb +9 -9
  9. data/lib/orb/models/customer_create_params.rb +21 -3
  10. data/lib/orb/models/customer_update_by_external_id_params.rb +21 -3
  11. data/lib/orb/models/customer_update_params.rb +21 -3
  12. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +9 -1
  13. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +9 -1
  14. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +9 -1
  15. data/lib/orb/models/customers/credits/ledger_list_response.rb +9 -1
  16. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +1 -1
  17. data/lib/orb/models/customers/credits/top_up_create_params.rb +1 -1
  18. data/lib/orb/models/invoice.rb +626 -9
  19. data/lib/orb/models/invoice_fetch_upcoming_response.rb +624 -9
  20. data/lib/orb/models/invoice_line_item_create_response.rb +486 -7
  21. data/lib/orb/models/item.rb +18 -1
  22. data/lib/orb/models/item_archive_params.rb +14 -0
  23. data/lib/orb/models/item_create_params.rb +14 -1
  24. data/lib/orb/models/item_update_params.rb +16 -1
  25. data/lib/orb/models/percentage_discount.rb +10 -10
  26. data/lib/orb/models/plan.rb +618 -9
  27. data/lib/orb/models/plan_create_params.rb +2066 -30
  28. data/lib/orb/models/plan_set_default_version_params.rb +22 -0
  29. data/lib/orb/models/plans/external_plan_id/version_create_params.rb +17948 -0
  30. data/lib/orb/models/plans/external_plan_id/version_create_response.rb +819 -0
  31. data/lib/orb/models/plans/external_plan_id/version_retrieve_params.rb +24 -0
  32. data/lib/orb/models/plans/external_plan_id/version_retrieve_response.rb +819 -0
  33. data/lib/orb/models/plans/external_plan_id_set_default_version_params.rb +24 -0
  34. data/lib/orb/models/plans/version_create_params.rb +17794 -0
  35. data/lib/orb/models/plans/version_create_response.rb +814 -0
  36. data/lib/orb/models/plans/version_retrieve_params.rb +22 -0
  37. data/lib/orb/models/plans/version_retrieve_response.rb +814 -0
  38. data/lib/orb/models/price.rb +4124 -70
  39. data/lib/orb/models/price_create_params.rb +45 -1
  40. data/lib/orb/models/price_evaluate_params.rb +8529 -21
  41. data/lib/orb/models/price_evaluate_response.rb +38 -3
  42. data/lib/orb/models/subscription.rb +730 -54
  43. data/lib/orb/models/subscription_cancel_response.rb +706 -54
  44. data/lib/orb/models/subscription_change_apply_response.rb +728 -54
  45. data/lib/orb/models/subscription_change_cancel_response.rb +728 -54
  46. data/lib/orb/models/subscription_change_retrieve_response.rb +728 -54
  47. data/lib/orb/models/subscription_create_params.rb +5992 -1698
  48. data/lib/orb/models/subscription_create_response.rb +706 -54
  49. data/lib/orb/models/subscription_fetch_schedule_response.rb +3 -3
  50. data/lib/orb/models/subscription_price_intervals_params.rb +1392 -76
  51. data/lib/orb/models/subscription_price_intervals_response.rb +712 -54
  52. data/lib/orb/models/subscription_schedule_plan_change_params.rb +6005 -1723
  53. data/lib/orb/models/subscription_schedule_plan_change_response.rb +716 -54
  54. data/lib/orb/models/subscription_trigger_phase_response.rb +708 -54
  55. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +720 -54
  56. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +728 -54
  57. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +728 -54
  58. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +1 -1
  59. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +720 -54
  60. data/lib/orb/models/subscription_update_trial_response.rb +706 -54
  61. data/lib/orb/models/trial_discount.rb +10 -10
  62. data/lib/orb/models/usage_discount.rb +10 -10
  63. data/lib/orb/models.rb +4 -0
  64. data/lib/orb/resources/credit_notes.rb +3 -3
  65. data/lib/orb/resources/customers/balance_transactions.rb +0 -7
  66. data/lib/orb/resources/customers.rb +4 -7
  67. data/lib/orb/resources/dimensional_price_groups.rb +1 -1
  68. data/lib/orb/resources/items.rb +34 -2
  69. data/lib/orb/resources/plans/external_plan_id/versions.rb +88 -0
  70. data/lib/orb/resources/plans/external_plan_id.rb +32 -1
  71. data/lib/orb/resources/plans/versions.rb +86 -0
  72. data/lib/orb/resources/plans.rb +33 -2
  73. data/lib/orb/resources/prices.rb +23 -17
  74. data/lib/orb/resources/subscriptions.rb +5 -1
  75. data/lib/orb/version.rb +1 -1
  76. data/lib/orb.rb +13 -0
  77. data/rbi/orb/models/alert.rbi +50 -3
  78. data/rbi/orb/models/amount_discount.rbi +8 -8
  79. data/rbi/orb/models/credit_note_create_params.rbi +8 -8
  80. data/rbi/orb/models/customer_create_params.rbi +38 -4
  81. data/rbi/orb/models/customer_update_by_external_id_params.rbi +38 -4
  82. data/rbi/orb/models/customer_update_params.rbi +38 -4
  83. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +9 -1
  84. data/rbi/orb/models/customers/credits/ledger_create_entry_response.rbi +9 -1
  85. data/rbi/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +9 -1
  86. data/rbi/orb/models/customers/credits/ledger_list_response.rbi +9 -1
  87. data/rbi/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +2 -2
  88. data/rbi/orb/models/customers/credits/top_up_create_params.rbi +2 -2
  89. data/rbi/orb/models/invoice.rbi +1451 -35
  90. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +1524 -4
  91. data/rbi/orb/models/invoice_line_item_create_response.rbi +1184 -2
  92. data/rbi/orb/models/item.rbi +20 -1
  93. data/rbi/orb/models/item_archive_params.rbi +25 -0
  94. data/rbi/orb/models/item_create_params.rbi +18 -1
  95. data/rbi/orb/models/item_update_params.rbi +17 -1
  96. data/rbi/orb/models/percentage_discount.rbi +10 -10
  97. data/rbi/orb/models/plan.rbi +1339 -4
  98. data/rbi/orb/models/plan_create_params.rbi +3833 -29
  99. data/rbi/orb/models/plan_set_default_version_params.rbi +40 -0
  100. data/rbi/orb/models/plans/external_plan_id/version_create_params.rbi +32668 -0
  101. data/rbi/orb/models/plans/external_plan_id/version_create_response.rbi +1562 -0
  102. data/rbi/orb/models/plans/external_plan_id/version_retrieve_params.rbi +42 -0
  103. data/rbi/orb/models/plans/external_plan_id/version_retrieve_response.rbi +1562 -0
  104. data/rbi/orb/models/plans/external_plan_id_set_default_version_params.rbi +45 -0
  105. data/rbi/orb/models/plans/version_create_params.rbi +32607 -0
  106. data/rbi/orb/models/plans/version_create_response.rbi +1556 -0
  107. data/rbi/orb/models/plans/version_retrieve_params.rbi +37 -0
  108. data/rbi/orb/models/plans/version_retrieve_response.rbi +1558 -0
  109. data/rbi/orb/models/price.rbi +9447 -441
  110. data/rbi/orb/models/price_create_params.rbi +80 -0
  111. data/rbi/orb/models/price_evaluate_params.rbi +15684 -25
  112. data/rbi/orb/models/price_evaluate_response.rbi +68 -5
  113. data/rbi/orb/models/subscription.rbi +1654 -44
  114. data/rbi/orb/models/subscription_cancel_response.rbi +1692 -44
  115. data/rbi/orb/models/subscription_change_apply_response.rbi +1692 -44
  116. data/rbi/orb/models/subscription_change_cancel_response.rbi +1692 -44
  117. data/rbi/orb/models/subscription_change_retrieve_response.rbi +1692 -44
  118. data/rbi/orb/models/subscription_create_params.rbi +10400 -2710
  119. data/rbi/orb/models/subscription_create_response.rbi +1692 -44
  120. data/rbi/orb/models/subscription_fetch_schedule_response.rbi +13 -4
  121. data/rbi/orb/models/subscription_price_intervals_params.rbi +2401 -49
  122. data/rbi/orb/models/subscription_price_intervals_response.rbi +1692 -44
  123. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +10423 -2753
  124. data/rbi/orb/models/subscription_schedule_plan_change_response.rbi +1692 -44
  125. data/rbi/orb/models/subscription_trigger_phase_response.rbi +1692 -44
  126. data/rbi/orb/models/subscription_unschedule_cancellation_response.rbi +1692 -44
  127. data/rbi/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +1692 -44
  128. data/rbi/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +1692 -44
  129. data/rbi/orb/models/subscription_update_fixed_fee_quantity_params.rbi +2 -2
  130. data/rbi/orb/models/subscription_update_fixed_fee_quantity_response.rbi +1692 -44
  131. data/rbi/orb/models/subscription_update_trial_response.rbi +1692 -44
  132. data/rbi/orb/models/trial_discount.rbi +8 -8
  133. data/rbi/orb/models/usage_discount.rbi +10 -10
  134. data/rbi/orb/models.rbi +4 -0
  135. data/rbi/orb/resources/credit_notes.rbi +3 -3
  136. data/rbi/orb/resources/customers/balance_transactions.rbi +0 -7
  137. data/rbi/orb/resources/customers/credits/top_ups.rbi +2 -2
  138. data/rbi/orb/resources/customers.rbi +7 -7
  139. data/rbi/orb/resources/dimensional_price_groups.rbi +1 -1
  140. data/rbi/orb/resources/items.rbi +20 -0
  141. data/rbi/orb/resources/plans/external_plan_id/versions.rbi +103 -0
  142. data/rbi/orb/resources/plans/external_plan_id.rbi +23 -1
  143. data/rbi/orb/resources/plans/versions.rbi +91 -0
  144. data/rbi/orb/resources/plans.rbi +27 -2
  145. data/rbi/orb/resources/prices.rbi +27 -17
  146. data/rbi/orb/resources/subscriptions.rbi +9 -1
  147. data/sig/orb/models/alert.rbs +20 -3
  148. data/sig/orb/models/amount_discount.rbs +5 -5
  149. data/sig/orb/models/credit_note_create_params.rbs +6 -6
  150. data/sig/orb/models/customer_create_params.rbs +13 -0
  151. data/sig/orb/models/customer_update_by_external_id_params.rbs +13 -0
  152. data/sig/orb/models/customer_update_params.rbs +13 -0
  153. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +7 -2
  154. data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +7 -2
  155. data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +7 -2
  156. data/sig/orb/models/customers/credits/ledger_list_response.rbs +7 -2
  157. data/sig/orb/models/invoice.rbs +558 -4
  158. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +558 -4
  159. data/sig/orb/models/invoice_line_item_create_response.rbs +414 -2
  160. data/sig/orb/models/item.rbs +5 -0
  161. data/sig/orb/models/item_archive_params.rbs +14 -0
  162. data/sig/orb/models/item_create_params.rbs +10 -2
  163. data/sig/orb/models/item_update_params.rbs +5 -0
  164. data/sig/orb/models/percentage_discount.rbs +5 -5
  165. data/sig/orb/models/plan.rbs +538 -4
  166. data/sig/orb/models/plan_create_params.rbs +1460 -3
  167. data/sig/orb/models/plan_set_default_version_params.rbs +20 -0
  168. data/sig/orb/models/plans/external_plan_id/version_create_params.rbs +12923 -0
  169. data/sig/orb/models/plans/external_plan_id/version_create_response.rbs +664 -0
  170. data/sig/orb/models/plans/external_plan_id/version_retrieve_params.rbs +27 -0
  171. data/sig/orb/models/plans/external_plan_id/version_retrieve_response.rbs +664 -0
  172. data/sig/orb/models/plans/external_plan_id_set_default_version_params.rbs +25 -0
  173. data/sig/orb/models/plans/version_create_params.rbs +12898 -0
  174. data/sig/orb/models/plans/version_create_response.rbs +662 -0
  175. data/sig/orb/models/plans/version_retrieve_params.rbs +25 -0
  176. data/sig/orb/models/plans/version_retrieve_response.rbs +662 -0
  177. data/sig/orb/models/price.rbs +3512 -96
  178. data/sig/orb/models/price_create_params.rbs +32 -0
  179. data/sig/orb/models/price_evaluate_params.rbs +6187 -10
  180. data/sig/orb/models/price_evaluate_response.rbs +41 -4
  181. data/sig/orb/models/subscription.rbs +609 -29
  182. data/sig/orb/models/subscription_cancel_response.rbs +609 -29
  183. data/sig/orb/models/subscription_change_apply_response.rbs +621 -29
  184. data/sig/orb/models/subscription_change_cancel_response.rbs +621 -29
  185. data/sig/orb/models/subscription_change_retrieve_response.rbs +621 -29
  186. data/sig/orb/models/subscription_create_params.rbs +4450 -1466
  187. data/sig/orb/models/subscription_create_response.rbs +609 -29
  188. data/sig/orb/models/subscription_fetch_schedule_response.rbs +4 -4
  189. data/sig/orb/models/subscription_price_intervals_params.rbs +920 -24
  190. data/sig/orb/models/subscription_price_intervals_response.rbs +609 -29
  191. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +4440 -1466
  192. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +609 -29
  193. data/sig/orb/models/subscription_trigger_phase_response.rbs +609 -29
  194. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +609 -29
  195. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +609 -29
  196. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +609 -29
  197. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +609 -29
  198. data/sig/orb/models/subscription_update_trial_response.rbs +609 -29
  199. data/sig/orb/models/trial_discount.rbs +5 -5
  200. data/sig/orb/models/usage_discount.rbs +5 -5
  201. data/sig/orb/models.rbs +4 -0
  202. data/sig/orb/resources/credit_notes.rbs +1 -1
  203. data/sig/orb/resources/items.rbs +7 -0
  204. data/sig/orb/resources/plans/external_plan_id/versions.rbs +30 -0
  205. data/sig/orb/resources/plans/external_plan_id.rbs +8 -0
  206. data/sig/orb/resources/plans/versions.rbs +28 -0
  207. data/sig/orb/resources/plans.rbs +8 -0
  208. data/sig/orb/resources/prices.rbs +3 -3
  209. data/sig/orb/resources/subscriptions.rbs +2 -0
  210. metadata +40 -1
@@ -0,0 +1,662 @@
1
+ module Orb
2
+ module Models
3
+ module Plans
4
+ type version_retrieve_response =
5
+ {
6
+ adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment],
7
+ created_at: Time,
8
+ plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?,
9
+ prices: ::Array[Orb::Models::price],
10
+ version: Integer
11
+ }
12
+
13
+ class VersionRetrieveResponse < Orb::Internal::Type::BaseModel
14
+ attr_accessor adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment]
15
+
16
+ attr_accessor created_at: Time
17
+
18
+ attr_accessor plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?
19
+
20
+ attr_accessor prices: ::Array[Orb::Models::price]
21
+
22
+ attr_accessor version: Integer
23
+
24
+ def initialize: (
25
+ adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment],
26
+ created_at: Time,
27
+ plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?,
28
+ prices: ::Array[Orb::Models::price],
29
+ version: Integer
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ adjustments: ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment],
34
+ created_at: Time,
35
+ plan_phases: ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase]?,
36
+ prices: ::Array[Orb::Models::price],
37
+ version: Integer
38
+ }
39
+
40
+ type adjustment =
41
+ Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount
42
+ | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount
43
+ | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount
44
+ | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum
45
+ | Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum
46
+
47
+ module Adjustment
48
+ extend Orb::Internal::Type::Union
49
+
50
+ type usage_discount =
51
+ {
52
+ id: String,
53
+ adjustment_type: :usage_discount,
54
+ applies_to_price_ids: ::Array[String],
55
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter],
56
+ is_invoice_level: bool,
57
+ plan_phase_order: Integer?,
58
+ reason: String?,
59
+ usage_discount: Float
60
+ }
61
+
62
+ class UsageDiscount < Orb::Internal::Type::BaseModel
63
+ attr_accessor id: String
64
+
65
+ attr_accessor adjustment_type: :usage_discount
66
+
67
+ attr_accessor applies_to_price_ids: ::Array[String]
68
+
69
+ attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter]
70
+
71
+ attr_accessor is_invoice_level: bool
72
+
73
+ attr_accessor plan_phase_order: Integer?
74
+
75
+ attr_accessor reason: String?
76
+
77
+ attr_accessor usage_discount: Float
78
+
79
+ def initialize: (
80
+ id: String,
81
+ applies_to_price_ids: ::Array[String],
82
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter],
83
+ is_invoice_level: bool,
84
+ plan_phase_order: Integer?,
85
+ reason: String?,
86
+ usage_discount: Float,
87
+ ?adjustment_type: :usage_discount
88
+ ) -> void
89
+
90
+ def to_hash: -> {
91
+ id: String,
92
+ adjustment_type: :usage_discount,
93
+ applies_to_price_ids: ::Array[String],
94
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter],
95
+ is_invoice_level: bool,
96
+ plan_phase_order: Integer?,
97
+ reason: String?,
98
+ usage_discount: Float
99
+ }
100
+
101
+ type filter =
102
+ {
103
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field,
104
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator,
105
+ values: ::Array[String]
106
+ }
107
+
108
+ class Filter < Orb::Internal::Type::BaseModel
109
+ attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field
110
+
111
+ attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator
112
+
113
+ attr_accessor values: ::Array[String]
114
+
115
+ def initialize: (
116
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field,
117
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator,
118
+ values: ::Array[String]
119
+ ) -> void
120
+
121
+ def to_hash: -> {
122
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field,
123
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator,
124
+ values: ::Array[String]
125
+ }
126
+
127
+ type field =
128
+ :price_id
129
+ | :item_id
130
+ | :price_type
131
+ | :currency
132
+ | :pricing_unit_id
133
+
134
+ module Field
135
+ extend Orb::Internal::Type::Enum
136
+
137
+ PRICE_ID: :price_id
138
+ ITEM_ID: :item_id
139
+ PRICE_TYPE: :price_type
140
+ CURRENCY: :currency
141
+ PRICING_UNIT_ID: :pricing_unit_id
142
+
143
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::field]
144
+ end
145
+
146
+ type operator = :includes | :excludes
147
+
148
+ module Operator
149
+ extend Orb::Internal::Type::Enum
150
+
151
+ INCLUDES: :includes
152
+ EXCLUDES: :excludes
153
+
154
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::UsageDiscount::Filter::operator]
155
+ end
156
+ end
157
+ end
158
+
159
+ type amount_discount =
160
+ {
161
+ id: String,
162
+ adjustment_type: :amount_discount,
163
+ amount_discount: String,
164
+ applies_to_price_ids: ::Array[String],
165
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter],
166
+ is_invoice_level: bool,
167
+ plan_phase_order: Integer?,
168
+ reason: String?
169
+ }
170
+
171
+ class AmountDiscount < Orb::Internal::Type::BaseModel
172
+ attr_accessor id: String
173
+
174
+ attr_accessor adjustment_type: :amount_discount
175
+
176
+ attr_accessor amount_discount: String
177
+
178
+ attr_accessor applies_to_price_ids: ::Array[String]
179
+
180
+ attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter]
181
+
182
+ attr_accessor is_invoice_level: bool
183
+
184
+ attr_accessor plan_phase_order: Integer?
185
+
186
+ attr_accessor reason: String?
187
+
188
+ def initialize: (
189
+ id: String,
190
+ amount_discount: String,
191
+ applies_to_price_ids: ::Array[String],
192
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter],
193
+ is_invoice_level: bool,
194
+ plan_phase_order: Integer?,
195
+ reason: String?,
196
+ ?adjustment_type: :amount_discount
197
+ ) -> void
198
+
199
+ def to_hash: -> {
200
+ id: String,
201
+ adjustment_type: :amount_discount,
202
+ amount_discount: String,
203
+ applies_to_price_ids: ::Array[String],
204
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter],
205
+ is_invoice_level: bool,
206
+ plan_phase_order: Integer?,
207
+ reason: String?
208
+ }
209
+
210
+ type filter =
211
+ {
212
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field,
213
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator,
214
+ values: ::Array[String]
215
+ }
216
+
217
+ class Filter < Orb::Internal::Type::BaseModel
218
+ attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field
219
+
220
+ attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator
221
+
222
+ attr_accessor values: ::Array[String]
223
+
224
+ def initialize: (
225
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field,
226
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator,
227
+ values: ::Array[String]
228
+ ) -> void
229
+
230
+ def to_hash: -> {
231
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field,
232
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator,
233
+ values: ::Array[String]
234
+ }
235
+
236
+ type field =
237
+ :price_id
238
+ | :item_id
239
+ | :price_type
240
+ | :currency
241
+ | :pricing_unit_id
242
+
243
+ module Field
244
+ extend Orb::Internal::Type::Enum
245
+
246
+ PRICE_ID: :price_id
247
+ ITEM_ID: :item_id
248
+ PRICE_TYPE: :price_type
249
+ CURRENCY: :currency
250
+ PRICING_UNIT_ID: :pricing_unit_id
251
+
252
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::field]
253
+ end
254
+
255
+ type operator = :includes | :excludes
256
+
257
+ module Operator
258
+ extend Orb::Internal::Type::Enum
259
+
260
+ INCLUDES: :includes
261
+ EXCLUDES: :excludes
262
+
263
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::AmountDiscount::Filter::operator]
264
+ end
265
+ end
266
+ end
267
+
268
+ type percentage_discount =
269
+ {
270
+ id: String,
271
+ adjustment_type: :percentage_discount,
272
+ applies_to_price_ids: ::Array[String],
273
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter],
274
+ is_invoice_level: bool,
275
+ percentage_discount: Float,
276
+ plan_phase_order: Integer?,
277
+ reason: String?
278
+ }
279
+
280
+ class PercentageDiscount < Orb::Internal::Type::BaseModel
281
+ attr_accessor id: String
282
+
283
+ attr_accessor adjustment_type: :percentage_discount
284
+
285
+ attr_accessor applies_to_price_ids: ::Array[String]
286
+
287
+ attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter]
288
+
289
+ attr_accessor is_invoice_level: bool
290
+
291
+ attr_accessor percentage_discount: Float
292
+
293
+ attr_accessor plan_phase_order: Integer?
294
+
295
+ attr_accessor reason: String?
296
+
297
+ def initialize: (
298
+ id: String,
299
+ applies_to_price_ids: ::Array[String],
300
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter],
301
+ is_invoice_level: bool,
302
+ percentage_discount: Float,
303
+ plan_phase_order: Integer?,
304
+ reason: String?,
305
+ ?adjustment_type: :percentage_discount
306
+ ) -> void
307
+
308
+ def to_hash: -> {
309
+ id: String,
310
+ adjustment_type: :percentage_discount,
311
+ applies_to_price_ids: ::Array[String],
312
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter],
313
+ is_invoice_level: bool,
314
+ percentage_discount: Float,
315
+ plan_phase_order: Integer?,
316
+ reason: String?
317
+ }
318
+
319
+ type filter =
320
+ {
321
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field,
322
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator,
323
+ values: ::Array[String]
324
+ }
325
+
326
+ class Filter < Orb::Internal::Type::BaseModel
327
+ attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field
328
+
329
+ attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator
330
+
331
+ attr_accessor values: ::Array[String]
332
+
333
+ def initialize: (
334
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field,
335
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator,
336
+ values: ::Array[String]
337
+ ) -> void
338
+
339
+ def to_hash: -> {
340
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field,
341
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator,
342
+ values: ::Array[String]
343
+ }
344
+
345
+ type field =
346
+ :price_id
347
+ | :item_id
348
+ | :price_type
349
+ | :currency
350
+ | :pricing_unit_id
351
+
352
+ module Field
353
+ extend Orb::Internal::Type::Enum
354
+
355
+ PRICE_ID: :price_id
356
+ ITEM_ID: :item_id
357
+ PRICE_TYPE: :price_type
358
+ CURRENCY: :currency
359
+ PRICING_UNIT_ID: :pricing_unit_id
360
+
361
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::field]
362
+ end
363
+
364
+ type operator = :includes | :excludes
365
+
366
+ module Operator
367
+ extend Orb::Internal::Type::Enum
368
+
369
+ INCLUDES: :includes
370
+ EXCLUDES: :excludes
371
+
372
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::PercentageDiscount::Filter::operator]
373
+ end
374
+ end
375
+ end
376
+
377
+ type minimum =
378
+ {
379
+ id: String,
380
+ adjustment_type: :minimum,
381
+ applies_to_price_ids: ::Array[String],
382
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter],
383
+ is_invoice_level: bool,
384
+ item_id: String,
385
+ minimum_amount: String,
386
+ plan_phase_order: Integer?,
387
+ reason: String?
388
+ }
389
+
390
+ class Minimum < Orb::Internal::Type::BaseModel
391
+ attr_accessor id: String
392
+
393
+ attr_accessor adjustment_type: :minimum
394
+
395
+ attr_accessor applies_to_price_ids: ::Array[String]
396
+
397
+ attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter]
398
+
399
+ attr_accessor is_invoice_level: bool
400
+
401
+ attr_accessor item_id: String
402
+
403
+ attr_accessor minimum_amount: String
404
+
405
+ attr_accessor plan_phase_order: Integer?
406
+
407
+ attr_accessor reason: String?
408
+
409
+ def initialize: (
410
+ id: String,
411
+ applies_to_price_ids: ::Array[String],
412
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter],
413
+ is_invoice_level: bool,
414
+ item_id: String,
415
+ minimum_amount: String,
416
+ plan_phase_order: Integer?,
417
+ reason: String?,
418
+ ?adjustment_type: :minimum
419
+ ) -> void
420
+
421
+ def to_hash: -> {
422
+ id: String,
423
+ adjustment_type: :minimum,
424
+ applies_to_price_ids: ::Array[String],
425
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter],
426
+ is_invoice_level: bool,
427
+ item_id: String,
428
+ minimum_amount: String,
429
+ plan_phase_order: Integer?,
430
+ reason: String?
431
+ }
432
+
433
+ type filter =
434
+ {
435
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field,
436
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator,
437
+ values: ::Array[String]
438
+ }
439
+
440
+ class Filter < Orb::Internal::Type::BaseModel
441
+ attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field
442
+
443
+ attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator
444
+
445
+ attr_accessor values: ::Array[String]
446
+
447
+ def initialize: (
448
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field,
449
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator,
450
+ values: ::Array[String]
451
+ ) -> void
452
+
453
+ def to_hash: -> {
454
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field,
455
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator,
456
+ values: ::Array[String]
457
+ }
458
+
459
+ type field =
460
+ :price_id
461
+ | :item_id
462
+ | :price_type
463
+ | :currency
464
+ | :pricing_unit_id
465
+
466
+ module Field
467
+ extend Orb::Internal::Type::Enum
468
+
469
+ PRICE_ID: :price_id
470
+ ITEM_ID: :item_id
471
+ PRICE_TYPE: :price_type
472
+ CURRENCY: :currency
473
+ PRICING_UNIT_ID: :pricing_unit_id
474
+
475
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::field]
476
+ end
477
+
478
+ type operator = :includes | :excludes
479
+
480
+ module Operator
481
+ extend Orb::Internal::Type::Enum
482
+
483
+ INCLUDES: :includes
484
+ EXCLUDES: :excludes
485
+
486
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Minimum::Filter::operator]
487
+ end
488
+ end
489
+ end
490
+
491
+ type maximum =
492
+ {
493
+ id: String,
494
+ adjustment_type: :maximum,
495
+ applies_to_price_ids: ::Array[String],
496
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter],
497
+ is_invoice_level: bool,
498
+ maximum_amount: String,
499
+ plan_phase_order: Integer?,
500
+ reason: String?
501
+ }
502
+
503
+ class Maximum < Orb::Internal::Type::BaseModel
504
+ attr_accessor id: String
505
+
506
+ attr_accessor adjustment_type: :maximum
507
+
508
+ attr_accessor applies_to_price_ids: ::Array[String]
509
+
510
+ attr_accessor filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter]
511
+
512
+ attr_accessor is_invoice_level: bool
513
+
514
+ attr_accessor maximum_amount: String
515
+
516
+ attr_accessor plan_phase_order: Integer?
517
+
518
+ attr_accessor reason: String?
519
+
520
+ def initialize: (
521
+ id: String,
522
+ applies_to_price_ids: ::Array[String],
523
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter],
524
+ is_invoice_level: bool,
525
+ maximum_amount: String,
526
+ plan_phase_order: Integer?,
527
+ reason: String?,
528
+ ?adjustment_type: :maximum
529
+ ) -> void
530
+
531
+ def to_hash: -> {
532
+ id: String,
533
+ adjustment_type: :maximum,
534
+ applies_to_price_ids: ::Array[String],
535
+ filters: ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter],
536
+ is_invoice_level: bool,
537
+ maximum_amount: String,
538
+ plan_phase_order: Integer?,
539
+ reason: String?
540
+ }
541
+
542
+ type filter =
543
+ {
544
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field,
545
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator,
546
+ values: ::Array[String]
547
+ }
548
+
549
+ class Filter < Orb::Internal::Type::BaseModel
550
+ attr_accessor field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field
551
+
552
+ attr_accessor operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator
553
+
554
+ attr_accessor values: ::Array[String]
555
+
556
+ def initialize: (
557
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field,
558
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator,
559
+ values: ::Array[String]
560
+ ) -> void
561
+
562
+ def to_hash: -> {
563
+ field: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field,
564
+ operator: Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator,
565
+ values: ::Array[String]
566
+ }
567
+
568
+ type field =
569
+ :price_id
570
+ | :item_id
571
+ | :price_type
572
+ | :currency
573
+ | :pricing_unit_id
574
+
575
+ module Field
576
+ extend Orb::Internal::Type::Enum
577
+
578
+ PRICE_ID: :price_id
579
+ ITEM_ID: :item_id
580
+ PRICE_TYPE: :price_type
581
+ CURRENCY: :currency
582
+ PRICING_UNIT_ID: :pricing_unit_id
583
+
584
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::field]
585
+ end
586
+
587
+ type operator = :includes | :excludes
588
+
589
+ module Operator
590
+ extend Orb::Internal::Type::Enum
591
+
592
+ INCLUDES: :includes
593
+ EXCLUDES: :excludes
594
+
595
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::Adjustment::Maximum::Filter::operator]
596
+ end
597
+ end
598
+ end
599
+
600
+ def self?.variants: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::adjustment]
601
+ end
602
+
603
+ type plan_phase =
604
+ {
605
+ id: String,
606
+ description: String?,
607
+ duration: Integer?,
608
+ duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?,
609
+ name: String,
610
+ order: Integer
611
+ }
612
+
613
+ class PlanPhase < Orb::Internal::Type::BaseModel
614
+ attr_accessor id: String
615
+
616
+ attr_accessor description: String?
617
+
618
+ attr_accessor duration: Integer?
619
+
620
+ attr_accessor duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?
621
+
622
+ attr_accessor name: String
623
+
624
+ attr_accessor order: Integer
625
+
626
+ def initialize: (
627
+ id: String,
628
+ description: String?,
629
+ duration: Integer?,
630
+ duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?,
631
+ name: String,
632
+ order: Integer
633
+ ) -> void
634
+
635
+ def to_hash: -> {
636
+ id: String,
637
+ description: String?,
638
+ duration: Integer?,
639
+ duration_unit: Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit?,
640
+ name: String,
641
+ order: Integer
642
+ }
643
+
644
+ type duration_unit =
645
+ :daily | :monthly | :quarterly | :semi_annual | :annual
646
+
647
+ module DurationUnit
648
+ extend Orb::Internal::Type::Enum
649
+
650
+ DAILY: :daily
651
+ MONTHLY: :monthly
652
+ QUARTERLY: :quarterly
653
+ SEMI_ANNUAL: :semi_annual
654
+ ANNUAL: :annual
655
+
656
+ def self?.values: -> ::Array[Orb::Models::Plans::VersionRetrieveResponse::PlanPhase::duration_unit]
657
+ end
658
+ end
659
+ end
660
+ end
661
+ end
662
+ end