metronome-sdk 0.1.0.pre.alpha.4 → 0.1.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  5. data/lib/metronome_sdk/models/commit.rb +46 -3
  6. data/lib/metronome_sdk/models/contract_without_amendments.rb +242 -2
  7. data/lib/metronome_sdk/models/credit.rb +46 -3
  8. data/lib/metronome_sdk/models/v1/contract_create_params.rb +242 -2
  9. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  10. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  11. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  12. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +242 -2
  13. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +214 -6
  14. data/lib/metronome_sdk/models/v2/contract_list_response.rb +343 -13
  15. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +343 -13
  16. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  17. data/lib/metronome_sdk/resources/v1/customers/commits.rb +3 -1
  18. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  19. data/lib/metronome_sdk/version.rb +1 -1
  20. data/rbi/metronome_sdk/models/commit.rbi +84 -0
  21. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +584 -0
  22. data/rbi/metronome_sdk/models/credit.rbi +87 -3
  23. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +747 -147
  24. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  25. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  26. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  27. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +747 -147
  28. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +584 -6
  29. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +867 -48
  30. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +867 -48
  31. data/rbi/metronome_sdk/resources/v1/contracts.rbi +3 -0
  32. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -0
  33. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  34. data/sig/metronome_sdk/models/commit.rbs +43 -0
  35. data/sig/metronome_sdk/models/contract_without_amendments.rbs +246 -0
  36. data/sig/metronome_sdk/models/credit.rbs +43 -0
  37. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +246 -0
  38. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  39. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  40. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  41. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +246 -0
  42. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +246 -0
  43. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +353 -0
  44. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +353 -0
  45. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  46. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  47. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  48. metadata +4 -4
@@ -2392,6 +2392,13 @@ module MetronomeSDK
2392
2392
  # @return [Time, nil]
2393
2393
  optional :ending_before, Time
2394
2394
 
2395
+ # @!attribute hierarchy_configuration
2396
+ # Optional configuration for recurring commit/credit hierarchy access control
2397
+ #
2398
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration, nil]
2399
+ optional :hierarchy_configuration,
2400
+ -> { MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration }
2401
+
2395
2402
  # @!attribute invoice_amount
2396
2403
  # The amount the customer should be billed for the commit. Not required.
2397
2404
  #
@@ -2467,7 +2474,7 @@ module MetronomeSDK
2467
2474
  # @return [String, nil]
2468
2475
  optional :temporary_id, String
2469
2476
 
2470
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2477
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2471
2478
  # Some parameter documentations has been truncated, see
2472
2479
  # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit} for more
2473
2480
  # details.
@@ -2490,6 +2497,8 @@ module MetronomeSDK
2490
2497
  #
2491
2498
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
2492
2499
  #
2500
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
2501
+ #
2493
2502
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2494
2503
  #
2495
2504
  # @param name [String] displayed on invoices. will be passed through to the individual commits
@@ -2575,6 +2584,117 @@ module MetronomeSDK
2575
2584
  end
2576
2585
  end
2577
2586
 
2587
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#hierarchy_configuration
2588
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2589
+ # @!attribute child_access
2590
+ #
2591
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2592
+ required :child_access,
2593
+ union: -> {
2594
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess
2595
+ }
2596
+
2597
+ # @!method initialize(child_access:)
2598
+ # Optional configuration for recurring commit/credit hierarchy access control
2599
+ #
2600
+ # @param child_access [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2601
+
2602
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration#child_access
2603
+ module ChildAccess
2604
+ extend MetronomeSDK::Internal::Type::Union
2605
+
2606
+ variant -> {
2607
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
2608
+ }
2609
+
2610
+ variant -> {
2611
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
2612
+ }
2613
+
2614
+ variant -> {
2615
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2616
+ }
2617
+
2618
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2619
+ # @!attribute type
2620
+ #
2621
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2622
+ required :type,
2623
+ enum: -> {
2624
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2625
+ }
2626
+
2627
+ # @!method initialize(type:)
2628
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2629
+
2630
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
2631
+ module Type
2632
+ extend MetronomeSDK::Internal::Type::Enum
2633
+
2634
+ ALL = :ALL
2635
+
2636
+ # @!method self.values
2637
+ # @return [Array<Symbol>]
2638
+ end
2639
+ end
2640
+
2641
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2642
+ # @!attribute type
2643
+ #
2644
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2645
+ required :type,
2646
+ enum: -> {
2647
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2648
+ }
2649
+
2650
+ # @!method initialize(type:)
2651
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2652
+
2653
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
2654
+ module Type
2655
+ extend MetronomeSDK::Internal::Type::Enum
2656
+
2657
+ NONE = :NONE
2658
+
2659
+ # @!method self.values
2660
+ # @return [Array<Symbol>]
2661
+ end
2662
+ end
2663
+
2664
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2665
+ # @!attribute contract_ids
2666
+ #
2667
+ # @return [Array<String>]
2668
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2669
+
2670
+ # @!attribute type
2671
+ #
2672
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2673
+ required :type,
2674
+ enum: -> {
2675
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2676
+ }
2677
+
2678
+ # @!method initialize(contract_ids:, type:)
2679
+ # @param contract_ids [Array<String>]
2680
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2681
+
2682
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
2683
+ module Type
2684
+ extend MetronomeSDK::Internal::Type::Enum
2685
+
2686
+ CONTRACT_IDS = :CONTRACT_IDS
2687
+
2688
+ # @!method self.values
2689
+ # @return [Array<Symbol>]
2690
+ end
2691
+ end
2692
+
2693
+ # @!method self.variants
2694
+ # @return [Array(MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
2695
+ end
2696
+ end
2697
+
2578
2698
  # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCommit#invoice_amount
