orb-billing 0.1.0.pre.alpha.37 → 0.1.0.pre.alpha.39

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 (402) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -5
  3. data/lib/orb/client.rb +4 -0
  4. data/lib/orb/internal/page.rb +6 -2
  5. data/lib/orb/internal/transport/base_client.rb +3 -3
  6. data/lib/orb/internal/transport/pooled_net_requester.rb +2 -2
  7. data/lib/orb/internal/type/array_of.rb +5 -3
  8. data/lib/orb/internal/type/base_model.rb +19 -16
  9. data/lib/orb/internal/type/base_page.rb +4 -1
  10. data/lib/orb/internal/type/{boolean_model.rb → boolean.rb} +2 -2
  11. data/lib/orb/internal/type/converter.rb +26 -23
  12. data/lib/orb/internal/type/enum.rb +10 -8
  13. data/lib/orb/internal/type/hash_of.rb +3 -1
  14. data/lib/orb/internal/util.rb +29 -50
  15. data/lib/orb/models/alert.rb +10 -10
  16. data/lib/orb/models/alert_create_for_customer_params.rb +3 -3
  17. data/lib/orb/models/alert_create_for_external_customer_params.rb +3 -3
  18. data/lib/orb/models/alert_create_for_subscription_params.rb +3 -3
  19. data/lib/orb/models/alert_list_params.rb +5 -5
  20. data/lib/orb/models/alert_update_params.rb +3 -3
  21. data/lib/orb/models/amount_discount.rb +1 -1
  22. data/lib/orb/models/billable_metric.rb +7 -7
  23. data/lib/orb/models/coupon.rb +7 -7
  24. data/lib/orb/models/coupon_create_params.rb +2 -2
  25. data/lib/orb/models/coupon_list_params.rb +3 -3
  26. data/lib/orb/models/coupons/subscription_list_params.rb +1 -1
  27. data/lib/orb/models/credit_note.rb +1 -1
  28. data/lib/orb/models/credit_note_list_params.rb +5 -5
  29. data/lib/orb/models/customer.rb +237 -237
  30. data/lib/orb/models/customer_create_params.rb +229 -229
  31. data/lib/orb/models/customer_list_params.rb +5 -5
  32. data/lib/orb/models/customer_update_by_external_id_params.rb +230 -230
  33. data/lib/orb/models/customer_update_params.rb +230 -230
  34. data/lib/orb/models/customers/balance_transaction_create_response.rb +2 -2
  35. data/lib/orb/models/customers/balance_transaction_list_params.rb +5 -5
  36. data/lib/orb/models/customers/balance_transaction_list_response.rb +2 -2
  37. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +6 -6
  38. data/lib/orb/models/customers/cost_list_params.rb +6 -6
  39. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +3 -3
  40. data/lib/orb/models/customers/credit_list_params.rb +3 -3
  41. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +22 -22
  42. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +22 -22
  43. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +22 -22
  44. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +22 -22
  45. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +5 -5
  46. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +22 -22
  47. data/lib/orb/models/customers/credits/ledger_list_params.rb +5 -5
  48. data/lib/orb/models/customers/credits/ledger_list_response.rb +22 -22
  49. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +10 -10
  50. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +9 -9
  51. data/lib/orb/models/customers/credits/top_up_create_params.rb +10 -10
  52. data/lib/orb/models/customers/credits/top_up_create_response.rb +9 -9
  53. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +1 -1
  54. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +9 -9
  55. data/lib/orb/models/customers/credits/top_up_list_params.rb +1 -1
  56. data/lib/orb/models/customers/credits/top_up_list_response.rb +9 -9
  57. data/lib/orb/models/dimensional_price_group.rb +7 -7
  58. data/lib/orb/models/dimensional_price_group_create_params.rb +2 -2
  59. data/lib/orb/models/dimensional_price_group_list_params.rb +1 -1
  60. data/lib/orb/models/evaluate_price_group.rb +1 -1
  61. data/lib/orb/models/event_ingest_params.rb +8 -8
  62. data/lib/orb/models/event_ingest_response.rb +4 -4
  63. data/lib/orb/models/event_search_params.rb +5 -5
  64. data/lib/orb/models/event_search_response.rb +9 -9
  65. data/lib/orb/models/event_update_params.rb +4 -4
  66. data/lib/orb/models/events/backfill_close_response.rb +8 -8
  67. data/lib/orb/models/events/backfill_create_params.rb +12 -12
  68. data/lib/orb/models/events/backfill_create_response.rb +8 -8
  69. data/lib/orb/models/events/backfill_fetch_response.rb +8 -8
  70. data/lib/orb/models/events/backfill_list_params.rb +1 -1
  71. data/lib/orb/models/events/backfill_list_response.rb +8 -8
  72. data/lib/orb/models/events/backfill_revert_response.rb +8 -8
  73. data/lib/orb/models/events/event_volumes.rb +1 -1
  74. data/lib/orb/models/events/volume_list_params.rb +7 -7
  75. data/lib/orb/models/invoice.rb +278 -278
  76. data/lib/orb/models/invoice_create_params.rb +13 -12
  77. data/lib/orb/models/invoice_fetch_upcoming_response.rb +274 -274
  78. data/lib/orb/models/invoice_issue_params.rb +5 -5
  79. data/lib/orb/models/invoice_line_item_create_params.rb +1 -1
  80. data/lib/orb/models/invoice_line_item_create_response.rb +32 -32
  81. data/lib/orb/models/invoice_list_params.rb +13 -13
  82. data/lib/orb/models/invoice_update_params.rb +2 -2
  83. data/lib/orb/models/item.rb +2 -2
  84. data/lib/orb/models/item_list_params.rb +1 -1
  85. data/lib/orb/models/metric_create_params.rb +2 -2
  86. data/lib/orb/models/metric_list_params.rb +5 -5
  87. data/lib/orb/models/metric_update_params.rb +2 -2
  88. data/lib/orb/models/pagination_metadata.rb +1 -1
  89. data/lib/orb/models/percentage_discount.rb +2 -2
  90. data/lib/orb/models/plan.rb +40 -40
  91. data/lib/orb/models/plan_create_params.rb +292 -292
  92. data/lib/orb/models/plan_list_params.rb +5 -5
  93. data/lib/orb/models/plan_update_params.rb +4 -4
  94. data/lib/orb/models/plans/external_plan_id_update_params.rb +4 -4
  95. data/lib/orb/models/price.rb +186 -186
  96. data/lib/orb/models/price_create_params.rb +21 -21
  97. data/lib/orb/models/price_evaluate_params.rb +4 -4
  98. data/lib/orb/models/price_list_params.rb +1 -1
  99. data/lib/orb/models/price_update_params.rb +2 -2
  100. data/lib/orb/models/prices/external_price_id_update_params.rb +2 -2
  101. data/lib/orb/models/subscription.rb +120 -93
  102. data/lib/orb/models/subscription_cancel_params.rb +4 -4
  103. data/lib/orb/models/subscription_cancel_response.rb +156 -78
  104. data/lib/orb/models/subscription_change_apply_params.rb +33 -0
  105. data/lib/orb/models/subscription_change_apply_response.rb +1372 -0
  106. data/lib/orb/models/subscription_change_cancel_params.rb +19 -0
  107. data/lib/orb/models/subscription_change_cancel_response.rb +1372 -0
  108. data/lib/orb/models/subscription_change_retrieve_params.rb +19 -0
  109. data/lib/orb/models/subscription_change_retrieve_response.rb +1372 -0
  110. data/lib/orb/models/subscription_create_params.rb +705 -705
  111. data/lib/orb/models/subscription_create_response.rb +156 -78
  112. data/lib/orb/models/subscription_fetch_costs_params.rb +6 -6
  113. data/lib/orb/models/subscription_fetch_schedule_params.rb +5 -5
  114. data/lib/orb/models/subscription_fetch_schedule_response.rb +2 -2
  115. data/lib/orb/models/subscription_fetch_usage_params.rb +8 -8
  116. data/lib/orb/models/subscription_list_params.rb +5 -5
  117. data/lib/orb/models/subscription_price_intervals_params.rb +358 -358
  118. data/lib/orb/models/subscription_price_intervals_response.rb +158 -78
  119. data/lib/orb/models/subscription_schedule_plan_change_params.rb +715 -715
  120. data/lib/orb/models/subscription_schedule_plan_change_response.rb +158 -78
  121. data/lib/orb/models/subscription_trigger_phase_params.rb +4 -4
  122. data/lib/orb/models/subscription_trigger_phase_response.rb +158 -78
  123. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +158 -78
  124. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +159 -79
  125. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +158 -78
  126. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +9 -9
  127. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +158 -78
  128. data/lib/orb/models/subscription_update_params.rb +11 -11
  129. data/lib/orb/models/subscription_update_trial_params.rb +4 -4
  130. data/lib/orb/models/subscription_update_trial_response.rb +158 -78
  131. data/lib/orb/models/trial_discount.rb +1 -1
  132. data/lib/orb/models/usage_discount.rb +2 -2
  133. data/lib/orb/request_options.rb +7 -7
  134. data/lib/orb/resources/alerts.rb +40 -35
  135. data/lib/orb/resources/coupons/subscriptions.rb +3 -3
  136. data/lib/orb/resources/coupons.rb +9 -9
  137. data/lib/orb/resources/credit_notes.rb +10 -5
  138. data/lib/orb/resources/customers/balance_transactions.rb +28 -23
  139. data/lib/orb/resources/customers/costs.rb +232 -232
  140. data/lib/orb/resources/customers/credits/ledger.rb +348 -338
  141. data/lib/orb/resources/customers/credits/top_ups.rb +12 -12
  142. data/lib/orb/resources/customers/credits.rb +8 -8
  143. data/lib/orb/resources/customers.rb +61 -56
  144. data/lib/orb/resources/dimensional_price_groups.rb +6 -6
  145. data/lib/orb/resources/events/backfills.rb +49 -49
  146. data/lib/orb/resources/events/volume.rb +10 -10
  147. data/lib/orb/resources/events.rb +295 -295
  148. data/lib/orb/resources/invoice_line_items.rb +1 -1
  149. data/lib/orb/resources/invoices.rb +40 -31
  150. data/lib/orb/resources/items.rb +1 -1
  151. data/lib/orb/resources/metrics.rb +13 -8
  152. data/lib/orb/resources/plans/external_plan_id.rb +14 -14
  153. data/lib/orb/resources/plans.rb +24 -19
  154. data/lib/orb/resources/prices/external_price_id.rb +4 -4
  155. data/lib/orb/resources/prices.rb +30 -30
  156. data/lib/orb/resources/subscription_changes.rb +87 -0
  157. data/lib/orb/resources/subscriptions.rb +817 -807
  158. data/lib/orb/resources/top_level.rb +4 -4
  159. data/lib/orb/version.rb +1 -1
  160. data/lib/orb.rb +8 -1
  161. data/rbi/lib/orb/client.rbi +5 -4
  162. data/rbi/lib/orb/errors.rbi +3 -6
  163. data/rbi/lib/orb/internal/page.rbi +3 -6
  164. data/rbi/lib/orb/internal/transport/base_client.rbi +13 -27
  165. data/rbi/lib/orb/internal/transport/pooled_net_requester.rbi +7 -13
  166. data/rbi/lib/orb/internal/type/array_of.rbi +10 -18
  167. data/rbi/lib/orb/internal/type/base_model.rbi +45 -64
  168. data/rbi/lib/orb/internal/type/base_page.rbi +5 -10
  169. data/rbi/lib/orb/internal/type/{boolean_model.rbi → boolean.rbi} +5 -9
  170. data/rbi/lib/orb/internal/type/converter.rbi +25 -31
  171. data/rbi/lib/orb/internal/type/enum.rbi +14 -20
  172. data/rbi/lib/orb/internal/type/hash_of.rbi +8 -16
  173. data/rbi/lib/orb/internal/type/request_parameters.rbi +1 -2
  174. data/rbi/lib/orb/internal/type/union.rbi +10 -20
  175. data/rbi/lib/orb/internal/type/unknown.rbi +4 -8
  176. data/rbi/lib/orb/internal/util.rbi +40 -72
  177. data/rbi/lib/orb/internal.rbi +1 -1
  178. data/rbi/lib/orb/models/alert.rbi +21 -33
  179. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +8 -13
  180. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +8 -13
  181. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +8 -13
  182. data/rbi/lib/orb/models/alert_disable_params.rbi +2 -4
  183. data/rbi/lib/orb/models/alert_enable_params.rbi +2 -4
  184. data/rbi/lib/orb/models/alert_list_params.rbi +3 -6
  185. data/rbi/lib/orb/models/alert_retrieve_params.rbi +2 -4
  186. data/rbi/lib/orb/models/alert_update_params.rbi +7 -11
  187. data/rbi/lib/orb/models/amount_discount.rbi +4 -7
  188. data/rbi/lib/orb/models/billable_metric.rbi +10 -13
  189. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -2
  190. data/rbi/lib/orb/models/coupon.rbi +9 -11
  191. data/rbi/lib/orb/models/coupon_archive_params.rbi +2 -4
  192. data/rbi/lib/orb/models/coupon_create_params.rbi +8 -14
  193. data/rbi/lib/orb/models/coupon_fetch_params.rbi +2 -4
  194. data/rbi/lib/orb/models/coupon_list_params.rbi +3 -4
  195. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +3 -5
  196. data/rbi/lib/orb/models/credit_note.rbi +22 -45
  197. data/rbi/lib/orb/models/credit_note_create_params.rbi +5 -10
  198. data/rbi/lib/orb/models/credit_note_fetch_params.rbi +2 -4
  199. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -6
  200. data/rbi/lib/orb/models/customer.rbi +256 -281
  201. data/rbi/lib/orb/models/customer_create_params.rbi +251 -276
  202. data/rbi/lib/orb/models/customer_delete_params.rbi +2 -4
  203. data/rbi/lib/orb/models/customer_fetch_by_external_id_params.rbi +2 -4
  204. data/rbi/lib/orb/models/customer_fetch_params.rbi +2 -4
  205. data/rbi/lib/orb/models/customer_list_params.rbi +3 -6
  206. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +2 -4
  207. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +2 -4
  208. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +252 -277
  209. data/rbi/lib/orb/models/customer_update_params.rbi +252 -277
  210. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +3 -6
  211. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +10 -19
  212. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -6
  213. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +10 -19
  214. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +8 -10
  215. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +6 -12
  216. data/rbi/lib/orb/models/customers/cost_list_params.rbi +8 -10
  217. data/rbi/lib/orb/models/customers/cost_list_response.rbi +6 -12
  218. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +3 -4
  219. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +2 -4
  220. data/rbi/lib/orb/models/customers/credit_list_params.rbi +3 -4
  221. data/rbi/lib/orb/models/customers/credit_list_response.rbi +2 -4
  222. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +26 -33
  223. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +79 -136
  224. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +26 -33
  225. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +78 -135
  226. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +5 -10
  227. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +79 -136
  228. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +5 -10
  229. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +74 -131
  230. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +13 -19
  231. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +12 -18
  232. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +13 -19
  233. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +12 -18
  234. data/rbi/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +2 -4
  235. data/rbi/lib/orb/models/customers/credits/top_up_delete_params.rbi +2 -4
  236. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +3 -5
  237. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +12 -18
  238. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +3 -5
  239. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +12 -18
  240. data/rbi/lib/orb/models/dimensional_price_group.rbi +8 -9
  241. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -7
  242. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +3 -5
  243. data/rbi/lib/orb/models/dimensional_price_group_retrieve_params.rbi +2 -4
  244. data/rbi/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +2 -4
  245. data/rbi/lib/orb/models/dimensional_price_groups.rbi +2 -4
  246. data/rbi/lib/orb/models/discount.rbi +1 -2
  247. data/rbi/lib/orb/models/evaluate_price_group.rbi +3 -6
  248. data/rbi/lib/orb/models/event_deprecate_params.rbi +2 -4
  249. data/rbi/lib/orb/models/event_deprecate_response.rbi +2 -4
  250. data/rbi/lib/orb/models/event_ingest_params.rbi +10 -13
  251. data/rbi/lib/orb/models/event_ingest_response.rbi +10 -16
  252. data/rbi/lib/orb/models/event_search_params.rbi +7 -9
  253. data/rbi/lib/orb/models/event_search_response.rbi +11 -14
  254. data/rbi/lib/orb/models/event_update_params.rbi +5 -6
  255. data/rbi/lib/orb/models/event_update_response.rbi +2 -4
  256. data/rbi/lib/orb/models/events/backfill_close_params.rbi +2 -4
  257. data/rbi/lib/orb/models/events/backfill_close_response.rbi +10 -14
  258. data/rbi/lib/orb/models/events/backfill_create_params.rbi +13 -16
  259. data/rbi/lib/orb/models/events/backfill_create_response.rbi +10 -14
  260. data/rbi/lib/orb/models/events/backfill_fetch_params.rbi +2 -4
  261. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +10 -14
  262. data/rbi/lib/orb/models/events/backfill_list_params.rbi +3 -5
  263. data/rbi/lib/orb/models/events/backfill_list_response.rbi +10 -14
  264. data/rbi/lib/orb/models/events/backfill_revert_params.rbi +2 -4
  265. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +10 -14
  266. data/rbi/lib/orb/models/events/event_volumes.rbi +5 -9
  267. data/rbi/lib/orb/models/events/volume_list_params.rbi +9 -11
  268. data/rbi/lib/orb/models/invoice.rbi +388 -465
  269. data/rbi/lib/orb/models/invoice_create_params.rbi +19 -26
  270. data/rbi/lib/orb/models/invoice_fetch_params.rbi +2 -4
  271. data/rbi/lib/orb/models/invoice_fetch_upcoming_params.rbi +2 -4
  272. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +381 -460
  273. data/rbi/lib/orb/models/invoice_issue_params.rbi +6 -8
  274. data/rbi/lib/orb/models/invoice_level_discount.rbi +1 -2
  275. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +3 -5
  276. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +101 -143
  277. data/rbi/lib/orb/models/invoice_list_params.rbi +8 -13
  278. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +2 -4
  279. data/rbi/lib/orb/models/invoice_pay_params.rbi +2 -4
  280. data/rbi/lib/orb/models/invoice_update_params.rbi +4 -6
  281. data/rbi/lib/orb/models/invoice_void_params.rbi +2 -4
  282. data/rbi/lib/orb/models/item.rbi +7 -12
  283. data/rbi/lib/orb/models/item_create_params.rbi +2 -4
  284. data/rbi/lib/orb/models/item_fetch_params.rbi +2 -4
  285. data/rbi/lib/orb/models/item_list_params.rbi +3 -5
  286. data/rbi/lib/orb/models/item_update_params.rbi +5 -10
  287. data/rbi/lib/orb/models/metric_create_params.rbi +4 -6
  288. data/rbi/lib/orb/models/metric_fetch_params.rbi +2 -4
  289. data/rbi/lib/orb/models/metric_list_params.rbi +3 -6
  290. data/rbi/lib/orb/models/metric_update_params.rbi +4 -6
  291. data/rbi/lib/orb/models/pagination_metadata.rbi +2 -4
  292. data/rbi/lib/orb/models/percentage_discount.rbi +5 -8
  293. data/rbi/lib/orb/models/plan.rbi +180 -219
  294. data/rbi/lib/orb/models/plan_create_params.rbi +670 -951
  295. data/rbi/lib/orb/models/plan_fetch_params.rbi +2 -4
  296. data/rbi/lib/orb/models/plan_list_params.rbi +4 -8
  297. data/rbi/lib/orb/models/plan_update_params.rbi +6 -8
  298. data/rbi/lib/orb/models/plans/external_plan_id_fetch_params.rbi +2 -4
  299. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +6 -8
  300. data/rbi/lib/orb/models/price.rbi +827 -1494
  301. data/rbi/lib/orb/models/price_create_params.rbi +60 -101
  302. data/rbi/lib/orb/models/price_evaluate_params.rbi +6 -9
  303. data/rbi/lib/orb/models/price_evaluate_response.rbi +2 -4
  304. data/rbi/lib/orb/models/price_fetch_params.rbi +2 -4
  305. data/rbi/lib/orb/models/price_list_params.rbi +3 -5
  306. data/rbi/lib/orb/models/price_update_params.rbi +4 -6
  307. data/rbi/lib/orb/models/prices/external_price_id_fetch_params.rbi +2 -4
  308. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +4 -6
  309. data/rbi/lib/orb/models/subscription.rbi +167 -187
  310. data/rbi/lib/orb/models/subscription_cancel_params.rbi +5 -7
  311. data/rbi/lib/orb/models/subscription_cancel_response.rbi +224 -178
  312. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +40 -0
  313. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +1554 -0
  314. data/rbi/lib/orb/models/subscription_change_cancel_params.rbi +18 -0
  315. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +1565 -0
  316. data/rbi/lib/orb/models/subscription_change_retrieve_params.rbi +18 -0
  317. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +1581 -0
  318. data/rbi/lib/orb/models/subscription_create_params.rbi +1372 -1968
  319. data/rbi/lib/orb/models/subscription_create_response.rbi +224 -178
  320. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +8 -10
  321. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +6 -12
  322. data/rbi/lib/orb/models/subscription_fetch_params.rbi +2 -4
  323. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -6
  324. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +6 -10
  325. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +12 -17
  326. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -8
  327. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +772 -1124
  328. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +228 -178
  329. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +1396 -1993
  330. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +238 -182
  331. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +5 -7
  332. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +224 -178
  333. data/rbi/lib/orb/models/subscription_unschedule_cancellation_params.rbi +2 -4
  334. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +238 -182
  335. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +2 -4
  336. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +265 -199
  337. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +2 -4
  338. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +264 -198
  339. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -15
  340. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +238 -182
  341. data/rbi/lib/orb/models/subscription_update_params.rbi +12 -15
  342. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +6 -9
  343. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +224 -178
  344. data/rbi/lib/orb/models/subscription_usage.rbi +24 -43
  345. data/rbi/lib/orb/models/subscriptions.rbi +2 -4
  346. data/rbi/lib/orb/models/top_level_ping_params.rbi +2 -4
  347. data/rbi/lib/orb/models/top_level_ping_response.rbi +2 -4
  348. data/rbi/lib/orb/models/trial_discount.rbi +4 -8
  349. data/rbi/lib/orb/models/usage_discount.rbi +5 -8
  350. data/rbi/lib/orb/request_options.rbi +9 -11
  351. data/rbi/lib/orb/resources/alerts.rbi +44 -60
  352. data/rbi/lib/orb/resources/coupons/subscriptions.rbi +6 -9
  353. data/rbi/lib/orb/resources/coupons.rbi +18 -25
  354. data/rbi/lib/orb/resources/credit_notes.rbi +9 -15
  355. data/rbi/lib/orb/resources/customers/balance_transactions.rbi +26 -31
  356. data/rbi/lib/orb/resources/customers/costs.rbi +241 -246
  357. data/rbi/lib/orb/resources/customers/credits/ledger.rbi +387 -396
  358. data/rbi/lib/orb/resources/customers/credits/top_ups.rbi +29 -40
  359. data/rbi/lib/orb/resources/customers/credits.rbi +15 -20
  360. data/rbi/lib/orb/resources/customers.rbi +407 -417
  361. data/rbi/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +2 -4
  362. data/rbi/lib/orb/resources/dimensional_price_groups.rbi +13 -19
  363. data/rbi/lib/orb/resources/events/backfills.rbi +61 -69
  364. data/rbi/lib/orb/resources/events/volume.rbi +19 -22
  365. data/rbi/lib/orb/resources/events.rbi +311 -319
  366. data/rbi/lib/orb/resources/invoice_line_items.rbi +4 -7
  367. data/rbi/lib/orb/resources/invoices.rbi +62 -76
  368. data/rbi/lib/orb/resources/items.rbi +7 -14
  369. data/rbi/lib/orb/resources/metrics.rbi +17 -25
  370. data/rbi/lib/orb/resources/plans/external_plan_id.rbi +21 -25
  371. data/rbi/lib/orb/resources/plans.rbi +63 -71
  372. data/rbi/lib/orb/resources/prices/external_price_id.rbi +9 -13
  373. data/rbi/lib/orb/resources/prices.rbi +77 -87
  374. data/rbi/lib/orb/resources/subscription_changes.rbi +61 -0
  375. data/rbi/lib/orb/resources/subscriptions.rbi +933 -963
  376. data/rbi/lib/orb/resources/top_level.rbi +6 -8
  377. data/rbi/lib/orb/version.rbi +1 -1
  378. data/sig/orb/client.rbs +2 -0
  379. data/sig/orb/internal/type/array_of.rbs +2 -2
  380. data/sig/orb/internal/type/{boolean_model.rbs → boolean.rbs} +1 -1
  381. data/sig/orb/internal/util.rbs +5 -5
  382. data/sig/orb/models/subscription.rbs +14 -0
  383. data/sig/orb/models/subscription_cancel_response.rbs +47 -2
  384. data/sig/orb/models/subscription_change_apply_params.rbs +24 -0
  385. data/sig/orb/models/subscription_change_apply_response.rbs +784 -0
  386. data/sig/orb/models/subscription_change_cancel_params.rbs +15 -0
  387. data/sig/orb/models/subscription_change_cancel_response.rbs +784 -0
  388. data/sig/orb/models/subscription_change_retrieve_params.rbs +15 -0
  389. data/sig/orb/models/subscription_change_retrieve_response.rbs +784 -0
  390. data/sig/orb/models/subscription_create_response.rbs +47 -2
  391. data/sig/orb/models/subscription_price_intervals_response.rbs +47 -2
  392. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +47 -2
  393. data/sig/orb/models/subscription_trigger_phase_response.rbs +47 -2
  394. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +47 -2
  395. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +47 -2
  396. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +47 -2
  397. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +47 -2
  398. data/sig/orb/models/subscription_update_trial_response.rbs +47 -2
  399. data/sig/orb/resources/customers.rbs +2 -2
  400. data/sig/orb/resources/subscription_changes.rbs +24 -0
  401. data/sig/orb/version.rbs +1 -1
  402. metadata +26 -5
