metronome-sdk 0.1.0.pre.alpha.2 → 0.1.0.pre.alpha.3

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 (551) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/array_of.rb +8 -0
  8. data/lib/metronome_sdk/internal/type/base_model.rb +13 -0
  9. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  10. data/lib/metronome_sdk/internal/type/enum.rb +12 -0
  11. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +8 -0
  13. data/lib/metronome_sdk/internal/type/union.rb +12 -0
  14. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  15. data/lib/metronome_sdk/internal/util.rb +54 -1
  16. data/lib/metronome_sdk/internal.rb +3 -0
  17. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  18. data/lib/metronome_sdk/models/v1/alert_create_params.rb +11 -11
  19. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  20. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  21. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  22. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  23. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +88 -8
  24. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  25. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +85 -6
  26. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -8
  27. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +291 -143
  28. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  30. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  31. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  32. data/lib/metronome_sdk/models/v1/contract_create_params.rb +827 -299
  33. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  34. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1644 -8
  35. data/lib/metronome_sdk/models/v1/contract_list_response.rb +10879 -55
  36. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  37. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -10
  38. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +10908 -55
  39. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  40. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  41. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  42. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  43. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  44. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  45. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +99 -8
  46. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  47. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  48. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -12
  49. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  50. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +559 -14
  51. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -6
  52. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  53. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +8 -2
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +14 -3
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -7
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +86 -20
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +76 -14
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -9
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -7
  73. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +85 -21
  74. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  75. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  76. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -11
  77. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -14
  78. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  79. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  82. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  84. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  85. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  86. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  87. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  88. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +86 -6
  89. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -14
  90. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  91. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  92. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  93. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -5
  94. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  95. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  96. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  97. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +78 -26
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  101. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  102. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  103. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  107. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  108. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +303 -118
  111. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  112. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  113. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  114. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  115. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +13 -13
  116. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  117. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -3
  118. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  119. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  120. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  122. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +69 -17
  124. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +61 -9
  126. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  127. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1147 -377
  128. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  129. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -119
  130. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1233 -202
  131. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1235 -201
  132. data/lib/metronome_sdk/models.rb +28 -49
  133. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -3
  134. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  135. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  136. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  137. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  138. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +55 -28
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +3 -3
  142. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  143. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  144. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  145. data/lib/metronome_sdk/resources/v1/customers/commits.rb +7 -5
  146. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  147. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -5
  148. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  149. data/lib/metronome_sdk/resources/v1/customers.rb +6 -5
  150. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  151. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  152. data/lib/metronome_sdk/resources/v1/usage.rb +5 -5
  153. data/lib/metronome_sdk/resources/v2/contracts.rb +39 -27
  154. data/lib/metronome_sdk/version.rb +1 -1
  155. data/lib/metronome_sdk.rb +7 -28
  156. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  157. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  158. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  159. data/rbi/metronome_sdk/internal/type/boolean.rbi +6 -0
  160. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  161. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  162. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  163. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  164. data/rbi/metronome_sdk/internal/type/unknown.rbi +6 -0
  165. data/rbi/metronome_sdk/internal/util.rbi +34 -0
  166. data/rbi/metronome_sdk/internal.rbi +5 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +37 -4
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +4 -4
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +37 -4
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +12 -6
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +44 -4
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +177 -8
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +43 -4
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +177 -8
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +175 -8
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +341 -7
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +37 -4
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +39 -4
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2595 -3
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1230 -74
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +37 -4
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3375 -5
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +23626 -686
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +698 -12
  186. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +23626 -686
  187. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  188. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  189. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2595 -3
  190. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +44 -4
  191. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +44 -4
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +209 -8
  193. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +44 -4
  194. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  195. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1143 -76
  196. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +9 -3
  197. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1137 -76
  198. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +209 -8
  199. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +44 -4
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +9 -3
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +44 -4
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +44 -4
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +74 -8
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +9 -3
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +410 -8
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +74 -8
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +44 -4
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +44 -4
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +44 -4
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +180 -8
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +45 -4
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +180 -8
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +149 -12
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +410 -8
  217. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +166 -8
  218. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +41 -4
  219. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +39 -4
  220. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +231 -10
  221. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +281 -14
  222. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +39 -4
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +12 -6
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +39 -4
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +84 -6
  226. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +177 -8
  227. data/rbi/metronome_sdk/models/v1/{customer_detail.rbi → customer_list_response.rbi} +26 -19
  228. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +255 -6
  229. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +86 -6
  230. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +623 -3
  231. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +622 -4
  232. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +109 -0
  233. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +44 -4
  234. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2164 -3
  235. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +44 -4
  236. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  237. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +44 -4
  238. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1224 -3
  239. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +44 -4
  240. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2561 -4
  241. data/rbi/metronome_sdk/models/v1/customers/{invoice.rbi → invoice_list_response.rbi} +589 -182
  242. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2612 -6
  243. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +41 -4
  244. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +39 -4
  245. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +560 -6
  246. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +37 -4
  247. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +248 -4
  248. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +105 -0
  249. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +41 -4
  250. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +105 -0
  251. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +41 -4
  252. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1980 -285
  253. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +37 -4
  254. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +7604 -2906
  255. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +3855 -1534
  256. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +3855 -1534
  257. data/rbi/metronome_sdk/models.rbi +0 -32
  258. data/rbi/metronome_sdk/resources/v1/alerts.rbi +2 -2
  259. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +6 -2
  260. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +6 -5
  261. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +9 -1
  262. data/rbi/metronome_sdk/resources/v1/contracts.rbi +30 -1
  263. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -0
  264. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  265. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  266. data/rbi/metronome_sdk/resources/v1/customers.rbi +5 -2
  267. data/rbi/metronome_sdk/resources/v2/contracts.rbi +49 -1
  268. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  269. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  270. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  271. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  272. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  273. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  274. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  275. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  276. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  277. data/sig/metronome_sdk/internal/util.rbs +12 -0
  278. data/sig/metronome_sdk/internal.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  280. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +20 -3
  281. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  282. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +20 -3
  283. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  285. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +13 -3
  286. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +20 -3
  287. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +83 -10
  288. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +20 -3
  289. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  290. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +84 -10
  291. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  292. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +88 -10
  293. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  294. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +456 -79
  295. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +20 -3
  296. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  297. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +20 -3
  298. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  299. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1292 -3
  300. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1087 -198
  301. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +20 -3
  302. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  303. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -1
  304. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  305. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +10802 -104
  306. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  307. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  308. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +316 -12
  309. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +10802 -104
  310. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  311. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  312. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  313. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1292 -3
  314. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  316. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +20 -3
  317. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  318. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  319. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  321. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +22 -3
  322. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +98 -6
  323. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +22 -3
  324. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  325. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +491 -12
  326. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +13 -3
  327. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +495 -12
  328. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +99 -6
  329. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +22 -3
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +13 -3
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +22 -3
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +22 -3
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +55 -8
  336. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +13 -3
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +188 -8
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +59 -8
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +22 -3
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +22 -3
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +22 -3
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +97 -18
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +22 -3
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +89 -14
  352. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +78 -15
  353. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  354. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +183 -8
  355. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +98 -6
  356. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +20 -3
  357. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  358. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +20 -3
  359. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +9 -0
  360. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +145 -9
  361. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  362. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +174 -12
  363. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  364. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +20 -3
  365. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  366. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  367. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  368. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  369. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  370. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  371. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +13 -3
  372. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +20 -3
  373. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  374. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +49 -3
  375. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  376. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +88 -10
  377. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  378. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  379. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  380. data/sig/metronome_sdk/models/v1/customer_list_response.rbs +109 -0
  381. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  382. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +113 -3
  383. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  384. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  385. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +49 -3
  386. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  388. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +247 -3
  389. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  390. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  391. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +248 -3
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  393. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  394. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  395. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +16 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  397. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +22 -3
  398. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  399. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1061 -3
  400. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  401. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +22 -3
  402. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +22 -3
  404. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  405. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +600 -3
  406. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  407. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +22 -3
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1282 -7
  412. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_list_response.rbs +1290 -0
  414. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1295 -3
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  417. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  418. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  420. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +20 -3
  421. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  425. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  426. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +38 -3
  427. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +28 -6
  428. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  432. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  434. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +268 -3
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +43 -3
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +121 -3
  439. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  440. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  442. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  443. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  444. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  445. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  446. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  450. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +110 -1
  451. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +20 -3
  452. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +85 -1
  453. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +20 -3
  454. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1476 -212
  455. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +20 -3
  456. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  457. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2855 -442
  458. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  459. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1743 -194
  460. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  461. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1743 -194
  462. data/sig/metronome_sdk/models.rbs +0 -32
  463. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  464. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +2 -1
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +9 -1
  467. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  468. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  470. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +1 -1
  473. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -1
  474. metadata +14 -83
  475. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  476. data/lib/metronome_sdk/models/commit.rb +0 -867
  477. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1437
  478. data/lib/metronome_sdk/models/credit.rb +0 -484
  479. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  480. data/lib/metronome_sdk/models/discount.rb +0 -68
  481. data/lib/metronome_sdk/models/event_type_filter.rb +0 -33
  482. data/lib/metronome_sdk/models/id.rb +0 -15
  483. data/lib/metronome_sdk/models/override.rb +0 -362
  484. data/lib/metronome_sdk/models/pro_service.rb +0 -73
  485. data/lib/metronome_sdk/models/property_filter.rb +0 -52
  486. data/lib/metronome_sdk/models/rate.rb +0 -101
  487. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  488. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  489. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  490. data/lib/metronome_sdk/models/tier.rb +0 -21
  491. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -148
  492. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  493. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -45
  494. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -69
  495. data/lib/metronome_sdk/models/v1/customer.rb +0 -53
  496. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -270
  497. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  498. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  499. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  500. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -46
  501. data/rbi/metronome_sdk/models/commit.rbi +0 -1625
  502. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2939
  503. data/rbi/metronome_sdk/models/credit.rbi +0 -879
  504. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -26
  505. data/rbi/metronome_sdk/models/discount.rbi +0 -106
  506. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -57
  507. data/rbi/metronome_sdk/models/id.rbi +0 -23
  508. data/rbi/metronome_sdk/models/override.rbi +0 -609
  509. data/rbi/metronome_sdk/models/pro_service.rbi +0 -98
  510. data/rbi/metronome_sdk/models/property_filter.rbi +0 -88
  511. data/rbi/metronome_sdk/models/rate.rbi +0 -155
  512. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -89
  513. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -121
  514. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -119
  515. data/rbi/metronome_sdk/models/tier.rbi +0 -29
  516. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -237
  517. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -111
  518. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -94
  519. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -90
  520. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -74
  521. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -572
  522. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -349
  523. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -79
  524. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -80
  525. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -22
  526. data/sig/metronome_sdk/models/commit.rbs +0 -714
  527. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1072
  528. data/sig/metronome_sdk/models/credit.rbs +0 -397
  529. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -13
  530. data/sig/metronome_sdk/models/discount.rbs +0 -52
  531. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -21
  532. data/sig/metronome_sdk/models/id.rbs +0 -11
  533. data/sig/metronome_sdk/models/override.rbs +0 -329
  534. data/sig/metronome_sdk/models/pro_service.rbs +0 -50
  535. data/sig/metronome_sdk/models/property_filter.rbs +0 -34
  536. data/sig/metronome_sdk/models/rate.rbs +0 -82
  537. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -44
  538. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -61
  539. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -58
  540. data/sig/metronome_sdk/models/tier.rbs +0 -15
  541. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -102
  542. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -41
  543. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -36
  544. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -42
  545. data/sig/metronome_sdk/models/v1/customer.rbs +0 -36
  546. data/sig/metronome_sdk/models/v1/customer_detail.rbs +0 -90
  547. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -205
  548. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +0 -977
  549. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -165
  550. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -29
  551. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -32
