orb-billing 0.1.0.pre.alpha.33

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 (635) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +169 -0
  3. data/lib/orb/client.rb +129 -0
  4. data/lib/orb/errors.rb +317 -0
  5. data/lib/orb/models/alert.rb +225 -0
  6. data/lib/orb/models/alert_create_for_customer_params.rb +77 -0
  7. data/lib/orb/models/alert_create_for_external_customer_params.rb +77 -0
  8. data/lib/orb/models/alert_create_for_subscription_params.rb +74 -0
  9. data/lib/orb/models/alert_disable_params.rb +26 -0
  10. data/lib/orb/models/alert_enable_params.rb +26 -0
  11. data/lib/orb/models/alert_list_params.rb +97 -0
  12. data/lib/orb/models/alert_retrieve_params.rb +19 -0
  13. data/lib/orb/models/alert_update_params.rb +46 -0
  14. data/lib/orb/models/amount_discount.rb +53 -0
  15. data/lib/orb/models/billable_metric.rb +76 -0
  16. data/lib/orb/models/billing_cycle_relative_date.rb +18 -0
  17. data/lib/orb/models/coupon.rb +86 -0
  18. data/lib/orb/models/coupon_archive_params.rb +19 -0
  19. data/lib/orb/models/coupon_create_params.rb +102 -0
  20. data/lib/orb/models/coupon_fetch_params.rb +19 -0
  21. data/lib/orb/models/coupon_list_params.rb +53 -0
  22. data/lib/orb/models/coupons/subscription_list_params.rb +40 -0
  23. data/lib/orb/models/credit_note.rb +522 -0
  24. data/lib/orb/models/credit_note_create_params.rb +77 -0
  25. data/lib/orb/models/credit_note_fetch_params.rb +19 -0
  26. data/lib/orb/models/credit_note_list_params.rb +73 -0
  27. data/lib/orb/models/customer.rb +872 -0
  28. data/lib/orb/models/customer_create_params.rb +843 -0
  29. data/lib/orb/models/customer_delete_params.rb +19 -0
  30. data/lib/orb/models/customer_fetch_by_external_id_params.rb +19 -0
  31. data/lib/orb/models/customer_fetch_params.rb +19 -0
  32. data/lib/orb/models/customer_list_params.rb +73 -0
  33. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +19 -0
  34. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +19 -0
  35. data/lib/orb/models/customer_update_by_external_id_params.rb +848 -0
  36. data/lib/orb/models/customer_update_params.rb +838 -0
  37. data/lib/orb/models/customers/balance_transaction_create_params.rb +53 -0
  38. data/lib/orb/models/customers/balance_transaction_create_response.rb +167 -0
  39. data/lib/orb/models/customers/balance_transaction_list_params.rb +75 -0
  40. data/lib/orb/models/customers/balance_transaction_list_response.rb +167 -0
  41. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +69 -0
  42. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +106 -0
  43. data/lib/orb/models/customers/cost_list_params.rb +69 -0
  44. data/lib/orb/models/customers/cost_list_response.rb +106 -0
  45. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +59 -0
  46. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +72 -0
  47. data/lib/orb/models/customers/credit_list_params.rb +59 -0
  48. data/lib/orb/models/customers/credit_list_response.rb +72 -0
  49. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +215 -0
  50. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +1311 -0
  51. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +214 -0
  52. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +1310 -0
  53. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +141 -0
  54. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +1310 -0
  55. data/lib/orb/models/customers/credits/ledger_list_params.rb +141 -0
  56. data/lib/orb/models/customers/credits/ledger_list_response.rb +1306 -0
  57. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +159 -0
  58. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +154 -0
  59. data/lib/orb/models/customers/credits/top_up_create_params.rb +158 -0
  60. data/lib/orb/models/customers/credits/top_up_create_response.rb +153 -0
  61. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +29 -0
  62. data/lib/orb/models/customers/credits/top_up_delete_params.rb +29 -0
  63. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +42 -0
  64. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +154 -0
  65. data/lib/orb/models/customers/credits/top_up_list_params.rb +42 -0
  66. data/lib/orb/models/customers/credits/top_up_list_response.rb +153 -0
  67. data/lib/orb/models/dimensional_price_group.rb +64 -0
  68. data/lib/orb/models/dimensional_price_group_create_params.rb +63 -0
  69. data/lib/orb/models/dimensional_price_group_list_params.rb +38 -0
  70. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +19 -0
  71. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +21 -0
  72. data/lib/orb/models/dimensional_price_groups.rb +25 -0
  73. data/lib/orb/models/discount.rb +23 -0
  74. data/lib/orb/models/evaluate_price_group.rb +48 -0
  75. data/lib/orb/models/event_deprecate_params.rb +19 -0
  76. data/lib/orb/models/event_deprecate_response.rb +21 -0
  77. data/lib/orb/models/event_ingest_params.rb +100 -0
  78. data/lib/orb/models/event_ingest_response.rb +77 -0
  79. data/lib/orb/models/event_search_params.rb +45 -0
  80. data/lib/orb/models/event_search_response.rb +87 -0
  81. data/lib/orb/models/event_update_params.rb +58 -0
  82. data/lib/orb/models/event_update_response.rb +21 -0
  83. data/lib/orb/models/events/backfill_close_params.rb +21 -0
  84. data/lib/orb/models/events/backfill_close_response.rb +131 -0
  85. data/lib/orb/models/events/backfill_create_params.rb +97 -0
  86. data/lib/orb/models/events/backfill_create_response.rb +131 -0
  87. data/lib/orb/models/events/backfill_fetch_params.rb +21 -0
  88. data/lib/orb/models/events/backfill_fetch_response.rb +131 -0
  89. data/lib/orb/models/events/backfill_list_params.rb +40 -0
  90. data/lib/orb/models/events/backfill_list_response.rb +131 -0
  91. data/lib/orb/models/events/backfill_revert_params.rb +21 -0
  92. data/lib/orb/models/events/backfill_revert_response.rb +131 -0
  93. data/lib/orb/models/events/event_volumes.rb +54 -0
  94. data/lib/orb/models/events/volume_list_params.rb +64 -0
  95. data/lib/orb/models/invoice.rb +2218 -0
  96. data/lib/orb/models/invoice_create_params.rb +200 -0
  97. data/lib/orb/models/invoice_fetch_params.rb +19 -0
  98. data/lib/orb/models/invoice_fetch_upcoming_params.rb +25 -0
  99. data/lib/orb/models/invoice_fetch_upcoming_response.rb +2226 -0
  100. data/lib/orb/models/invoice_issue_params.rb +34 -0
  101. data/lib/orb/models/invoice_level_discount.rb +21 -0
  102. data/lib/orb/models/invoice_line_item_create_params.rb +62 -0
  103. data/lib/orb/models/invoice_line_item_create_response.rb +929 -0
  104. data/lib/orb/models/invoice_list_params.rb +197 -0
  105. data/lib/orb/models/invoice_mark_paid_params.rb +40 -0
  106. data/lib/orb/models/invoice_pay_params.rb +19 -0
  107. data/lib/orb/models/invoice_update_params.rb +28 -0
  108. data/lib/orb/models/invoice_void_params.rb +19 -0
  109. data/lib/orb/models/item.rb +82 -0
  110. data/lib/orb/models/item_create_params.rb +26 -0
  111. data/lib/orb/models/item_fetch_params.rb +19 -0
  112. data/lib/orb/models/item_list_params.rb +38 -0
  113. data/lib/orb/models/item_update_params.rb +73 -0
  114. data/lib/orb/models/metric_create_params.rb +56 -0
  115. data/lib/orb/models/metric_fetch_params.rb +19 -0
  116. data/lib/orb/models/metric_list_params.rb +73 -0
  117. data/lib/orb/models/metric_update_params.rb +28 -0
  118. data/lib/orb/models/pagination_metadata.rb +25 -0
  119. data/lib/orb/models/percentage_discount.rb +54 -0
  120. data/lib/orb/models/plan.rb +894 -0
  121. data/lib/orb/models/plan_create_params.rb +6702 -0
  122. data/lib/orb/models/plan_fetch_params.rb +19 -0
  123. data/lib/orb/models/plan_list_params.rb +100 -0
  124. data/lib/orb/models/plan_update_params.rb +37 -0
  125. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +21 -0
  126. data/lib/orb/models/plans/external_plan_id_update_params.rb +39 -0
  127. data/lib/orb/models/price.rb +12229 -0
  128. data/lib/orb/models/price_create_params.rb +808 -0
  129. data/lib/orb/models/price_evaluate_params.rb +80 -0
  130. data/lib/orb/models/price_evaluate_response.rb +20 -0
  131. data/lib/orb/models/price_fetch_params.rb +19 -0
  132. data/lib/orb/models/price_list_params.rb +38 -0
  133. data/lib/orb/models/price_update_params.rb +28 -0
  134. data/lib/orb/models/prices/external_price_id_fetch_params.rb +21 -0
  135. data/lib/orb/models/prices/external_price_id_update_params.rb +30 -0
  136. data/lib/orb/models/subscription.rb +1233 -0
  137. data/lib/orb/models/subscription_cancel_params.rb +58 -0
  138. data/lib/orb/models/subscription_cancel_response.rb +1217 -0
  139. data/lib/orb/models/subscription_create_params.rb +15065 -0
  140. data/lib/orb/models/subscription_create_response.rb +1217 -0
  141. data/lib/orb/models/subscription_fetch_costs_params.rb +67 -0
  142. data/lib/orb/models/subscription_fetch_costs_response.rb +104 -0
  143. data/lib/orb/models/subscription_fetch_params.rb +19 -0
  144. data/lib/orb/models/subscription_fetch_schedule_params.rb +73 -0
  145. data/lib/orb/models/subscription_fetch_schedule_response.rb +68 -0
  146. data/lib/orb/models/subscription_fetch_usage_params.rb +135 -0
  147. data/lib/orb/models/subscription_list_params.rb +108 -0
  148. data/lib/orb/models/subscription_price_intervals_params.rb +8358 -0
  149. data/lib/orb/models/subscription_price_intervals_response.rb +1224 -0
  150. data/lib/orb/models/subscription_schedule_plan_change_params.rb +15088 -0
  151. data/lib/orb/models/subscription_schedule_plan_change_response.rb +1224 -0
  152. data/lib/orb/models/subscription_trigger_phase_params.rb +36 -0
  153. data/lib/orb/models/subscription_trigger_phase_response.rb +1224 -0
  154. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +19 -0
  155. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +1224 -0
  156. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +26 -0
  157. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +1228 -0
  158. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +19 -0
  159. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +1224 -0
  160. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +90 -0
  161. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +1224 -0
  162. data/lib/orb/models/subscription_update_params.rb +74 -0
  163. data/lib/orb/models/subscription_update_trial_params.rb +59 -0
  164. data/lib/orb/models/subscription_update_trial_response.rb +1222 -0
  165. data/lib/orb/models/subscription_usage.rb +258 -0
  166. data/lib/orb/models/subscriptions.rb +25 -0
  167. data/lib/orb/models/top_level_ping_params.rb +19 -0
  168. data/lib/orb/models/top_level_ping_response.rb +20 -0
  169. data/lib/orb/models/trial_discount.rb +69 -0
  170. data/lib/orb/models/usage_discount.rb +54 -0
  171. data/lib/orb/page.rb +114 -0
  172. data/lib/orb/request_options.rb +75 -0
  173. data/lib/orb/resources/alerts.rb +239 -0
  174. data/lib/orb/resources/coupons/subscriptions.rb +43 -0
  175. data/lib/orb/resources/coupons.rb +115 -0
  176. data/lib/orb/resources/credit_notes.rb +87 -0
  177. data/lib/orb/resources/customers/balance_transactions.rb +96 -0
  178. data/lib/orb/resources/customers/costs.rb +298 -0
  179. data/lib/orb/resources/customers/credits/ledger.rb +527 -0
  180. data/lib/orb/resources/customers/credits/top_ups.rb +192 -0
  181. data/lib/orb/resources/customers/credits.rb +88 -0
  182. data/lib/orb/resources/customers.rb +321 -0
  183. data/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rb +38 -0
  184. data/lib/orb/resources/dimensional_price_groups.rb +93 -0
  185. data/lib/orb/resources/events/backfills.rb +174 -0
  186. data/lib/orb/resources/events/volume.rb +52 -0
  187. data/lib/orb/resources/events.rb +415 -0
  188. data/lib/orb/resources/invoice_line_items.rb +41 -0
  189. data/lib/orb/resources/invoices.rb +266 -0
  190. data/lib/orb/resources/items.rb +95 -0
  191. data/lib/orb/resources/metrics.rb +114 -0
  192. data/lib/orb/resources/plans/external_plan_id.rb +76 -0
  193. data/lib/orb/resources/plans.rb +133 -0
  194. data/lib/orb/resources/prices/external_price_id.rb +61 -0
  195. data/lib/orb/resources/prices.rb +197 -0
  196. data/lib/orb/resources/subscriptions.rb +1278 -0
  197. data/lib/orb/resources/top_level.rb +37 -0
  198. data/lib/orb/transport/base_client.rb +459 -0
  199. data/lib/orb/transport/pooled_net_requester.rb +182 -0
  200. data/lib/orb/type/array_of.rb +112 -0
  201. data/lib/orb/type/base_model.rb +367 -0
  202. data/lib/orb/type/base_page.rb +61 -0
  203. data/lib/orb/type/boolean_model.rb +52 -0
  204. data/lib/orb/type/converter.rb +217 -0
  205. data/lib/orb/type/enum.rb +101 -0
  206. data/lib/orb/type/hash_of.rb +132 -0
  207. data/lib/orb/type/request_parameters.rb +38 -0
  208. data/lib/orb/type/union.rb +225 -0
  209. data/lib/orb/type/unknown.rb +56 -0
  210. data/lib/orb/type.rb +23 -0
  211. data/lib/orb/util.rb +722 -0
  212. data/lib/orb/version.rb +5 -0
  213. data/lib/orb.rb +247 -0
  214. data/manifest.yaml +15 -0
  215. data/rbi/lib/orb/client.rbi +90 -0
  216. data/rbi/lib/orb/errors.rbi +246 -0
  217. data/rbi/lib/orb/models/alert.rbi +239 -0
  218. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +86 -0
  219. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +88 -0
  220. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +83 -0
  221. data/rbi/lib/orb/models/alert_disable_params.rbi +28 -0
  222. data/rbi/lib/orb/models/alert_enable_params.rbi +28 -0
  223. data/rbi/lib/orb/models/alert_list_params.rbi +95 -0
  224. data/rbi/lib/orb/models/alert_retrieve_params.rbi +20 -0
  225. data/rbi/lib/orb/models/alert_update_params.rbi +51 -0
  226. data/rbi/lib/orb/models/amount_discount.rbi +62 -0
  227. data/rbi/lib/orb/models/billable_metric.rbi +83 -0
  228. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +19 -0
  229. data/rbi/lib/orb/models/coupon.rbi +90 -0
  230. data/rbi/lib/orb/models/coupon_archive_params.rbi +20 -0
  231. data/rbi/lib/orb/models/coupon_create_params.rbi +120 -0
  232. data/rbi/lib/orb/models/coupon_fetch_params.rbi +20 -0
  233. data/rbi/lib/orb/models/coupon_list_params.rbi +59 -0
  234. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +41 -0
  235. data/rbi/lib/orb/models/credit_note.rbi +546 -0
  236. data/rbi/lib/orb/models/credit_note_create_params.rbi +84 -0
  237. data/rbi/lib/orb/models/credit_note_fetch_params.rbi +20 -0
  238. data/rbi/lib/orb/models/credit_note_list_params.rbi +74 -0
  239. data/rbi/lib/orb/models/customer.rbi +941 -0
  240. data/rbi/lib/orb/models/customer_create_params.rbi +923 -0
  241. data/rbi/lib/orb/models/customer_delete_params.rbi +20 -0
  242. data/rbi/lib/orb/models/customer_fetch_by_external_id_params.rbi +20 -0
  243. data/rbi/lib/orb/models/customer_fetch_params.rbi +20 -0
  244. data/rbi/lib/orb/models/customer_list_params.rbi +74 -0
  245. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +20 -0
  246. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +20 -0
  247. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +945 -0
  248. data/rbi/lib/orb/models/customer_update_params.rbi +919 -0
  249. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +64 -0
  250. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +199 -0
  251. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +76 -0
  252. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +191 -0
  253. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +86 -0
  254. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +214 -0
  255. data/rbi/lib/orb/models/customers/cost_list_params.rbi +84 -0
  256. data/rbi/lib/orb/models/customers/cost_list_response.rbi +212 -0
  257. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +64 -0
  258. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +87 -0
  259. data/rbi/lib/orb/models/customers/credit_list_params.rbi +64 -0
  260. data/rbi/lib/orb/models/customers/credit_list_response.rbi +86 -0
  261. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +270 -0
  262. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +1670 -0
  263. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +238 -0
  264. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +1626 -0
  265. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +181 -0
  266. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +1654 -0
  267. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +144 -0
  268. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +1588 -0
  269. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +196 -0
  270. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +198 -0
  271. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +176 -0
  272. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +175 -0
  273. data/rbi/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +31 -0
  274. data/rbi/lib/orb/models/customers/credits/top_up_delete_params.rbi +28 -0
  275. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +49 -0
  276. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +188 -0
  277. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +49 -0
  278. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +168 -0
  279. data/rbi/lib/orb/models/dimensional_price_group.rbi +75 -0
  280. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +66 -0
  281. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +39 -0
  282. data/rbi/lib/orb/models/dimensional_price_group_retrieve_params.rbi +20 -0
  283. data/rbi/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +22 -0
  284. data/rbi/lib/orb/models/dimensional_price_groups.rbi +35 -0
  285. data/rbi/lib/orb/models/discount.rbi +18 -0
  286. data/rbi/lib/orb/models/evaluate_price_group.rbi +45 -0
  287. data/rbi/lib/orb/models/event_deprecate_params.rbi +20 -0
  288. data/rbi/lib/orb/models/event_deprecate_response.rbi +19 -0
  289. data/rbi/lib/orb/models/event_ingest_params.rbi +120 -0
  290. data/rbi/lib/orb/models/event_ingest_response.rbi +79 -0
  291. data/rbi/lib/orb/models/event_search_params.rbi +53 -0
  292. data/rbi/lib/orb/models/event_search_response.rbi +100 -0
  293. data/rbi/lib/orb/models/event_update_params.rbi +71 -0
  294. data/rbi/lib/orb/models/event_update_response.rbi +19 -0
  295. data/rbi/lib/orb/models/events/backfill_close_params.rbi +22 -0
  296. data/rbi/lib/orb/models/events/backfill_close_response.rbi +127 -0
  297. data/rbi/lib/orb/models/events/backfill_create_params.rbi +97 -0
  298. data/rbi/lib/orb/models/events/backfill_create_response.rbi +128 -0
  299. data/rbi/lib/orb/models/events/backfill_fetch_params.rbi +22 -0
  300. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +127 -0
  301. data/rbi/lib/orb/models/events/backfill_list_params.rbi +41 -0
  302. data/rbi/lib/orb/models/events/backfill_list_response.rbi +127 -0
  303. data/rbi/lib/orb/models/events/backfill_revert_params.rbi +22 -0
  304. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +128 -0
  305. data/rbi/lib/orb/models/events/event_volumes.rbi +47 -0
  306. data/rbi/lib/orb/models/events/volume_list_params.rbi +69 -0
  307. data/rbi/lib/orb/models/invoice.rbi +2466 -0
  308. data/rbi/lib/orb/models/invoice_create_params.rbi +230 -0
  309. data/rbi/lib/orb/models/invoice_fetch_params.rbi +20 -0
  310. data/rbi/lib/orb/models/invoice_fetch_upcoming_params.rbi +24 -0
  311. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +2646 -0
  312. data/rbi/lib/orb/models/invoice_issue_params.rbi +32 -0
  313. data/rbi/lib/orb/models/invoice_level_discount.rbi +16 -0
  314. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +67 -0
  315. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +1164 -0
  316. data/rbi/lib/orb/models/invoice_list_params.rbi +187 -0
  317. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +48 -0
  318. data/rbi/lib/orb/models/invoice_pay_params.rbi +20 -0
  319. data/rbi/lib/orb/models/invoice_update_params.rbi +36 -0
  320. data/rbi/lib/orb/models/invoice_void_params.rbi +20 -0
  321. data/rbi/lib/orb/models/item.rbi +101 -0
  322. data/rbi/lib/orb/models/item_create_params.rbi +25 -0
  323. data/rbi/lib/orb/models/item_fetch_params.rbi +20 -0
  324. data/rbi/lib/orb/models/item_list_params.rbi +39 -0
  325. data/rbi/lib/orb/models/item_update_params.rbi +113 -0
  326. data/rbi/lib/orb/models/metric_create_params.rbi +62 -0
  327. data/rbi/lib/orb/models/metric_fetch_params.rbi +20 -0
  328. data/rbi/lib/orb/models/metric_list_params.rbi +74 -0
  329. data/rbi/lib/orb/models/metric_update_params.rbi +36 -0
  330. data/rbi/lib/orb/models/pagination_metadata.rbi +21 -0
  331. data/rbi/lib/orb/models/percentage_discount.rbi +63 -0
  332. data/rbi/lib/orb/models/plan.rbi +1071 -0
  333. data/rbi/lib/orb/models/plan_create_params.rbi +10069 -0
  334. data/rbi/lib/orb/models/plan_fetch_params.rbi +20 -0
  335. data/rbi/lib/orb/models/plan_list_params.rbi +100 -0
  336. data/rbi/lib/orb/models/plan_update_params.rbi +46 -0
  337. data/rbi/lib/orb/models/plans/external_plan_id_fetch_params.rbi +22 -0
  338. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +48 -0
  339. data/rbi/lib/orb/models/price.rbi +15341 -0
  340. data/rbi/lib/orb/models/price_create_params.rbi +885 -0
  341. data/rbi/lib/orb/models/price_evaluate_params.rbi +81 -0
  342. data/rbi/lib/orb/models/price_evaluate_response.rbi +21 -0
  343. data/rbi/lib/orb/models/price_fetch_params.rbi +20 -0
  344. data/rbi/lib/orb/models/price_list_params.rbi +39 -0
  345. data/rbi/lib/orb/models/price_update_params.rbi +36 -0
  346. data/rbi/lib/orb/models/prices/external_price_id_fetch_params.rbi +22 -0
  347. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +38 -0
  348. data/rbi/lib/orb/models/subscription.rbi +1381 -0
  349. data/rbi/lib/orb/models/subscription_cancel_params.rbi +75 -0
  350. data/rbi/lib/orb/models/subscription_cancel_response.rbi +1374 -0
  351. data/rbi/lib/orb/models/subscription_create_params.rbi +23422 -0
  352. data/rbi/lib/orb/models/subscription_create_response.rbi +1374 -0
  353. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +82 -0
  354. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +210 -0
  355. data/rbi/lib/orb/models/subscription_fetch_params.rbi +20 -0
  356. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +74 -0
  357. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +81 -0
  358. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +137 -0
  359. data/rbi/lib/orb/models/subscription_list_params.rbi +108 -0
  360. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +12991 -0
  361. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +1387 -0
  362. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +23589 -0
  363. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +1390 -0
  364. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +45 -0
  365. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +1381 -0
  366. data/rbi/lib/orb/models/subscription_unschedule_cancellation_params.rbi +20 -0
  367. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +1400 -0
  368. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +25 -0
  369. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +1451 -0
  370. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +20 -0
  371. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +1410 -0
  372. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +104 -0
  373. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +1400 -0
  374. data/rbi/lib/orb/models/subscription_update_params.rbi +77 -0
  375. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +63 -0
  376. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +1378 -0
  377. data/rbi/lib/orb/models/subscription_usage.rbi +323 -0
  378. data/rbi/lib/orb/models/subscriptions.rbi +33 -0
  379. data/rbi/lib/orb/models/top_level_ping_params.rbi +20 -0
  380. data/rbi/lib/orb/models/top_level_ping_response.rbi +18 -0
  381. data/rbi/lib/orb/models/trial_discount.rbi +73 -0
  382. data/rbi/lib/orb/models/usage_discount.rbi +62 -0
  383. data/rbi/lib/orb/page.rbi +35 -0
  384. data/rbi/lib/orb/request_options.rbi +48 -0
  385. data/rbi/lib/orb/resources/alerts.rbi +216 -0
  386. data/rbi/lib/orb/resources/coupons/subscriptions.rbi +38 -0
  387. data/rbi/lib/orb/resources/coupons.rbi +96 -0
  388. data/rbi/lib/orb/resources/credit_notes.rbi +74 -0
  389. data/rbi/lib/orb/resources/customers/balance_transactions.rbi +92 -0
  390. data/rbi/lib/orb/resources/customers/costs.rbi +304 -0
  391. data/rbi/lib/orb/resources/customers/credits/ledger.rbi +645 -0
  392. data/rbi/lib/orb/resources/customers/credits/top_ups.rbi +180 -0
  393. data/rbi/lib/orb/resources/customers/credits.rbi +88 -0
  394. data/rbi/lib/orb/resources/customers.rbi +714 -0
  395. data/rbi/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +25 -0
  396. data/rbi/lib/orb/resources/dimensional_price_groups.rbi +78 -0
  397. data/rbi/lib/orb/resources/events/backfills.rbi +161 -0
  398. data/rbi/lib/orb/resources/events/volume.rbi +57 -0
  399. data/rbi/lib/orb/resources/events.rbi +408 -0
  400. data/rbi/lib/orb/resources/invoice_line_items.rbi +44 -0
  401. data/rbi/lib/orb/resources/invoices.rbi +262 -0
  402. data/rbi/lib/orb/resources/items.rbi +65 -0
  403. data/rbi/lib/orb/resources/metrics.rbi +102 -0
  404. data/rbi/lib/orb/resources/plans/external_plan_id.rbi +67 -0
  405. data/rbi/lib/orb/resources/plans.rbi +170 -0
  406. data/rbi/lib/orb/resources/prices/external_price_id.rbi +110 -0
  407. data/rbi/lib/orb/resources/prices.rbi +371 -0
  408. data/rbi/lib/orb/resources/subscriptions.rbi +1469 -0
  409. data/rbi/lib/orb/resources/top_level.rbi +25 -0
  410. data/rbi/lib/orb/transport/base_client.rbi +205 -0
  411. data/rbi/lib/orb/transport/pooled_net_requester.rbi +64 -0
  412. data/rbi/lib/orb/type/array_of.rbi +82 -0
  413. data/rbi/lib/orb/type/base_model.rbi +197 -0
  414. data/rbi/lib/orb/type/base_page.rbi +38 -0
  415. data/rbi/lib/orb/type/boolean_model.rbi +41 -0
  416. data/rbi/lib/orb/type/converter.rbi +95 -0
  417. data/rbi/lib/orb/type/enum.rbi +58 -0
  418. data/rbi/lib/orb/type/hash_of.rbi +86 -0
  419. data/rbi/lib/orb/type/request_parameters.rbi +20 -0
  420. data/rbi/lib/orb/type/union.rbi +66 -0
  421. data/rbi/lib/orb/type/unknown.rbi +37 -0
  422. data/rbi/lib/orb/type.rbi +23 -0
  423. data/rbi/lib/orb/util.rbi +278 -0
  424. data/rbi/lib/orb/version.rbi +5 -0
  425. data/sig/orb/client.rbs +53 -0
  426. data/sig/orb/errors.rbs +201 -0
  427. data/sig/orb/models/alert.rbs +142 -0
  428. data/sig/orb/models/alert_create_for_customer_params.rbs +56 -0
  429. data/sig/orb/models/alert_create_for_external_customer_params.rbs +56 -0
  430. data/sig/orb/models/alert_create_for_subscription_params.rbs +52 -0
  431. data/sig/orb/models/alert_disable_params.rbs +20 -0
  432. data/sig/orb/models/alert_enable_params.rbs +20 -0
  433. data/sig/orb/models/alert_list_params.rbs +57 -0
  434. data/sig/orb/models/alert_retrieve_params.rbs +14 -0
  435. data/sig/orb/models/alert_update_params.rbs +31 -0
  436. data/sig/orb/models/amount_discount.rbs +40 -0
  437. data/sig/orb/models/billable_metric.rbs +50 -0
  438. data/sig/orb/models/billing_cycle_relative_date.rbs +14 -0
  439. data/sig/orb/models/coupon.rbs +51 -0
  440. data/sig/orb/models/coupon_archive_params.rbs +14 -0
  441. data/sig/orb/models/coupon_create_params.rbs +77 -0
  442. data/sig/orb/models/coupon_fetch_params.rbs +14 -0
  443. data/sig/orb/models/coupon_list_params.rbs +37 -0
  444. data/sig/orb/models/coupons/subscription_list_params.rbs +27 -0
  445. data/sig/orb/models/credit_note.rbs +345 -0
  446. data/sig/orb/models/credit_note_create_params.rbs +57 -0
  447. data/sig/orb/models/credit_note_fetch_params.rbs +14 -0
  448. data/sig/orb/models/credit_note_list_params.rbs +45 -0
  449. data/sig/orb/models/customer.rbs +628 -0
  450. data/sig/orb/models/customer_create_params.rbs +624 -0
  451. data/sig/orb/models/customer_delete_params.rbs +14 -0
  452. data/sig/orb/models/customer_fetch_by_external_id_params.rbs +14 -0
  453. data/sig/orb/models/customer_fetch_params.rbs +14 -0
  454. data/sig/orb/models/customer_list_params.rbs +45 -0
  455. data/sig/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbs +15 -0
  456. data/sig/orb/models/customer_sync_payment_methods_from_gateway_params.rbs +15 -0
  457. data/sig/orb/models/customer_update_by_external_id_params.rbs +620 -0
  458. data/sig/orb/models/customer_update_params.rbs +620 -0
  459. data/sig/orb/models/customers/balance_transaction_create_params.rbs +44 -0
  460. data/sig/orb/models/customers/balance_transaction_create_response.rbs +114 -0
  461. data/sig/orb/models/customers/balance_transaction_list_params.rbs +47 -0
  462. data/sig/orb/models/customers/balance_transaction_list_response.rbs +114 -0
  463. data/sig/orb/models/customers/cost_list_by_external_id_params.rbs +48 -0
  464. data/sig/orb/models/customers/cost_list_by_external_id_response.rbs +82 -0
  465. data/sig/orb/models/customers/cost_list_params.rbs +48 -0
  466. data/sig/orb/models/customers/cost_list_response.rbs +80 -0
  467. data/sig/orb/models/customers/credit_list_by_external_id_params.rbs +41 -0
  468. data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +55 -0
  469. data/sig/orb/models/customers/credit_list_params.rbs +41 -0
  470. data/sig/orb/models/customers/credit_list_response.rbs +55 -0
  471. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +120 -0
  472. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +814 -0
  473. data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +120 -0
  474. data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +814 -0
  475. data/sig/orb/models/customers/credits/ledger_list_by_external_id_params.rbs +99 -0
  476. data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +814 -0
  477. data/sig/orb/models/customers/credits/ledger_list_params.rbs +99 -0
  478. data/sig/orb/models/customers/credits/ledger_list_response.rbs +814 -0
  479. data/sig/orb/models/customers/credits/top_up_create_by_external_id_params.rbs +95 -0
  480. data/sig/orb/models/customers/credits/top_up_create_by_external_id_response.rbs +90 -0
  481. data/sig/orb/models/customers/credits/top_up_create_params.rbs +95 -0
  482. data/sig/orb/models/customers/credits/top_up_create_response.rbs +90 -0
  483. data/sig/orb/models/customers/credits/top_up_delete_by_external_id_params.rbs +24 -0
  484. data/sig/orb/models/customers/credits/top_up_delete_params.rbs +24 -0
  485. data/sig/orb/models/customers/credits/top_up_list_by_external_id_params.rbs +29 -0
  486. data/sig/orb/models/customers/credits/top_up_list_by_external_id_response.rbs +90 -0
  487. data/sig/orb/models/customers/credits/top_up_list_params.rbs +29 -0
  488. data/sig/orb/models/customers/credits/top_up_list_response.rbs +90 -0
  489. data/sig/orb/models/dimensional_price_group.rbs +38 -0
  490. data/sig/orb/models/dimensional_price_group_create_params.rbs +39 -0
  491. data/sig/orb/models/dimensional_price_group_list_params.rbs +25 -0
  492. data/sig/orb/models/dimensional_price_group_retrieve_params.rbs +15 -0
  493. data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbs +17 -0
  494. data/sig/orb/models/dimensional_price_groups.rbs +22 -0
  495. data/sig/orb/models/discount.rbs +15 -0
  496. data/sig/orb/models/evaluate_price_group.rbs +34 -0
  497. data/sig/orb/models/event_deprecate_params.rbs +14 -0
  498. data/sig/orb/models/event_deprecate_response.rbs +13 -0
  499. data/sig/orb/models/event_ingest_params.rbs +68 -0
  500. data/sig/orb/models/event_ingest_response.rbs +53 -0
  501. data/sig/orb/models/event_search_params.rbs +31 -0
  502. data/sig/orb/models/event_search_response.rbs +55 -0
  503. data/sig/orb/models/event_update_params.rbs +39 -0
  504. data/sig/orb/models/event_update_response.rbs +13 -0
  505. data/sig/orb/models/events/backfill_close_params.rbs +16 -0
  506. data/sig/orb/models/events/backfill_close_response.rbs +73 -0
  507. data/sig/orb/models/events/backfill_create_params.rbs +51 -0
  508. data/sig/orb/models/events/backfill_create_response.rbs +73 -0
  509. data/sig/orb/models/events/backfill_fetch_params.rbs +16 -0
  510. data/sig/orb/models/events/backfill_fetch_response.rbs +73 -0
  511. data/sig/orb/models/events/backfill_list_params.rbs +27 -0
  512. data/sig/orb/models/events/backfill_list_response.rbs +73 -0
  513. data/sig/orb/models/events/backfill_revert_params.rbs +16 -0
  514. data/sig/orb/models/events/backfill_revert_response.rbs +73 -0
  515. data/sig/orb/models/events/event_volumes.rbs +39 -0
  516. data/sig/orb/models/events/volume_list_params.rbs +41 -0
  517. data/sig/orb/models/invoice.rbs +1430 -0
  518. data/sig/orb/models/invoice_create_params.rbs +120 -0
  519. data/sig/orb/models/invoice_fetch_params.rbs +14 -0
  520. data/sig/orb/models/invoice_fetch_upcoming_params.rbs +20 -0
  521. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +1430 -0
  522. data/sig/orb/models/invoice_issue_params.rbs +21 -0
  523. data/sig/orb/models/invoice_level_discount.rbs +14 -0
  524. data/sig/orb/models/invoice_line_item_create_params.rbs +43 -0
  525. data/sig/orb/models/invoice_line_item_create_response.rbs +546 -0
  526. data/sig/orb/models/invoice_list_params.rbs +122 -0
  527. data/sig/orb/models/invoice_mark_paid_params.rbs +27 -0
  528. data/sig/orb/models/invoice_pay_params.rbs +14 -0
  529. data/sig/orb/models/invoice_update_params.rbs +20 -0
  530. data/sig/orb/models/invoice_void_params.rbs +14 -0
  531. data/sig/orb/models/item.rbs +72 -0
  532. data/sig/orb/models/item_create_params.rbs +19 -0
  533. data/sig/orb/models/item_fetch_params.rbs +14 -0
  534. data/sig/orb/models/item_list_params.rbs +25 -0
  535. data/sig/orb/models/item_update_params.rbs +69 -0
  536. data/sig/orb/models/metric_create_params.rbs +39 -0
  537. data/sig/orb/models/metric_fetch_params.rbs +14 -0
  538. data/sig/orb/models/metric_list_params.rbs +45 -0
  539. data/sig/orb/models/metric_update_params.rbs +20 -0
  540. data/sig/orb/models/pagination_metadata.rbs +15 -0
  541. data/sig/orb/models/percentage_discount.rbs +40 -0
  542. data/sig/orb/models/plan.rbs +529 -0
  543. data/sig/orb/models/plan_create_params.rbs +3991 -0
  544. data/sig/orb/models/plan_fetch_params.rbs +14 -0
  545. data/sig/orb/models/plan_list_params.rbs +65 -0
  546. data/sig/orb/models/plan_update_params.rbs +24 -0
  547. data/sig/orb/models/plans/external_plan_id_fetch_params.rbs +16 -0
  548. data/sig/orb/models/plans/external_plan_id_update_params.rbs +26 -0
  549. data/sig/orb/models/price.rbs +8108 -0
  550. data/sig/orb/models/price_create_params.rbs +520 -0
  551. data/sig/orb/models/price_evaluate_params.rbs +45 -0
  552. data/sig/orb/models/price_evaluate_response.rbs +14 -0
  553. data/sig/orb/models/price_fetch_params.rbs +14 -0
  554. data/sig/orb/models/price_list_params.rbs +25 -0
  555. data/sig/orb/models/price_update_params.rbs +20 -0
  556. data/sig/orb/models/prices/external_price_id_fetch_params.rbs +16 -0
  557. data/sig/orb/models/prices/external_price_id_update_params.rbs +22 -0
  558. data/sig/orb/models/subscription.rbs +687 -0
  559. data/sig/orb/models/subscription_cancel_params.rbs +44 -0
  560. data/sig/orb/models/subscription_cancel_response.rbs +687 -0
  561. data/sig/orb/models/subscription_create_params.rbs +9141 -0
  562. data/sig/orb/models/subscription_create_response.rbs +687 -0
  563. data/sig/orb/models/subscription_fetch_costs_params.rbs +46 -0
  564. data/sig/orb/models/subscription_fetch_costs_response.rbs +78 -0
  565. data/sig/orb/models/subscription_fetch_params.rbs +14 -0
  566. data/sig/orb/models/subscription_fetch_schedule_params.rbs +45 -0
  567. data/sig/orb/models/subscription_fetch_schedule_response.rbs +48 -0
  568. data/sig/orb/models/subscription_fetch_usage_params.rbs +80 -0
  569. data/sig/orb/models/subscription_list_params.rbs +69 -0
  570. data/sig/orb/models/subscription_price_intervals_params.rbs +5117 -0
  571. data/sig/orb/models/subscription_price_intervals_response.rbs +687 -0
  572. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +9133 -0
  573. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +687 -0
  574. data/sig/orb/models/subscription_trigger_phase_params.rbs +24 -0
  575. data/sig/orb/models/subscription_trigger_phase_response.rbs +687 -0
  576. data/sig/orb/models/subscription_unschedule_cancellation_params.rbs +15 -0
  577. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +687 -0
  578. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbs +20 -0
  579. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +687 -0
  580. data/sig/orb/models/subscription_unschedule_pending_plan_changes_params.rbs +15 -0
  581. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +687 -0
  582. data/sig/orb/models/subscription_update_fixed_fee_quantity_params.rbs +55 -0
  583. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +687 -0
  584. data/sig/orb/models/subscription_update_params.rbs +39 -0
  585. data/sig/orb/models/subscription_update_trial_params.rbs +39 -0
  586. data/sig/orb/models/subscription_update_trial_response.rbs +687 -0
  587. data/sig/orb/models/subscription_usage.rbs +196 -0
  588. data/sig/orb/models/subscriptions.rbs +22 -0
  589. data/sig/orb/models/top_level_ping_params.rbs +14 -0
  590. data/sig/orb/models/top_level_ping_response.rbs +13 -0
  591. data/sig/orb/models/trial_discount.rbs +44 -0
  592. data/sig/orb/models/usage_discount.rbs +40 -0
  593. data/sig/orb/page.rbs +22 -0
  594. data/sig/orb/request_options.rbs +32 -0
  595. data/sig/orb/resources/alerts.rbs +67 -0
  596. data/sig/orb/resources/coupons/subscriptions.rbs +16 -0
  597. data/sig/orb/resources/coupons.rbs +35 -0
  598. data/sig/orb/resources/credit_notes.rbs +29 -0
  599. data/sig/orb/resources/customers/balance_transactions.rbs +28 -0
  600. data/sig/orb/resources/customers/costs.rbs +27 -0
  601. data/sig/orb/resources/customers/credits/ledger.rbs +75 -0
  602. data/sig/orb/resources/customers/credits/top_ups.rbs +63 -0
  603. data/sig/orb/resources/customers/credits.rbs +31 -0
  604. data/sig/orb/resources/customers.rbs +114 -0
  605. data/sig/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbs +14 -0
  606. data/sig/orb/resources/dimensional_price_groups.rbs +29 -0
  607. data/sig/orb/resources/events/backfills.rbs +41 -0
  608. data/sig/orb/resources/events/volume.rbs +17 -0
  609. data/sig/orb/resources/events.rbs +40 -0
  610. data/sig/orb/resources/invoice_line_items.rbs +17 -0
  611. data/sig/orb/resources/invoices.rbs +84 -0
  612. data/sig/orb/resources/items.rbs +30 -0
  613. data/sig/orb/resources/metrics.rbs +37 -0
  614. data/sig/orb/resources/plans/external_plan_id.rbs +21 -0
  615. data/sig/orb/resources/plans.rbs +44 -0
  616. data/sig/orb/resources/prices/external_price_id.rbs +20 -0
  617. data/sig/orb/resources/prices.rbs +83 -0
  618. data/sig/orb/resources/subscriptions.rbs +194 -0
  619. data/sig/orb/resources/top_level.rbs +11 -0
  620. data/sig/orb/transport/base_client.rbs +110 -0
  621. data/sig/orb/transport/pooled_net_requester.rbs +39 -0
  622. data/sig/orb/type/array_of.rbs +36 -0
  623. data/sig/orb/type/base_model.rbs +77 -0
  624. data/sig/orb/type/base_page.rbs +22 -0
  625. data/sig/orb/type/boolean_model.rbs +18 -0
  626. data/sig/orb/type/converter.rbs +36 -0
  627. data/sig/orb/type/enum.rbs +22 -0
  628. data/sig/orb/type/hash_of.rbs +36 -0
  629. data/sig/orb/type/request_parameters.rbs +13 -0
  630. data/sig/orb/type/union.rbs +37 -0
  631. data/sig/orb/type/unknown.rbs +15 -0
  632. data/sig/orb/type.rbs +22 -0
  633. data/sig/orb/util.rbs +132 -0
  634. data/sig/orb/version.rbs +3 -0
  635. metadata +692 -0
