The properties of a promotion RepositoryItem are documented in the table below. These properties work together to form a description of what discount to give, under which conditions it should be given, and the mechanism by which the discount is applied.

In addition to the standard property types (strings, numbers, dates, etc.) promotions also include a property type unique to promotions items, pmdlRule, which stores the PMDL rule for the promotion as a string.

The following table describes the pricing model properties available in the Item, Shipping, Tax, and Order descriptors when you create a commerce item. These descriptors are defined in /atg/commerce/pricing/pricingModels.xml, which is located in <ATG11dir>/DCS/config/config.jar.

Property Name

Type

Values

Descriptions

adjuster
(display name: Discount Price or Percentage, depending on the discount type)

double

any double

Number by which the item is discounted. Works in conjunction with discountType to specify the discount to be applied. For example, an adjuster of 15 and a discountType of percentOff produce a discount of “15 percent off.”

Note: This property is no longer used, and is maintained only for backward compatibility.

allowMultiple
(display name: Give to a customer more than once)

boolean

true or false

Determines whether the promotion can be given to a customer only once. If set to false, the system grants the promotion only once. If set to true, the system adds a copy of the promotion to the customer’s profile every time the customer is granted the promotion.

Note: This property is ignored if the global property is set to true.

beginUsable
(display name: Usage start date)

time stamp

any date

The date that the promotion stops being effective. Used when the relativeExpiration property is set to false.

Together with the beginUsable date, defines the period within which the promotion is valid. If both values are null, the promotion is always valid.

creationDate
(display name: Creation date)

date

any date

Read-only. The date when the promotion was created.

description
(display name: Description)

string

any string

Provides a short description of the item.

discountType
(display name: Discount type)

string

precentOff
amountOff
fixedPriced

Read-only. The type of discount this promotion gives.

displayName
(display name: Name)

string

any string

Specifies the name visible in the user interface.

enabled
(display name: Enabled)

boolean

true or false

Specify true to enable the promotion. If enabled, the promotion takes effect according to the specified usage period. If disabled, the promotion never takes effect regardless of the usage period.

Note: As a general rule, you should never delete promotions and instead disable them by setting the enabled property to false. This approach eliminates the possibility of deleting a promotion that has been used in an order, which produces errors.

endDate
(display name: Distribute through)

date

any date

The date that the promotion stops being delivered to people, if the collection filtering feature is implemented to use this property.

endUsable
(display name: Usage end date)

time stamp

any date

The date that the promotion stops being effective. Used when the relativeExpiration property is set to false.

Together with the beginUsable date, defines the period within which the promotion is valid. If both values are null, the promotion is always valid.

evaluationLimit

integer

any integer.

This identifies the promotion limit that can be applied to an order. The default is set to -1, which sets this property to no limit.

giveToAnonymous
Profiles
(display name: Give to anonymous customers)

boolean

true or false

If both this property and the global property are false, then only registered visitors can receive the promotion. If this property is true, and the global property is false, then anonymous visitors and registered visitors can receive the promotion. In both cases, the visitors must meet any other conditions specified by the promotion in order to receive it.

Note: This property is ignored if the global property is set to true.

global
(display name: Automatically apply to all orders)

boolean

true or false

Setting the global property to true indicates that this promotion will be applied an unlimited number of times, to all visitors (including anonymous visitors), for use on an unlimited number of orders, during the specified usage period, regardless of the values set for the following properties:

-- allowMultiple
-- startDate
-- endDate
-- giveToAnonymousProfiles
-- relativeExpiration
-- timeUntilExpire
-- uses

Setting the global property to false indicates that the system delivers and applies the promotion according to all of the values specified for the promotion.

media
(display name: Media)

map

map of object to object

The media, such as icons, associated with this discount.

oneUserPerOrder
(display name: One use per order)

boolean

true or false

A property used for shipping promotions only. It determines whether a shipping promotion can discount a single order multiple times. If set to true, then only one shipping group in the order can use the promotion. If set to false, then it is possible for each shipping group in the order to be discounted by the promotion.

pmdlRule
(display name: Discount rule)

string

any valid PMDL rule

This is the PMDL rule describing the conditions under which this promotion should take effect.

pricingCalculator
Service

(display name: Pricing Calculator)

enum

