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
@@ -784,6 +784,11 @@ module MetronomeSDK
784
784
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Type]
785
785
 
786
786
  class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
787
+ # @!attribute any_commit_or_credit_ids
788
+ #
789
+ # @return [Array<String>, nil]
790
+ optional :any_commit_or_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
791
+
787
792
  # @!attribute billing_frequency
788
793
  #
789
794
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::BillingFrequency, nil]
@@ -820,7 +825,8 @@ module MetronomeSDK
820
825
  # @return [Array<String>, nil]
821
826
  optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
822
827
 
823
- # @!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)
828
+ # @!method initialize(any_commit_or_credit_ids: nil, billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil)
829
+ # @param any_commit_or_credit_ids [Array<String>]
824
830
  # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier::BillingFrequency]
825
831
  # @param commit_ids [Array<String>]
826
832
  # @param presentation_group_values [Hash{Symbol=>String, nil}]
@@ -1073,6 +1079,14 @@ module MetronomeSDK
1073
1079
  optional :proration,
1074
1080
  enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration }
1075
1081
 
1082
+ # @!attribute proration_rounding
1083
+ # Rounding configuration for prorated recurring commit amounts.
1084
+ #
1085
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding, nil]
1086
+ optional :proration_rounding,
1087
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding },
1088
+ nil?: true
1089
+
1076
1090
  # @!attribute recurrence_frequency
1077
1091
  # The frequency at which the recurring commits will be created. If not provided: -
1078
1092
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -1106,7 +1120,7 @@ module MetronomeSDK
1106
1120
  # @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
1107
1121
  optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
1108
1122
 
1109
- # @!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, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1123
+ # @!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, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1110
1124
  # Some parameter documentations has been truncated, see
1111
1125
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit}
1112
1126
  # for more details.
@@ -1145,6 +1159,8 @@ module MetronomeSDK
1145
1159
  #
1146
1160
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1147
1161
  #
1162
+ # @param proration_rounding [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding, nil] Rounding configuration for prorated recurring commit amounts.
1163
+ #
1148
1164
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1149
1165
  #
1150
1166
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
@@ -1290,6 +1306,103 @@ module MetronomeSDK
1290
1306
  # @return [Array<Symbol>]
1291
1307
  end
1292
1308
 
1309
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#proration_rounding
1310
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1311
+ # @!attribute access
1312
+ #
1313
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access, nil]
1314
+ optional :access,
1315
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access }
1316
+
1317
+ # @!attribute invoice
1318
+ #
1319
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice, nil]
1320
+ optional :invoice,
1321
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice }
1322
+
1323
+ # @!method initialize(access: nil, invoice: nil)
1324
+ # Rounding configuration for prorated recurring commit amounts.
1325
+ #
1326
+ # @param access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access]
1327
+ # @param invoice [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice]
1328
+
1329
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding#access
1330
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1331
+ # @!attribute decimal_places
1332
+ # Number of decimal places to round to. Applied directly to the stored monetary
1333
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1334
+ # nearest 100 in the stored unit).
1335
+ #
1336
+ # @return [Float]
1337
+ required :decimal_places, Float
1338
+
1339
+ # @!attribute rounding_method
1340
+ #
1341
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::RoundingMethod]
1342
+ required :rounding_method,
1343
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::RoundingMethod }
1344
+
1345
+ # @!method initialize(decimal_places:, rounding_method:)
1346
+ # Some parameter documentations has been truncated, see
1347
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access}
1348
+ # for more details.
1349
+ #
1350
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1351
+ #
1352
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access::RoundingMethod]
1353
+
1354
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Access#rounding_method
1355
+ module RoundingMethod
1356
+ extend MetronomeSDK::Internal::Type::Enum
1357
+
1358
+ HALF_UP = :HALF_UP
1359
+ FLOOR = :FLOOR
1360
+ CEILING = :CEILING
1361
+
1362
+ # @!method self.values
1363
+ # @return [Array<Symbol>]
1364
+ end
1365
+ end
1366
+
1367
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding#invoice
1368
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
1369
+ # @!attribute decimal_places
1370
+ # Number of decimal places to round to. Applied directly to the stored monetary
1371
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1372
+ # nearest 100 in the stored unit).
1373
+ #
1374
+ # @return [Float]
1375
+ required :decimal_places, Float
1376
+
1377
+ # @!attribute rounding_method
1378
+ #
1379
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1380
+ required :rounding_method,
1381
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod }
1382
+
1383
+ # @!method initialize(decimal_places:, rounding_method:)
1384
+ # Some parameter documentations has been truncated, see
1385
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice}
1386
+ # for more details.
1387
+ #
1388
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1389
+ #
1390
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod]
1391
+
1392
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::ProrationRounding::Invoice#rounding_method
1393
+ module RoundingMethod
1394
+ extend MetronomeSDK::Internal::Type::Enum
1395
+
1396
+ HALF_UP = :HALF_UP
1397
+ FLOOR = :FLOOR
1398
+ CEILING = :CEILING
1399
+
1400
+ # @!method self.values
1401
+ # @return [Array<Symbol>]
1402
+ end
1403
+ end
1404
+ end
1405
+
1293
1406
  # The frequency at which the recurring commits will be created. If not provided: -
