Module: Google::Cloud::CommerceProducer::V1beta::PrivateOffer::Term::EndPolicy

Defined in:
proto_docs/google/cloud/commerceproducer/v1beta/private_offer.rb

Overview

Defines when an offer should end.

Constant Summary collapse

END_POLICY_UNSPECIFIED =

Default value. This value is unused.

0
AFTER_DURATION =

Offer ends after the specified duration. If this is set, then duration_months must be positive.

1
SCHEDULED_END_TIME =

Offer ends at the schduled time.

2
MATCH_AMENDED_OFFER =

Offer coterms to the amended offer - the offer ends at the end of the amended offer's term

For example, if the amended offer starts on 01/15/24, and has a duration of 6 months, then it ends on 07/15/24. If the current offer coterms to the previous offer, and the current offer starts on 05/06/24, then it will still end on 07/15/24. Assuming the current offer renews 3 times, then the terms on the current offer will be:

  1. 05/06/24 - 07/15/24 (First term, ends on 07/15 to coterm with the amended offer)
  2. 07/15/24 - 01/15/25 (First renewal term)
  3. 01/15/25 - 07/15/25 (Second renewal term)
  4. 07/15/25 - 01/15/26 (Third renewal term)

As a contrast, if the current offer does not coterm with the amended offer (such as when end_policy is AFTER_DURATION), then the terms will be:

  1. 05/06/24 - 11/06/24 (First term, ends on 11/06, no coterming)
  2. 11/06/24 - 05/06/25 (First renewal term)
  3. 05/06/25 - 11/06/25 (Second renewal term)
  4. 11/06/25 - 05/06/26 (Third renewal term)

If this is set, then the following conditions must be met:

  • single_product_offer.amended_private_offer must be set, and the amended private offer must not be ended.
  • The proration policy must not change (e.g., you cannot switch between MONTHLY_PRORATED and MONTHLY_NOT_PRORATED).
  • The current offer must not have custom intervals (where custom_interval_price is set).
  • term.duration_months must match the amended private offer's duration.
  • The amended private offer must not have a standard interval of MONTHLY_POSTPAY.

This is currently not supported.

3