Cloud Commerce Producer V1BETA API - Class Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer (v0.1.0)

Reference documentation and code samples for the Cloud Commerce Producer V1BETA API class Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer.

Configurations for the offer that is associated with a single product.

Inherits

  • Object

Extended By

  • Google::Protobuf::MessageExts::ClassMethods

Includes

  • Google::Protobuf::MessageExts

Methods

#amended_private_offer

def amended_private_offer() -> ::String
Returns
  • (::String) — Optional. An existing private offer that will be superseded by this offer. Unless the private offer is for a product type that supports multiple active orders, an amendment private offer must be transacted if and only if the destination customer billing account already contains an active order for the same product. The offer to be superseded must be the offer associated with an active order.

    Amendments generally fall into one of two scenarios:

    1. Active Order / Ended Offer: The term of the amended offer has ended but it is still associated with an active order. The new offer must amend the ended private offer.
    2. Active Order / Active Offer: The term of the amended offer is still active and the associated order is active. Similar to above, the new offer must amend the currently active offer (unless "multiple active orders" are supported).

    If this is set, then the base_standard_offer parent service must match the parent service of the base_standard_offer in the amended_private_offer.

    Active Term Restrictions: If the term of the amended private offer has NOT ended, then the following compatibility rules apply:

    • Price Model Compatibility:
      • Flat Fee (with or without usage) offers can amend Flat Fee offers.
      • Usage-only or CUD offers can amend usage-only offers.
      • Commitment-based offers must amend offers of the same price model subtype (e.g., "additional usage at list price" vs "all usage discounted").
    • Billing Frequency Compatibility: Determined by standard_interval or custom_interval_price.
      • If the amended offer has a custom billing frequency, the new offer must also have a custom frequency.
      • If the amended offer has a standard frequency (Monthly, Quarterly, or Yearly), the new offer must maintain the same frequency or transition to a custom frequency.
      • Switching between different standard frequencies (e.g., Monthly to Quarterly) is not supported.
      • For Monthly frequency, switching between MONTHLY_PRORATED and MONTHLY_NOT_PRORATED is supported, unless the offer's term.end_policy is MATCH_AMENDED_OFFER.
      • For usage-only offers, there are no billing frequency restrictions.

    Other criteria for offer amendment are detailed elsewhere.

    Note: The following fields are mutually exclusive: amended_private_offer, amended_standard_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.

#amended_private_offer=