1294
1407
  # The commits will be created on the usage invoice frequency. If provided: - The
1295
1408
  # period defined in the duration will correspond to this frequency. - Commits will
@@ -1304,6 +1417,7 @@ module MetronomeSDK
1304
1417
  QUARTERLY = :QUARTERLY
1305
1418
  ANNUAL = :ANNUAL
1306
1419
  WEEKLY = :WEEKLY
1420
+ DAILY = :DAILY
1307
1421
 
1308
1422
  # @!method self.values
1309
1423
  # @return [Array<Symbol>]
@@ -1411,6 +1525,14 @@ module MetronomeSDK
1411
1525
  optional :proration,
1412
1526
  enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration }
1413
1527
 
1528
+ # @!attribute proration_rounding
1529
+ # Rounding configuration for prorated recurring credit amounts.
1530
+ #
1531
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding, nil]
1532
+ optional :proration_rounding,
1533
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding },
1534
+ nil?: true
1535
+
1414
1536
  # @!attribute recurrence_frequency
1415
1537
  # The frequency at which the recurring commits will be created. If not provided: -
1416
1538
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -1444,7 +1566,7 @@ module MetronomeSDK
1444
1566
  # @return [MetronomeSDK::Models::RecurringCommitSubscriptionConfig, nil]
1445
1567
  optional :subscription_config, -> { MetronomeSDK::RecurringCommitSubscriptionConfig }
1446
1568
 
1447
- # @!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, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1569
+ # @!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, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, proration_rounding: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1448
1570
  # Some parameter documentations has been truncated, see
1449
1571
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit}
1450
1572
  # for more details.
@@ -1481,6 +1603,8 @@ module MetronomeSDK
1481
1603
  #
1482
1604
  # @param proration [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1483
1605
  #
1606
+ # @param proration_rounding [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding, nil] Rounding configuration for prorated recurring credit amounts.
1607
+ #
1484
1608
  # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1485
1609
  #
1486
1610
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
@@ -1601,6 +1725,58 @@ module MetronomeSDK
1601
1725
  # @return [Array<Symbol>]
1602
1726
  end
1603
1727
 
