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