@@ -49,11 +49,9 @@ module MetronomeSDK
49
49
 
50
50
  # @!attribute scheduled_charges
51
51
  #
52
- # @return [Array<MetronomeSDK::ScheduledCharge>]
52
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge>]
53
53
  required :scheduled_charges,
54
- -> {
55
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge]
56
- }
54
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge] }
57
55
 
58
56
  # @!attribute starting_at
59
57
  #
@@ -104,8 +102,9 @@ module MetronomeSDK
104
102
  # @!attribute discounts
105
103
  # This field's availability is dependent on your client's configuration.
106
104
  #
107
- # @return [Array<MetronomeSDK::Discount>, nil]
108
- optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
105
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount>, nil]
106
+ optional :discounts,
107
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount] }
109
108
 
110
109
  # @!attribute ending_before
111
110
  #
@@ -147,11 +146,9 @@ module MetronomeSDK
147
146
  # @!attribute professional_services
148
147
  # This field's availability is dependent on your client's configuration.
149
148
  #
150
- # @return [Array<MetronomeSDK::ProService>, nil]
149
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService>, nil]
151
150
  optional :professional_services,
152
- -> {
153
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
154
- }
151
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService] }
155
152
 
156
153
  # @!attribute rate_card_id
157
154
  #
@@ -200,6 +197,13 @@ module MetronomeSDK
200
197
  optional :spend_threshold_configuration,
201
198
  -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration }
202
199
 
200
+ # @!attribute subscriptions
201
+ # (beta) List of subscriptions on the contract.
202
+ #
203
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription>, nil]
204
+ optional :subscriptions,
205
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription] }
206
+
203
207
  # @!attribute total_contract_value
204
208
  #
205
209
  # @return [Float, nil]
@@ -213,7 +217,7 @@ module MetronomeSDK
213
217
  # @return [String, nil]
214
218
  optional :uniqueness_key, String
215
219
 
216
- # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, total_contract_value: nil, uniqueness_key: nil)
220
+ # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
217
221
  # Some parameter documentations has been truncated, see
218
222
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data} for more details.
219
223
  #
@@ -229,7 +233,7 @@ module MetronomeSDK
229
233
  #
230
234
  # @param overrides [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override>]
231
235
  #
232
- # @param scheduled_charges [Array<MetronomeSDK::ScheduledCharge>]
236
+ # @param scheduled_charges [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge>]
233
237
  #
234
238
  # @param starting_at [Time]
235
239
  #
@@ -247,7 +251,7 @@ module MetronomeSDK
247
251
  #
248
252
  # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
249
253
  #
250
- # @param discounts [Array<MetronomeSDK::Discount>] This field's availability is dependent on your client's configuration.
254
+ # @param discounts [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount>] This field's availability is dependent on your client's configuration.
251
255
  #
252
256
  # @param ending_before [Time]
253
257
  #
@@ -261,7 +265,7 @@ module MetronomeSDK
261
265
  #
262
266
  # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration]
263
267
  #
264
- # @param professional_services [Array<MetronomeSDK::ProService>] This field's availability is dependent on your client's configuration.
268
+ # @param professional_services [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService>] This field's availability is dependent on your client's configuration.
265
269
  #
266
270
  # @param rate_card_id [String]
267
271
  #
@@ -277,6 +281,8 @@ module MetronomeSDK
277
281
  #
278
282
  # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::SpendThresholdConfiguration]
279
283
  #
284
+ # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription>] (beta) List of subscriptions on the contract.
285
+ #
280
286
  # @param total_contract_value [Float]
281
287
  #
282
288
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
@@ -301,8 +307,9 @@ module MetronomeSDK
301
307
  # The schedule that the customer will gain access to the credits purposed with
302
308
  # this commit.
303
309
  #
304
- # @return [MetronomeSDK::ScheduleDuration, nil]
305
- optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
310
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule, nil]
311
+ optional :access_schedule,
312
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule }
306
313
 
307
314
  # @!attribute applicable_contract_ids
308
315
  #
@@ -362,14 +369,15 @@ module MetronomeSDK
362
369
  # @!attribute invoice_schedule
363
370
  # The schedule that the customer will be invoiced for this commit.
364
371
  #
365
- # @return [MetronomeSDK::SchedulePointInTime, nil]
366
- optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
372
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule, nil]
373
+ optional :invoice_schedule,
374
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule }
367
375
 
368
376
  # @!attribute ledger
369
377
  # A list of ordered events that impact the balance of a commit. For example, an
370
378
  # invoice deduction or a rollover.
371
379
  #
372
- # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
380
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12>, nil]
373
381
  optional :ledger,
374
382
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger] }
375
383
 
@@ -414,7 +422,16 @@ module MetronomeSDK
414
422
  # @return [String, nil]
415
423
  optional :salesforce_opportunity_id, String
416
424
 
417
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil)
425
+ # @!attribute specifiers
426
+ # List of filters that determine what kind of customer usage draws down a commit
427
+ # or credit. A customer's usage needs to meet the condition of at least one of the
428
+ # specifiers to contribute to a commit's or credit's drawdown.
429
+ #
430
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier>, nil]
431
+ optional :specifiers,
432
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier] }
433
+
434
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
418
435
  # Some parameter documentations has been truncated, see
419
436
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit} for more
420
437
  # details.
@@ -425,7 +442,7 @@ module MetronomeSDK
425
442
  #
426
443
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Type]
427
444
  #
428
- # @param access_schedule [MetronomeSDK::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
445
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule] The schedule that the customer will gain access to the credits purposed with thi
429
446
  #
430
447
  # @param applicable_contract_ids [Array<String>]
431
448
  #
@@ -445,9 +462,9 @@ module MetronomeSDK
445
462
  #
446
463
  # @param invoice_contract [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
447
464
  #
448
- # @param invoice_schedule [MetronomeSDK::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
465
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule] The schedule that the customer will be invoiced for this commit.
449
466
  #
450
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
467
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12>] A list of ordered events that impact the balance of a commit. For example, an in
451
468
  #
452
469
  # @param name [String]
453
470
  #
@@ -462,6 +479,8 @@ module MetronomeSDK
462
479
  # @param rollover_fraction [Float]
463
480
  #
464
481
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
482
+ #
483
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
465
484
 
466
485
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#product
467
486
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -491,6 +510,73 @@ module MetronomeSDK
491
510
  # @return [Array<Symbol>]
492
511
  end
493
512
 
513
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#access_schedule
514
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
515
+ # @!attribute schedule_items
516
+ #
517
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::ScheduleItem>]
518
+ required :schedule_items,
519
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::ScheduleItem] }
520
+
521
+ # @!attribute credit_type
522
+ #
523
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::CreditType, nil]
524
+ optional :credit_type,
525
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::CreditType }
526
+
527
+ # @!method initialize(schedule_items:, credit_type: nil)
528
+ # The schedule that the customer will gain access to the credits purposed with
529
+ # this commit.
530
+ #
531
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::ScheduleItem>]
532
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule::CreditType]
533
+
534
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
535
+ # @!attribute id
536
+ #
537
+ # @return [String]
538
+ required :id, String
539
+
540
+ # @!attribute amount
541
+ #
542
+ # @return [Float]
543
+ required :amount, Float
544
+
545
+ # @!attribute ending_before
546
+ #
547
+ # @return [Time]
548
+ required :ending_before, Time
549
+
550
+ # @!attribute starting_at
551
+ #
552
+ # @return [Time]
553
+ required :starting_at, Time
554
+
555
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
556
+ # @param id [String]
557
+ # @param amount [Float]
558
+ # @param ending_before [Time]
559
+ # @param starting_at [Time]
560
+ end
561
+
562
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::AccessSchedule#credit_type
563
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
564
+ # @!attribute id
565
+ #
566
+ # @return [String]
567
+ required :id, String
568
+
569
+ # @!attribute name
570
+ #
571
+ # @return [String]
572
+ required :name, String
573
+
574
+ # @!method initialize(id:, name:)
575
+ # @param id [String]
576
+ # @param name [String]
577
+ end
578
+ end
579
+
494
580
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#contract
495
581
  class Contract < MetronomeSDK::Internal::Type::BaseModel