2579
2699
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
2580
2700
  # @!attribute credit_type_id
@@ -2749,6 +2869,13 @@ module MetronomeSDK
2749
2869
  # @return [Time, nil]
2750
2870
  optional :ending_before, Time
2751
2871
 
2872
+ # @!attribute hierarchy_configuration
2873
+ # Optional configuration for recurring commit/credit hierarchy access control
2874
+ #
2875
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration, nil]
2876
+ optional :hierarchy_configuration,
2877
+ -> { MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration }
2878
+
2752
2879
  # @!attribute name
2753
2880
  # displayed on invoices. will be passed through to the individual commits
2754
2881
  #
@@ -2815,7 +2942,7 @@ module MetronomeSDK
2815
2942
  # @return [String, nil]
2816
2943
  optional :temporary_id, String
2817
2944
 
2818
- # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2945
+ # @!method initialize(access_amount:, commit_duration:, priority:, product_id:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, rate_type: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, temporary_id: nil)
2819
2946
  # Some parameter documentations has been truncated, see
2820
2947
  # {MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit} for more
2821
2948
  # details.
@@ -2838,6 +2965,8 @@ module MetronomeSDK
2838
2965
  #
2839
2966
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. optional
2840
2967
  #
2968
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
2969
+ #
2841
2970
  # @param name [String] displayed on invoices. will be passed through to the individual commits
2842
2971
  #
2843
2972
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -2921,6 +3050,117 @@ module MetronomeSDK
2921
3050
  end
2922
3051
  end
2923
3052
 
3053
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit#hierarchy_configuration
3054
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3055
+ # @!attribute child_access
3056
+ #
3057
+ # @return [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3058
+ required :child_access,
3059
+ union: -> {
3060
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess
3061
+ }
3062
+
3063
+ # @!method initialize(child_access:)
3064
+ # Optional configuration for recurring commit/credit hierarchy access control
3065
+ #
3066
+ # @param child_access [MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3067
+
3068
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration#child_access
3069
+ module ChildAccess
3070
+ extend MetronomeSDK::Internal::Type::Union
3071
+
3072
+ variant -> {
3073
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
3074
+ }
3075
+
3076
+ variant -> {
3077
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
3078
+ }
3079
+
3080
+ variant -> {
3081
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3082
+ }
3083
+
3084
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3085
+ # @!attribute type
3086
+ #
3087
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3088
+ required :type,
3089
+ enum: -> {
3090
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
3091
+ }
3092
+
3093
+ # @!method initialize(type:)
3094
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3095
+
3096
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3097
+ module Type
3098
+ extend MetronomeSDK::Internal::Type::Enum
3099
+
3100
+ ALL = :ALL
3101
+
3102
+ # @!method self.values
3103
+ # @return [Array<Symbol>]
3104
+ end
3105
+ end
3106
+
3107
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3108
+ # @!attribute type
3109
+ #
3110
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3111
+ required :type,
3112
+ enum: -> {
3113
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
3114
+ }
3115
+
3116
+ # @!method initialize(type:)
3117
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3118
+
3119
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3120
+ module Type
3121
+ extend MetronomeSDK::Internal::Type::Enum
3122
+
3123
+ NONE = :NONE
3124
+
3125
+ # @!method self.values
3126
+ # @return [Array<Symbol>]
3127
+ end
3128
+ end
3129
+
3130
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3131
+ # @!attribute contract_ids
3132
+ #
3133
+ # @return [Array<String>]
3134
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3135
+
3136
+ # @!attribute type
3137
+ #
3138
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3139
+ required :type,
3140
+ enum: -> {
3141
+ MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
3142
+ }
3143
+
3144
+ # @!method initialize(contract_ids:, type:)
3145
+ # @param contract_ids [Array<String>]
3146
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3147
+
3148
+ # @see MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3149
+ module Type
3150
+ extend MetronomeSDK::Internal::Type::Enum
3151
+
3152
+ CONTRACT_IDS = :CONTRACT_IDS
3153
+
3154
+ # @!method self.values
3155
+ # @return [Array<Symbol>]
3156
+ end
3157
+ end
3158
+
3159
+ # @!method self.variants
3160
+ # @return [Array(MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractEditParams::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3161
+ end
3162
+ end
3163
+
2924
3164
  # Determines whether the first and last commit will be prorated. If not provided,