1728
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#proration_rounding
1729
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
1730
+ # @!attribute access
1731
+ #
1732
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access, nil]
1733
+ optional :access,
1734
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access }
1735
+
1736
+ # @!method initialize(access: nil)
1737
+ # Rounding configuration for prorated recurring credit amounts.
1738
+ #
1739
+ # @param access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access]
1740
+
1741
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding#access
1742
+ class Access < MetronomeSDK::Internal::Type::BaseModel
1743
+ # @!attribute decimal_places
1744
+ # Number of decimal places to round to. Applied directly to the stored monetary
1745
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
1746
+ # nearest 100 in the stored unit).
1747
+ #
1748
+ # @return [Float]
1749
+ required :decimal_places, Float
1750
+
1751
+ # @!attribute rounding_method
1752
+ #
1753
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::RoundingMethod]
1754
+ required :rounding_method,
1755
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::RoundingMethod }
1756
+
1757
+ # @!method initialize(decimal_places:, rounding_method:)
1758
+ # Some parameter documentations has been truncated, see
1759
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access}
1760
+ # for more details.
1761
+ #
1762
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
1763
+ #
1764
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access::RoundingMethod]
1765
+
1766
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::ProrationRounding::Access#rounding_method
1767
+ module RoundingMethod
1768
+ extend MetronomeSDK::Internal::Type::Enum
1769
+
1770
+ HALF_UP = :HALF_UP
1771
+ FLOOR = :FLOOR
1772
+ CEILING = :CEILING
1773
+
1774
+ # @!method self.values
1775
+ # @return [Array<Symbol>]
1776
+ end
1777
+ end
1778
+ end
1779
+
1604
1780
  # The frequency at which the recurring commits will be created. If not provided: -
1605
1781
  # The commits will be created on the usage invoice frequency. If provided: - The
1606
1782
  # period defined in the duration will correspond to this frequency. - Commits will
@@ -1615,6 +1791,7 @@ module MetronomeSDK
1615
1791
  QUARTERLY = :QUARTERLY
1616
1792
  ANNUAL = :ANNUAL
1617
1793
  WEEKLY = :WEEKLY
1794
+ DAILY = :DAILY
1618
1795
 
1619
1796
  # @!method self.values
1620
1797
  # @return [Array<Symbol>]
@@ -1834,6 +2011,12 @@ module MetronomeSDK
1834
2011
  # @return [String, nil]
1835
2012
  optional :id, String
1836
2013
 
2014
+ # @!attribute billing_cycle_config
2015
+ #
2016
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig, nil]
2017
+ optional :billing_cycle_config,
2018
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig }
2019
+
1837
2020
  # @!attribute custom_fields
1838
2021
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1839
2022
  #
@@ -1866,7 +2049,7 @@ module MetronomeSDK
1866
2049
  optional :seat_config,
1867
2050
  -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::SeatConfig }
1868
2051
 
1869
- # @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil, seat_config: nil)
2052
+ # @!method initialize(billing_periods:, collection_schedule:, proration:, quantity_management_mode:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, billing_cycle_config: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil, seat_config: nil)
1870
2053
  # Some parameter documentations has been truncated, see
1871
2054
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription}
1872
2055
  # for more details.
@@ -1887,6 +2070,8 @@ module MetronomeSDK
1887
2070
  #
1888
2071
  # @param id [String]
1889
2072
  #
2073
+ # @param billing_cycle_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig]
2074
+ #
1890
2075
  # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
1891
2076
  #
1892
2077
  # @param description [String]
@@ -2003,9 +2188,16 @@ module MetronomeSDK
2003
2188
  # @return [Boolean]
2004
2189
  required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2005
2190
 
2006
- # @!method initialize(invoice_behavior:, is_prorated:)
2191
+ # @!attribute rounding
2192
+ #
2193
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding, nil]
2194
+ optional :rounding,
2195
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding }
2196
+
2197
+ # @!method initialize(invoice_behavior:, is_prorated:, rounding: nil)
2007
2198
  # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::InvoiceBehavior]
2008
2199
  # @param is_prorated [Boolean]
2200
+ # @param rounding [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding]
2009
2201
 
2010
2202
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration#invoice_behavior
2011
2203
  module InvoiceBehavior
@@ -2017,6 +2209,44 @@ module MetronomeSDK
2017
2209
  # @!method self.values
2018
2210
  # @return [Array<Symbol>]
2019
2211
  end