496
582
  # @!attribute id
@@ -515,36 +601,114 @@ module MetronomeSDK
515
601
  # @param id [String]
516
602
  end
517
603
 
604
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#invoice_schedule
605
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
606
+ # @!attribute credit_type
607
+ #
608
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::CreditType, nil]
609
+ optional :credit_type,
610
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::CreditType }
611
+
612
+ # @!attribute schedule_items
613
+ #
614
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::ScheduleItem>, nil]
615
+ optional :schedule_items,
616
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::ScheduleItem] }
617
+
618
+ # @!method initialize(credit_type: nil, schedule_items: nil)
619
+ # The schedule that the customer will be invoiced for this commit.
620
+ #
621
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::CreditType]
622
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule::ScheduleItem>]
623
+
624
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::InvoiceSchedule#credit_type
625
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
626
+ # @!attribute id
627
+ #
628
+ # @return [String]
629
+ required :id, String
630
+
631
+ # @!attribute name
632
+ #
633
+ # @return [String]
634
+ required :name, String
635
+
636
+ # @!method initialize(id:, name:)
637
+ # @param id [String]
638
+ # @param name [String]
639
+ end
640
+
641
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
642
+ # @!attribute id
643
+ #
644
+ # @return [String]
645
+ required :id, String
646
+
647
+ # @!attribute amount
648
+ #
649
+ # @return [Float]
650
+ required :amount, Float
651
+
652
+ # @!attribute invoice_id
653
+ #
654
+ # @return [String]
655
+ required :invoice_id, String
656
+
657
+ # @!attribute quantity
658
+ #
659
+ # @return [Float]
660
+ required :quantity, Float
661
+
662
+ # @!attribute timestamp
663
+ #
664
+ # @return [Time]
665
+ required :timestamp, Time
666
+
667
+ # @!attribute unit_price
668
+ #
669
+ # @return [Float]
670
+ required :unit_price, Float
671
+
672
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
673
+ # @param id [String]
674
+ # @param amount [Float]
675
+ # @param invoice_id [String]
676
+ # @param quantity [Float]
677
+ # @param timestamp [Time]
678
+ # @param unit_price [Float]
679
+ end
680
+ end
681
+
518
682
  module Ledger
519
683
  extend MetronomeSDK::Internal::Type::Union
520
684
 
521
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
685
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0 }
522
686
 
523
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
687
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1 }
524
688
 
525
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
689
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2 }
526
690
 
527
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
691
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3 }
528
692
 
529
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
693
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4 }
530
694
 
531
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
695
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5 }
532
696
 
533
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
697
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6 }
534
698
 
535
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
699
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7 }
536
700
 
537
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
701
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8 }
538
702
 
539
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
703
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9 }
540
704
 
541
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
705
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10 }
542
706
 
543
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
707
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11 }
544
708
 
545
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
709
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12 }
546
710
 
547
- class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
711
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
548
712
  # @!attribute amount
549
713
  #
550
714
  # @return [Float]
@@ -562,17 +726,17 @@ module MetronomeSDK
562
726
 
563
727
  # @!attribute type
564
728
  #
565
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
729
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type]
566
730
  required :type,
567
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
731
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type }
568
732
 
569
733
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
570
734
  # @param amount [Float]
571
735
  # @param segment_id [String]
572
736
  # @param timestamp [Time]
573
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
737
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0::Type]
574
738
 
575
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
739
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0#type
576
740
  module Type
577
741
  extend MetronomeSDK::Internal::Type::Enum
578
742
 
@@ -583,7 +747,7 @@ module MetronomeSDK
583
747
  end
584
748
  end
585
749
 
586
- class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
750
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
587
751
  # @!attribute amount
588
752
  #
589
753
  # @return [Float]
@@ -606,18 +770,18 @@ module MetronomeSDK
606
770
 
607
771
  # @!attribute type
608
772
  #
609
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
773
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type]
610
774
  required :type,
611
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
775
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type }
612
776
 
613
777
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
614
778
  # @param amount [Float]
615
779
  # @param invoice_id [String]
616
780
  # @param segment_id [String]
617
781
  # @param timestamp [Time]
618
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
782
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1::Type]
619
783
 
620
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
784
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1#type
621
785
  module Type
622
786
  extend MetronomeSDK::Internal::Type::Enum
623
787
 
@@ -628,7 +792,7 @@ module MetronomeSDK
628
792
  end
629
793
  end
630
794
 
631
- class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
795
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
632
796
  # @!attribute amount
633
797
  #
634
798
  # @return [Float]
@@ -651,18 +815,18 @@ module MetronomeSDK
651
815
 
652
816
  # @!attribute type
653
817
  #
654
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
818
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type]
655
819
  required :type,
656
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
820
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type }
657
821
 
658
822
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
659
823
  # @param amount [Float]
660
824
  # @param new_contract_id [String]
661
825
  # @param segment_id [String]
662
826
  # @param timestamp [Time]
663
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
827
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2::Type]
664
828
 
665
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
829
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2#type
666
830
  module Type
667
831
  extend MetronomeSDK::Internal::Type::Enum
668
832
 
@@ -673,7 +837,7 @@ module MetronomeSDK
673
837
  end
674
838
  end
675
839
 
676
- class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
840
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
677
841
  # @!attribute amount
678
842
  #
679
843
  # @return [Float]
@@ -691,17 +855,17 @@ module MetronomeSDK
691
855
 
692
856
  # @!attribute type
693
857
  #
694
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
858
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type]
695
859
  required :type,
696
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
860
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type }
697
861
 
698
862
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
699
863
  # @param amount [Float]
700
864
  # @param segment_id [String]
701
865
  # @param timestamp [Time]
702
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
866
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3::Type]
703
867
 
704
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
868
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3#type
705
869
  module Type
706
870
  extend MetronomeSDK::Internal::Type::Enum
707
871
 
@@ -712,7 +876,7 @@ module MetronomeSDK
712
876
  end
713
877
  end
714
878
 
715
- class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
879
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
716
880
  # @!attribute amount
717
881
  #
718
882
  # @return [Float]
@@ -735,18 +899,18 @@ module MetronomeSDK
735
899
 
736
900
  # @!attribute type
737
901
  #
738
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
902
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type]
739
903
  required :type,
740
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
904
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type }
741
905
 
742
906
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
743
907
  # @param amount [Float]
744
908
  # @param invoice_id [String]
745
909
  # @param segment_id [String]
746
910
  # @param timestamp [Time]
747
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
911
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4::Type]
748
912
 
749
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
913
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4#type
750
914
  module Type
751
915
  extend MetronomeSDK::Internal::Type::Enum
752
916
 
@@ -757,7 +921,7 @@ module MetronomeSDK
757
921
  end
758
922
  end
759
923
 
760
- class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
924
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
761
925
  # @!attribute amount
762
926
  #
763
927
  # @return [Float]
@@ -780,18 +944,18 @@ module MetronomeSDK
780
944
 
781
945
  # @!attribute type
782
946
  #
783
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
947
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type]
784
948
  required :type,
785
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
949
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type }
786
950
 
787
951
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
788
952
  # @param amount [Float]
789
953
  # @param invoice_id [String]
790
954
  # @param segment_id [String]
791
955
  # @param timestamp [Time]
792
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
956
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5::Type]
793
957
 
794
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
958
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5#type
795
959
  module Type
796
960
  extend MetronomeSDK::Internal::Type::Enum
797
961
 
@@ -802,7 +966,7 @@ module MetronomeSDK
802
966
  end
803
967
  end
804
968
 
805
- class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
969
+ class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
806
970
  # @!attribute amount
807
971
  #
808
972
  # @return [Float]
@@ -815,16 +979,16 @@ module MetronomeSDK
815
979
 
816
980
  # @!attribute type
817
981
  #
818
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
982
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type]
819
983
  required :type,
820
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
984
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type }
821
985
 
822
986
  # @!method initialize(amount:, timestamp:, type:)
823
987
  # @param amount [Float]
824
988
  # @param timestamp [Time]
825
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
989
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6::Type]
826
990
 
827
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
991
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6#type
828
992
  module Type
829
993
  extend MetronomeSDK::Internal::Type::Enum
830
994
 
@@ -835,7 +999,7 @@ module MetronomeSDK
835
999
  end
836
1000
  end
837
1001
 
838
- class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1002
+ class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
839
1003
  # @!attribute amount
840
1004
  #
841
1005
  # @return [Float]
@@ -858,18 +1022,18 @@ module MetronomeSDK
858
1022
 
859
1023
  # @!attribute type
860
1024
  #
861
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1025
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type]
862
1026
  required :type,
863
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1027
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type }
864
1028
 
865
1029
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
866
1030
  # @param amount [Float]
867
1031
  # @param invoice_id [String]
868
1032
  # @param segment_id [String]
869
1033
  # @param timestamp [Time]
870
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1034
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7::Type]
871
1035
 
872
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1036
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7#type
873
1037
  module Type
874
1038
  extend MetronomeSDK::Internal::Type::Enum
875
1039
 
@@ -880,7 +1044,7 @@ module MetronomeSDK
880
1044
  end
