metronome-sdk 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
  5. data/lib/metronome_sdk/models/commit.rb +10 -1
  6. data/lib/metronome_sdk/models/contract_v2.rb +290 -7
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +178 -4
  8. data/lib/metronome_sdk/models/credit.rb +10 -1
  9. data/lib/metronome_sdk/models/override.rb +7 -1
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +10 -2
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +3 -1
  12. data/lib/metronome_sdk/models/subscription.rb +90 -2
  13. data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
  14. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +17 -4
  15. data/lib/metronome_sdk/models/v1/contract_create_params.rb +290 -10
  16. data/lib/metronome_sdk/models/v1/contract_create_response.rb +178 -4
  17. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
  18. data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
  20. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
  21. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
  22. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
  23. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  24. data/lib/metronome_sdk/models/v1/package_create_params.rb +279 -10
  25. data/lib/metronome_sdk/models/v1/package_list_response.rb +264 -7
  26. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +264 -7
  27. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +515 -9
  28. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +456 -8
  29. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +456 -8
  30. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  31. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
  32. data/lib/metronome_sdk/resources/v1/contracts.rb +68 -1
  33. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
  35. data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
  36. data/lib/metronome_sdk/version.rb +1 -1
  37. data/lib/metronome_sdk.rb +2 -0
  38. data/rbi/metronome_sdk/models/commit.rbi +13 -0
  39. data/rbi/metronome_sdk/models/contract_v2.rbi +715 -3
  40. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +463 -0
  41. data/rbi/metronome_sdk/models/credit.rbi +13 -0
  42. data/rbi/metronome_sdk/models/override.rbi +9 -0
  43. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +11 -1
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +4 -0
  45. data/rbi/metronome_sdk/models/subscription.rbi +212 -3
  46. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
  47. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +27 -6
  48. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +719 -9
  49. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +463 -0
  50. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
  51. data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
  53. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
  54. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
  55. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
  56. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  57. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +706 -9
  58. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +693 -3
  59. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +693 -3
  60. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1333 -40
  61. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +1204 -67
  62. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1204 -67
  63. data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
  64. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
  65. data/rbi/metronome_sdk/resources/v1/contracts.rbi +70 -0
  66. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
  68. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
  69. data/sig/metronome_sdk/models/commit.rbs +7 -0
  70. data/sig/metronome_sdk/models/contract_v2.rbs +278 -5
  71. data/sig/metronome_sdk/models/contract_without_amendments.rbs +169 -2
  72. data/sig/metronome_sdk/models/credit.rbs +7 -0
  73. data/sig/metronome_sdk/models/override.rbs +7 -0
  74. data/sig/metronome_sdk/models/subscription.rbs +88 -3
  75. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
  76. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -0
  77. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +278 -5
  78. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +167 -2
  79. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
  80. data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
  81. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
  82. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
  83. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
  84. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
  85. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  86. data/sig/metronome_sdk/models/v1/package_create_params.rbs +271 -5
  87. data/sig/metronome_sdk/models/v1/package_list_response.rbs +265 -5
  88. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +263 -5
  89. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +468 -5
  90. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +428 -5
  91. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +427 -5
  92. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  93. data/sig/metronome_sdk/resources/v1/contracts.rbs +13 -0
  94. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  95. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
  96. metadata +8 -2
@@ -1438,6 +1438,7 @@ module MetronomeSDK
1438
1438
 
1439
1439
  type override_specifier =
1440
1440
  {
1441
+ any_commit_or_credit_ids: ::Array[String],
1441
1442
  billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1442
1443
  commit_ids: ::Array[String],
1443
1444
  presentation_group_values: ::Hash[Symbol, String],
@@ -1448,6 +1449,10 @@ module MetronomeSDK
1448
1449
  }
1449
1450
 
1450
1451
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1452
+ attr_reader any_commit_or_credit_ids: ::Array[String]?
1453
+
1454
+ def any_commit_or_credit_ids=: (::Array[String]) -> ::Array[String]
1455
+
1451
1456
  attr_reader billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency?
1452
1457
 