2212
+
2213
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration#rounding
2214
+ class Rounding < MetronomeSDK::Internal::Type::BaseModel
2215
+ # @!attribute decimal_places
2216
+ # Number of decimal places to round to. Applied directly to the stored monetary
2217
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
2218
+ # nearest 100 in the stored unit).
2219
+ #
2220
+ # @return [Float]
2221
+ required :decimal_places, Float
2222
+
2223
+ # @!attribute rounding_method
2224
+ #
2225
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::RoundingMethod]
2226
+ required :rounding_method,
2227
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::RoundingMethod }
2228
+
2229
+ # @!method initialize(decimal_places:, rounding_method:)
2230
+ # Some parameter documentations has been truncated, see
2231
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding}
2232
+ # for more details.
2233
+ #
2234
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
2235
+ #
2236
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding::RoundingMethod]
2237
+
2238
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::Proration::Rounding#rounding_method
2239
+ module RoundingMethod
2240
+ extend MetronomeSDK::Internal::Type::Enum
2241
+
2242
+ HALF_UP = :HALF_UP
2243
+ FLOOR = :FLOOR
2244
+ CEILING = :CEILING
2245
+
2246
+ # @!method self.values
2247
+ # @return [Array<Symbol>]
2248
+ end
2249
+ end
2020
2250
  end
2021
2251
 
2022
2252
  # Determines how the subscription's quantity is controlled. Defaults to
@@ -2111,6 +2341,46 @@ module MetronomeSDK
2111
2341
  end
2112
2342
  end
2113
2343
 
2344
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#billing_cycle_config
2345
+ class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
2346
+ # @!attribute anchor_date
2347
+ # The date this subscription's billing cycle is anchored to.
2348
+ #
2349
+ # @return [Time]
2350
+ required :anchor_date, Time
2351
+
2352
+ # @!attribute invoice_placement
2353
+ # Controls whether this subscription consolidates onto usage invoices or gets its
2354
+ # own scheduled invoice.
2355
+ #
2356
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::InvoicePlacement]
2357
+ required :invoice_placement,
2358
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::InvoicePlacement }
2359
+
2360
+ # @!method initialize(anchor_date:, invoice_placement:)
2361
+ # Some parameter documentations has been truncated, see
2362
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig}
2363
+ # for more details.
2364
+ #
2365
+ # @param anchor_date [Time] The date this subscription's billing cycle is anchored to.
2366
+ #
2367
+ # @param invoice_placement [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig::InvoicePlacement] Controls whether this subscription consolidates onto usage invoices or gets its
2368
+
2369
+ # Controls whether this subscription consolidates onto usage invoices or gets its
2370
+ # own scheduled invoice.
2371
+ #
2372
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription::BillingCycleConfig#invoice_placement
2373
+ module InvoicePlacement
2374
+ extend MetronomeSDK::Internal::Type::Enum
2375
+
2376
+ ON_SCHEDULED_INVOICE = :ON_SCHEDULED_INVOICE
2377
+ ON_USAGE_INVOICE = :ON_USAGE_INVOICE
2378
+
2379
+ # @!method self.values
2380
+ # @return [Array<Symbol>]
2381
+ end
2382
+ end
2383
+
2114
2384
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddSubscription#seat_config
2115
2385
  class SeatConfig < MetronomeSDK::Internal::Type::BaseModel
2116
2386
  # @!attribute seat_group_key
@@ -3088,6 +3358,8 @@ module MetronomeSDK
3088
3358
  optional :threshold_amount, Float
3089
3359
 
3090
3360
  # @!attribute threshold_balance_specifiers
3361
+ # Determines which balances are excluded from remaining balance calculation for
3362
+ # threshold billing.
3091
3363
  #
3092
3364
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier>, nil]
3093
3365
  optional :threshold_balance_specifiers,
@@ -3117,7 +3389,7 @@ module MetronomeSDK
3117
3389
  #
3118
3390
  # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
3119
3391
  #
3120
- # @param threshold_balance_specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier>, nil]
3392
+ # @param threshold_balance_specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier>, nil] Determines which balances are excluded from remaining balance calculation for th
3121
3393
 
3122
3394
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration#commit
3123
3395
  class Commit < MetronomeSDK::Models::UpdateBaseThresholdCommit