881
1045
  end
882
1046
 
883
- class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1047
+ class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
884
1048
  # @!attribute amount
885
1049
  #
886
1050
  # @return [Float]
@@ -903,18 +1067,18 @@ module MetronomeSDK
903
1067
 
904
1068
  # @!attribute type
905
1069
  #
906
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1070
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type]
907
1071
  required :type,
908
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1072
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type }
909
1073
 
910
1074
  # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
911
1075
  # @param amount [Float]
912
1076
  # @param new_contract_id [String]
913
1077
  # @param segment_id [String]
914
1078
  # @param timestamp [Time]
915
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1079
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8::Type]
916
1080
 
917
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1081
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8#type
918
1082
  module Type
919
1083
  extend MetronomeSDK::Internal::Type::Enum
920
1084
 
@@ -925,7 +1089,7 @@ module MetronomeSDK
925
1089
  end
926
1090
  end
927
1091
 
928
- class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1092
+ class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
929
1093
  # @!attribute amount
930
1094
  #
931
1095
  # @return [Float]
@@ -943,17 +1107,17 @@ module MetronomeSDK
943
1107
 
944
1108
  # @!attribute type
945
1109
  #
946
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1110
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type]
947
1111
  required :type,
948
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1112
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type }
949
1113
 
950
1114
  # @!method initialize(amount:, invoice_id:, timestamp:, type:)
951
1115
  # @param amount [Float]
952
1116
  # @param invoice_id [String]
953
1117
  # @param timestamp [Time]
954
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1118
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9::Type]
955
1119
 
956
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1120
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9#type
957
1121
  module Type
958
1122
  extend MetronomeSDK::Internal::Type::Enum
959
1123
 
@@ -964,7 +1128,7 @@ module MetronomeSDK
964
1128
  end
965
1129
  end
966
1130
 
967
- class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1131
+ class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
968
1132
  # @!attribute amount
969
1133
  #
970
1134
  # @return [Float]
@@ -982,17 +1146,17 @@ module MetronomeSDK
982
1146
 
983
1147
  # @!attribute type
984
1148
  #
985
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1149
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type]
986
1150
  required :type,
987
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1151
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type }
988
1152
 
989
1153
  # @!method initialize(amount:, reason:, timestamp:, type:)
990
1154
  # @param amount [Float]
991
1155
  # @param reason [String]
992
1156
  # @param timestamp [Time]
993
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1157
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10::Type]
994
1158
 
995
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1159
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10#type
996
1160
  module Type
997
1161
  extend MetronomeSDK::Internal::Type::Enum
998
1162
 
@@ -1003,7 +1167,7 @@ module MetronomeSDK
1003
1167
  end
1004
1168
  end
1005
1169
 
1006
- class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1170
+ class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1007
1171
  # @!attribute amount
1008
1172
  #
1009
1173
  # @return [Float]
@@ -1021,17 +1185,17 @@ module MetronomeSDK
1021
1185
 
1022
1186
  # @!attribute type
1023
1187
  #
1024
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1188
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type]
1025
1189
  required :type,
1026
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1190
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type }
1027
1191
 
1028
1192
  # @!method initialize(amount:, reason:, timestamp:, type:)
1029
1193
  # @param amount [Float]
1030
1194
  # @param reason [String]
1031
1195
  # @param timestamp [Time]
1032
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1196
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11::Type]
1033
1197
 
1034
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1198
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11#type
1035
1199
  module Type
1036
1200
  extend MetronomeSDK::Internal::Type::Enum
1037
1201
 
@@ -1042,7 +1206,7 @@ module MetronomeSDK
1042
1206
  end
1043
1207
  end
1044
1208
 
1045
- class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1209
+ class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1046
1210
  # @!attribute amount
1047
1211
  #
1048
1212
  # @return [Float]
@@ -1055,16 +1219,16 @@ module MetronomeSDK
1055
1219
 
1056
1220
  # @!attribute type
1057
1221
  #
1058
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1222
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type]
1059
1223
  required :type,
1060
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1224
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type }
1061
1225
 
1062
1226
  # @!method initialize(amount:, timestamp:, type:)
1063
1227
  # @param amount [Float]
1064
1228
  # @param timestamp [Time]
1065
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1229
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12::Type]
1066
1230
 
1067
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1231
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12#type
1068
1232
  module Type
1069
1233
  extend MetronomeSDK::Internal::Type::Enum
1070
1234
 
@@ -1076,27 +1240,7 @@ module MetronomeSDK
1076
1240
  end
1077
1241
 
1078
1242
  # @!method self.variants
1079
- # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1080
-
1081
- define_sorbet_constant!(:Variants) do
1082
- T.type_alias do
1083
- T.any(
1084
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry,
1085
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry,
1086
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry,
1087
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
1088
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
1089
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
1090
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
1091
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
1092
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
1093
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry,
1094
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry,
1095
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry,
1096
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry
1097
- )
1098
- end
1099
- end
1243
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember5, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember6, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember7, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember8, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember9, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember10, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember11, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::UnionMember12)]
1100
1244
  end
1101
1245
 
1102
1246
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#rate_type
@@ -1126,6 +1270,44 @@ module MetronomeSDK
1126
1270
  # @param commit_id [String]
1127
1271
  # @param contract_id [String]
1128
1272
  end
1273
+
1274
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1275
+ # @!attribute presentation_group_values
1276
+ #
1277
+ # @return [Hash{Symbol=>String}, nil]
1278
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1279
+
1280
+ # @!attribute pricing_group_values
1281
+ #
1282
+ # @return [Hash{Symbol=>String}, nil]
1283
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1284
+
1285
+ # @!attribute product_id
1286
+ # If provided, the specifier will only apply to the product with the specified ID.
1287
+ #
1288
+ # @return [String, nil]
1289
+ optional :product_id, String
1290
+
1291
+ # @!attribute product_tags
1292
+ # If provided, the specifier will only apply to products with all the specified
1293
+ # tags.
1294
+ #
1295
+ # @return [Array<String>, nil]
1296
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1297
+
1298
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1299
+ # Some parameter documentations has been truncated, see
1300
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Specifier}
1301
+ # for more details.
1302
+ #
1303
+ # @param presentation_group_values [Hash{Symbol=>String}]
1304
+ #
1305
+ # @param pricing_group_values [Hash{Symbol=>String}]
1306
+ #
1307
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1308
+ #
1309
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1310
+ end
1129
1311
  end
1130
1312
 
1131
1313
  class Override < MetronomeSDK::Internal::Type::BaseModel
@@ -1219,6 +1401,12 @@ module MetronomeSDK
1219
1401
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::Type]
1220
1402
 
1221
1403
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1404
+ # @!attribute billing_frequency
1405
+ #
1406
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency, nil]
1407
+ optional :billing_frequency,
1408
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency }
1409
+
1222
1410
  # @!attribute commit_ids
1223
1411
  #
1224
1412
  # @return [Array<String>, nil]
@@ -1254,7 +1442,8 @@ module MetronomeSDK
1254
1442
  # @return [Array<String>, nil]
1255
1443
  optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1256
1444
 
1257
- # @!method initialize(commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1445
+ # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1446
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier::BillingFrequency]
1258
1447
  # @param commit_ids [Array<String>]
1259
1448
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
1260
1449
  # @param pricing_group_values [Hash{Symbol=>String}]
@@ -1262,6 +1451,19 @@ module MetronomeSDK
1262
1451
  # @param product_tags [Array<String>]
1263
1452
  # @param recurring_commit_ids [Array<String>]
1264
1453
  # @param recurring_credit_ids [Array<String>]
1454
+
1455
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverrideSpecifier#billing_frequency
1456
+ module BillingFrequency
1457
+ extend MetronomeSDK::Internal::Type::Enum
1458
+
1459
+ MONTHLY = :MONTHLY
1460
+ QUARTERLY = :QUARTERLY
1461
+ ANNUAL = :ANNUAL
1462
+ WEEKLY = :WEEKLY
1463
+
1464
+ # @!method self.values
1465
+ # @return [Array<Symbol>]
1466
+ end
1265
1467
  end
1266
1468
 
1267
1469
  class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
@@ -1290,8 +1492,9 @@ module MetronomeSDK
1290
1492
 
1291
1493
  # @!attribute credit_type
1292
1494
  #
1293
- # @return [MetronomeSDK::CreditTypeData, nil]
1294
- optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1495
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType, nil]
1496
+ optional :credit_type,
1497
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType }
1295
1498
 
1296
1499
  # @!attribute custom_rate
1297
1500
  # Only set for CUSTOM rate_type. This field is interpreted by custom rate
@@ -1324,8 +1527,9 @@ module MetronomeSDK
1324
1527
  # @!attribute tiers
1325
1528
  # Only set for TIERED rate_type.
1326
1529
  #
1327
- # @return [Array<MetronomeSDK::Tier>, nil]
1328
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1530
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier>, nil]
1531
+ optional :tiers,
1532
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier] }
1329
1533
 
1330
1534
  # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1331
1535
  # Some parameter documentations has been truncated, see
@@ -1334,7 +1538,7 @@ module MetronomeSDK
1334
1538
  #
1335
1539
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::RateType]
1336
1540
  #
1337
- # @param credit_type [MetronomeSDK::CreditTypeData]
1541
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::CreditType]
1338
1542
  #
1339
1543
  # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1340
1544
  #
@@ -1344,7 +1548,7 @@ module MetronomeSDK
1344
1548
  #
1345
1549
  # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1346
1550
  #
1347
- # @param tiers [Array<MetronomeSDK::Tier>] Only set for TIERED rate_type.
1551
+ # @param tiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate::Tier>] Only set for TIERED rate_type.
1348
1552
 