1453
1458
  def billing_frequency=: (
@@ -1483,6 +1488,7 @@ module MetronomeSDK
1483
1488
  def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1484
1489
 
1485
1490
  def initialize: (
1491
+ ?any_commit_or_credit_ids: ::Array[String],
1486
1492
  ?billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1487
1493
  ?commit_ids: ::Array[String],
1488
1494
  ?presentation_group_values: ::Hash[Symbol, String],
@@ -1493,6 +1499,7 @@ module MetronomeSDK
1493
1499
  ) -> void
1494
1500
 
1495
1501
  def to_hash: -> {
1502
+ any_commit_or_credit_ids: ::Array[String],
1496
1503
  billing_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddOverride::OverrideSpecifier::billing_frequency,
1497
1504
  commit_ids: ::Array[String],
1498
1505
  presentation_group_values: ::Hash[Symbol, String],
@@ -1705,6 +1712,7 @@ module MetronomeSDK
1705
1712
  name: String,
1706
1713
  netsuite_sales_order_id: String,
1707
1714
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1715
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1708
1716
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1709
1717
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1710
1718
  rollover_fraction: Float,
@@ -1766,6 +1774,12 @@ module MetronomeSDK
1766
1774
  MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1767
1775
  ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration
1768
1776
 
1777
+ attr_reader proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding?
1778
+
1779
+ def proration_rounding=: (
1780
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
1781
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
1782
+
1769
1783
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type?
1770
1784
 
1771
1785
  def rate_type=: (
@@ -1813,6 +1827,7 @@ module MetronomeSDK
1813
1827
  ?name: String,
1814
1828
  ?netsuite_sales_order_id: String,
1815
1829
  ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1830
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1816
1831
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1817
1832
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1818
1833
  ?rollover_fraction: Float,
@@ -1836,6 +1851,7 @@ module MetronomeSDK
1836
1851
  name: String,
1837
1852
  netsuite_sales_order_id: String,
1838
1853
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration,
1854
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
1839
1855
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type,
1840
1856
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency,
1841
1857
  rollover_fraction: Float,
@@ -1941,6 +1957,104 @@ module MetronomeSDK
1941
1957
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::proration]
1942
1958
  end
1943
1959
 
1960
+ type proration_rounding =
1961
+ {
1962
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1963
+ invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1964
+ }
1965
+
1966
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1967
+ attr_reader access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access?
1968
+
1969
+ def access=: (
1970
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
1971
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
1972
+
1973
+ attr_reader invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice?
1974
+
1975
+ def invoice=: (
1976
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1977
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1978
+
1979
+ def initialize: (
1980
+ ?access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1981
+ ?invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1982
+ ) -> void
1983
+
1984
+ def to_hash: -> {
1985
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
1986
+ invoice: MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
1987
+ }
1988
+
1989
+ type access =
1990
+ {
1991
+ decimal_places: Float,
1992
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
1993
+ }
1994
+
1995
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1996
+ attr_accessor decimal_places: Float
1997
+
1998
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
1999
+
2000
+ def initialize: (
2001
+ decimal_places: Float,
2002
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2003
+ ) -> void
2004
+
2005
+ def to_hash: -> {
2006
+ decimal_places: Float,
2007
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method
2008
+ }
2009
+
2010
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2011
+
2012
+ module RoundingMethod
2013
+ extend MetronomeSDK::Internal::Type::Enum
2014
+
2015
+ HALF_UP: :HALF_UP
2016
+ FLOOR: :FLOOR
2017
+ CEILING: :CEILING
2018
+
2019
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::rounding_method]
2020
+ end
2021
+ end
2022
+
2023
+ type invoice =
2024
+ {
2025
+ decimal_places: Float,
2026
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2027
+ }
2028
+
2029
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
2030
+ attr_accessor decimal_places: Float
2031
+
2032
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2033
+
2034
+ def initialize: (
2035
+ decimal_places: Float,
2036
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2037
+ ) -> void
2038
+
2039
+ def to_hash: -> {
2040
+ decimal_places: Float,
2041
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method
2042
+ }
2043
+
2044
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2045
+
2046
+ module RoundingMethod
2047
+ extend MetronomeSDK::Internal::Type::Enum
2048
+
2049
+ HALF_UP: :HALF_UP
2050
+ FLOOR: :FLOOR
2051
+ CEILING: :CEILING
2052
+
2053
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::rounding_method]
2054
+ end
2055
+ end
2056
+ end
2057
+
1944
2058
  type rate_type = :COMMIT_RATE | :LIST_RATE
1945
2059
 
1946
2060
  module RateType
@@ -1952,7 +2066,8 @@ module MetronomeSDK
1952
2066
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::rate_type]
1953
2067
  end
1954
2068
 
1955
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2069
+ type recurrence_frequency =
2070
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
1956
2071
 
1957
2072
  module RecurrenceFrequency
1958
2073
  extend MetronomeSDK::Internal::Type::Enum
@@ -1961,6 +2076,7 @@ module MetronomeSDK
1961
2076
  QUARTERLY: :QUARTERLY
1962
2077
  ANNUAL: :ANNUAL
1963
2078
  WEEKLY: :WEEKLY
2079
+ DAILY: :DAILY
1964
2080
 
1965
2081
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::recurrence_frequency]
1966
2082
  end
@@ -2033,6 +2149,7 @@ module MetronomeSDK
2033
2149
  name: String,
2034
2150
  netsuite_sales_order_id: String,
2035
2151
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2152
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2036
2153
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2037
2154
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2038
2155
  rollover_fraction: Float,
@@ -2088,6 +2205,12 @@ module MetronomeSDK
2088
2205
  MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2089
2206
  ) -> MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration
2090
2207
 
2208
+ attr_reader proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding?
2209
+
2210
+ def proration_rounding=: (
2211
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
2212
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
2213
+
2091
2214
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type?
2092
2215
 
2093
2216
  def rate_type=: (
@@ -2134,6 +2257,7 @@ module MetronomeSDK
2134
2257
  ?name: String,
2135
2258
  ?netsuite_sales_order_id: String,
2136
2259
  ?proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2260
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2137
2261
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2138
2262
  ?recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2139
2263
  ?rollover_fraction: Float,
@@ -2156,6 +2280,7 @@ module MetronomeSDK
2156
2280
  name: String,
2157
2281
  netsuite_sales_order_id: String,
2158
2282
  proration: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration,
2283
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
2159
2284
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type,
2160
2285
  recurrence_frequency: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency,
2161
2286
  rollover_fraction: Float,
@@ -2238,6 +2363,61 @@ module MetronomeSDK
2238
2363
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::proration]
2239
2364
  end
2240
2365
 
2366
+ type proration_rounding =
2367
+ {
2368
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2369
+ }
2370
+
2371
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
2372
+ attr_reader access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access?
2373
+
2374
+ def access=: (
2375
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2376
+ ) -> MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2377
+
2378
+ def initialize: (
2379
+ ?access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2380
+ ) -> void
2381
+
2382
+ def to_hash: -> {
2383
+ access: MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
2384
+ }
2385
+
2386
+ type access =
2387
+ {
2388
+ decimal_places: Float,
2389
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2390
+ }
2391
+
2392
+ class Access < MetronomeSDK::Internal::Type::BaseModel
2393
+ attr_accessor decimal_places: Float
2394
+
2395
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2396
+
2397
+ def initialize: (
2398
+ decimal_places: Float,
2399
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2400
+ ) -> void
2401
+
2402
+ def to_hash: -> {
2403
+ decimal_places: Float,
2404
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method
2405
+ }
2406
+
2407
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
2408
+
2409
+ module RoundingMethod
2410
+ extend MetronomeSDK::Internal::Type::Enum
2411
+
2412
+ HALF_UP: :HALF_UP
2413
+ FLOOR: :FLOOR
2414
+ CEILING: :CEILING
2415
+
2416
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::rounding_method]
2417
+ end
2418
+ end
2419
+ end
2420
+
2241
2421
  type rate_type = :COMMIT_RATE | :LIST_RATE
2242
2422
 
2243
2423
  module RateType
@@ -2249,7 +2429,8 @@ module MetronomeSDK
2249
2429
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::rate_type]
2250
2430
  end
2251
2431
 
2252
- type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2432
+ type recurrence_frequency =
2433
+ :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY | :DAILY
2253
2434
 
2254
2435
  module RecurrenceFrequency
2255
2436
  extend MetronomeSDK::Internal::Type::Enum
@@ -2258,6 +2439,7 @@ module MetronomeSDK
2258
2439
  QUARTERLY: :QUARTERLY
2259
2440
  ANNUAL: :ANNUAL
2260
2441
  WEEKLY: :WEEKLY
2442
+ DAILY: :DAILY
2261
2443
 
2262
2444
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::recurrence_frequency]
2263
2445
  end
@@ -2888,6 +3070,7 @@ module MetronomeSDK
2888
3070
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2889
3071
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2890
3072
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3073
+ billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2891
3074
  custom_fields: ::Hash[Symbol, String],
2892
3075
  description: String,
2893
3076
  ending_before: Time,
@@ -2906,6 +3089,12 @@ module MetronomeSDK
2906
3089
 
2907
3090
  attr_accessor subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate
2908
3091
 