calculator

The calculator that computes and applies this promotion’s discount.

Note: This property is no longer used, and is maintained only for backward compatibility.

priority
(display name: Order of application)

integer

any integer

The priority of the promotion. Promotions are applied in order of priority, with low priority numbers applied first. Engines sort the promotions by the value of this property.

Note that this property functions within the context of a particular promotion type. For example, you can specify how a given Item Discount promotion is applied compared to other Item Discount promotions, but not the order in which Item Discounts are applied compared to Shipping Discounts.

relativeExpiration
(display name: Usage Period)

boolean

true or false

Determines whether the usage period for the promotion is fixed or relative.

If false, the promotion’s usage period is determined by the dates set in the beginUsable and endUsable properties. If true, the promotion’s usage period is set according to the date it is received by the user (that is, when the promotion is added to the user’s activePromotions profile property). The start date and time is set when the user receives the promotion. The end date and time is set by the start date/time and the value of the timeUntilExpire property.

startDate
(display name: Distribute starting)

date

any date

The date that the promotion begins to be able to be delivered to people, if the collection filtering feature is implemented to use this property.

timeUntilExpire
(display name: Redeemable for)

int

any int

Determines the usage period in minutes for the promotion. Used when the relativeExpiration property is set to true.

The promotion becomes active as soon as the user receives the promotion; that is, the promotion is added to the list of promotions in the user’s activePromotions profile property. The expiration date and time is then determined by the number of minutes in timeUntilExpire to the current time.

Note: This property is ignored when the global property is set to true.

type
(hidden)

enum

Version 10 and later:

Item Discount
 Shipping
 Discount
Order
 Discount

Ready-only. The type of discount this promotion gives. This is set during item creation.

Note: For versions prior to Oracle ATG Web Commerce 10, values are:

Item Discount– Percent Off
Item Discount– Amount Off
Item Discount– Fixed Price
Item Discount– Multiplier
Shipping Discount- Percent Off
Shipping Discount- Amount Off
Shipping Discount - Fixed Price
Order Discount - Percent Off
Order Discount - Amount Off
Order Discount - Fixed Price

uses
(display name: Number of uses allowed per customer)

int

any positive integer, zero

The number of orders for a given customer to which the promotion can be applied. If this number hits zero, the promotion can no longer be applied.

Note: A promotion can sometimes discount a single order multiple times. This is still considered one “use.” For shipping promotions only, you can prevent the promotion from discounting a single order multiple times by setting the oneUsePerOrder property to true.

Note: This property is ignored when the global property is set to true.

version
(display name: Version)

long

any long

Hidden. Used by the SQL Repository to protect against data corruption caused by two different threads attempting to modify the same item the same time.

parentFolder
(display name: Parent Folder)

promotionFolder

any promotion
Folder item

The parent folder of the promotion.

sites
(display name: Sites)

set

set of Site
Configuration items

The siteConfiguration item or items with which the promotion is associated. Pricing engines should only evaluate promotions that include the current site context, or where both the sites and siteGroups properties are null.

siteGroups
(display name: Site Groups)

set

set of siteGroup items

The siteGroup or groups with which the promotion is associated. Pricing engines should only evaluate promotions whose siteGroups properties include the current site context or where sites and siteGroups are null.

template
(display name: Template)

string

any template name string

The template with which the promotion is associated. Promotions templates are used in Oracle ATG Web Commerce Merchandising; see the Merchandising Guide for Business Users.

templateValues
(hidden)

map

map of template place holder values

Placeholder values are used to build the PMDL from a template; see Adding New Promotions Templates.

uiAccessLevel
(hidden)

int

0 or 1

The value in this field identifies whether or not the promotion is read-only (0) or writeable (1).

pmdlVersion
(hidden)

int

1 or 2

The value in this field identifies whether the PMDL is pre-Oracle ATG Web Commerce 10 (version 1), or Oracle ATG Web Commerce 10 or later (version 2).

One important part of promotion creation is making sure that the promotion can only be used in the way you intend it to be used. Incorrectly worded or configured promotions could allow customers to receive greater benefits from the promotion than you intended. The following list describes issues to keep in mind when you are creating promotions:


Copyright © 1997, 2014 Oracle and/or its affiliates. All rights reserved. Legal Notices