1349
1553
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate#rate_type
1350
1554
  module RateType
@@ -1359,6 +1563,39 @@ module MetronomeSDK
1359
1563
  # @!method self.values
1360
1564
  # @return [Array<Symbol>]
1361
1565
  end
1566
+
1567
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override::OverwriteRate#credit_type
1568
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1569
+ # @!attribute id
1570
+ #
1571
+ # @return [String]
1572
+ required :id, String
1573
+
1574
+ # @!attribute name
1575
+ #
1576
+ # @return [String]
1577
+ required :name, String
1578
+
1579
+ # @!method initialize(id:, name:)
1580
+ # @param id [String]
1581
+ # @param name [String]
1582
+ end
1583
+
1584
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1585
+ # @!attribute price
1586
+ #
1587
+ # @return [Float]
1588
+ required :price, Float
1589
+
1590
+ # @!attribute size
1591
+ #
1592
+ # @return [Float, nil]
1593
+ optional :size, Float
1594
+
1595
+ # @!method initialize(price:, size: nil)
1596
+ # @param price [Float]
1597
+ # @param size [Float]
1598
+ end
1362
1599
  end
1363
1600
 
1364
1601
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Override#product
@@ -1402,6 +1639,155 @@ module MetronomeSDK
1402
1639
  end
1403
1640
  end
1404
1641
 
1642
+ class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1643
+ # @!attribute id
1644
+ #
1645
+ # @return [String]
1646
+ required :id, String
1647
+
1648
+ # @!attribute product
1649
+ #
1650
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Product]
1651
+ required :product,
1652
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Product }
1653
+
1654
+ # @!attribute schedule
1655
+ #
1656
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule]
1657
+ required :schedule,
1658
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule }
1659
+
1660
+ # @!attribute archived_at
1661
+ #
1662
+ # @return [Time, nil]
1663
+ optional :archived_at, Time
1664
+
1665
+ # @!attribute custom_fields
1666
+ #
1667
+ # @return [Hash{Symbol=>String}, nil]
1668
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1669
+
1670
+ # @!attribute name
1671
+ # displayed on invoices
1672
+ #
1673
+ # @return [String, nil]
1674
+ optional :name, String
1675
+
1676
+ # @!attribute netsuite_sales_order_id
1677
+ # This field's availability is dependent on your client's configuration.
1678
+ #
1679
+ # @return [String, nil]
1680
+ optional :netsuite_sales_order_id, String
1681
+
1682
+ # @!method initialize(id:, product:, schedule:, archived_at: nil, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
1683
+ # @param id [String]
1684
+ #
1685
+ # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Product]
1686
+ #
1687
+ # @param schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule]
1688
+ #
1689
+ # @param archived_at [Time]
1690
+ #
1691
+ # @param custom_fields [Hash{Symbol=>String}]
1692
+ #
1693
+ # @param name [String] displayed on invoices
1694
+ #
1695
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1696
+
1697
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge#product
1698
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1699
+ # @!attribute id
1700
+ #
1701
+ # @return [String]
1702
+ required :id, String
1703
+
1704
+ # @!attribute name
1705
+ #
1706
+ # @return [String]
1707
+ required :name, String
1708
+
1709
+ # @!method initialize(id:, name:)
1710
+ # @param id [String]
1711
+ # @param name [String]
1712
+ end
1713
+
1714
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge#schedule
1715
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
1716
+ # @!attribute credit_type
1717
+ #
1718
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::CreditType, nil]
1719
+ optional :credit_type,
1720
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::CreditType }
1721
+
1722
+ # @!attribute schedule_items
1723
+ #
1724
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::ScheduleItem>, nil]
1725
+ optional :schedule_items,
1726
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::ScheduleItem] }
1727
+
1728
+ # @!method initialize(credit_type: nil, schedule_items: nil)
1729
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::CreditType]
1730
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule::ScheduleItem>]
1731
+
1732
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ScheduledCharge::Schedule#credit_type
1733
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1734
+ # @!attribute id
1735
+ #
1736
+ # @return [String]
1737
+ required :id, String
1738
+
1739
+ # @!attribute name
1740
+ #
1741
+ # @return [String]
1742
+ required :name, String
1743
+
1744
+ # @!method initialize(id:, name:)
1745
+ # @param id [String]
1746
+ # @param name [String]
1747
+ end
1748
+
1749
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1750
+ # @!attribute id
1751
+ #
1752
+ # @return [String]
1753
+ required :id, String
1754
+
1755
+ # @!attribute amount
1756
+ #
1757
+ # @return [Float]
1758
+ required :amount, Float
1759
+
1760
+ # @!attribute invoice_id
1761
+ #
1762
+ # @return [String]
1763
+ required :invoice_id, String
1764
+
1765
+ # @!attribute quantity
1766
+ #
1767
+ # @return [Float]
1768
+ required :quantity, Float
1769
+
1770
+ # @!attribute timestamp
1771
+ #
1772
+ # @return [Time]
1773
+ required :timestamp, Time
1774
+
1775
+ # @!attribute unit_price
1776
+ #
1777
+ # @return [Float]
1778
+ required :unit_price, Float
1779
+
1780
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
1781
+ # @param id [String]
1782
+ # @param amount [Float]
1783
+ # @param invoice_id [String]
1784
+ # @param quantity [Float]
1785
+ # @param timestamp [Time]
1786
+ # @param unit_price [Float]
1787
+ end
1788
+ end
1789
+ end
1790
+
1405
1791
  class Transition < MetronomeSDK::Internal::Type::BaseModel
1406
1792
  # @!attribute from_contract_id
1407
1793
  #
@@ -1526,8 +1912,9 @@ module MetronomeSDK
1526
1912
  # @!attribute access_schedule
1527
1913
  # The schedule that the customer will gain access to the credits.
1528
1914
  #
1529
- # @return [MetronomeSDK::ScheduleDuration, nil]
1530
- optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
1915
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule, nil]
1916
+ optional :access_schedule,
1917
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule }
1531
1918
 
1532
1919
  # @!attribute applicable_contract_ids
1533
1920
  #
@@ -1576,7 +1963,7 @@ module MetronomeSDK
1576
1963
  # A list of ordered events that impact the balance of a credit. For example, an
1577
1964
  # invoice deduction or an expiration.
1578
1965
  #
1579
- # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1966
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5>, nil]
1580
1967
  optional :ledger,
1581
1968
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger] }
1582
1969
 
@@ -1604,7 +1991,16 @@ module MetronomeSDK
1604
1991
  # @return [String, nil]
1605
1992
  optional :salesforce_opportunity_id, String
1606
1993
 
1607
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil)
1994
+ # @!attribute specifiers
1995
+ # List of filters that determine what kind of customer usage draws down a commit
1996
+ # or credit. A customer's usage needs to meet the condition of at least one of the
1997
+ # specifiers to contribute to a commit's or credit's drawdown.
1998
+ #
1999
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier>, nil]
2000
+ optional :specifiers,
2001
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier] }
2002
+
2003
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
1608
2004
  # Some parameter documentations has been truncated, see
1609
2005
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit} for more
1610
2006
  # details.
@@ -1615,7 +2011,7 @@ module MetronomeSDK
1615
2011
  #
1616
2012
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Type]
1617
2013
  #
1618
- # @param access_schedule [MetronomeSDK::ScheduleDuration] The schedule that the customer will gain access to the credits.
2014
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule] The schedule that the customer will gain access to the credits.
1619
2015
  #
1620
2016
  # @param applicable_contract_ids [Array<String>]
1621
2017
  #
@@ -1631,7 +2027,7 @@ module MetronomeSDK
1631
2027
  #
1632
2028
  # @param description [String]
1633
2029
  #
1634
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
2030
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5>] A list of ordered events that impact the balance of a credit. For example, an in
1635
2031
  #
1636
2032
  # @param name [String]
1637
2033
  #
@@ -1640,6 +2036,8 @@ module MetronomeSDK
1640
2036
  # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
1641
2037
  #
1642
2038
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
2039
+ #
2040
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1643
2041
 
1644
2042
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#product
1645
2043
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -1668,33 +2066,99 @@ module MetronomeSDK
1668
2066
  # @return [Array<Symbol>]
1669
2067
  end
1670
2068
 
1671
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#contract
1672
- class Contract < MetronomeSDK::Internal::Type::BaseModel
1673
- # @!attribute id
2069
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#access_schedule
2070
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2071
+ # @!attribute schedule_items
1674
2072
  #
1675
- # @return [String]
1676
- required :id, String
2073
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2074
+ required :schedule_items,
2075
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::ScheduleItem] }
1677
2076
 
1678
- # @!method initialize(id:)
1679
- # @param id [String]
1680
- end
2077
+ # @!attribute credit_type
2078
+ #
2079
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType, nil]
2080
+ optional :credit_type,
2081
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType }
1681
2082
 