2925
3165
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2926
3166
  #
@@ -1329,6 +1329,13 @@ module MetronomeSDK
1329
1329
  # @return [Time, nil]
1330
1330
  optional :ending_before, Time
1331
1331
 
1332
+ # @!attribute hierarchy_configuration
1333
+ # Optional configuration for recurring commit/credit hierarchy access control
1334
+ #
1335
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration, nil]
1336
+ optional :hierarchy_configuration,
1337
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration }
1338
+
1332
1339
  # @!attribute invoice_amount
1333
1340
  # The amount the customer should be billed for the commit. Not required.
1334
1341
  #
@@ -1351,7 +1358,6 @@ module MetronomeSDK
1351
1358
  # @!attribute proration
1352
1359
  # Determines whether the first and last commit will be prorated. If not provided,
1353
1360
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1354
- # subscription_config:
1355
1361
  #
1356
1362
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration, nil]
1357
1363
  optional :proration,
@@ -1385,7 +1391,7 @@ module MetronomeSDK
1385
1391
  optional :specifiers,
1386
1392
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier] }
1387
1393
 
1388
- # @!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)
1394
+ # @!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)
1389
1395
  # Some parameter documentations has been truncated, see
1390
1396
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit}
1391
1397
  # for more details.
@@ -1414,6 +1420,8 @@ module MetronomeSDK
1414
1420
  #
1415
1421
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1416
1422
  #
1423
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
1424
+ #
1417
1425
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
1418
1426
  #
1419
1427
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
@@ -1524,6 +1532,103 @@ module MetronomeSDK
1524
1532
  # @param id [String]
1525
1533
  end
1526
1534
 
1535
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#hierarchy_configuration
1536
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1537
+ # @!attribute child_access
1538
+ #
1539
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1540
+ required :child_access,
1541
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess }
1542
+
1543
+ # @!method initialize(child_access:)
1544
+ # Optional configuration for recurring commit/credit hierarchy access control
1545
+ #
1546
+ # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1547
+
1548
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration#child_access
1549
+ module ChildAccess
1550
+ extend MetronomeSDK::Internal::Type::Union
1551
+
1552
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
1553
+
1554
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
1555
+
1556
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
1557
+
1558
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1559
+ # @!attribute type
1560
+ #
1561
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1562
+ required :type,
1563
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
1564
+
1565
+ # @!method initialize(type:)
1566
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1567
+
1568
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1569
+ module Type
1570
+ extend MetronomeSDK::Internal::Type::Enum
1571
+
1572
+ ALL = :ALL
1573
+
1574
+ # @!method self.values
1575
+ # @return [Array<Symbol>]
1576
+ end
1577
+ end
1578
+
1579
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1580
+ # @!attribute type
1581
+ #
1582
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1583
+ required :type,
1584
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
1585
+
1586
+ # @!method initialize(type:)
1587
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1588
+
1589
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1590
+ module Type
1591
+ extend MetronomeSDK::Internal::Type::Enum
1592
+
1593
+ NONE = :NONE
1594
+
1595
+ # @!method self.values
1596
+ # @return [Array<Symbol>]
1597
+ end
1598
+ end
1599
+
1600
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1601
+ # @!attribute contract_ids
1602
+ #
1603
+ # @return [Array<String>]
1604
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1605
+
1606
+ # @!attribute type
1607
+ #
1608
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1609
+ required :type,
1610
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
1611
+
1612
+ # @!method initialize(contract_ids:, type:)
1613
+ # @param contract_ids [Array<String>]
1614
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1615
+
1616
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1617
+ module Type
1618
+ extend MetronomeSDK::Internal::Type::Enum
1619
+
1620
+ CONTRACT_IDS = :CONTRACT_IDS
1621
+
1622
+ # @!method self.values
1623
+ # @return [Array<Symbol>]
1624
+ end
1625
+ end
1626
+
1627
+ # @!method self.variants
1628
+ # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1629
+ end
1630
+ end
1631
+
1527
1632
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#invoice_amount
1528
1633
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1529
1634
  # @!attribute credit_type_id