def amended_private_offer=(value) -> ::String
Parameter
  • value (::String) — Optional. An existing private offer that will be superseded by this offer. Unless the private offer is for a product type that supports multiple active orders, an amendment private offer must be transacted if and only if the destination customer billing account already contains an active order for the same product. The offer to be superseded must be the offer associated with an active order.

    Amendments generally fall into one of two scenarios:

    1. Active Order / Ended Offer: The term of the amended offer has ended but it is still associated with an active order. The new offer must amend the ended private offer.
    2. Active Order / Active Offer: The term of the amended offer is still active and the associated order is active. Similar to above, the new offer must amend the currently active offer (unless "multiple active orders" are supported).

    If this is set, then the base_standard_offer parent service must match the parent service of the base_standard_offer in the amended_private_offer.

    Active Term Restrictions: If the term of the amended private offer has NOT ended, then the following compatibility rules apply:

    • Price Model Compatibility:
      • Flat Fee (with or without usage) offers can amend Flat Fee offers.
      • Usage-only or CUD offers can amend usage-only offers.
      • Commitment-based offers must amend offers of the same price model subtype (e.g., "additional usage at list price" vs "all usage discounted").
    • Billing Frequency Compatibility: Determined by standard_interval or custom_interval_price.
      • If the amended offer has a custom billing frequency, the new offer must also have a custom frequency.
      • If the amended offer has a standard frequency (Monthly, Quarterly, or Yearly), the new offer must maintain the same frequency or transition to a custom frequency.
      • Switching between different standard frequencies (e.g., Monthly to Quarterly) is not supported.
      • For Monthly frequency, switching between MONTHLY_PRORATED and MONTHLY_NOT_PRORATED is supported, unless the offer's term.end_policy is MATCH_AMENDED_OFFER.
      • For usage-only offers, there are no billing frequency restrictions.

    Other criteria for offer amendment are detailed elsewhere.

    Note: The following fields are mutually exclusive: amended_private_offer, amended_standard_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns
  • (::String) — Optional. An existing private offer that will be superseded by this offer. Unless the private offer is for a product type that supports multiple active orders, an amendment private offer must be transacted if and only if the destination customer billing account already contains an active order for the same product. The offer to be superseded must be the offer associated with an active order.

    Amendments generally fall into one of two scenarios:

    1. Active Order / Ended Offer: The term of the amended offer has ended but it is still associated with an active order. The new offer must amend the ended private offer.
    2. Active Order / Active Offer: The term of the amended offer is still active and the associated order is active. Similar to above, the new offer must amend the currently active offer (unless "multiple active orders" are supported).

    If this is set, then the base_standard_offer parent service must match the parent service of the base_standard_offer in the amended_private_offer.

    Active Term Restrictions: If the term of the amended private offer has NOT ended, then the following compatibility rules apply:

    • Price Model Compatibility:
      • Flat Fee (with or without usage) offers can amend Flat Fee offers.
      • Usage-only or CUD offers can amend usage-only offers.
      • Commitment-based offers must amend offers of the same price model subtype (e.g., "additional usage at list price" vs "all usage discounted").
    • Billing Frequency Compatibility: Determined by standard_interval or custom_interval_price.
      • If the amended offer has a custom billing frequency, the new offer must also have a custom frequency.
      • If the amended offer has a standard frequency (Monthly, Quarterly, or Yearly), the new offer must maintain the same frequency or transition to a custom frequency.
      • Switching between different standard frequencies (e.g., Monthly to Quarterly) is not supported.
      • For Monthly frequency, switching between MONTHLY_PRORATED and MONTHLY_NOT_PRORATED is supported, unless the offer's term.end_policy is MATCH_AMENDED_OFFER.
      • For usage-only offers, there are no billing frequency restrictions.

    Other criteria for offer amendment are detailed elsewhere.

    Note: The following fields are mutually exclusive: amended_private_offer, amended_standard_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.

#amended_standard_offer

def amended_standard_offer() -> ::String
Returns
  • (::String) — Optional. An existing standard offer that will be superseded by this offer. An amendment private offer must be transacted if the destination customer billing account already contains an active order for the same product, and otherwise cannot be transacted. The offer to be superseded must be the offer associated with the active order.

    If this is set, then the base_standard_offer must contain the same parent service as the parent service of the amended_standard_offer. The price model of this offer must be compatible with the price model of the amended_standard_offer:

    • Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat Fee with usage standard offers.
    • Usage-only offers, or CUD offers can amend usage-only standard offers.

    Other criteria for offer amendment are detailed elsewhere.

    Note: The following fields are mutually exclusive: amended_standard_offer, amended_private_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.

#amended_standard_offer=

def amended_standard_offer=(value) -> ::String
Parameter
  • value (::String) — Optional. An existing standard offer that will be superseded by this offer. An amendment private offer must be transacted if the destination customer billing account already contains an active order for the same product, and otherwise cannot be transacted. The offer to be superseded must be the offer associated with the active order.

    If this is set, then the base_standard_offer must contain the same parent service as the parent service of the amended_standard_offer. The price model of this offer must be compatible with the price model of the amended_standard_offer:

    • Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat Fee with usage standard offers.
    • Usage-only offers, or CUD offers can amend usage-only standard offers.

    Other criteria for offer amendment are detailed elsewhere.

    Note: The following fields are mutually exclusive: amended_standard_offer, amended_private_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns
  • (::String) — Optional. An existing standard offer that will be superseded by this offer. An amendment private offer must be transacted if the destination customer billing account already contains an active order for the same product, and otherwise cannot be transacted. The offer to be superseded must be the offer associated with the active order.

    If this is set, then the base_standard_offer must contain the same parent service as the parent service of the amended_standard_offer. The price model of this offer must be compatible with the price model of the amended_standard_offer:

    • Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat Fee with usage standard offers.
    • Usage-only offers, or CUD offers can amend usage-only standard offers.

    Other criteria for offer amendment are detailed elsewhere.

    Note: The following fields are mutually exclusive: amended_standard_offer, amended_private_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.