1682
- module Ledger
2083
+ # @!method initialize(schedule_items:, credit_type: nil)
2084
+ # The schedule that the customer will gain access to the credits.
2085
+ #
2086
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::ScheduleItem>]
2087
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule::CreditType]
2088
+
2089
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2090
+ # @!attribute id
2091
+ #
2092
+ # @return [String]
2093
+ required :id, String
2094
+
2095
+ # @!attribute amount
2096
+ #
2097
+ # @return [Float]
2098
+ required :amount, Float
2099
+
2100
+ # @!attribute ending_before
2101
+ #
2102
+ # @return [Time]
2103
+ required :ending_before, Time
2104
+
2105
+ # @!attribute starting_at
2106
+ #
2107
+ # @return [Time]
2108
+ required :starting_at, Time
2109
+
2110
+ # @!method initialize(id:, amount:, ending_before:, starting_at:)
2111
+ # @param id [String]
2112
+ # @param amount [Float]
2113
+ # @param ending_before [Time]
2114
+ # @param starting_at [Time]
2115
+ end
2116
+
2117
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::AccessSchedule#credit_type
2118
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2119
+ # @!attribute id
2120
+ #
2121
+ # @return [String]
2122
+ required :id, String
2123
+
2124
+ # @!attribute name
2125
+ #
2126
+ # @return [String]
2127
+ required :name, String
2128
+
2129
+ # @!method initialize(id:, name:)
2130
+ # @param id [String]
2131
+ # @param name [String]
2132
+ end
2133
+ end
2134
+
2135
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit#contract
2136
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
2137
+ # @!attribute id
2138
+ #
2139
+ # @return [String]
2140
+ required :id, String
2141
+
2142
+ # @!method initialize(id:)
2143
+ # @param id [String]
2144
+ end
2145
+
2146
+ module Ledger
1683
2147
  extend MetronomeSDK::Internal::Type::Union
1684
2148
 
1685
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2149
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0 }
1686
2150
 
1687
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2151
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1 }
1688
2152
 
1689
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2153
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2 }
1690
2154
 
1691
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2155
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3 }
1692
2156
 
1693
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2157
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4 }
1694
2158
 
1695
- variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2159
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5 }
1696
2160
 
1697
- class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2161
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
1698
2162
  # @!attribute amount
1699
2163
  #
1700
2164
  # @return [Float]
@@ -1712,17 +2176,17 @@ module MetronomeSDK
1712
2176
 
1713
2177
  # @!attribute type
1714
2178
  #
1715
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2179
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type]
1716
2180
  required :type,
1717
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2181
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type }
1718
2182
 
1719
2183
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
1720
2184
  # @param amount [Float]
1721
2185
  # @param segment_id [String]
1722
2186
  # @param timestamp [Time]
1723
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2187
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0::Type]
1724
2188
 
1725
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2189
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0#type
1726
2190
  module Type
1727
2191
  extend MetronomeSDK::Internal::Type::Enum
1728
2192
 
@@ -1733,7 +2197,7 @@ module MetronomeSDK
1733
2197
  end
1734
2198
  end
1735
2199
 
1736
- class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2200
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
1737
2201
  # @!attribute amount
1738
2202
  #
1739
2203
  # @return [Float]
@@ -1756,18 +2220,18 @@ module MetronomeSDK
1756
2220
 
1757
2221
  # @!attribute type
1758
2222
  #
1759
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2223
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type]
1760
2224
  required :type,
1761
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2225
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type }
1762
2226
 
1763
2227
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1764
2228
  # @param amount [Float]
1765
2229
  # @param invoice_id [String]
1766
2230
  # @param segment_id [String]
1767
2231
  # @param timestamp [Time]
1768
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2232
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1::Type]
1769
2233
 
1770
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2234
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1#type
1771
2235
  module Type
1772
2236
  extend MetronomeSDK::Internal::Type::Enum
1773
2237
 
@@ -1778,7 +2242,7 @@ module MetronomeSDK
1778
2242
  end
1779
2243
  end
1780
2244
 
1781
- class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2245
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
1782
2246
  # @!attribute amount
1783
2247
  #
1784
2248
  # @return [Float]
@@ -1796,17 +2260,17 @@ module MetronomeSDK
1796
2260
 
1797
2261
  # @!attribute type
1798
2262
  #
1799
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2263
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type]
1800
2264
  required :type,
1801
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2265
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type }
1802
2266
 
1803
2267
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
1804
2268
  # @param amount [Float]
1805
2269
  # @param segment_id [String]
1806
2270
  # @param timestamp [Time]
1807
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2271
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2::Type]
1808
2272
 
1809
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2273
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2#type
1810
2274
  module Type
1811
2275
  extend MetronomeSDK::Internal::Type::Enum
1812
2276
 
@@ -1817,7 +2281,7 @@ module MetronomeSDK
1817
2281
  end
1818
2282
  end
1819
2283
 
1820
- class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2284
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
1821
2285
  # @!attribute amount
1822
2286
  #
1823
2287
  # @return [Float]
@@ -1840,18 +2304,18 @@ module MetronomeSDK
1840
2304
 
1841
2305
  # @!attribute type
1842
2306
  #
1843
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2307
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type]
1844
2308
  required :type,
1845
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2309
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type }
1846
2310
 
1847
2311
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1848
2312
  # @param amount [Float]
1849
2313
  # @param invoice_id [String]
1850
2314
  # @param segment_id [String]
1851
2315
  # @param timestamp [Time]
1852
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2316
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3::Type]
1853
2317
 
1854
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2318
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3#type
1855
2319
  module Type
1856
2320
  extend MetronomeSDK::Internal::Type::Enum
1857
2321
 
@@ -1862,7 +2326,7 @@ module MetronomeSDK
1862
2326
  end
1863
2327
  end
1864
2328
 
1865
- class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2329
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
1866
2330
  # @!attribute amount
1867
2331
  #
1868
2332
  # @return [Float]
@@ -1885,18 +2349,18 @@ module MetronomeSDK
1885
2349
 
1886
2350
  # @!attribute type
1887
2351
  #
1888
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2352
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type]
1889
2353
  required :type,
1890
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2354
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type }
1891
2355
 
1892
2356
  # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1893
2357
  # @param amount [Float]
1894
2358
  # @param invoice_id [String]
1895
2359
  # @param segment_id [String]
1896
2360
  # @param timestamp [Time]
1897
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2361
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4::Type]
1898
2362
 
1899
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2363
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4#type
1900
2364
  module Type
1901
2365
  extend MetronomeSDK::Internal::Type::Enum
1902
2366
 
@@ -1907,7 +2371,7 @@ module MetronomeSDK
1907
2371
  end
1908
2372
  end
1909
2373
 
1910
- class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2374
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
1911
2375
  # @!attribute amount
1912
2376
  #
1913
2377
  # @return [Float]
@@ -1925,17 +2389,17 @@ module MetronomeSDK
1925
2389
 
1926
2390
  # @!attribute type
1927
2391
  #
1928
- # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2392
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type]
1929
2393
  required :type,
1930
- enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2394
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type }
1931
2395
 
1932
2396
  # @!method initialize(amount:, reason:, timestamp:, type:)
1933
2397
  # @param amount [Float]
1934
2398
  # @param reason [String]
1935
2399
  # @param timestamp [Time]
1936
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2400
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5::Type]
1937
2401
 
1938
- # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2402
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5#type
1939
2403
  module Type
1940
2404
  extend MetronomeSDK::Internal::Type::Enum
1941
2405
 
@@ -1947,20 +2411,45 @@ module MetronomeSDK
1947
2411
  end
1948
2412
 
1949
2413
  # @!method self.variants
1950
- # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry)]
1951
-
1952
- define_sorbet_constant!(:Variants) do
1953
- T.type_alias do
1954
- T.any(
1955
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry,
1956
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry,
1957
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry,
1958
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry,
1959
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry,
1960
- MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry
1961
- )
1962
- end
1963
- end
2414
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember0, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember1, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember2, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember3, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember4, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::UnionMember5)]
2415
+ end
2416
+
2417
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2418
+ # @!attribute presentation_group_values
2419
+ #
2420
+ # @return [Hash{Symbol=>String}, nil]
2421
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2422
+
2423
+ # @!attribute pricing_group_values
2424
+ #
2425
+ # @return [Hash{Symbol=>String}, nil]
2426
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2427
+
2428
+ # @!attribute product_id
2429
+ # If provided, the specifier will only apply to the product with the specified ID.
2430
+ #
2431
+ # @return [String, nil]
2432
+ optional :product_id, String
2433
+
2434
+ # @!attribute product_tags
2435
+ # If provided, the specifier will only apply to products with all the specified
2436
+ # tags.
2437
+ #
2438
+ # @return [Array<String>, nil]
2439
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2440
+
2441
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2442
+ # Some parameter documentations has been truncated, see
2443
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Specifier}
2444
+ # for more details.
2445
+ #
2446
+ # @param presentation_group_values [Hash{Symbol=>String}]
2447
+ #
2448
+ # @param pricing_group_values [Hash{Symbol=>String}]
2449
+ #
2450
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2451
+ #
2452
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1964
2453
  end
1965
2454
  end
1966
2455
 
@@ -2015,6 +2504,145 @@ module MetronomeSDK
2015
2504
  end
2016
2505
  end
2017
2506
 
