Class: MetronomeSDK::Models::V1::ContractCreateParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/metronome_sdk/models/v1/contract_create_params.rb

Overview

Defined Under Namespace

Modules: MultiplierOverridePrioritization, ScheduledChargesOnUsageInvoices Classes: BillingProviderConfiguration, Commit, Credit, Discount, HierarchyConfiguration, Override, ProfessionalService, RecurringCommit, RecurringCredit, ResellerRoyalty, ScheduledCharge, Subscription, Transition, UsageStatementSchedule

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(timestamp: , amount: nil, quantity: nil, unit_price: nil) ⇒ Object

Some parameter documentations has been truncated, see MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem for more details.

Parameters:

  • timestamp (Time) (defaults to: )

    timestamp of the scheduled event

  • amount (Float) (defaults to: nil)

    Amount for the charge. Can be provided instead of unit_price and quantity. If am

  • quantity (Float) (defaults to: nil)

    Quantity for the charge. Will be multiplied by unit_price to determine the amoun

  • unit_price (Float) (defaults to: nil)

    Unit price for the charge. Will be multiplied by quantity to determine the amoun



# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 1332


Instance Attribute Details

#billing_provider_configurationMetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration?

The billing provider configuration associated with a contract. Provide either an ID or the provider and delivery method.



27
28
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 27

optional :billing_provider_configuration,
-> { MetronomeSDK::V1::ContractCreateParams::BillingProviderConfiguration }

#commitsArray<MetronomeSDK::Models::V1::ContractCreateParams::Commit>?



33
34
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 33

optional :commits,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Commit] }

#creditsArray<MetronomeSDK::Models::V1::ContractCreateParams::Credit>?



39
40
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 39

optional :credits,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Credit] }

#custom_fieldsHash{Symbol=>String}?

Custom fields to be added eg. { “key1”: “value1”, “key2”: “value2” }

Returns:

  • (Hash{Symbol=>String}, nil)


46
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 46

optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]

#customer_idString

Returns:

  • (String)


14
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 14

required :customer_id, String

#discountsArray<MetronomeSDK::Models::V1::ContractCreateParams::Discount>?

This field’s availability is dependent on your client’s configuration.



52
53
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 52

optional :discounts,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Discount] }

#ending_beforeTime?

exclusive contract end time

Returns:

  • (Time, nil)


59
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 59

optional :ending_before, Time

#hierarchy_configurationMetronomeSDK::Models::V1::ContractCreateParams::HierarchyConfiguration?



64
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 64

optional :hierarchy_configuration, -> { MetronomeSDK::V1::ContractCreateParams::HierarchyConfiguration }

#multiplier_override_prioritizationSymbol, ...

Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list prices automatically. EXPLICIT prioritization requires specifying priorities for each multiplier; the one with the lowest priority value will be prioritized first. If tiered overrides are used, prioritization must be explicit.



73
74
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 73

optional :multiplier_override_prioritization,
enum: -> { MetronomeSDK::V1::ContractCreateParams::MultiplierOverridePrioritization }

#nameString?

Returns:

  • (String, nil)


79
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 79

optional :name, String

#net_payment_terms_daysFloat?

Returns:

  • (Float, nil)


84
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 84

optional :net_payment_terms_days, Float

#netsuite_sales_order_idString?

This field’s availability is dependent on your client’s configuration.

Returns:

  • (String, nil)


90
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 90

optional :netsuite_sales_order_id, String

#overridesArray<MetronomeSDK::Models::V1::ContractCreateParams::Override>?



95
96
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 95

optional :overrides,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Override] }

#prepaid_balance_threshold_configurationMetronomeSDK::Models::PrepaidBalanceThresholdConfiguration?



101
102
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 101

optional :prepaid_balance_threshold_configuration,
-> { MetronomeSDK::PrepaidBalanceThresholdConfiguration }

#priorityFloat?

Priority of the contract.

Returns:

  • (Float, nil)


108
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 108

optional :priority, Float

#professional_servicesArray<MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService>?

This field’s availability is dependent on your client’s configuration.



114
115
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 114

optional :professional_services,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ProfessionalService] }

#rate_card_aliasString?

Selects the rate card linked to the specified alias as of the contract’s start date.

Returns:

  • (String, nil)


122
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 122

optional :rate_card_alias, String

#rate_card_idString?

Returns:

  • (String, nil)


127
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 127

optional :rate_card_id, String

#recurring_commitsArray<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit>?



132
133
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 132

optional :recurring_commits,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCommit] }

#recurring_creditsArray<MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit>?



138
139
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 138

optional :recurring_credits,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::RecurringCredit] }

#reseller_royaltiesArray<MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty>?

This field’s availability is dependent on your client’s configuration.



145
146
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 145

optional :reseller_royalties,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ResellerRoyalty] }

#salesforce_opportunity_idString?

This field’s availability is dependent on your client’s configuration.

Returns:

  • (String, nil)


152
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 152

optional :salesforce_opportunity_id, String

#scheduled_chargesArray<MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge>?



157
158
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 157

optional :scheduled_charges,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::ScheduledCharge] }

#scheduled_charges_on_usage_invoicesSymbol, ...

Determines which scheduled and commit charges to consolidate onto the Contract’s usage invoice. The charge’s ‘timestamp` must match the usage invoice’s ‘ending_before` date for consolidation to occur. This field cannot be modified after a Contract has been created. If this field is omitted, charges will appear on a separate invoice from usage charges.



168
169
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 168

optional :scheduled_charges_on_usage_invoices,
enum: -> { MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices }

#spend_threshold_configurationMetronomeSDK::Models::SpendThresholdConfiguration?



174
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 174

optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }

#starting_atTime

inclusive contract start time

Returns:

  • (Time)


20
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 20

required :starting_at, Time

#subscriptionsArray<MetronomeSDK::Models::V1::ContractCreateParams::Subscription>?

Optional list of [subscriptions](docs.metronome.com/manage-product-access/create-subscription/) to add to the contract.



182
183
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 182

optional :subscriptions,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::ContractCreateParams::Subscription] }

#total_contract_valueFloat?

This field’s availability is dependent on your client’s configuration.

Returns:

  • (Float, nil)


189
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 189

optional :total_contract_value, Float

#transitionMetronomeSDK::Models::V1::ContractCreateParams::Transition?



194
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 194

optional :transition, -> { MetronomeSDK::V1::ContractCreateParams::Transition }

#uniqueness_keyString?

Prevents the creation of duplicates. If a request to create a record is made with a previously used uniqueness key, a new record will not be created and the request will fail with a 409 error.

Returns:

  • (String, nil)


202
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 202

optional :uniqueness_key, String

#usage_filterMetronomeSDK::Models::BaseUsageFilter?



207
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 207

optional :usage_filter, -> { MetronomeSDK::BaseUsageFilter }

#usage_statement_scheduleMetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule?



212
# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 212

optional :usage_statement_schedule, -> { MetronomeSDK::V1::ContractCreateParams::UsageStatementSchedule }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/v1/contract_create_params.rb', line 348