Class Coupon

<!-- prettier-ignore-start -->

Represents a coupon in Commerce Cloud Digital.

Constant Summary

Constant Description
TYPE_MULTIPLE_CODES: String = "MULTIPLE_CODES" Constant representing coupon type multiple-codes.
TYPE_SINGLE_CODE: String = "SINGLE_CODE" Constant representing coupon type single-code.
TYPE_SYSTEM_CODES: String = "SYSTEM_CODES" Constant representing coupon type system-codes.

Property Summary

Property Description
ID: String (read-only) Returns the ID of the coupon.
codePrefix: String (read-only) Returns the prefix defined for coupons of type TYPE_SYSTEM_CODES If no prefix is defined, or coupon is of type TYPE_SINGLE_CODE or TYPE_MULTIPLE_CODES, null is returned.
enabled: Boolean (read-only) Returns true if coupon is enabled, else false.
nextCouponCode: String (read-only) Returns the next unissued code of this coupon.
promotions: Collection (read-only) Returns the coupon-based promotions directly or indirectly (through campaigns) assigned to this coupon.
redemptionLimitPerCode: Number (read-only) Returns the defined limit on redemption per coupon code.
redemptionLimitPerCustomer: Number (read-only) Returns the defined limit on redemption of this coupon per customer.
redemptionLimitPerTimeFrame: Number (read-only) Returns the defined limit on redemption per customer per time-frame (see getRedemptionLimitTimeFrame().
redemptionLimitTimeFrame: Number (read-only) Returns the time-frame (in days) of the defined limit on redemption per customer per time-frame.
type: String (read-only) Returns the coupon type.

Constructor Summary

This class does not have a constructor, so you cannot create it directly.

Method Summary

Method Description
getCodePrefix() Returns the prefix defined for coupons of type TYPE_SYSTEM_CODES If no prefix is defined, or coupon is of type TYPE_SINGLE_CODE or TYPE_MULTIPLE_CODES, null is returned.
getID() Returns the ID of the coupon.
getNextCouponCode() Returns the next unissued code of this coupon.
getPromotions() Returns the coupon-based promotions directly or indirectly (through campaigns) assigned to this coupon.
getRedemptionLimitPerCode() Returns the defined limit on redemption per coupon code.
getRedemptionLimitPerCustomer() Returns the defined limit on redemption of this coupon per customer.
getRedemptionLimitPerTimeFrame() Returns the defined limit on redemption per customer per time-frame (see getRedemptionLimitTimeFrame().
getRedemptionLimitTimeFrame() Returns the time-frame (in days) of the defined limit on redemption per customer per time-frame.
getType() Returns the coupon type.
isEnabled() Returns true if coupon is enabled, else false.

Methods inherited from class PersistentObject

getCreationDate, getLastModified, getUUID

Methods inherited from class Object

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

Constant Details

TYPE_MULTIPLE_CODES

  • TYPE_MULTIPLE_CODES: String = "MULTIPLE_CODES"
    • : Constant representing coupon type multiple-codes.

TYPE_SINGLE_CODE

  • TYPE_SINGLE_CODE: String = "SINGLE_CODE"
    • : Constant representing coupon type single-code.

TYPE_SYSTEM_CODES

  • TYPE_SYSTEM_CODES: String = "SYSTEM_CODES"
    • : Constant representing coupon type system-codes.

Property Details

ID

  • ID: String (read-only)
    • : Returns the ID of the coupon.

codePrefix


enabled

  • enabled: Boolean (read-only)
    • : Returns true if coupon is enabled, else false.

nextCouponCode

  • nextCouponCode: String (read-only)
    • : Returns the next unissued code of this coupon. For single-code coupons, the single fixed coupon code is returned. For all multi-code coupons, the next available, unissued coupon code is returned. If all codes of the coupon have been issued, then there is no next code, and null is returned.

      A transaction is required when calling this method. This needs to be ensured by the calling script.


promotions

  • promotions: Collection (read-only)
    • : Returns the coupon-based promotions directly or indirectly (through campaigns) assigned to this coupon.

redemptionLimitPerCode

  • redemptionLimitPerCode: Number (read-only)
    • : Returns the defined limit on redemption per coupon code. Null is returned if no limit is defined, which means that each code can be redeemed an unlimited number of times.

redemptionLimitPerCustomer

  • redemptionLimitPerCustomer: Number (read-only)
    • : Returns the defined limit on redemption of this coupon per customer. Null is returned if no limit is defined, which means that customers can redeem this coupon an unlimited number of times.

redemptionLimitPerTimeFrame


redemptionLimitTimeFrame

  • redemptionLimitTimeFrame: Number (read-only)
    • : Returns the time-frame (in days) of the defined limit on redemption per customer per time-frame. Null is returned if no limit is defined, which means that there is no time-specific redemption limit for customers.

      See Also:


type


Method Details

getCodePrefix()


getID()

  • getID(): String
    • : Returns the ID of the coupon.

      Returns:

      • Coupon ID

getNextCouponCode()

  • getNextCouponCode(): String
    • : Returns the next unissued code of this coupon. For single-code coupons, the single fixed coupon code is returned. For all multi-code coupons, the next available, unissued coupon code is returned. If all codes of the coupon have been issued, then there is no next code, and null is returned.

      A transaction is required when calling this method. This needs to be ensured by the calling script.

      Returns:

      • Next available code of this coupon, or null if there are no available codes.

getPromotions()

  • getPromotions(): Collection
    • : Returns the coupon-based promotions directly or indirectly (through campaigns) assigned to this coupon.

      Returns:

      • Promotions assigned to the coupon in no particular order.

getRedemptionLimitPerCode()

  • getRedemptionLimitPerCode(): Number
    • : Returns the defined limit on redemption per coupon code. Null is returned if no limit is defined, which means that each code can be redeemed an unlimited number of times.

      Returns:

      • The maximum number of redemption per coupon code

getRedemptionLimitPerCustomer()

  • getRedemptionLimitPerCustomer(): Number
    • : Returns the defined limit on redemption of this coupon per customer. Null is returned if no limit is defined, which means that customers can redeem this coupon an unlimited number of times.

      Returns:

      • The maximum number of redemption per customer

getRedemptionLimitPerTimeFrame()

  • getRedemptionLimitPerTimeFrame(): Number
    • : Returns the defined limit on redemption per customer per time-frame (see getRedemptionLimitTimeFrame(). Null is returned if no limit is defined, which means that there is no time-specific redemption limit for customers.

      Returns:

      • The maximum number of redemption per customer within time-frame

      See Also:


getRedemptionLimitTimeFrame()

  • getRedemptionLimitTimeFrame(): Number
    • : Returns the time-frame (in days) of the defined limit on redemption per customer per time-frame. Null is returned if no limit is defined, which means that there is no time-specific redemption limit for customers.

      Returns:

      • Timeframe (days) of redemption per time

      See Also:


getType()


isEnabled()

  • isEnabled(): Boolean
    • : Returns true if coupon is enabled, else false.

      Returns:

      • true if coupon is enabled.

<!-- prettier-ignore-end -->