2507
+ class Discount < MetronomeSDK::Internal::Type::BaseModel
2508
+ # @!attribute id
2509
+ #
2510
+ # @return [String]
2511
+ required :id, String
2512
+
2513
+ # @!attribute product
2514
+ #
2515
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product]
2516
+ required :product, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product }
2517
+
2518
+ # @!attribute schedule
2519
+ #
2520
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule]
2521
+ required :schedule, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule }
2522
+
2523
+ # @!attribute custom_fields
2524
+ #
2525
+ # @return [Hash{Symbol=>String}, nil]
2526
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2527
+
2528
+ # @!attribute name
2529
+ #
2530
+ # @return [String, nil]
2531
+ optional :name, String
2532
+
2533
+ # @!attribute netsuite_sales_order_id
2534
+ # This field's availability is dependent on your client's configuration.
2535
+ #
2536
+ # @return [String, nil]
2537
+ optional :netsuite_sales_order_id, String
2538
+
2539
+ # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
2540
+ # @param id [String]
2541
+ #
2542
+ # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Product]
2543
+ #
2544
+ # @param schedule [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule]
2545
+ #
2546
+ # @param custom_fields [Hash{Symbol=>String}]
2547
+ #
2548
+ # @param name [String]
2549
+ #
2550
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2551
+
2552
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount#product
2553
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2554
+ # @!attribute id
2555
+ #
2556
+ # @return [String]
2557
+ required :id, String
2558
+
2559
+ # @!attribute name
2560
+ #
2561
+ # @return [String]
2562
+ required :name, String
2563
+
2564
+ # @!method initialize(id:, name:)
2565
+ # @param id [String]
2566
+ # @param name [String]
2567
+ end
2568
+
2569
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount#schedule
2570
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2571
+ # @!attribute credit_type
2572
+ #
2573
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::CreditType, nil]
2574
+ optional :credit_type,
2575
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::CreditType }
2576
+
2577
+ # @!attribute schedule_items
2578
+ #
2579
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::ScheduleItem>, nil]
2580
+ optional :schedule_items,
2581
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::ScheduleItem] }
2582
+
2583
+ # @!method initialize(credit_type: nil, schedule_items: nil)
2584
+ # @param credit_type [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::CreditType]
2585
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule::ScheduleItem>]
2586
+
2587
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Discount::Schedule#credit_type
2588
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2589
+ # @!attribute id
2590
+ #
2591
+ # @return [String]
2592
+ required :id, String
2593
+
2594
+ # @!attribute name
2595
+ #
2596
+ # @return [String]
2597
+ required :name, String
2598
+
2599
+ # @!method initialize(id:, name:)
2600
+ # @param id [String]
2601
+ # @param name [String]
2602
+ end
2603
+
2604
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2605
+ # @!attribute id
2606
+ #
2607
+ # @return [String]
2608
+ required :id, String
2609
+
2610
+ # @!attribute amount
2611
+ #
2612
+ # @return [Float]
2613
+ required :amount, Float
2614
+
2615
+ # @!attribute invoice_id
2616
+ #
2617
+ # @return [String]
2618
+ required :invoice_id, String
2619
+
2620
+ # @!attribute quantity
2621
+ #
2622
+ # @return [Float]
2623
+ required :quantity, Float
2624
+
2625
+ # @!attribute timestamp
2626
+ #
2627
+ # @return [Time]
2628
+ required :timestamp, Time
2629
+
2630
+ # @!attribute unit_price
2631
+ #
2632
+ # @return [Float]
2633
+ required :unit_price, Float
2634
+
2635
+ # @!method initialize(id:, amount:, invoice_id:, quantity:, timestamp:, unit_price:)
2636
+ # @param id [String]
2637
+ # @param amount [Float]
2638
+ # @param invoice_id [String]
2639
+ # @param quantity [Float]
2640
+ # @param timestamp [Time]
2641
+ # @param unit_price [Float]
2642
+ end
2643
+ end
2644
+ end
2645
+
2018
2646
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2019
2647
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
2020
2648
  # each multiplier; the one with the lowest priority value will be prioritized
@@ -2117,7 +2745,21 @@ module MetronomeSDK
2117
2745
  # @return [String, nil]
2118
2746
  optional :name, String
2119
2747
 
2120
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
2748
+ # @!attribute specifiers
2749
+ # List of filters that determine what kind of customer usage draws down a commit
2750
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2751
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2752
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
2753
+ #
2754
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2755
+ optional :specifiers,
2756
+ -> do
2757
+ MetronomeSDK::Internal::Type::ArrayOf[
2758
+ MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
2759
+ ]
2760
+ end
2761
+
2762
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
2121
2763
  # Some parameter documentations has been truncated, see
2122
2764
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit}
2123
2765
  # for more details.
@@ -2131,6 +2773,46 @@ module MetronomeSDK
2131
2773
  # @param description [String]
2132
2774
  #
2133
2775
  # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2776
+ #
2777
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2778
+
2779
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2780
+ # @!attribute presentation_group_values
2781
+ #
2782
+ # @return [Hash{Symbol=>String}, nil]
2783
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2784
+
2785
+ # @!attribute pricing_group_values
2786
+ #
2787
+ # @return [Hash{Symbol=>String}, nil]
2788
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2789
+
2790
+ # @!attribute product_id
2791
+ # If provided, the specifier will only apply to the product with the specified ID.
2792
+ #
2793
+ # @return [String, nil]
2794
+ optional :product_id, String
2795
+
2796
+ # @!attribute product_tags
2797
+ # If provided, the specifier will only apply to products with all the specified
2798
+ # tags.
2799
+ #
2800
+ # @return [Array<String>, nil]
2801
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2802
+
2803
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2804
+ # Some parameter documentations has been truncated, see
2805
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
2806
+ # for more details.
2807
+ #
2808
+ # @param presentation_group_values [Hash{Symbol=>String}]
2809
+ #
2810
+ # @param pricing_group_values [Hash{Symbol=>String}]
2811
+ #
2812
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2813
+ #
2814
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2815
+ end
2134
2816
  end
2135
2817
 
2136
2818
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration#payment_gate_config
@@ -2234,6 +2916,75 @@ module MetronomeSDK
2234
2916
  end
2235
2917
  end
2236
2918
 
2919
+ class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
2920
+ # @!attribute id
2921
+ #
2922
+ # @return [String]
2923
+ required :id, String
2924
+
2925
+ # @!attribute max_amount
2926
+ # Maximum amount for the term.
2927
+ #
2928
+ # @return [Float]
2929
+ required :max_amount, Float
2930
+
2931
+ # @!attribute product_id
2932
+ #
2933
+ # @return [String]
2934
+ required :product_id, String
2935
+
2936
+ # @!attribute quantity
2937
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
2938
+ # amount.
2939
+ #
2940
+ # @return [Float]
2941
+ required :quantity, Float
2942
+
2943
+ # @!attribute unit_price
2944
+ # Unit price for the charge. Will be multiplied by quantity to determine the
2945
+ # amount and must be specified.
2946
+ #
2947
+ # @return [Float]
2948
+ required :unit_price, Float
2949
+
2950
+ # @!attribute custom_fields
2951
+ #
2952
+ # @return [Hash{Symbol=>String}, nil]
2953
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2954
+
2955
+ # @!attribute description
2956
+ #
2957
+ # @return [String, nil]
2958
+ optional :description, String
2959
+
2960
+ # @!attribute netsuite_sales_order_id
2961
+ # This field's availability is dependent on your client's configuration.
2962
+ #
2963
+ # @return [String, nil]
2964
+ optional :netsuite_sales_order_id, String
2965
+
2966
+ # @!method initialize(id:, max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
2967
+ # Some parameter documentations has been truncated, see
2968
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::ProfessionalService}
2969
+ # for more details.
2970
+ #
2971
+ # @param id [String]
2972
+ #
2973
+ # @param max_amount [Float] Maximum amount for the term.
2974
+ #
2975
+ # @param product_id [String]
2976
+ #
2977
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2978
+ #
2979
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2980
+ #
2981
+ # @param custom_fields [Hash{Symbol=>String}]
2982
+ #
2983
+ # @param description [String]
2984
+ #
2985
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
2986
+ end
2987
+
2237
2988
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
2238
2989
  # @!attribute id
2239
2990
  #
@@ -2340,7 +3091,7 @@ module MetronomeSDK
2340
3091
  # The frequency at which the recurring commits will be created. If not provided: -
2341
3092
  # The commits will be created on the usage invoice frequency. If provided: - The
2342
3093
  # period defined in the duration will correspond to this frequency. - Commits will
2343
- # be created aligned with the recurring commit's start_date rather than the usage
3094
+ # be created aligned with the recurring commit's starting_at rather than the usage
2344
3095
  # invoice dates.
2345
3096
  #
2346
3097
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
@@ -2355,7 +3106,16 @@ module MetronomeSDK
2355
3106
  # @return [Float, nil]
2356
3107
  optional :rollover_fraction, Float
2357
3108
 
2358
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
3109
+ # @!attribute specifiers
3110
+ # List of filters that determine what kind of customer usage draws down a commit
3111
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3112
+ # specifiers to contribute to a commit's or credit's drawdown.
3113
+ #
3114
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier>, nil]
3115
+ optional :specifiers,
3116
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier] }
3117
+
3118
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
2359
3119
  # Some parameter documentations has been truncated, see
2360
3120
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit} for
2361
3121
  # more details.
@@ -2395,6 +3155,8 @@ module MetronomeSDK
2395
3155
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2396
3156
  #
2397
3157
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3158
+ #
3159
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2398
3160
 
2399
3161
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#access_amount
2400
3162
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2536,7 +3298,7 @@ module MetronomeSDK
2536
3298
  # The frequency at which the recurring commits will be created. If not provided: -
2537
3299
  # The commits will be created on the usage invoice frequency. If provided: - The
2538
3300
  # period defined in the duration will correspond to this frequency. - Commits will
2539
- # be created aligned with the recurring commit's start_date rather than the usage
3301
+ # be created aligned with the recurring commit's starting_at rather than the usage
2540
3302
  # invoice dates.
2541
3303
  #
2542
3304
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#recurrence_frequency
@@ -2551,6 +3313,44 @@ module MetronomeSDK
2551
3313
  # @!method self.values
2552
3314
  # @return [Array<Symbol>]
2553
3315
  end