@@ -3300,17 +3572,31 @@ module MetronomeSDK
3300
3572
  optional :invoice_amount,
3301
3573
  -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount }
3302
3574
 
3575
+ # @!attribute proration_rounding
3576
+ # Rounding configuration for prorated recurring commit amounts.
3577
+ #
3578
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding, nil]
3579
+ optional :proration_rounding,
3580
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding },
3581
+ nil?: true
3582
+
3303
3583
  # @!attribute rate_type
3304
3584
  #
3305
3585
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::RateType, nil]
3306
3586
  optional :rate_type,
3307
3587
  enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::RateType }
3308
3588
 
3309
- # @!method initialize(id:, access_amount: nil, ending_before: nil, invoice_amount: nil, rate_type: nil)
3589
+ # @!method initialize(id:, access_amount: nil, ending_before: nil, invoice_amount: nil, proration_rounding: nil, rate_type: nil)
3310
3590
  # @param id [String]
3591
+ #
3311
3592
  # @param access_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::AccessAmount]
3593
+ #
3312
3594
  # @param ending_before [Time]
3595
+ #
3313
3596
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::InvoiceAmount]
3597
+ #
3598
+ # @param proration_rounding [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding, nil] Rounding configuration for prorated recurring commit amounts.
3599
+ #
3314
3600
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::RateType]
3315
3601
 
3316
3602
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit#access_amount
@@ -3347,6 +3633,103 @@ module MetronomeSDK
3347
3633
  # @param unit_price [Float]
3348
3634
  end
3349
3635
 
3636
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit#proration_rounding
3637
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3638
+ # @!attribute access
3639
+ #
3640
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access, nil]
3641
+ optional :access,
3642
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access }
3643
+
3644
+ # @!attribute invoice
3645
+ #
3646
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice, nil]
3647
+ optional :invoice,
3648
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice }
3649
+
3650
+ # @!method initialize(access: nil, invoice: nil)
3651
+ # Rounding configuration for prorated recurring commit amounts.
3652
+ #
3653
+ # @param access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access]
3654
+ # @param invoice [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice]
3655
+
3656
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding#access
3657
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3658
+ # @!attribute decimal_places
3659
+ # Number of decimal places to round to. Applied directly to the stored monetary
3660
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
3661
+ # nearest 100 in the stored unit).
3662
+ #
3663
+ # @return [Float]
3664
+ required :decimal_places, Float
3665
+
3666
+ # @!attribute rounding_method
3667
+ #
3668
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod]
3669
+ required :rounding_method,
3670
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod }
3671
+
3672
+ # @!method initialize(decimal_places:, rounding_method:)
3673
+ # Some parameter documentations has been truncated, see
3674
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access}
3675
+ # for more details.
3676
+ #
3677
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
3678
+ #
3679
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod]
3680
+
3681
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Access#rounding_method
3682
+ module RoundingMethod
3683
+ extend MetronomeSDK::Internal::Type::Enum
3684
+
3685
+ HALF_UP = :HALF_UP
3686
+ FLOOR = :FLOOR
3687
+ CEILING = :CEILING
3688
+
3689
+ # @!method self.values
3690
+ # @return [Array<Symbol>]
3691
+ end
3692
+ end
3693
+
3694
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding#invoice
3695
+ class Invoice < MetronomeSDK::Internal::Type::BaseModel
3696
+ # @!attribute decimal_places
3697
+ # Number of decimal places to round to. Applied directly to the stored monetary
3698
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
3699
+ # nearest 100 in the stored unit).
3700
+ #
3701
+ # @return [Float]
3702
+ required :decimal_places, Float
3703
+
3704
+ # @!attribute rounding_method
3705
+ #
3706
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod]
3707
+ required :rounding_method,
3708
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod }
3709
+
3710
+ # @!method initialize(decimal_places:, rounding_method:)
3711
+ # Some parameter documentations has been truncated, see
3712
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice}
3713
+ # for more details.
3714
+ #
3715
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
3716
+ #
3717
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod]
3718
+
3719
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit::ProrationRounding::Invoice#rounding_method
3720
+ module RoundingMethod
3721
+ extend MetronomeSDK::Internal::Type::Enum
3722
+
3723
+ HALF_UP = :HALF_UP
3724
+ FLOOR = :FLOOR
3725
+ CEILING = :CEILING
3726
+
3727
+ # @!method self.values
3728
+ # @return [Array<Symbol>]
3729
+ end
3730
+ end
3731
+ end
3732
+
3350
3733
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCommit#rate_type
3351
3734
  module RateType