#base_standard_offer

def base_standard_offer() -> ::String
Returns
  • (::String) — Optional. The StandardOffer this PrivateOffer is based on. Must be in the same project as the private offer, and must be effective at the time of publishing. Must be present to publish the offer.

    Format: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}

#base_standard_offer=

def base_standard_offer=(value) -> ::String
Parameter
  • value (::String) — Optional. The StandardOffer this PrivateOffer is based on. Must be in the same project as the private offer, and must be effective at the time of publishing. Must be present to publish the offer.

    Format: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}

Returns
  • (::String) — Optional. The StandardOffer this PrivateOffer is based on. Must be in the same project as the private offer, and must be effective at the time of publishing. Must be present to publish the offer.

    Format: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}

#contract_value

def contract_value() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::ContractValue
Returns

#custom_interval_price

def custom_interval_price() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice
Returns
  • (::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice) — Optional. Price configurations for offers with custom intervals. Custom interval corresponds to "custom billing frequency", see https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. A price must be set when publishing the offer.

    Note: The following fields are mutually exclusive: custom_interval_price, standard_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.

#custom_interval_price=

def custom_interval_price=(value) -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice
Parameter
  • value (::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice) — Optional. Price configurations for offers with custom intervals. Custom interval corresponds to "custom billing frequency", see https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. A price must be set when publishing the offer.

    Note: The following fields are mutually exclusive: custom_interval_price, standard_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns
  • (::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice) — Optional. Price configurations for offers with custom intervals. Custom interval corresponds to "custom billing frequency", see https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. A price must be set when publishing the offer.

    Note: The following fields are mutually exclusive: custom_interval_price, standard_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.

#effective_installment_timeline

def effective_installment_timeline() -> ::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Installment>
Returns
  • (::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Installment>) — Output only. The effective installment timeline of the offer. Not included for PRIVATE_OFFER_VIEW_BASIC. Included for PRIVATE_OFFER_VIEW_FULL if all necessary information is available to generate the timeline, and if the offer has 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.

#features

def features() -> ::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>
Returns
  • (::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>) — Optional. The custom product features to display for this offer. Feature display_name values must be unique to publish the offer. The set of features specified here should generally include all features included in the base service level, with optionally customized values, but is not required to match exactly and may include additional features.

#features=

def features=(value) -> ::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>
Parameter
  • value (::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>) — Optional. The custom product features to display for this offer. Feature display_name values must be unique to publish the offer. The set of features specified here should generally include all features included in the base service level, with optionally customized values, but is not required to match exactly and may include additional features.
Returns
  • (::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>) — Optional. The custom product features to display for this offer. Feature display_name values must be unique to publish the offer. The set of features specified here should generally include all features included in the base service level, with optionally customized values, but is not required to match exactly and may include additional features.

#reseller_private_offer_plan_id

def reseller_private_offer_plan_id() -> ::String
Returns
  • (::String) — Output only. Present for offers created by a reseller from a reseller private offer plan (RPOP). When set, contains the ID of the originating RPOP. Not included for PRIVATE_OFFER_VIEW_BASIC.

#revenue_share

def revenue_share() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::RevenueShare
Returns

#service_level

def service_level() -> ::String
Returns
  • (::String) — Output only. The service level (also known as the 'plan') of the base standard offer. The value is populated at publish time from the base standard offer.

#standard_interval_price

def standard_interval_price() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice
Returns

#standard_interval_price=

def standard_interval_price=(value) -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice
Parameter
Returns