3316
+
3317
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3318
+ # @!attribute presentation_group_values
3319
+ #
3320
+ # @return [Hash{Symbol=>String}, nil]
3321
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3322
+
3323
+ # @!attribute pricing_group_values
3324
+ #
3325
+ # @return [Hash{Symbol=>String}, nil]
3326
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3327
+
3328
+ # @!attribute product_id
3329
+ # If provided, the specifier will only apply to the product with the specified ID.
3330
+ #
3331
+ # @return [String, nil]
3332
+ optional :product_id, String
3333
+
3334
+ # @!attribute product_tags
3335
+ # If provided, the specifier will only apply to products with all the specified
3336
+ # tags.
3337
+ #
3338
+ # @return [Array<String>, nil]
3339
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3340
+
3341
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3342
+ # Some parameter documentations has been truncated, see
3343
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier}
3344
+ # for more details.
3345
+ #
3346
+ # @param presentation_group_values [Hash{Symbol=>String}]
3347
+ #
3348
+ # @param pricing_group_values [Hash{Symbol=>String}]
3349
+ #
3350
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3351
+ #
3352
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3353
+ end
2554
3354
  end
2555
3355
 
2556
3356
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -2652,7 +3452,7 @@ module MetronomeSDK
2652
3452
  # The frequency at which the recurring commits will be created. If not provided: -
2653
3453
  # The commits will be created on the usage invoice frequency. If provided: - The
2654
3454
  # period defined in the duration will correspond to this frequency. - Commits will
2655
- # be created aligned with the recurring commit's start_date rather than the usage
3455
+ # be created aligned with the recurring commit's starting_at rather than the usage
2656
3456
  # invoice dates.
2657
3457
  #
2658
3458
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
@@ -2667,7 +3467,16 @@ module MetronomeSDK
2667
3467
  # @return [Float, nil]
2668
3468
  optional :rollover_fraction, Float
2669
3469
 
2670
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
3470
+ # @!attribute specifiers
3471
+ # List of filters that determine what kind of customer usage draws down a commit
3472
+ # or credit. A customer's usage needs to meet the condition of at least one of the
3473
+ # specifiers to contribute to a commit's or credit's drawdown.
3474
+ #
3475
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier>, nil]
3476
+ optional :specifiers,
3477
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier] }
3478
+
3479
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
2671
3480
  # Some parameter documentations has been truncated, see
2672
3481
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit} for
2673
3482
  # more details.
@@ -2705,6 +3514,8 @@ module MetronomeSDK
2705
3514
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2706
3515
  #
2707
3516
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3517
+ #
3518
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2708
3519
 
2709
3520
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#access_amount
2710
3521
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2821,7 +3632,7 @@ module MetronomeSDK
2821
3632
  # The frequency at which the recurring commits will be created. If not provided: -
2822
3633
  # The commits will be created on the usage invoice frequency. If provided: - The
2823
3634
  # period defined in the duration will correspond to this frequency. - Commits will
2824
- # be created aligned with the recurring commit's start_date rather than the usage
3635
+ # be created aligned with the recurring commit's starting_at rather than the usage
2825
3636
  # invoice dates.
2826
3637
  #
2827
3638
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#recurrence_frequency
@@ -2836,6 +3647,44 @@ module MetronomeSDK
2836
3647
  # @!method self.values
2837
3648
  # @return [Array<Symbol>]
2838
3649
  end
3650
+
3651
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3652
+ # @!attribute presentation_group_values
3653
+ #
3654
+ # @return [Hash{Symbol=>String}, nil]
3655
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3656
+
3657
+ # @!attribute pricing_group_values
3658
+ #
3659
+ # @return [Hash{Symbol=>String}, nil]
3660
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3661
+
3662
+ # @!attribute product_id
3663
+ # If provided, the specifier will only apply to the product with the specified ID.
3664
+ #
3665
+ # @return [String, nil]
3666
+ optional :product_id, String
3667
+
3668
+ # @!attribute product_tags
3669
+ # If provided, the specifier will only apply to products with all the specified
3670
+ # tags.
3671
+ #
3672
+ # @return [Array<String>, nil]
3673
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3674
+
3675
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3676
+ # Some parameter documentations has been truncated, see
3677
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier}
3678
+ # for more details.
3679
+ #
3680
+ # @param presentation_group_values [Hash{Symbol=>String}]
3681
+ #
3682
+ # @param pricing_group_values [Hash{Symbol=>String}]
3683
+ #
3684
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3685
+ #
3686
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3687
+ end
2839
3688
  end
2840
3689
 
2841
3690
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -3156,6 +4005,191 @@ module MetronomeSDK
3156
4005
  end
3157
4006
  end
3158
4007
  end
4008
+
4009
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
4010
+ # @!attribute collection_schedule
4011
+ #
4012
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule]
4013
+ required :collection_schedule,
4014
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule }
4015
+
4016
+ # @!attribute proration
4017
+ #
4018
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration]
4019
+ required :proration,
4020
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration }
4021
+
4022
+ # @!attribute quantity_schedule
4023
+ #
4024
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>]
4025
+ required :quantity_schedule,
4026
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule] }
4027
+
4028
+ # @!attribute starting_at
4029
+ #
4030
+ # @return [Time]
4031
+ required :starting_at, Time
4032
+
4033
+ # @!attribute subscription_rate
4034
+ #
4035
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate]
4036
+ required :subscription_rate,
4037
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate }
4038
+
4039
+ # @!attribute id
4040
+ #
4041
+ # @return [String, nil]
4042
+ optional :id, String
4043
+
4044
+ # @!attribute custom_fields
4045
+ #
4046
+ # @return [Hash{Symbol=>String}, nil]
4047
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
4048
+
4049
+ # @!attribute description
4050
+ #
4051
+ # @return [String, nil]
4052
+ optional :description, String
4053
+
4054
+ # @!attribute ending_before
4055
+ #
4056
+ # @return [Time, nil]
4057
+ optional :ending_before, Time
4058
+
4059
+ # @!attribute fiat_credit_type_id
4060
+ #
4061
+ # @return [String, nil]
4062
+ optional :fiat_credit_type_id, String
4063
+
4064
+ # @!attribute name
4065
+ #
4066
+ # @return [String, nil]
4067
+ optional :name, String
4068
+
4069
+ # @!method initialize(collection_schedule:, proration:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil)
4070
+ # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::CollectionSchedule]
4071
+ # @param proration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration]
4072
+ # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::QuantitySchedule>]
4073
+ # @param starting_at [Time]
4074
+ # @param subscription_rate [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate]
4075
+ # @param id [String]
4076
+ # @param custom_fields [Hash{Symbol=>String}]
4077
+ # @param description [String]
4078
+ # @param ending_before [Time]
4079
+ # @param fiat_credit_type_id [String]
4080
+ # @param name [String]
4081
+
4082
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#collection_schedule
4083
+ module CollectionSchedule
4084
+ extend MetronomeSDK::Internal::Type::Enum
4085
+
4086
+ ADVANCE = :ADVANCE
4087
+ ARREARS = :ARREARS
4088
+
4089
+ # @!method self.values
4090
+ # @return [Array<Symbol>]
4091
+ end
4092
+
4093
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#proration
4094
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
4095
+ # @!attribute invoice_behavior
4096
+ #
4097
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior]
4098
+ required :invoice_behavior,
4099
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior }
4100
+
4101
+ # @!attribute is_prorated
4102
+ #
4103
+ # @return [Boolean]
4104
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
4105
+
4106
+ # @!method initialize(invoice_behavior:, is_prorated:)
4107
+ # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration::InvoiceBehavior]
4108
+ # @param is_prorated [Boolean]
4109
+
4110
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::Proration#invoice_behavior
4111
+ module InvoiceBehavior
4112
+ extend MetronomeSDK::Internal::Type::Enum
4113
+
4114
+ BILL_IMMEDIATELY = :BILL_IMMEDIATELY
4115
+ BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
4116
+
4117
+ # @!method self.values
4118
+ # @return [Array<Symbol>]
4119
+ end
4120
+ end
4121
+
4122
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
4123
+ # @!attribute quantity
4124
+ #
4125
+ # @return [Float]
4126
+ required :quantity, Float
4127
+
4128
+ # @!attribute starting_at
4129
+ #
4130
+ # @return [Time]
4131
+ required :starting_at, Time
4132
+
4133
+ # @!attribute ending_before
4134
+ #
4135
+ # @return [Time, nil]
4136
+ optional :ending_before, Time
4137
+
4138
+ # @!method initialize(quantity:, starting_at:, ending_before: nil)
4139
+ # @param quantity [Float]
4140
+ # @param starting_at [Time]
4141
+ # @param ending_before [Time]
4142
+ end
4143
+
4144
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription#subscription_rate
4145
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
4146
+ # @!attribute billing_frequency
4147
+ #
4148
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4149
+ required :billing_frequency,
4150
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency }
4151
+
4152
+ # @!attribute product
4153
+ #
4154
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product]
4155
+ required :product,
4156
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product }
4157
+
4158
+ # @!method initialize(billing_frequency:, product:)
4159
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4160
+ # @param product [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate::Product]
4161
+
4162
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate#billing_frequency
4163
+ module BillingFrequency
4164
+ extend MetronomeSDK::Internal::Type::Enum
4165
+
4166
+ MONTHLY = :MONTHLY
4167
+ QUARTERLY = :QUARTERLY
4168
+ ANNUAL = :ANNUAL
4169
+ WEEKLY = :WEEKLY
4170
+
4171
+ # @!method self.values
4172
+ # @return [Array<Symbol>]
4173
+ end
4174
+
4175
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Subscription::SubscriptionRate#product
4176
+ class Product < MetronomeSDK::Internal::Type::BaseModel
4177
+ # @!attribute id
4178
+ #
4179
+ # @return [String]
4180
+ required :id, String
4181
+
4182
+ # @!attribute name
4183
+ #
4184
+ # @return [String]
4185
+ required :name, String
4186
+
4187
+ # @!method initialize(id:, name:)
4188
+ # @param id [String]
4189
+ # @param name [String]
4190
+ end
4191
+ end
4192
+ end
3159
4193
  end
3160
4194
  end
3161
4195
  end