@@ -1551,7 +1656,6 @@ module MetronomeSDK
1551
1656
 
1552
1657
  # Determines whether the first and last commit will be prorated. If not provided,
1553
1658
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1554
- # subscription_config:
1555
1659
  #
1556
1660
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#proration
1557
1661
  module Proration
@@ -1699,6 +1803,13 @@ module MetronomeSDK
1699
1803
  # @return [Time, nil]
1700
1804
  optional :ending_before, Time
1701
1805
 
1806
+ # @!attribute hierarchy_configuration
1807
+ # Optional configuration for recurring commit/credit hierarchy access control
1808
+ #
1809
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration, nil]
1810
+ optional :hierarchy_configuration,
1811
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration }
1812
+
1702
1813
  # @!attribute name
1703
1814
  # Displayed on invoices. Will be passed through to the individual commits
1704
1815
  #
@@ -1714,7 +1825,6 @@ module MetronomeSDK
1714
1825
  # @!attribute proration
1715
1826
  # Determines whether the first and last commit will be prorated. If not provided,
1716
1827
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1717
- # subscription_config:
1718
1828
  #
1719
1829
  # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration, nil]
1720
1830
  optional :proration,
@@ -1748,7 +1858,7 @@ module MetronomeSDK
1748
1858
  optional :specifiers,
1749
1859
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier] }
1750
1860
 
1751
- # @!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)
1861
+ # @!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)
1752
1862
  # Some parameter documentations has been truncated, see
1753
1863
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit}
1754
1864
  # for more details.
@@ -1777,6 +1887,8 @@ module MetronomeSDK
1777
1887
  #
1778
1888
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1779
1889
  #
1890
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
1891
+ #
1780
1892
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
1781
1893
  #
1782
1894
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -1885,9 +1997,105 @@ module MetronomeSDK
1885
1997
  # @param id [String]
1886
1998
  end
1887
1999
 
2000
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#hierarchy_configuration
2001
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2002
+ # @!attribute child_access
2003
+ #
2004
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2005
+ required :child_access,
2006
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess }
2007
+
2008
+ # @!method initialize(child_access:)
2009
+ # Optional configuration for recurring commit/credit hierarchy access control
2010
+ #
2011
+ # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2012
+
2013
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration#child_access
2014
+ module ChildAccess
2015
+ extend MetronomeSDK::Internal::Type::Union
2016
+
2017
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
2018
+
2019
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
2020
+
2021
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
2022
+
2023
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2024
+ # @!attribute type
2025
+ #
2026
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2027
+ required :type,
2028
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
2029
+
2030
+ # @!method initialize(type:)
2031
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
2032
+
2033
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
2034
+ module Type
2035
+ extend MetronomeSDK::Internal::Type::Enum
2036
+
2037
+ ALL = :ALL
2038
+
2039
+ # @!method self.values
2040
+ # @return [Array<Symbol>]
2041
+ end
2042
+ end
2043
+
2044
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2045
+ # @!attribute type
2046
+ #
2047
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2048
+ required :type,
2049
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
2050
+
2051
+ # @!method initialize(type:)
2052
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2053
+
2054
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
2055
+ module Type
2056
+ extend MetronomeSDK::Internal::Type::Enum
2057
+
2058
+ NONE = :NONE
2059
+
2060
+ # @!method self.values
2061
+ # @return [Array<Symbol>]
2062
+ end
2063
+ end
2064
+
2065
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2066
+ # @!attribute contract_ids
2067
+ #
2068
+ # @return [Array<String>]
2069
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2070
+
2071
+ # @!attribute type
2072
+ #
2073
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2074
+ required :type,
2075
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
2076
+
2077
+ # @!method initialize(contract_ids:, type:)
2078
+ # @param contract_ids [Array<String>]
2079
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2080
+
2081
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
2082
+ module Type
2083
+ extend MetronomeSDK::Internal::Type::Enum
2084
+
2085
+ CONTRACT_IDS = :CONTRACT_IDS
2086
+
2087
+ # @!method self.values
2088
+ # @return [Array<Symbol>]
2089
+ end
2090
+ end
2091
+
2092
+ # @!method self.variants
2093
+ # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
2094
+ end
2095
+ end
2096
+
1888
2097
  # Determines whether the first and last commit will be prorated. If not provided,
1889
2098
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1890
- # subscription_config:
1891
2099
  #
1892
2100
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#proration
1893
2101
  module Proration