3092
+ attr_reader billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig?
3093
+
3094
+ def billing_cycle_config=: (
3095
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
3096
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
3097
+
2909
3098
  attr_reader custom_fields: ::Hash[Symbol, String]?
2910
3099
 
2911
3100
  def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -2950,6 +3139,7 @@ module MetronomeSDK
2950
3139
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2951
3140
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2952
3141
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3142
+ ?billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2953
3143
  ?custom_fields: ::Hash[Symbol, String],
2954
3144
  ?description: String,
2955
3145
  ?ending_before: Time,
@@ -2965,6 +3155,7 @@ module MetronomeSDK
2965
3155
  collection_schedule: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule,
2966
3156
  proration: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
2967
3157
  subscription_rate: MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
3158
+ billing_cycle_config: MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
2968
3159
  custom_fields: ::Hash[Symbol, String],
2969
3160
  description: String,
2970
3161
  ending_before: Time,
@@ -2990,7 +3181,8 @@ module MetronomeSDK
2990
3181
  type proration =
2991
3182
  {
2992
3183
  invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
2993
- is_prorated: bool
3184
+ is_prorated: bool,
3185
+ rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
2994
3186
  }
2995
3187
 
2996
3188
  class Proration < MetronomeSDK::Internal::Type::BaseModel
@@ -3004,14 +3196,22 @@ module MetronomeSDK
3004
3196
 
3005
3197
  def is_prorated=: (bool) -> bool
3006
3198
 
3199
+ attr_reader rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding?
3200
+
3201
+ def rounding=: (
3202
+ MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3203
+ ) -> MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3204
+
3007
3205
  def initialize: (
3008
3206
  ?invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3009
- ?is_prorated: bool
3207
+ ?is_prorated: bool,
3208
+ ?rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3010
3209
  ) -> void
3011
3210
 
3012
3211
  def to_hash: -> {
3013
3212
  invoice_behavior: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior,
3014
- is_prorated: bool
3213
+ is_prorated: bool,
3214
+ rounding: MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
3015
3215
  }
3016
3216
 
3017
3217
  type invoice_behavior =
@@ -3025,6 +3225,40 @@ module MetronomeSDK
3025
3225
 
3026
3226
  def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::invoice_behavior]
3027
3227
  end
3228
+
3229
+ type rounding =
3230
+ {
3231
+ decimal_places: Float,
3232
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3233
+ }
3234
+
3235
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
3236
+ attr_accessor decimal_places: Float
3237
+
3238
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3239
+
3240
+ def initialize: (
3241
+ decimal_places: Float,
3242
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3243
+ ) -> void
3244
+
3245
+ def to_hash: -> {
3246
+ decimal_places: Float,
3247
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method
3248
+ }
3249
+
3250
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
3251
+
3252
+ module RoundingMethod
3253
+ extend MetronomeSDK::Internal::Type::Enum
3254
+
3255
+ HALF_UP: :HALF_UP
3256
+ FLOOR: :FLOOR
3257
+ CEILING: :CEILING
3258
+
3259
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration::Rounding::rounding_method]
3260
+ end
3261
+ end
3028
3262
  end
3029
3263
 
3030
3264
  type subscription_rate =
@@ -3062,6 +3296,45 @@ module MetronomeSDK
3062
3296
  end
3063
3297
  end
3064
3298
 
3299
+ type billing_cycle_config =
3300
+ {
3301
+ anchor_date: Time,
3302
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3303
+ }
3304
+
3305
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
3306
+ attr_reader anchor_date: Time?
3307
+
3308
+ def anchor_date=: (Time) -> Time
3309
+
3310
+ attr_reader invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement?
3311
+
3312
+ def invoice_placement=: (
3313
+ MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3314
+ ) -> MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3315
+
3316
+ def initialize: (
3317
+ ?anchor_date: Time,
3318
+ ?invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3319
+ ) -> void
3320
+
3321
+ def to_hash: -> {
3322
+ anchor_date: Time,
3323
+ invoice_placement: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement
3324
+ }
3325
+
3326
+ type invoice_placement = :ON_SCHEDULED_INVOICE | :ON_USAGE_INVOICE
3327
+
3328
+ module InvoicePlacement
3329
+ extend MetronomeSDK::Internal::Type::Enum
3330
+
3331
+ ON_SCHEDULED_INVOICE: :ON_SCHEDULED_INVOICE
3332
+ ON_USAGE_INVOICE: :ON_USAGE_INVOICE
3333
+
3334
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig::invoice_placement]
3335
+ end
3336
+ end
3337
+
3065
3338
  type quantity_management_mode = :SEAT_BASED | :QUANTITY_ONLY
