RecordPromoCodes
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.
Use the RecordPromoCodes pipeline component to record the promotion codes that have been applied to the order and to add promotional discounts to the list of discounts for the order form.
Intended use: Order Processing pipeline, Order Adjust Price stage.
Values Read
The RecordPromoCodes pipeline component reads the following values from the indicated dictionaries.
Key |
Dictionary |
Description |
---|---|---|
_itemlevel_discounts_applied |
Order |
A SimpleList of Dictionaries where each Dictionary contains information about an item-level discount that was applied to the line item. |
_orderlevel_discounts_applied |
Order |
A SimpleList of Dictionaries where each Dictionary contains information about an order-level discount that was applied to the order. |
promo_code_info |
Order |
A Simplelist of Dictionaries that correspond to PromoCodeRecordCollection. The information in each entry is trusted by the ReservePromoCodes component for the amount of time specified by the i_PromoCodeRenewReservationAfter_Minutes resource property setting. After that interval has elapsed, a new lookup on the promotion code is performed and the entry is rebuilt with fresh information. |
promo_codes |
Order |
A Simplelist of strings containing the promotion codes entered by the user that correspond to PromoCodeStringCollection. |
CacheManager |
Context |
A CacheManager Object that is used for retrieving the cached set of discounts eligible for application. |
Values Written
The RecordPromoCodes pipeline component writes the following values to the indicated dictionaries.
Key |
Dictionary |
Description |
---|---|---|
_itemlevel_discounts_applied |
Order |
A SimpleList of Dictionaries where each Dictionary contains information about an item-level discount that was applied to the line item. The order of the list is significant and represents the order in which the discounts were applied to this line item. The Dictionary contains the following elements for each discount:
|
_orderlevel_discounts_applied |
Order |
A SimpleList of Dictionaries where each Dictionary contains information about an order-level discount that was applied to the order. The order of the list is significant and represents the order in which the discounts were applied to this line item. The Dictionary contains the following elements for each discount:
|
promo_code_info |
Order |
A Simplelist of Dictionaries that correspond to PromoCodeRecordCollection. On output, there is exactly one entry in this list for each promotion code string in the promo_codes list. The information in each entry is trusted by the ReservePromoCodes component for the amount of time specified by the i_PromoCodeRenewReservationAfter_Minutes resource property setting. After that interval has elapsed, a new lookup on the promotion code is performed and the entry is rebuilt with fresh information. |
Remarks
The RecordPromoCodes pipeline component performs two functions:
Updates the promo_code_info structures for which promotion codes have been applied (sets the promo_applied property to True).
Reviews the two optional lists (_itemlevel_discounts_applied and _orderlevel_discounts_applied) that might exist for each line item, adding promotion code information.
If any of the Dictionaries in these lists represents a discount that depends on a promotion code, the promotion code and the promotion code definition ID are added to the Dictionary. These Dictionaries correspond to DiscountApplicationRecord in the Orders run-time object model. The RecordPromoCodes pipeline component reads the set of discounts and their promotion code definition IDs from the Discount Content list.