@@ -0,0 +1,1400 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionUnscheduleCancellationResponse < Orb::BaseModel
6
+ sig { returns(String) }
7
+ attr_accessor :id
8
+
9
+ # The current plan phase that is active, only if the subscription's plan has
10
+ # phases.
11
+ sig { returns(T.nilable(Integer)) }
12
+ attr_accessor :active_plan_phase_order
13
+
14
+ # The adjustment intervals for this subscription sorted by the start_date of the
15
+ # adjustment interval.
16
+ sig { returns(T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval]) }
17
+ attr_accessor :adjustment_intervals
18
+
19
+ # Determines whether issued invoices for this subscription will automatically be
20
+ # charged with the saved payment method on the due date. This property defaults to
21
+ # the plan's behavior. If null, defaults to the customer's setting.
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_accessor :auto_collection
24
+
25
+ sig { returns(Orb::Models::SubscriptionUnscheduleCancellationResponse::BillingCycleAnchorConfiguration) }
26
+ attr_reader :billing_cycle_anchor_configuration
27
+
28
+ sig do
29
+ params(
30
+ billing_cycle_anchor_configuration: T.any(
31
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::BillingCycleAnchorConfiguration,
32
+ Orb::Util::AnyHash
33
+ )
34
+ )
35
+ .void
36
+ end
37
+ attr_writer :billing_cycle_anchor_configuration
38
+
39
+ # The day of the month on which the billing cycle is anchored. If the maximum
40
+ # number of days in a month is greater than this value, the last day of the month
41
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
42
+ # period begins on the 30th.
43
+ sig { returns(Integer) }
44
+ attr_accessor :billing_cycle_day
45
+
46
+ sig { returns(Time) }
47
+ attr_accessor :created_at
48
+
49
+ # The end of the current billing period. This is an exclusive timestamp, such that
50
+ # the instant returned is not part of the billing period. Set to null for
51
+ # subscriptions that are not currently active.
52
+ sig { returns(T.nilable(Time)) }
53
+ attr_accessor :current_billing_period_end_date
54
+
55
+ # The start date of the current billing period. This is an inclusive timestamp;
56
+ # the instant returned is exactly the beginning of the billing period. Set to null
57
+ # if the subscription is not currently active.
58
+ sig { returns(T.nilable(Time)) }
59
+ attr_accessor :current_billing_period_start_date
60
+
61
+ # A customer is a buyer of your products, and the other party to the billing
62
+ # relationship.
63
+ #
64
+ # In Orb, customers are assigned system generated identifiers automatically, but
65
+ # it's often desirable to have these match existing identifiers in your system. To
66
+ # avoid having to denormalize Orb ID information, you can pass in an
67
+ # `external_customer_id` with your own identifier. See
68
+ # [Customer ID Aliases](/events-and-metrics/customer-aliases) for further
69
+ # information about how these aliases work in Orb.
70
+ #
71
+ # In addition to having an identifier in your system, a customer may exist in a
72
+ # payment provider solution like Stripe. Use the `payment_provider_id` and the
73
+ # `payment_provider` enum field to express this mapping.
74
+ #
75
+ # A customer also has a timezone (from the standard
76
+ # [IANA timezone database](https://www.iana.org/time-zones)), which defaults to
77
+ # your account's timezone. See [Timezone localization](/essentials/timezones) for
78
+ # information on what this timezone parameter influences within Orb.
79
+ sig { returns(Orb::Models::Customer) }
80
+ attr_reader :customer
81
+
82
+ sig { params(customer: T.any(Orb::Models::Customer, Orb::Util::AnyHash)).void }
83
+ attr_writer :customer
84
+
85
+ # Determines the default memo on this subscriptions' invoices. Note that if this
86
+ # is not provided, it is determined by the plan configuration.
87
+ sig { returns(T.nilable(String)) }
88
+ attr_accessor :default_invoice_memo
89
+
90
+ # The discount intervals for this subscription sorted by the start_date.
91
+ sig do
92
+ returns(
93
+ T::Array[
94
+ T.any(
95
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::AmountDiscountInterval,
96
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::PercentageDiscountInterval,
97
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::UsageDiscountInterval
98
+ )
99
+ ]
100
+ )
101
+ end
102
+ attr_accessor :discount_intervals
103
+
104
+ # The date Orb stops billing for this subscription.
105
+ sig { returns(T.nilable(Time)) }
106
+ attr_accessor :end_date
107
+
108
+ sig { returns(T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::FixedFeeQuantitySchedule]) }
109
+ attr_accessor :fixed_fee_quantity_schedule
110
+
111
+ sig { returns(T.nilable(String)) }
112
+ attr_accessor :invoicing_threshold
113
+
114
+ # The maximum intervals for this subscription sorted by the start_date.
115
+ sig { returns(T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval]) }
116
+ attr_accessor :maximum_intervals
117
+
118
+ # User specified key-value pairs for the resource. If not present, this defaults
119
+ # to an empty dictionary. Individual keys can be removed by setting the value to
120
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
121
+ # `null`.
122
+ sig { returns(T::Hash[Symbol, String]) }
123
+ attr_accessor :metadata
124
+
125
+ # The minimum intervals for this subscription sorted by the start_date.
126
+ sig { returns(T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval]) }
127
+ attr_accessor :minimum_intervals
128
+
129
+ # Determines the difference between the invoice issue date for subscription
130
+ # invoices as the date that they are due. A value of `0` here represents that the
131
+ # invoice is due on issue, whereas a value of `30` represents that the customer
132
+ # has a month to pay the invoice.
133
+ sig { returns(Integer) }
134
+ attr_accessor :net_terms
135
+
136
+ # The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
137
+ # subscribed to by a customer. Plans define the billing behavior of the
138
+ # subscription. You can see more about how to configure prices in the
139
+ # [Price resource](/reference/price).
140
+ sig { returns(Orb::Models::Plan) }
141
+ attr_reader :plan
142
+
143
+ sig { params(plan: T.any(Orb::Models::Plan, Orb::Util::AnyHash)).void }
144
+ attr_writer :plan
145
+
146
+ # The price intervals for this subscription.
147
+ sig { returns(T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval]) }
148
+ attr_accessor :price_intervals
149
+
150
+ sig { returns(T.nilable(Orb::Models::SubscriptionUnscheduleCancellationResponse::RedeemedCoupon)) }
151
+ attr_reader :redeemed_coupon
152
+
153
+ sig do
154
+ params(
155
+ redeemed_coupon: T.nilable(
156
+ T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::RedeemedCoupon, Orb::Util::AnyHash)
157
+ )
158
+ )
159
+ .void
160
+ end
161
+ attr_writer :redeemed_coupon
162
+
163
+ # The date Orb starts billing for this subscription.
164
+ sig { returns(Time) }
165
+ attr_accessor :start_date
166
+
167
+ sig { returns(Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol) }
168
+ attr_accessor :status
169
+
170
+ sig { returns(Orb::Models::SubscriptionUnscheduleCancellationResponse::TrialInfo) }
171
+ attr_reader :trial_info
172
+
173
+ sig do
174
+ params(
175
+ trial_info: T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::TrialInfo, Orb::Util::AnyHash)
176
+ )
177
+ .void
178
+ end
179
+ attr_writer :trial_info
180
+
181
+ sig do
182
+ params(
183
+ id: String,
184
+ active_plan_phase_order: T.nilable(Integer),
185
+ adjustment_intervals: T::Array[T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval, Orb::Util::AnyHash)],
186
+ auto_collection: T.nilable(T::Boolean),
187
+ billing_cycle_anchor_configuration: T.any(
188
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::BillingCycleAnchorConfiguration,
189
+ Orb::Util::AnyHash
190
+ ),
191
+ billing_cycle_day: Integer,
192
+ created_at: Time,
193
+ current_billing_period_end_date: T.nilable(Time),
194
+ current_billing_period_start_date: T.nilable(Time),
195
+ customer: T.any(Orb::Models::Customer, Orb::Util::AnyHash),
196
+ default_invoice_memo: T.nilable(String),
197
+ discount_intervals: T::Array[
198
+ T.any(
199
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::AmountDiscountInterval,
200
+ Orb::Util::AnyHash,
201
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::PercentageDiscountInterval,
202
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::UsageDiscountInterval
203
+ )
204
+ ],
205
+ end_date: T.nilable(Time),
206
+ fixed_fee_quantity_schedule: T::Array[
207
+ T.any(
208
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::FixedFeeQuantitySchedule,
209
+ Orb::Util::AnyHash
210
+ )
211
+ ],
212
+ invoicing_threshold: T.nilable(String),
213
+ maximum_intervals: T::Array[T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval, Orb::Util::AnyHash)],
214
+ metadata: T::Hash[Symbol, String],
215
+ minimum_intervals: T::Array[T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval, Orb::Util::AnyHash)],
216
+ net_terms: Integer,
217
+ plan: T.any(Orb::Models::Plan, Orb::Util::AnyHash),
218
+ price_intervals: T::Array[T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval, Orb::Util::AnyHash)],
219
+ redeemed_coupon: T.nilable(
220
+ T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::RedeemedCoupon, Orb::Util::AnyHash)
221
+ ),
222
+ start_date: Time,
223
+ status: Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::OrSymbol,
224
+ trial_info: T.any(Orb::Models::SubscriptionUnscheduleCancellationResponse::TrialInfo, Orb::Util::AnyHash)
225
+ )
226
+ .returns(T.attached_class)
227
+ end
228
+ def self.new(
229
+ id:,
230
+ active_plan_phase_order:,
231
+ adjustment_intervals:,
232
+ auto_collection:,
233
+ billing_cycle_anchor_configuration:,
234
+ billing_cycle_day:,
235
+ created_at:,
236
+ current_billing_period_end_date:,
237
+ current_billing_period_start_date:,
238
+ customer:,
239
+ default_invoice_memo:,
240
+ discount_intervals:,
241
+ end_date:,
242
+ fixed_fee_quantity_schedule:,
243
+ invoicing_threshold:,
244
+ maximum_intervals:,
245
+ metadata:,
246
+ minimum_intervals:,
247
+ net_terms:,
248
+ plan:,
249
+ price_intervals:,
250
+ redeemed_coupon:,
251
+ start_date:,
252
+ status:,
253
+ trial_info:
254
+ )
255
+ end
256
+
257
+ sig do
258
+ override
259
+ .returns(
260
+ {
261
+ id: String,
262
+ active_plan_phase_order: T.nilable(Integer),
263
+ adjustment_intervals: T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval],
264
+ auto_collection: T.nilable(T::Boolean),
265
+ billing_cycle_anchor_configuration: Orb::Models::SubscriptionUnscheduleCancellationResponse::BillingCycleAnchorConfiguration,
266
+ billing_cycle_day: Integer,
267
+ created_at: Time,
268
+ current_billing_period_end_date: T.nilable(Time),
269
+ current_billing_period_start_date: T.nilable(Time),
270
+ customer: Orb::Models::Customer,
271
+ default_invoice_memo: T.nilable(String),
272
+ discount_intervals: T::Array[
273
+ T.any(
274
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::AmountDiscountInterval,
275
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::PercentageDiscountInterval,
276
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::UsageDiscountInterval
277
+ )
278
+ ],
279
+ end_date: T.nilable(Time),
280
+ fixed_fee_quantity_schedule: T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::FixedFeeQuantitySchedule],
281
+ invoicing_threshold: T.nilable(String),
282
+ maximum_intervals: T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::MaximumInterval],
283
+ metadata: T::Hash[Symbol, String],
284
+ minimum_intervals: T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::MinimumInterval],
285
+ net_terms: Integer,
286
+ plan: Orb::Models::Plan,
287
+ price_intervals: T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval],
288
+ redeemed_coupon: T.nilable(Orb::Models::SubscriptionUnscheduleCancellationResponse::RedeemedCoupon),
289
+ start_date: Time,
290
+ status: Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol,
291
+ trial_info: Orb::Models::SubscriptionUnscheduleCancellationResponse::TrialInfo
292
+ }
293
+ )
294
+ end
295
+ def to_hash
296
+ end
297
+
298
+ class AdjustmentInterval < Orb::BaseModel
299
+ sig { returns(String) }
300
+ attr_accessor :id
301
+
302
+ sig do
303
+ returns(
304
+ T.any(
305
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
306
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
307
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
308
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
309
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
310
+ )
311
+ )
312
+ end
313
+ attr_accessor :adjustment
314
+
315
+ # The price interval IDs that this adjustment applies to.
316
+ sig { returns(T::Array[String]) }
317
+ attr_accessor :applies_to_price_interval_ids
318
+
319
+ # The end date of the adjustment interval.
320
+ sig { returns(T.nilable(Time)) }
321
+ attr_accessor :end_date
322
+
323
+ # The start date of the adjustment interval.
324
+ sig { returns(Time) }
325
+ attr_accessor :start_date
326
+
327
+ sig do
328
+ params(
329
+ id: String,
330
+ adjustment: T.any(
331
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
332
+ Orb::Util::AnyHash,
333
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
334
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
335
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
336
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
337
+ ),
338
+ applies_to_price_interval_ids: T::Array[String],
339
+ end_date: T.nilable(Time),
340
+ start_date: Time
341
+ )
342
+ .returns(T.attached_class)
343
+ end
344
+ def self.new(id:, adjustment:, applies_to_price_interval_ids:, end_date:, start_date:)
345
+ end
346
+
347
+ sig do
348
+ override
349
+ .returns(
350
+ {
351
+ id: String,
352
+ adjustment: T.any(
353
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
354
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
355
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
356
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
357
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
358
+ ),
359
+ applies_to_price_interval_ids: T::Array[String],
360
+ end_date: T.nilable(Time),
361
+ start_date: Time
362
+ }
363
+ )
364
+ end
365
+ def to_hash
366
+ end
367
+
368
+ module Adjustment
369
+ extend Orb::Union
370
+
371
+ class PlanPhaseUsageDiscountAdjustment < Orb::BaseModel
372
+ sig { returns(String) }
373
+ attr_accessor :id
374
+
375
+ sig { returns(Symbol) }
376
+ attr_accessor :adjustment_type
377
+
378
+ # The price IDs that this adjustment applies to.
379
+ sig { returns(T::Array[String]) }
380
+ attr_accessor :applies_to_price_ids
381
+
382
+ # True for adjustments that apply to an entire invocice, false for adjustments
383
+ # that apply to only one price.
384
+ sig { returns(T::Boolean) }
385
+ attr_accessor :is_invoice_level
386
+
387
+ # The plan phase in which this adjustment is active.
388
+ sig { returns(T.nilable(Integer)) }
389
+ attr_accessor :plan_phase_order
390
+
391
+ # The reason for the adjustment.
392
+ sig { returns(T.nilable(String)) }
393
+ attr_accessor :reason
394
+
395
+ # The number of usage units by which to discount the price this adjustment applies
396
+ # to in a given billing period.
397
+ sig { returns(Float) }
398
+ attr_accessor :usage_discount
399
+
400
+ sig do
401
+ params(
402
+ id: String,
403
+ applies_to_price_ids: T::Array[String],
404
+ is_invoice_level: T::Boolean,
405
+ plan_phase_order: T.nilable(Integer),
406
+ reason: T.nilable(String),
407
+ usage_discount: Float,
408
+ adjustment_type: Symbol
409
+ )
410
+ .returns(T.attached_class)
411
+ end
412
+ def self.new(
413
+ id:,
414
+ applies_to_price_ids:,
415
+ is_invoice_level:,
416
+ plan_phase_order:,
417
+ reason:,
418
+ usage_discount:,
419
+ adjustment_type: :usage_discount
420
+ )
421
+ end
422
+
423
+ sig do
424
+ override
425
+ .returns(
426
+ {
427
+ id: String,
428
+ adjustment_type: Symbol,
429
+ applies_to_price_ids: T::Array[String],
430
+ is_invoice_level: T::Boolean,
431
+ plan_phase_order: T.nilable(Integer),
432
+ reason: T.nilable(String),
433
+ usage_discount: Float
434
+ }
435
+ )
436
+ end
437
+ def to_hash
438
+ end
439
+ end
440
+
441
+ class PlanPhaseAmountDiscountAdjustment < Orb::BaseModel
442
+ sig { returns(String) }
443
+ attr_accessor :id
444
+
445
+ sig { returns(Symbol) }
446
+ attr_accessor :adjustment_type
447
+
448
+ # The amount by which to discount the prices this adjustment applies to in a given
449
+ # billing period.
450
+ sig { returns(String) }
451
+ attr_accessor :amount_discount
452
+
453
+ # The price IDs that this adjustment applies to.
454
+ sig { returns(T::Array[String]) }
455
+ attr_accessor :applies_to_price_ids
456
+
457
+ # True for adjustments that apply to an entire invocice, false for adjustments
458
+ # that apply to only one price.
459
+ sig { returns(T::Boolean) }
460
+ attr_accessor :is_invoice_level
461
+
462
+ # The plan phase in which this adjustment is active.
463
+ sig { returns(T.nilable(Integer)) }
464
+ attr_accessor :plan_phase_order
465
+
466
+ # The reason for the adjustment.
467
+ sig { returns(T.nilable(String)) }
468
+ attr_accessor :reason
469
+
470
+ sig do
471
+ params(
472
+ id: String,
473
+ amount_discount: String,
474
+ applies_to_price_ids: T::Array[String],
475
+ is_invoice_level: T::Boolean,
476
+ plan_phase_order: T.nilable(Integer),
477
+ reason: T.nilable(String),
478
+ adjustment_type: Symbol
479
+ )
480
+ .returns(T.attached_class)
481
+ end
482
+ def self.new(
483
+ id:,
484
+ amount_discount:,
485
+ applies_to_price_ids:,
486
+ is_invoice_level:,
487
+ plan_phase_order:,
488
+ reason:,
489
+ adjustment_type: :amount_discount
490
+ )
491
+ end
492
+
493
+ sig do
494
+ override
495
+ .returns(
496
+ {
497
+ id: String,
498
+ adjustment_type: Symbol,
499
+ amount_discount: String,
500
+ applies_to_price_ids: T::Array[String],
501
+ is_invoice_level: T::Boolean,
502
+ plan_phase_order: T.nilable(Integer),
503
+ reason: T.nilable(String)
504
+ }
505
+ )
506
+ end
507
+ def to_hash
508
+ end
509
+ end
510
+
511
+ class PlanPhasePercentageDiscountAdjustment < Orb::BaseModel
512
+ sig { returns(String) }
513
+ attr_accessor :id
514
+
515
+ sig { returns(Symbol) }
516
+ attr_accessor :adjustment_type
517
+
518
+ # The price IDs that this adjustment applies to.
519
+ sig { returns(T::Array[String]) }
520
+ attr_accessor :applies_to_price_ids
521
+
522
+ # True for adjustments that apply to an entire invocice, false for adjustments
523
+ # that apply to only one price.
524
+ sig { returns(T::Boolean) }
525
+ attr_accessor :is_invoice_level
526
+
527
+ # The percentage (as a value between 0 and 1) by which to discount the price
528
+ # intervals this adjustment applies to in a given billing period.
529
+ sig { returns(Float) }
530
+ attr_accessor :percentage_discount
531
+
532
+ # The plan phase in which this adjustment is active.
533
+ sig { returns(T.nilable(Integer)) }
534
+ attr_accessor :plan_phase_order
535
+
536
+ # The reason for the adjustment.
537
+ sig { returns(T.nilable(String)) }
538
+ attr_accessor :reason
539
+
540
+ sig do
541
+ params(
542
+ id: String,
543
+ applies_to_price_ids: T::Array[String],
544
+ is_invoice_level: T::Boolean,
545
+ percentage_discount: Float,
546
+ plan_phase_order: T.nilable(Integer),
547
+ reason: T.nilable(String),
548
+ adjustment_type: Symbol
549
+ )
550
+ .returns(T.attached_class)
551
+ end
552
+ def self.new(
553
+ id:,
554
+ applies_to_price_ids:,
555
+ is_invoice_level:,
556
+ percentage_discount:,
557
+ plan_phase_order:,
558
+ reason:,
559
+ adjustment_type: :percentage_discount
560
+ )
561
+ end
562
+
563
+ sig do
564
+ override
565
+ .returns(
566
+ {
567
+ id: String,
568
+ adjustment_type: Symbol,
569
+ applies_to_price_ids: T::Array[String],
570
+ is_invoice_level: T::Boolean,
571
+ percentage_discount: Float,
572
+ plan_phase_order: T.nilable(Integer),
573
+ reason: T.nilable(String)
574
+ }
575
+ )
576
+ end
577
+ def to_hash
578
+ end
579
+ end
580
+
581
+ class PlanPhaseMinimumAdjustment < Orb::BaseModel
582
+ sig { returns(String) }
583
+ attr_accessor :id
584
+
585
+ sig { returns(Symbol) }
586
+ attr_accessor :adjustment_type
587
+
588
+ # The price IDs that this adjustment applies to.
589
+ sig { returns(T::Array[String]) }
590
+ attr_accessor :applies_to_price_ids
591
+
592
+ # True for adjustments that apply to an entire invocice, false for adjustments
593
+ # that apply to only one price.
594
+ sig { returns(T::Boolean) }
595
+ attr_accessor :is_invoice_level
596
+
597
+ # The item ID that revenue from this minimum will be attributed to.
598
+ sig { returns(String) }
599
+ attr_accessor :item_id
600
+
601
+ # The minimum amount to charge in a given billing period for the prices this
602
+ # adjustment applies to.
603
+ sig { returns(String) }
604
+ attr_accessor :minimum_amount
605
+
606
+ # The plan phase in which this adjustment is active.
607
+ sig { returns(T.nilable(Integer)) }
608
+ attr_accessor :plan_phase_order
609
+
610
+ # The reason for the adjustment.
611
+ sig { returns(T.nilable(String)) }
612
+ attr_accessor :reason
613
+
614
+ sig do
615
+ params(
616
+ id: String,
617
+ applies_to_price_ids: T::Array[String],
618
+ is_invoice_level: T::Boolean,
619
+ item_id: String,
620
+ minimum_amount: String,
621
+ plan_phase_order: T.nilable(Integer),
622
+ reason: T.nilable(String),
623
+ adjustment_type: Symbol
624
+ )
625
+ .returns(T.attached_class)
626
+ end
627
+ def self.new(
628
+ id:,
629
+ applies_to_price_ids:,
630
+ is_invoice_level:,
631
+ item_id:,
632
+ minimum_amount:,
633
+ plan_phase_order:,
634
+ reason:,
635
+ adjustment_type: :minimum
636
+ )
637
+ end
638
+
639
+ sig do
640
+ override
641
+ .returns(
642
+ {
643
+ id: String,
644
+ adjustment_type: Symbol,
645
+ applies_to_price_ids: T::Array[String],
646
+ is_invoice_level: T::Boolean,
647
+ item_id: String,
648
+ minimum_amount: String,
649
+ plan_phase_order: T.nilable(Integer),
650
+ reason: T.nilable(String)
651
+ }
652
+ )
653
+ end
654
+ def to_hash
655
+ end
656
+ end
657
+
658
+ class PlanPhaseMaximumAdjustment < Orb::BaseModel
659
+ sig { returns(String) }
660
+ attr_accessor :id
661
+
662
+ sig { returns(Symbol) }
663
+ attr_accessor :adjustment_type
664
+
665
+ # The price IDs that this adjustment applies to.
666
+ sig { returns(T::Array[String]) }
667
+ attr_accessor :applies_to_price_ids
668
+
669
+ # True for adjustments that apply to an entire invocice, false for adjustments
670
+ # that apply to only one price.
671
+ sig { returns(T::Boolean) }
672
+ attr_accessor :is_invoice_level
673
+
674
+ # The maximum amount to charge in a given billing period for the prices this
675
+ # adjustment applies to.
676
+ sig { returns(String) }
677
+ attr_accessor :maximum_amount
678
+
679
+ # The plan phase in which this adjustment is active.
680
+ sig { returns(T.nilable(Integer)) }
681
+ attr_accessor :plan_phase_order
682
+
683
+ # The reason for the adjustment.
684
+ sig { returns(T.nilable(String)) }
685
+ attr_accessor :reason
686
+
687
+ sig do
688
+ params(
689
+ id: String,
690
+ applies_to_price_ids: T::Array[String],
691
+ is_invoice_level: T::Boolean,
692
+ maximum_amount: String,
693
+ plan_phase_order: T.nilable(Integer),
694
+ reason: T.nilable(String),
695
+ adjustment_type: Symbol
696
+ )
697
+ .returns(T.attached_class)
698
+ end
699
+ def self.new(
700
+ id:,
701
+ applies_to_price_ids:,
702
+ is_invoice_level:,
703
+ maximum_amount:,
704
+ plan_phase_order:,
705
+ reason:,
706
+ adjustment_type: :maximum
707
+ )
708
+ end
709
+
710
+ sig do
711
+ override
712
+ .returns(
713
+ {
714
+ id: String,
715
+ adjustment_type: Symbol,
716
+ applies_to_price_ids: T::Array[String],
717
+ is_invoice_level: T::Boolean,
718
+ maximum_amount: String,
719
+ plan_phase_order: T.nilable(Integer),
720
+ reason: T.nilable(String)
721
+ }
722
+ )
723
+ end
724
+ def to_hash
725
+ end
726
+ end
727
+
728
+ sig do
729
+ override
730
+ .returns(
731
+ [Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment, Orb::Models::SubscriptionUnscheduleCancellationResponse::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment]
732
+ )
733
+ end
734
+ def self.variants
735
+ end
736
+ end
737
+ end
738
+
739
+ class BillingCycleAnchorConfiguration < Orb::BaseModel
740
+ # The day of the month on which the billing cycle is anchored. If the maximum
741
+ # number of days in a month is greater than this value, the last day of the month
742
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
743
+ # period begins on the 30th.
744
+ sig { returns(Integer) }
745
+ attr_accessor :day
746
+
747
+ # The month on which the billing cycle is anchored (e.g. a quarterly price
748
+ # anchored in February would have cycles starting February, May, August, and
749
+ # November).
750
+ sig { returns(T.nilable(Integer)) }
751
+ attr_accessor :month
752
+
753
+ # The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
754
+ # anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
755
+ sig { returns(T.nilable(Integer)) }
756
+ attr_accessor :year
757
+
758
+ sig do
759
+ params(day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)).returns(T.attached_class)
760
+ end
761
+ def self.new(day:, month: nil, year: nil)
762
+ end
763
+
764
+ sig { override.returns({day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)}) }
765
+ def to_hash
766
+ end
767
+ end
768
+
769
+ module DiscountInterval
770
+ extend Orb::Union
771
+
772
+ class AmountDiscountInterval < Orb::BaseModel
773
+ # Only available if discount_type is `amount`.
774
+ sig { returns(String) }
775
+ attr_accessor :amount_discount
776
+
777
+ # The price ids that this discount interval applies to.
778
+ sig { returns(T::Array[String]) }
779
+ attr_accessor :applies_to_price_ids
780
+
781
+ # The price interval ids that this discount interval applies to.
782
+ sig { returns(T::Array[String]) }
783
+ attr_accessor :applies_to_price_interval_ids
784
+
785
+ sig { returns(Symbol) }
786
+ attr_accessor :discount_type
787
+
788
+ # The end date of the discount interval.
789
+ sig { returns(T.nilable(Time)) }
790
+ attr_accessor :end_date
791
+
792
+ # The start date of the discount interval.
793
+ sig { returns(Time) }
794
+ attr_accessor :start_date
795
+
796
+ sig do
797
+ params(
798
+ amount_discount: String,
799
+ applies_to_price_ids: T::Array[String],
800
+ applies_to_price_interval_ids: T::Array[String],
801
+ end_date: T.nilable(Time),
802
+ start_date: Time,
803
+ discount_type: Symbol
804
+ )
805
+ .returns(T.attached_class)
806
+ end
807
+ def self.new(
808
+ amount_discount:,
809
+ applies_to_price_ids:,
810
+ applies_to_price_interval_ids:,
811
+ end_date:,
812
+ start_date:,
813
+ discount_type: :amount
814
+ )
815
+ end
816
+
817
+ sig do
818
+ override
819
+ .returns(
820
+ {
821
+ amount_discount: String,
822
+ applies_to_price_ids: T::Array[String],
823
+ applies_to_price_interval_ids: T::Array[String],
824
+ discount_type: Symbol,
825
+ end_date: T.nilable(Time),
826
+ start_date: Time
827
+ }
828
+ )
829
+ end
830
+ def to_hash
831
+ end
832
+ end
833
+
834
+ class PercentageDiscountInterval < Orb::BaseModel
835
+ # The price ids that this discount interval applies to.
836
+ sig { returns(T::Array[String]) }
837
+ attr_accessor :applies_to_price_ids
838
+
839
+ # The price interval ids that this discount interval applies to.
840
+ sig { returns(T::Array[String]) }
841
+ attr_accessor :applies_to_price_interval_ids
842
+
843
+ sig { returns(Symbol) }
844
+ attr_accessor :discount_type
845
+
846
+ # The end date of the discount interval.
847
+ sig { returns(T.nilable(Time)) }
848
+ attr_accessor :end_date
849
+
850
+ # Only available if discount_type is `percentage`.This is a number between 0
851
+ # and 1.
852
+ sig { returns(Float) }
853
+ attr_accessor :percentage_discount
854
+
855
+ # The start date of the discount interval.
856
+ sig { returns(Time) }
857
+ attr_accessor :start_date
858
+
859
+ sig do
860
+ params(
861
+ applies_to_price_ids: T::Array[String],
862
+ applies_to_price_interval_ids: T::Array[String],
863
+ end_date: T.nilable(Time),
864
+ percentage_discount: Float,
865
+ start_date: Time,
866
+ discount_type: Symbol
867
+ )
868
+ .returns(T.attached_class)
869
+ end
870
+ def self.new(
871
+ applies_to_price_ids:,
872
+ applies_to_price_interval_ids:,
873
+ end_date:,
874
+ percentage_discount:,
875
+ start_date:,
876
+ discount_type: :percentage
877
+ )
878
+ end
879
+
880
+ sig do
881
+ override
882
+ .returns(
883
+ {
884
+ applies_to_price_ids: T::Array[String],
885
+ applies_to_price_interval_ids: T::Array[String],
886
+ discount_type: Symbol,
887
+ end_date: T.nilable(Time),
888
+ percentage_discount: Float,
889
+ start_date: Time
890
+ }
891
+ )
892
+ end
893
+ def to_hash
894
+ end
895
+ end
896
+
897
+ class UsageDiscountInterval < Orb::BaseModel
898
+ # The price ids that this discount interval applies to.
899
+ sig { returns(T::Array[String]) }
900
+ attr_accessor :applies_to_price_ids
901
+
902
+ # The price interval ids that this discount interval applies to.
903
+ sig { returns(T::Array[String]) }
904
+ attr_accessor :applies_to_price_interval_ids
905
+
906
+ sig { returns(Symbol) }
907
+ attr_accessor :discount_type
908
+
909
+ # The end date of the discount interval.
910
+ sig { returns(T.nilable(Time)) }
911
+ attr_accessor :end_date
912
+
913
+ # The start date of the discount interval.
914
+ sig { returns(Time) }
915
+ attr_accessor :start_date
916
+
917
+ # Only available if discount_type is `usage`. Number of usage units that this
918
+ # discount is for
919
+ sig { returns(Float) }
920
+ attr_accessor :usage_discount
921
+
922
+ sig do
923
+ params(
924
+ applies_to_price_ids: T::Array[String],
925
+ applies_to_price_interval_ids: T::Array[String],
926
+ end_date: T.nilable(Time),
927
+ start_date: Time,
928
+ usage_discount: Float,
929
+ discount_type: Symbol
930
+ )
931
+ .returns(T.attached_class)
932
+ end
933
+ def self.new(
934
+ applies_to_price_ids:,
935
+ applies_to_price_interval_ids:,
936
+ end_date:,
937
+ start_date:,
938
+ usage_discount:,
939
+ discount_type: :usage
940
+ )
941
+ end
942
+
943
+ sig do
944
+ override
945
+ .returns(
946
+ {
947
+ applies_to_price_ids: T::Array[String],
948
+ applies_to_price_interval_ids: T::Array[String],
949
+ discount_type: Symbol,
950
+ end_date: T.nilable(Time),
951
+ start_date: Time,
952
+ usage_discount: Float
953
+ }
954
+ )
955
+ end
956
+ def to_hash
957
+ end
958
+ end
959
+
960
+ sig do
961
+ override
962
+ .returns(
963
+ [Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::AmountDiscountInterval, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::PercentageDiscountInterval, Orb::Models::SubscriptionUnscheduleCancellationResponse::DiscountInterval::UsageDiscountInterval]
964
+ )
965
+ end
966
+ def self.variants
967
+ end
968
+ end
969
+
970
+ class FixedFeeQuantitySchedule < Orb::BaseModel
971
+ sig { returns(T.nilable(Time)) }
972
+ attr_accessor :end_date
973
+
974
+ sig { returns(String) }
975
+ attr_accessor :price_id
976
+
977
+ sig { returns(Float) }
978
+ attr_accessor :quantity
979
+
980
+ sig { returns(Time) }
981
+ attr_accessor :start_date
982
+
983
+ sig do
984
+ params(end_date: T.nilable(Time), price_id: String, quantity: Float, start_date: Time)
985
+ .returns(T.attached_class)
986
+ end
987
+ def self.new(end_date:, price_id:, quantity:, start_date:)
988
+ end
989
+
990
+ sig do
991
+ override.returns({end_date: T.nilable(Time), price_id: String, quantity: Float, start_date: Time})
992
+ end
993
+ def to_hash
994
+ end
995
+ end
996
+
997
+ class MaximumInterval < Orb::BaseModel
998
+ # The price ids that this maximum interval applies to.
999
+ sig { returns(T::Array[String]) }
1000
+ attr_accessor :applies_to_price_ids
1001
+
1002
+ # The price interval ids that this maximum interval applies to.
1003
+ sig { returns(T::Array[String]) }
1004
+ attr_accessor :applies_to_price_interval_ids
1005
+
1006
+ # The end date of the maximum interval.
1007
+ sig { returns(T.nilable(Time)) }
1008
+ attr_accessor :end_date
1009
+
1010
+ # The maximum amount to charge in a given billing period for the price intervals
1011
+ # this transform applies to.
1012
+ sig { returns(String) }
1013
+ attr_accessor :maximum_amount
1014
+
1015
+ # The start date of the maximum interval.
1016
+ sig { returns(Time) }
1017
+ attr_accessor :start_date
1018
+
1019
+ sig do
1020
+ params(
1021
+ applies_to_price_ids: T::Array[String],
1022
+ applies_to_price_interval_ids: T::Array[String],
1023
+ end_date: T.nilable(Time),
1024
+ maximum_amount: String,
1025
+ start_date: Time
1026
+ )
1027
+ .returns(T.attached_class)
1028
+ end
1029
+ def self.new(
1030
+ applies_to_price_ids:,
1031
+ applies_to_price_interval_ids:,
1032
+ end_date:,
1033
+ maximum_amount:,
1034
+ start_date:
1035
+ )
1036
+ end
1037
+
1038
+ sig do
1039
+ override
1040
+ .returns(
1041
+ {
1042
+ applies_to_price_ids: T::Array[String],
1043
+ applies_to_price_interval_ids: T::Array[String],
1044
+ end_date: T.nilable(Time),
1045
+ maximum_amount: String,
1046
+ start_date: Time
1047
+ }
1048
+ )
1049
+ end
1050
+ def to_hash
1051
+ end
1052
+ end
1053
+
1054
+ class MinimumInterval < Orb::BaseModel
1055
+ # The price ids that this minimum interval applies to.
1056
+ sig { returns(T::Array[String]) }
1057
+ attr_accessor :applies_to_price_ids
1058
+
1059
+ # The price interval ids that this minimum interval applies to.
1060
+ sig { returns(T::Array[String]) }
1061
+ attr_accessor :applies_to_price_interval_ids
1062
+
1063
+ # The end date of the minimum interval.
1064
+ sig { returns(T.nilable(Time)) }
1065
+ attr_accessor :end_date
1066
+
1067
+ # The minimum amount to charge in a given billing period for the price intervals
1068
+ # this minimum applies to.
1069
+ sig { returns(String) }
1070
+ attr_accessor :minimum_amount
1071
+
1072
+ # The start date of the minimum interval.
1073
+ sig { returns(Time) }
1074
+ attr_accessor :start_date
1075
+
1076
+ sig do
1077
+ params(
1078
+ applies_to_price_ids: T::Array[String],
1079
+ applies_to_price_interval_ids: T::Array[String],
1080
+ end_date: T.nilable(Time),
1081
+ minimum_amount: String,
1082
+ start_date: Time
1083
+ )
1084
+ .returns(T.attached_class)
1085
+ end
1086
+ def self.new(
1087
+ applies_to_price_ids:,
1088
+ applies_to_price_interval_ids:,
1089
+ end_date:,
1090
+ minimum_amount:,
1091
+ start_date:
1092
+ )
1093
+ end
1094
+
1095
+ sig do
1096
+ override
1097
+ .returns(
1098
+ {
1099
+ applies_to_price_ids: T::Array[String],
1100
+ applies_to_price_interval_ids: T::Array[String],
1101
+ end_date: T.nilable(Time),
1102
+ minimum_amount: String,
1103
+ start_date: Time
1104
+ }
1105
+ )
1106
+ end
1107
+ def to_hash
1108
+ end
1109
+ end
1110
+
1111
+ class PriceInterval < Orb::BaseModel
1112
+ sig { returns(String) }
1113
+ attr_accessor :id
1114
+
1115
+ # The day of the month that Orb bills for this price
1116
+ sig { returns(Integer) }
1117
+ attr_accessor :billing_cycle_day
1118
+
1119
+ # The end of the current billing period. This is an exclusive timestamp, such that
1120
+ # the instant returned is exactly the end of the billing period. Set to null if
1121
+ # this price interval is not currently active.
1122
+ sig { returns(T.nilable(Time)) }
1123
+ attr_accessor :current_billing_period_end_date
1124
+
1125
+ # The start date of the current billing period. This is an inclusive timestamp;
1126
+ # the instant returned is exactly the beginning of the billing period. Set to null
1127
+ # if this price interval is not currently active.
1128
+ sig { returns(T.nilable(Time)) }
1129
+ attr_accessor :current_billing_period_start_date
1130
+
1131
+ # The end date of the price interval. This is the date that Orb stops billing for
1132
+ # this price.
1133
+ sig { returns(T.nilable(Time)) }
1134
+ attr_accessor :end_date
1135
+
1136
+ # An additional filter to apply to usage queries.
1137
+ sig { returns(T.nilable(String)) }
1138
+ attr_accessor :filter
1139
+
1140
+ # The fixed fee quantity transitions for this price interval. This is only
1141
+ # relevant for fixed fees.
1142
+ sig do
1143
+ returns(
1144
+ T.nilable(
1145
+ T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval::FixedFeeQuantityTransition]
1146
+ )
1147
+ )
1148
+ end
1149
+ attr_accessor :fixed_fee_quantity_transitions
1150
+
1151
+ # The Price resource represents a price that can be billed on a subscription,
1152
+ # resulting in a charge on an invoice in the form of an invoice line item. Prices
1153
+ # take a quantity and determine an amount to bill.
1154
+ #
1155
+ # Orb supports a few different pricing models out of the box. Each of these models
1156
+ # is serialized differently in a given Price object. The model_type field
1157
+ # determines the key for the configuration object that is present.
1158
+ #
1159
+ # For more on the types of prices, see
1160
+ # [the core concepts documentation](/core-concepts#plan-and-price)
1161
+ sig do
1162
+ returns(
1163
+ T.any(
1164
+ Orb::Models::Price::UnitPrice,
1165
+ Orb::Models::Price::PackagePrice,
1166
+ Orb::Models::Price::MatrixPrice,
1167
+ Orb::Models::Price::TieredPrice,
1168
+ Orb::Models::Price::TieredBpsPrice,
1169
+ Orb::Models::Price::BpsPrice,
1170
+ Orb::Models::Price::BulkBpsPrice,
1171
+ Orb::Models::Price::BulkPrice,
1172
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1173
+ Orb::Models::Price::TieredPackagePrice,
1174
+ Orb::Models::Price::GroupedTieredPrice,
1175
+ Orb::Models::Price::TieredWithMinimumPrice,
1176
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1177
+ Orb::Models::Price::PackageWithAllocationPrice,
1178
+ Orb::Models::Price::UnitWithPercentPrice,
1179
+ Orb::Models::Price::MatrixWithAllocationPrice,
1180
+ Orb::Models::Price::TieredWithProrationPrice,
1181
+ Orb::Models::Price::UnitWithProrationPrice,
1182
+ Orb::Models::Price::GroupedAllocationPrice,
1183
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1184
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1185
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1186
+ Orb::Models::Price::BulkWithProrationPrice,
1187
+ Orb::Models::Price::GroupedTieredPackagePrice,
1188
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1189
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1190
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1191
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1192
+ )
1193
+ )
1194
+ end
1195
+ attr_accessor :price
1196
+
1197
+ # The start date of the price interval. This is the date that Orb starts billing
1198
+ # for this price.
1199
+ sig { returns(Time) }
1200
+ attr_accessor :start_date
1201
+
1202
+ # A list of customer IDs whose usage events will be aggregated and billed under
1203
+ # this price interval.
1204
+ sig { returns(T.nilable(T::Array[String])) }
1205
+ attr_accessor :usage_customer_ids
1206
+
1207
+ # The Price Interval resource represents a period of time for which a price will
1208
+ # bill on a subscription. A subscription’s price intervals define its billing
1209
+ # behavior.
1210
+ sig do
1211
+ params(
1212
+ id: String,
1213
+ billing_cycle_day: Integer,
1214
+ current_billing_period_end_date: T.nilable(Time),
1215
+ current_billing_period_start_date: T.nilable(Time),
1216
+ end_date: T.nilable(Time),
1217
+ filter: T.nilable(String),
1218
+ fixed_fee_quantity_transitions: T.nilable(
1219
+ T::Array[
1220
+ T.any(
1221
+ Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval::FixedFeeQuantityTransition,
1222
+ Orb::Util::AnyHash
1223
+ )
1224
+ ]
1225
+ ),
1226
+ price: T.any(
1227
+ Orb::Models::Price::UnitPrice,
1228
+ Orb::Util::AnyHash,
1229
+ Orb::Models::Price::PackagePrice,
1230
+ Orb::Models::Price::MatrixPrice,
1231
+ Orb::Models::Price::TieredPrice,
1232
+ Orb::Models::Price::TieredBpsPrice,
1233
+ Orb::Models::Price::BpsPrice,
1234
+ Orb::Models::Price::BulkBpsPrice,
1235
+ Orb::Models::Price::BulkPrice,
1236
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1237
+ Orb::Models::Price::TieredPackagePrice,
1238
+ Orb::Models::Price::GroupedTieredPrice,
1239
+ Orb::Models::Price::TieredWithMinimumPrice,
1240
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1241
+ Orb::Models::Price::PackageWithAllocationPrice,
1242
+ Orb::Models::Price::UnitWithPercentPrice,
1243
+ Orb::Models::Price::MatrixWithAllocationPrice,
1244
+ Orb::Models::Price::TieredWithProrationPrice,
1245
+ Orb::Models::Price::UnitWithProrationPrice,
1246
+ Orb::Models::Price::GroupedAllocationPrice,
1247
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1248
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1249
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1250
+ Orb::Models::Price::BulkWithProrationPrice,
1251
+ Orb::Models::Price::GroupedTieredPackagePrice,
1252
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1253
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1254
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1255
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1256
+ ),
1257
+ start_date: Time,
1258
+ usage_customer_ids: T.nilable(T::Array[String])
1259
+ )
1260
+ .returns(T.attached_class)
1261
+ end
1262
+ def self.new(
1263
+ id:,
1264
+ billing_cycle_day:,
1265
+ current_billing_period_end_date:,
1266
+ current_billing_period_start_date:,
1267
+ end_date:,
1268
+ filter:,
1269
+ fixed_fee_quantity_transitions:,
1270
+ price:,
1271
+ start_date:,
1272
+ usage_customer_ids:
1273
+ )
1274
+ end
1275
+
1276
+ sig do
1277
+ override
1278
+ .returns(
1279
+ {
1280
+ id: String,
1281
+ billing_cycle_day: Integer,
1282
+ current_billing_period_end_date: T.nilable(Time),
1283
+ current_billing_period_start_date: T.nilable(Time),
1284
+ end_date: T.nilable(Time),
1285
+ filter: T.nilable(String),
1286
+ fixed_fee_quantity_transitions: T.nilable(
1287
+ T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::PriceInterval::FixedFeeQuantityTransition]
1288
+ ),
1289
+ price: T.any(
1290
+ Orb::Models::Price::UnitPrice,
1291
+ Orb::Models::Price::PackagePrice,
1292
+ Orb::Models::Price::MatrixPrice,
1293
+ Orb::Models::Price::TieredPrice,
1294
+ Orb::Models::Price::TieredBpsPrice,
1295
+ Orb::Models::Price::BpsPrice,
1296
+ Orb::Models::Price::BulkBpsPrice,
1297
+ Orb::Models::Price::BulkPrice,
1298
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1299
+ Orb::Models::Price::TieredPackagePrice,
1300
+ Orb::Models::Price::GroupedTieredPrice,
1301
+ Orb::Models::Price::TieredWithMinimumPrice,
1302
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1303
+ Orb::Models::Price::PackageWithAllocationPrice,
1304
+ Orb::Models::Price::UnitWithPercentPrice,
1305
+ Orb::Models::Price::MatrixWithAllocationPrice,
1306
+ Orb::Models::Price::TieredWithProrationPrice,
1307
+ Orb::Models::Price::UnitWithProrationPrice,
1308
+ Orb::Models::Price::GroupedAllocationPrice,
1309
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1310
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1311
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1312
+ Orb::Models::Price::BulkWithProrationPrice,
1313
+ Orb::Models::Price::GroupedTieredPackagePrice,
1314
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1315
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1316
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1317
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1318
+ ),
1319
+ start_date: Time,
1320
+ usage_customer_ids: T.nilable(T::Array[String])
1321
+ }
1322
+ )
1323
+ end
1324
+ def to_hash
1325
+ end
1326
+
1327
+ class FixedFeeQuantityTransition < Orb::BaseModel
1328
+ sig { returns(Time) }
1329
+ attr_accessor :effective_date
1330
+
1331
+ sig { returns(String) }
1332
+ attr_accessor :price_id
1333
+
1334
+ sig { returns(Integer) }
1335
+ attr_accessor :quantity
1336
+
1337
+ sig { params(effective_date: Time, price_id: String, quantity: Integer).returns(T.attached_class) }
1338
+ def self.new(effective_date:, price_id:, quantity:)
1339
+ end
1340
+
1341
+ sig { override.returns({effective_date: Time, price_id: String, quantity: Integer}) }
1342
+ def to_hash
1343
+ end
1344
+ end
1345
+ end
1346
+
1347
+ class RedeemedCoupon < Orb::BaseModel
1348
+ sig { returns(String) }
1349
+ attr_accessor :coupon_id
1350
+
1351
+ sig { returns(T.nilable(Time)) }
1352
+ attr_accessor :end_date
1353
+
1354
+ sig { returns(Time) }
1355
+ attr_accessor :start_date
1356
+
1357
+ sig do
1358
+ params(coupon_id: String, end_date: T.nilable(Time), start_date: Time).returns(T.attached_class)
1359
+ end
1360
+ def self.new(coupon_id:, end_date:, start_date:)
1361
+ end
1362
+
1363
+ sig { override.returns({coupon_id: String, end_date: T.nilable(Time), start_date: Time}) }
1364
+ def to_hash
1365
+ end
1366
+ end
1367
+
1368
+ module Status
1369
+ extend Orb::Enum
1370
+
1371
+ TaggedSymbol =
1372
+ T.type_alias { T.all(Symbol, Orb::Models::SubscriptionUnscheduleCancellationResponse::Status) }
1373
+ OrSymbol =
1374
+ T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol) }
1375
+
1376
+ ACTIVE = T.let(:active, Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol)
1377
+ ENDED = T.let(:ended, Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol)
1378
+ UPCOMING =
1379
+ T.let(:upcoming, Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol)
1380
+
1381
+ sig { override.returns(T::Array[Orb::Models::SubscriptionUnscheduleCancellationResponse::Status::TaggedSymbol]) }
1382
+ def self.values
1383
+ end
1384
+ end
1385
+
1386
+ class TrialInfo < Orb::BaseModel
1387
+ sig { returns(T.nilable(Time)) }
1388
+ attr_accessor :end_date
1389
+
1390
+ sig { params(end_date: T.nilable(Time)).returns(T.attached_class) }
1391
+ def self.new(end_date:)
1392
+ end
1393
+
1394
+ sig { override.returns({end_date: T.nilable(Time)}) }
1395
+ def to_hash
1396
+ end
1397
+ end
1398
+ end
1399
+ end
1400
+ end