3066
3339
 
3067
3340
  module QuantityManagementMode
@@ -3928,6 +4201,7 @@ module MetronomeSDK
3928
4201
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3929
4202
  ending_before: Time?,
3930
4203
  invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4204
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3931
4205
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3932
4206
  }
3933
4207
 
@@ -3948,6 +4222,8 @@ module MetronomeSDK
3948
4222
  MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
3949
4223
  ) -> MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount
3950
4224
 
4225
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?
4226
+
3951
4227
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type?
3952
4228
 
3953
4229
  def rate_type=: (
@@ -3959,6 +4235,7 @@ module MetronomeSDK
3959
4235
  ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3960
4236
  ?ending_before: Time?,
3961
4237
  ?invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4238
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3962
4239
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3963
4240
  ) -> void
3964
4241
 
@@ -3967,6 +4244,7 @@ module MetronomeSDK
3967
4244
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::AccessAmount,
3968
4245
  ending_before: Time?,
3969
4246
  invoice_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
4247
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding?,
3970
4248
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::rate_type
3971
4249
  }
3972
4250
 
@@ -4002,6 +4280,96 @@ module MetronomeSDK
4002
4280
  def to_hash: -> { quantity: Float, unit_price: Float }
4003
4281
  end
4004
4282
 
4283
+ type proration_rounding =
4284
+ {
4285
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4286
+ invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4287
+ }
4288
+
4289
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4290
+ attr_accessor access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?
4291
+
4292
+ attr_accessor invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4293
+
4294
+ def initialize: (
4295
+ ?access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4296
+ ?invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4297
+ ) -> void
4298
+
4299
+ def to_hash: -> {
4300
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access?,
4301
+ invoice: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice?
4302
+ }
4303
+
4304
+ type access =
4305
+ {
4306
+ decimal_places: Float,
4307
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4308
+ }
4309
+
4310
+ class Access < MetronomeSDK::Internal::Type::BaseModel
4311
+ attr_accessor decimal_places: Float
4312
+
4313
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4314
+
4315
+ def initialize: (
4316
+ decimal_places: Float,
4317
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4318
+ ) -> void
4319
+
4320
+ def to_hash: -> {
4321
+ decimal_places: Float,
4322
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method
4323
+ }
4324
+
4325
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4326
+
4327
+ module RoundingMethod
4328
+ extend MetronomeSDK::Internal::Type::Enum
4329
+
4330
+ HALF_UP: :HALF_UP
4331
+ FLOOR: :FLOOR
4332
+ CEILING: :CEILING
4333
+
4334
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::rounding_method]
4335
+ end
4336
+ end
4337
+
4338
+ type invoice =
4339
+ {
4340
+ decimal_places: Float,
4341
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4342
+ }
4343
+
4344
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
4345
+ attr_accessor decimal_places: Float
4346
+
4347
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4348
+
4349
+ def initialize: (
4350
+ decimal_places: Float,
4351
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4352
+ ) -> void
4353
+
4354
+ def to_hash: -> {
4355
+ decimal_places: Float,
4356
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method
4357
+ }
4358
+
4359
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4360
+
4361
+ module RoundingMethod
4362
+ extend MetronomeSDK::Internal::Type::Enum
4363
+
4364
+ HALF_UP: :HALF_UP
4365
+ FLOOR: :FLOOR
4366
+ CEILING: :CEILING
4367
+
4368
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::rounding_method]
4369
+ end
4370
+ end
4371
+ end
4372
+
4005
4373
  type rate_type = :LIST_RATE | :COMMIT_RATE
4006
4374
 
4007
4375
  module RateType
@@ -4019,6 +4387,7 @@ module MetronomeSDK
4019
4387
  recurring_credit_id: String,
4020
4388
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4021
4389
  ending_before: Time?,
4390
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
4022
4391
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
4023
4392
  }
4024
4393
 
@@ -4033,6 +4402,8 @@ module MetronomeSDK
4033
4402
 
4034
4403
  attr_accessor ending_before: Time?
4035
4404
 
4405
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?
4406
+
4036
4407
  attr_reader rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type?
4037
4408
 
4038
4409
  def rate_type=: (
@@ -4043,6 +4414,7 @@ module MetronomeSDK
4043
4414
  recurring_credit_id: String,
4044
4415
  ?access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4045
4416
  ?ending_before: Time?,
4417
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
4046
4418
  ?rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
4047
4419
  ) -> void
4048
4420
 