3352
3735
  extend MetronomeSDK::Internal::Type::Enum
@@ -3376,16 +3759,29 @@ module MetronomeSDK
3376
3759
  # @return [Time, nil]
3377
3760
  optional :ending_before, Time
3378
3761
 
3762
+ # @!attribute proration_rounding
3763
+ # Rounding configuration for prorated recurring credit amounts.
3764
+ #
3765
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding, nil]
3766
+ optional :proration_rounding,
3767
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding },
3768
+ nil?: true
3769
+
3379
3770
  # @!attribute rate_type
3380
3771
  #
3381
3772
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::RateType, nil]
3382
3773
  optional :rate_type,
3383
3774
  enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::RateType }
3384
3775
 
3385
- # @!method initialize(id:, access_amount: nil, ending_before: nil, rate_type: nil)
3776
+ # @!method initialize(id:, access_amount: nil, ending_before: nil, proration_rounding: nil, rate_type: nil)
3386
3777
  # @param id [String]
3778
+ #
3387
3779
  # @param access_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::AccessAmount]
3780
+ #
3388
3781
  # @param ending_before [Time]
3782
+ #
3783
+ # @param proration_rounding [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding, nil] Rounding configuration for prorated recurring credit amounts.
3784
+ #
3389
3785
  # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::RateType]
3390
3786
 
3391
3787
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit#access_amount
@@ -3405,6 +3801,58 @@ module MetronomeSDK
3405
3801
  # @param unit_price [Float]
3406
3802
  end
3407
3803
 
3804
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit#proration_rounding
3805
+ class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
3806
+ # @!attribute access
3807
+ #
3808
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access, nil]
3809
+ optional :access,
3810
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access }
3811
+
3812
+ # @!method initialize(access: nil)
3813
+ # Rounding configuration for prorated recurring credit amounts.
3814
+ #
3815
+ # @param access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access]
3816
+
3817
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding#access
3818
+ class Access < MetronomeSDK::Internal::Type::BaseModel
3819
+ # @!attribute decimal_places
3820
+ # Number of decimal places to round to. Applied directly to the stored monetary
3821
+ # representation. Negative values round to powers of 10 (e.g., -2 rounds to
3822
+ # nearest 100 in the stored unit).
3823
+ #
3824
+ # @return [Float]
3825
+ required :decimal_places, Float
3826
+
3827
+ # @!attribute rounding_method
3828
+ #
3829
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod]
3830
+ required :rounding_method,
3831
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod }
3832
+
3833
+ # @!method initialize(decimal_places:, rounding_method:)
3834
+ # Some parameter documentations has been truncated, see
3835
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access}
3836
+ # for more details.
3837
+ #
3838
+ # @param decimal_places [Float] Number of decimal places to round to. Applied directly to the stored monetary re
3839
+ #
3840
+ # @param rounding_method [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod]
3841
+
3842
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit::ProrationRounding::Access#rounding_method
3843
+ module RoundingMethod
3844
+ extend MetronomeSDK::Internal::Type::Enum
3845
+
3846
+ HALF_UP = :HALF_UP
3847
+ FLOOR = :FLOOR
3848
+ CEILING = :CEILING
3849
+
3850
+ # @!method self.values
3851
+ # @return [Array<Symbol>]
3852
+ end
3853
+ end
3854
+ end
3855
+
3408
3856
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRecurringCredit#rate_type
3409
3857
  module RateType
3410
3858
  extend MetronomeSDK::Internal::Type::Enum