@@ -0,0 +1,784 @@
1
+ module Orb
2
+ module Models
3
+ type subscription_change_apply_response =
4
+ {
5
+ id: String,
6
+ expiration_time: Time,
7
+ status: Orb::Models::SubscriptionChangeApplyResponse::status,
8
+ subscription: Orb::Models::SubscriptionChangeApplyResponse::Subscription?,
9
+ applied_at: Time?,
10
+ cancelled_at: Time?
11
+ }
12
+
13
+ class SubscriptionChangeApplyResponse < Orb::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ attr_accessor expiration_time: Time
17
+
18
+ attr_accessor status: Orb::Models::SubscriptionChangeApplyResponse::status
19
+
20
+ attr_accessor subscription: Orb::Models::SubscriptionChangeApplyResponse::Subscription?
21
+
22
+ attr_accessor applied_at: Time?
23
+
24
+ attr_accessor cancelled_at: Time?
25
+
26
+ def initialize: (
27
+ id: String,
28
+ expiration_time: Time,
29
+ status: Orb::Models::SubscriptionChangeApplyResponse::status,
30
+ subscription: Orb::Models::SubscriptionChangeApplyResponse::Subscription?,
31
+ ?applied_at: Time?,
32
+ ?cancelled_at: Time?
33
+ ) -> void
34
+
35
+ def to_hash: -> Orb::Models::subscription_change_apply_response
36
+
37
+ type status = :pending | :applied | :cancelled
38
+
39
+ module Status
40
+ extend Orb::Internal::Type::Enum
41
+
42
+ PENDING: :pending
43
+ APPLIED: :applied
44
+ CANCELLED: :cancelled
45
+
46
+ def self?.values: -> ::Array[Orb::Models::SubscriptionChangeApplyResponse::status]
47
+ end
48
+
49
+ type subscription =
50
+ {
51
+ id: String,
52
+ active_plan_phase_order: Integer?,
53
+ adjustment_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval],
54
+ auto_collection: bool?,
55
+ billing_cycle_anchor_configuration: Orb::Models::SubscriptionChangeApplyResponse::Subscription::BillingCycleAnchorConfiguration,
56
+ billing_cycle_day: Integer,
57
+ created_at: Time,
58
+ current_billing_period_end_date: Time?,
59
+ current_billing_period_start_date: Time?,
60
+ customer: Orb::Models::Customer,
61
+ default_invoice_memo: String?,
62
+ discount_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::discount_interval],
63
+ end_date: Time?,
64
+ fixed_fee_quantity_schedule: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::FixedFeeQuantitySchedule],
65
+ invoicing_threshold: String?,
66
+ maximum_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval],
67
+ metadata: ::Hash[Symbol, String],
68
+ minimum_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval],
69
+ net_terms: Integer,
70
+ pending_subscription_change: Orb::Models::SubscriptionChangeApplyResponse::Subscription::PendingSubscriptionChange?,
71
+ plan: Orb::Models::Plan,
72
+ price_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval],
73
+ redeemed_coupon: Orb::Models::SubscriptionChangeApplyResponse::Subscription::RedeemedCoupon?,
74
+ start_date: Time,
75
+ status: Orb::Models::SubscriptionChangeApplyResponse::Subscription::status,
76
+ trial_info: Orb::Models::SubscriptionChangeApplyResponse::Subscription::TrialInfo,
77
+ changed_resources: Orb::Models::SubscriptionChangeApplyResponse::Subscription::ChangedResources?
78
+ }
79
+
80
+ class Subscription < Orb::Internal::Type::BaseModel
81
+ attr_accessor id: String
82
+
83
+ attr_accessor active_plan_phase_order: Integer?
84
+
85
+ attr_accessor adjustment_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval]
86
+
87
+ attr_accessor auto_collection: bool?
88
+
89
+ attr_accessor billing_cycle_anchor_configuration: Orb::Models::SubscriptionChangeApplyResponse::Subscription::BillingCycleAnchorConfiguration
90
+
91
+ attr_accessor billing_cycle_day: Integer
92
+
93
+ attr_accessor created_at: Time
94
+
95
+ attr_accessor current_billing_period_end_date: Time?
96
+
97
+ attr_accessor current_billing_period_start_date: Time?
98
+
99
+ attr_accessor customer: Orb::Models::Customer
100
+
101
+ attr_accessor default_invoice_memo: String?
102
+
103
+ attr_accessor discount_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::discount_interval]
104
+
105
+ attr_accessor end_date: Time?
106
+
107
+ attr_accessor fixed_fee_quantity_schedule: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::FixedFeeQuantitySchedule]
108
+
109
+ attr_accessor invoicing_threshold: String?
110
+
111
+ attr_accessor maximum_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval]
112
+
113
+ attr_accessor metadata: ::Hash[Symbol, String]
114
+
115
+ attr_accessor minimum_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval]
116
+
117
+ attr_accessor net_terms: Integer
118
+
119
+ attr_accessor pending_subscription_change: Orb::Models::SubscriptionChangeApplyResponse::Subscription::PendingSubscriptionChange?
120
+
121
+ attr_accessor plan: Orb::Models::Plan
122
+
123
+ attr_accessor price_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval]
124
+
125
+ attr_accessor redeemed_coupon: Orb::Models::SubscriptionChangeApplyResponse::Subscription::RedeemedCoupon?
126
+
127
+ attr_accessor start_date: Time
128
+
129
+ attr_accessor status: Orb::Models::SubscriptionChangeApplyResponse::Subscription::status
130
+
131
+ attr_accessor trial_info: Orb::Models::SubscriptionChangeApplyResponse::Subscription::TrialInfo
132
+
133
+ attr_accessor changed_resources: Orb::Models::SubscriptionChangeApplyResponse::Subscription::ChangedResources?
134
+
135
+ def initialize: (
136
+ id: String,
137
+ active_plan_phase_order: Integer?,
138
+ adjustment_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval],
139
+ auto_collection: bool?,
140
+ billing_cycle_anchor_configuration: Orb::Models::SubscriptionChangeApplyResponse::Subscription::BillingCycleAnchorConfiguration,
141
+ billing_cycle_day: Integer,
142
+ created_at: Time,
143
+ current_billing_period_end_date: Time?,
144
+ current_billing_period_start_date: Time?,
145
+ customer: Orb::Models::Customer,
146
+ default_invoice_memo: String?,
147
+ discount_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::discount_interval],
148
+ end_date: Time?,
149
+ fixed_fee_quantity_schedule: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::FixedFeeQuantitySchedule],
150
+ invoicing_threshold: String?,
151
+ maximum_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::MaximumInterval],
152
+ metadata: ::Hash[Symbol, String],
153
+ minimum_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::MinimumInterval],
154
+ net_terms: Integer,
155
+ pending_subscription_change: Orb::Models::SubscriptionChangeApplyResponse::Subscription::PendingSubscriptionChange?,
156
+ plan: Orb::Models::Plan,
157
+ price_intervals: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval],
158
+ redeemed_coupon: Orb::Models::SubscriptionChangeApplyResponse::Subscription::RedeemedCoupon?,
159
+ start_date: Time,
160
+ status: Orb::Models::SubscriptionChangeApplyResponse::Subscription::status,
161
+ trial_info: Orb::Models::SubscriptionChangeApplyResponse::Subscription::TrialInfo,
162
+ ?changed_resources: Orb::Models::SubscriptionChangeApplyResponse::Subscription::ChangedResources?
163
+ ) -> void
164
+
165
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::subscription
166
+
167
+ type adjustment_interval =
168
+ {
169
+ id: String,
170
+ adjustment: Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::adjustment,
171
+ applies_to_price_interval_ids: ::Array[String],
172
+ end_date: Time?,
173
+ start_date: Time
174
+ }
175
+
176
+ class AdjustmentInterval < Orb::Internal::Type::BaseModel
177
+ attr_accessor id: String
178
+
179
+ attr_accessor adjustment: Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::adjustment
180
+
181
+ attr_accessor applies_to_price_interval_ids: ::Array[String]
182
+
183
+ attr_accessor end_date: Time?
184
+
185
+ attr_accessor start_date: Time
186
+
187
+ def initialize: (
188
+ id: String,
189
+ adjustment: Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::adjustment,
190
+ applies_to_price_interval_ids: ::Array[String],
191
+ end_date: Time?,
192
+ start_date: Time
193
+ ) -> void
194
+
195
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::adjustment_interval
196
+
197
+ type adjustment =
198
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment
199
+ | Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment
200
+ | Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment
201
+ | Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment
202
+ | Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
203
+
204
+ module Adjustment
205
+ extend Orb::Internal::Type::Union
206
+
207
+ type plan_phase_usage_discount_adjustment =
208
+ {
209
+ id: String,
210
+ adjustment_type: :usage_discount,
211
+ applies_to_price_ids: ::Array[String],
212
+ is_invoice_level: bool,
213
+ plan_phase_order: Integer?,
214
+ reason: String?,
215
+ usage_discount: Float
216
+ }
217
+
218
+ class PlanPhaseUsageDiscountAdjustment < Orb::Internal::Type::BaseModel
219
+ attr_accessor id: String
220
+
221
+ attr_accessor adjustment_type: :usage_discount
222
+
223
+ attr_accessor applies_to_price_ids: ::Array[String]
224
+
225
+ attr_accessor is_invoice_level: bool
226
+
227
+ attr_accessor plan_phase_order: Integer?
228
+
229
+ attr_accessor reason: String?
230
+
231
+ attr_accessor usage_discount: Float
232
+
233
+ def initialize: (
234
+ id: String,
235
+ applies_to_price_ids: ::Array[String],
236
+ is_invoice_level: bool,
237
+ plan_phase_order: Integer?,
238
+ reason: String?,
239
+ usage_discount: Float,
240
+ ?adjustment_type: :usage_discount
241
+ ) -> void
242
+
243
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::plan_phase_usage_discount_adjustment
244
+ end
245
+
246
+ type plan_phase_amount_discount_adjustment =
247
+ {
248
+ id: String,
249
+ adjustment_type: :amount_discount,
250
+ amount_discount: String,
251
+ applies_to_price_ids: ::Array[String],
252
+ is_invoice_level: bool,
253
+ plan_phase_order: Integer?,
254
+ reason: String?
255
+ }
256
+
257
+ class PlanPhaseAmountDiscountAdjustment < Orb::Internal::Type::BaseModel
258
+ attr_accessor id: String
259
+
260
+ attr_accessor adjustment_type: :amount_discount
261
+
262
+ attr_accessor amount_discount: String
263
+
264
+ attr_accessor applies_to_price_ids: ::Array[String]
265
+
266
+ attr_accessor is_invoice_level: bool
267
+
268
+ attr_accessor plan_phase_order: Integer?
269
+
270
+ attr_accessor reason: String?
271
+
272
+ def initialize: (
273
+ id: String,
274
+ amount_discount: String,
275
+ applies_to_price_ids: ::Array[String],
276
+ is_invoice_level: bool,
277
+ plan_phase_order: Integer?,
278
+ reason: String?,
279
+ ?adjustment_type: :amount_discount
280
+ ) -> void
281
+
282
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::plan_phase_amount_discount_adjustment
283
+ end
284
+
285
+ type plan_phase_percentage_discount_adjustment =
286
+ {
287
+ id: String,
288
+ adjustment_type: :percentage_discount,
289
+ applies_to_price_ids: ::Array[String],
290
+ is_invoice_level: bool,
291
+ percentage_discount: Float,
292
+ plan_phase_order: Integer?,
293
+ reason: String?
294
+ }
295
+
296
+ class PlanPhasePercentageDiscountAdjustment < Orb::Internal::Type::BaseModel
297
+ attr_accessor id: String
298
+
299
+ attr_accessor adjustment_type: :percentage_discount
300
+
301
+ attr_accessor applies_to_price_ids: ::Array[String]
302
+
303
+ attr_accessor is_invoice_level: bool
304
+
305
+ attr_accessor percentage_discount: Float
306
+
307
+ attr_accessor plan_phase_order: Integer?
308
+
309
+ attr_accessor reason: String?
310
+
311
+ def initialize: (
312
+ id: String,
313
+ applies_to_price_ids: ::Array[String],
314
+ is_invoice_level: bool,
315
+ percentage_discount: Float,
316
+ plan_phase_order: Integer?,
317
+ reason: String?,
318
+ ?adjustment_type: :percentage_discount
319
+ ) -> void
320
+
321
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::plan_phase_percentage_discount_adjustment
322
+ end
323
+
324
+ type plan_phase_minimum_adjustment =
325
+ {
326
+ id: String,
327
+ adjustment_type: :minimum,
328
+ applies_to_price_ids: ::Array[String],
329
+ is_invoice_level: bool,
330
+ item_id: String,
331
+ minimum_amount: String,
332
+ plan_phase_order: Integer?,
333
+ reason: String?
334
+ }
335
+
336
+ class PlanPhaseMinimumAdjustment < Orb::Internal::Type::BaseModel
337
+ attr_accessor id: String
338
+
339
+ attr_accessor adjustment_type: :minimum
340
+
341
+ attr_accessor applies_to_price_ids: ::Array[String]
342
+
343
+ attr_accessor is_invoice_level: bool
344
+
345
+ attr_accessor item_id: String
346
+
347
+ attr_accessor minimum_amount: String
348
+
349
+ attr_accessor plan_phase_order: Integer?
350
+
351
+ attr_accessor reason: String?
352
+
353
+ def initialize: (
354
+ id: String,
355
+ applies_to_price_ids: ::Array[String],
356
+ is_invoice_level: bool,
357
+ item_id: String,
358
+ minimum_amount: String,
359
+ plan_phase_order: Integer?,
360
+ reason: String?,
361
+ ?adjustment_type: :minimum
362
+ ) -> void
363
+
364
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::plan_phase_minimum_adjustment
365
+ end
366
+
367
+ type plan_phase_maximum_adjustment =
368
+ {
369
+ id: String,
370
+ adjustment_type: :maximum,
371
+ applies_to_price_ids: ::Array[String],
372
+ is_invoice_level: bool,
373
+ maximum_amount: String,
374
+ plan_phase_order: Integer?,
375
+ reason: String?
376
+ }
377
+
378
+ class PlanPhaseMaximumAdjustment < Orb::Internal::Type::BaseModel
379
+ attr_accessor id: String
380
+
381
+ attr_accessor adjustment_type: :maximum
382
+
383
+ attr_accessor applies_to_price_ids: ::Array[String]
384
+
385
+ attr_accessor is_invoice_level: bool
386
+
387
+ attr_accessor maximum_amount: String
388
+
389
+ attr_accessor plan_phase_order: Integer?
390
+
391
+ attr_accessor reason: String?
392
+
393
+ def initialize: (
394
+ id: String,
395
+ applies_to_price_ids: ::Array[String],
396
+ is_invoice_level: bool,
397
+ maximum_amount: String,
398
+ plan_phase_order: Integer?,
399
+ reason: String?,
400
+ ?adjustment_type: :maximum
401
+ ) -> void
402
+
403
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::plan_phase_maximum_adjustment
404
+ end
405
+
406
+ def self?.variants: -> [Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment, Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment, Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment, Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment, Orb::Models::SubscriptionChangeApplyResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment]
407
+ end
408
+ end
409
+
410
+ type billing_cycle_anchor_configuration =
411
+ { day: Integer, month: Integer?, year: Integer? }
412
+
413
+ class BillingCycleAnchorConfiguration < Orb::Internal::Type::BaseModel
414
+ attr_accessor day: Integer
415
+
416
+ attr_accessor month: Integer?
417
+
418
+ attr_accessor year: Integer?
419
+
420
+ def initialize: (
421
+ day: Integer,
422
+ ?month: Integer?,
423
+ ?year: Integer?
424
+ ) -> void
425
+
426
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::billing_cycle_anchor_configuration
427
+ end
428
+
429
+ type discount_interval =
430
+ Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::AmountDiscountInterval
431
+ | Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::PercentageDiscountInterval
432
+ | Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::UsageDiscountInterval
433
+
434
+ module DiscountInterval
435
+ extend Orb::Internal::Type::Union
436
+
437
+ type amount_discount_interval =
438
+ {
439
+ amount_discount: String,
440
+ applies_to_price_ids: ::Array[String],
441
+ applies_to_price_interval_ids: ::Array[String],
442
+ discount_type: :amount,
443
+ end_date: Time?,
444
+ start_date: Time
445
+ }
446
+
447
+ class AmountDiscountInterval < Orb::Internal::Type::BaseModel
448
+ attr_accessor amount_discount: String
449
+
450
+ attr_accessor applies_to_price_ids: ::Array[String]
451
+
452
+ attr_accessor applies_to_price_interval_ids: ::Array[String]
453
+
454
+ attr_accessor discount_type: :amount
455
+
456
+ attr_accessor end_date: Time?
457
+
458
+ attr_accessor start_date: Time
459
+
460
+ def initialize: (
461
+ amount_discount: String,
462
+ applies_to_price_ids: ::Array[String],
463
+ applies_to_price_interval_ids: ::Array[String],
464
+ end_date: Time?,
465
+ start_date: Time,
466
+ ?discount_type: :amount
467
+ ) -> void
468
+
469
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::amount_discount_interval
470
+ end
471
+
472
+ type percentage_discount_interval =
473
+ {
474
+ applies_to_price_ids: ::Array[String],
475
+ applies_to_price_interval_ids: ::Array[String],
476
+ discount_type: :percentage,
477
+ end_date: Time?,
478
+ percentage_discount: Float,
479
+ start_date: Time
480
+ }
481
+
482
+ class PercentageDiscountInterval < Orb::Internal::Type::BaseModel
483
+ attr_accessor applies_to_price_ids: ::Array[String]
484
+
485
+ attr_accessor applies_to_price_interval_ids: ::Array[String]
486
+
487
+ attr_accessor discount_type: :percentage
488
+
489
+ attr_accessor end_date: Time?
490
+
491
+ attr_accessor percentage_discount: Float
492
+
493
+ attr_accessor start_date: Time
494
+
495
+ def initialize: (
496
+ applies_to_price_ids: ::Array[String],
497
+ applies_to_price_interval_ids: ::Array[String],
498
+ end_date: Time?,
499
+ percentage_discount: Float,
500
+ start_date: Time,
501
+ ?discount_type: :percentage
502
+ ) -> void
503
+
504
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::percentage_discount_interval
505
+ end
506
+
507
+ type usage_discount_interval =
508
+ {
509
+ applies_to_price_ids: ::Array[String],
510
+ applies_to_price_interval_ids: ::Array[String],
511
+ discount_type: :usage,
512
+ end_date: Time?,
513
+ start_date: Time,
514
+ usage_discount: Float
515
+ }
516
+
517
+ class UsageDiscountInterval < Orb::Internal::Type::BaseModel
518
+ attr_accessor applies_to_price_ids: ::Array[String]
519
+
520
+ attr_accessor applies_to_price_interval_ids: ::Array[String]
521
+
522
+ attr_accessor discount_type: :usage
523
+
524
+ attr_accessor end_date: Time?
525
+
526
+ attr_accessor start_date: Time
527
+
528
+ attr_accessor usage_discount: Float
529
+
530
+ def initialize: (
531
+ applies_to_price_ids: ::Array[String],
532
+ applies_to_price_interval_ids: ::Array[String],
533
+ end_date: Time?,
534
+ start_date: Time,
535
+ usage_discount: Float,
536
+ ?discount_type: :usage
537
+ ) -> void
538
+
539
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::usage_discount_interval
540
+ end
541
+
542
+ def self?.variants: -> [Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::AmountDiscountInterval, Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::PercentageDiscountInterval, Orb::Models::SubscriptionChangeApplyResponse::Subscription::DiscountInterval::UsageDiscountInterval]
543
+ end
544
+
545
+ type fixed_fee_quantity_schedule =
546
+ {
547
+ end_date: Time?,
548
+ price_id: String,
549
+ quantity: Float,
550
+ start_date: Time
551
+ }
552
+
553
+ class FixedFeeQuantitySchedule < Orb::Internal::Type::BaseModel
554
+ attr_accessor end_date: Time?
555
+
556
+ attr_accessor price_id: String
557
+
558
+ attr_accessor quantity: Float
559
+
560
+ attr_accessor start_date: Time
561
+
562
+ def initialize: (
563
+ end_date: Time?,
564
+ price_id: String,
565
+ quantity: Float,
566
+ start_date: Time
567
+ ) -> void
568
+
569
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::fixed_fee_quantity_schedule
570
+ end
571
+
572
+ type maximum_interval =
573
+ {
574
+ applies_to_price_ids: ::Array[String],
575
+ applies_to_price_interval_ids: ::Array[String],
576
+ end_date: Time?,
577
+ maximum_amount: String,
578
+ start_date: Time
579
+ }
580
+
581
+ class MaximumInterval < Orb::Internal::Type::BaseModel
582
+ attr_accessor applies_to_price_ids: ::Array[String]
583
+
584
+ attr_accessor applies_to_price_interval_ids: ::Array[String]
585
+
586
+ attr_accessor end_date: Time?
587
+
588
+ attr_accessor maximum_amount: String
589
+
590
+ attr_accessor start_date: Time
591
+
592
+ def initialize: (
593
+ applies_to_price_ids: ::Array[String],
594
+ applies_to_price_interval_ids: ::Array[String],
595
+ end_date: Time?,
596
+ maximum_amount: String,
597
+ start_date: Time
598
+ ) -> void
599
+
600
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::maximum_interval
601
+ end
602
+
603
+ type minimum_interval =
604
+ {
605
+ applies_to_price_ids: ::Array[String],
606
+ applies_to_price_interval_ids: ::Array[String],
607
+ end_date: Time?,
608
+ minimum_amount: String,
609
+ start_date: Time
610
+ }
611
+
612
+ class MinimumInterval < Orb::Internal::Type::BaseModel
613
+ attr_accessor applies_to_price_ids: ::Array[String]
614
+
615
+ attr_accessor applies_to_price_interval_ids: ::Array[String]
616
+
617
+ attr_accessor end_date: Time?
618
+
619
+ attr_accessor minimum_amount: String
620
+
621
+ attr_accessor start_date: Time
622
+
623
+ def initialize: (
624
+ applies_to_price_ids: ::Array[String],
625
+ applies_to_price_interval_ids: ::Array[String],
626
+ end_date: Time?,
627
+ minimum_amount: String,
628
+ start_date: Time
629
+ ) -> void
630
+
631
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::minimum_interval
632
+ end
633
+
634
+ type pending_subscription_change = { id: String }
635
+
636
+ class PendingSubscriptionChange < Orb::Internal::Type::BaseModel
637
+ attr_accessor id: String
638
+
639
+ def initialize: (id: String) -> void
640
+
641
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::pending_subscription_change
642
+ end
643
+
644
+ type price_interval =
645
+ {
646
+ id: String,
647
+ billing_cycle_day: Integer,
648
+ current_billing_period_end_date: Time?,
649
+ current_billing_period_start_date: Time?,
650
+ end_date: Time?,
651
+ filter: String?,
652
+ fixed_fee_quantity_transitions: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval::FixedFeeQuantityTransition]?,
653
+ price: Orb::Models::price,
654
+ start_date: Time,
655
+ usage_customer_ids: ::Array[String]?
656
+ }
657
+
658
+ class PriceInterval < Orb::Internal::Type::BaseModel
659
+ attr_accessor id: String
660
+
661
+ attr_accessor billing_cycle_day: Integer
662
+
663
+ attr_accessor current_billing_period_end_date: Time?
664
+
665
+ attr_accessor current_billing_period_start_date: Time?
666
+
667
+ attr_accessor end_date: Time?
668
+
669
+ attr_accessor filter: String?
670
+
671
+ attr_accessor fixed_fee_quantity_transitions: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval::FixedFeeQuantityTransition]?
672
+
673
+ attr_accessor price: Orb::Models::price
674
+
675
+ attr_accessor start_date: Time
676
+
677
+ attr_accessor usage_customer_ids: ::Array[String]?
678
+
679
+ def initialize: (
680
+ id: String,
681
+ billing_cycle_day: Integer,
682
+ current_billing_period_end_date: Time?,
683
+ current_billing_period_start_date: Time?,
684
+ end_date: Time?,
685
+ filter: String?,
686
+ fixed_fee_quantity_transitions: ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval::FixedFeeQuantityTransition]?,
687
+ price: Orb::Models::price,
688
+ start_date: Time,
689
+ usage_customer_ids: ::Array[String]?
690
+ ) -> void
691
+
692
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::price_interval
693
+
694
+ type fixed_fee_quantity_transition =
695
+ { effective_date: Time, price_id: String, quantity: Integer }
696
+
697
+ class FixedFeeQuantityTransition < Orb::Internal::Type::BaseModel
698
+ attr_accessor effective_date: Time
699
+
700
+ attr_accessor price_id: String
701
+
702
+ attr_accessor quantity: Integer
703
+
704
+ def initialize: (
705
+ effective_date: Time,
706
+ price_id: String,
707
+ quantity: Integer
708
+ ) -> void
709
+
710
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::PriceInterval::fixed_fee_quantity_transition
711
+ end
712
+ end
713
+
714
+ type redeemed_coupon =
715
+ { coupon_id: String, end_date: Time?, start_date: Time }
716
+
717
+ class RedeemedCoupon < Orb::Internal::Type::BaseModel
718
+ attr_accessor coupon_id: String
719
+
720
+ attr_accessor end_date: Time?
721
+
722
+ attr_accessor start_date: Time
723
+
724
+ def initialize: (
725
+ coupon_id: String,
726
+ end_date: Time?,
727
+ start_date: Time
728
+ ) -> void
729
+
730
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::redeemed_coupon
731
+ end
732
+
733
+ type status = :active | :ended | :upcoming
734
+
735
+ module Status
736
+ extend Orb::Internal::Type::Enum
737
+
738
+ ACTIVE: :active
739
+ ENDED: :ended
740
+ UPCOMING: :upcoming
741
+
742
+ def self?.values: -> ::Array[Orb::Models::SubscriptionChangeApplyResponse::Subscription::status]
743
+ end
744
+
745
+ type trial_info = { end_date: Time? }
746
+
747
+ class TrialInfo < Orb::Internal::Type::BaseModel
748
+ attr_accessor end_date: Time?
749
+
750
+ def initialize: (end_date: Time?) -> void
751
+
752
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::trial_info
753
+ end
754
+
755
+ type changed_resources =
756
+ {
757
+ created_credit_notes: ::Array[Orb::Models::CreditNote],
758
+ created_invoices: ::Array[Orb::Models::Invoice],
759
+ voided_credit_notes: ::Array[Orb::Models::CreditNote],
760
+ voided_invoices: ::Array[Orb::Models::Invoice]
761
+ }
762
+
763
+ class ChangedResources < Orb::Internal::Type::BaseModel
764
+ attr_accessor created_credit_notes: ::Array[Orb::Models::CreditNote]
765
+
766
+ attr_accessor created_invoices: ::Array[Orb::Models::Invoice]
767
+
768
+ attr_accessor voided_credit_notes: ::Array[Orb::Models::CreditNote]
769
+
770
+ attr_accessor voided_invoices: ::Array[Orb::Models::Invoice]
771
+
772
+ def initialize: (
773
+ created_credit_notes: ::Array[Orb::Models::CreditNote],
774
+ created_invoices: ::Array[Orb::Models::Invoice],
775
+ voided_credit_notes: ::Array[Orb::Models::CreditNote],
776
+ voided_invoices: ::Array[Orb::Models::Invoice]
777
+ ) -> void
778
+
779
+ def to_hash: -> Orb::Models::SubscriptionChangeApplyResponse::Subscription::changed_resources
780
+ end
781
+ end
782
+ end
783
+ end
784
+ end