@@ -4050,6 +4422,7 @@ module MetronomeSDK
4050
4422
  recurring_credit_id: String,
4051
4423
  access_amount: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
4052
4424
  ending_before: Time?,
4425
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding?,
4053
4426
  rate_type: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::rate_type
4054
4427
  }
4055
4428
 
@@ -4069,6 +4442,57 @@ module MetronomeSDK
4069
4442
  def to_hash: -> { quantity: Float, unit_price: Float }
4070
4443
  end
4071
4444
 
4445
+ type proration_rounding =
4446
+ {
4447
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4448
+ }
4449
+
4450
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4451
+ attr_accessor access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4452
+
4453
+ def initialize: (
4454
+ ?access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4455
+ ) -> void
4456
+
4457
+ def to_hash: -> {
4458
+ access: MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access?
4459
+ }
4460
+
4461
+ type access =
4462
+ {
4463
+ decimal_places: Float,
4464
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4465
+ }
4466
+
4467
+ class Access < MetronomeSDK::Internal::Type::BaseModel
4468
+ attr_accessor decimal_places: Float
4469
+
4470
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4471
+
4472
+ def initialize: (
4473
+ decimal_places: Float,
4474
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4475
+ ) -> void
4476
+
4477
+ def to_hash: -> {
4478
+ decimal_places: Float,
4479
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method
4480
+ }
4481
+
4482
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4483
+
4484
+ module RoundingMethod
4485
+ extend MetronomeSDK::Internal::Type::Enum
4486
+
4487
+ HALF_UP: :HALF_UP
4488
+ FLOOR: :FLOOR
4489
+ CEILING: :CEILING
4490
+
4491
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::rounding_method]
4492
+ end
4493
+ end
4494
+ end
4495
+
4072
4496
  type rate_type = :LIST_RATE | :COMMIT_RATE
4073
4497
 
4074
4498
  module RateType
@@ -4334,6 +4758,7 @@ module MetronomeSDK
4334
4758
  {
4335
4759
  subscription_id: String,
4336
4760
  ending_before: Time?,
4761
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4337
4762
  quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4338
4763
  quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4339
4764
  seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
@@ -4344,6 +4769,8 @@ module MetronomeSDK
4344
4769
 
4345
4770
  attr_accessor ending_before: Time?
4346
4771
 
4772
+ attr_accessor proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?
4773
+
4347
4774
  attr_reader quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate?
4348
4775
 
4349
4776
  def quantity_management_mode_update=: (
@@ -4365,6 +4792,7 @@ module MetronomeSDK
4365
4792
  def initialize: (
4366
4793
  subscription_id: String,
4367
4794
  ?ending_before: Time?,
4795
+ ?proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4368
4796
  ?quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4369
4797
  ?quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4370
4798
  ?seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
@@ -4373,11 +4801,46 @@ module MetronomeSDK
4373
4801
  def to_hash: -> {
4374
4802
  subscription_id: String,
4375
4803
  ending_before: Time?,
4804
+ proration_rounding: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding?,
4376
4805
  quantity_management_mode_update: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
4377
4806
  quantity_updates: ::Array[MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityUpdate],
4378
4807
  seat_updates: MetronomeSDK::V2::ContractEditParams::UpdateSubscription::SeatUpdates
4379
4808
  }
4380
4809
 
4810
+ type proration_rounding =
4811
+ {
4812
+ decimal_places: Float,
4813
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4814
+ }
4815
+
4816
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
4817
+ attr_accessor decimal_places: Float
4818
+
4819
+ attr_accessor rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4820
+
4821
+ def initialize: (
4822
+ decimal_places: Float,
4823
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4824
+ ) -> void
4825
+
4826
+ def to_hash: -> {
4827
+ decimal_places: Float,
4828
+ rounding_method: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method
4829
+ }
4830
+
4831
+ type rounding_method = :HALF_UP | :FLOOR | :CEILING
4832
+
4833
+ module RoundingMethod
4834
+ extend MetronomeSDK::Internal::Type::Enum
4835
+
4836
+ HALF_UP: :HALF_UP
4837
+ FLOOR: :FLOOR
4838
+ CEILING: :CEILING
4839
+
4840
+ def self?.values: -> ::Array[MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::ProrationRounding::rounding_method]
4841
+ end
4842
+ end
4843
+
4381
4844
  type quantity_management_mode_update =
4382
4845
  {
4383
4846
  quantity_management_mode: MetronomeSDK::Models::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate::quantity_management_mode,