You are on page 1of 2

Oracle Commerce Pricing Basics

Agenda
1. Public Pricing Interfaces and Classes
2. Default Pricing Calculators
3. Default Pricing Engines
4. Re-pricing Orders
5. Using Price Lists


What is 'Pricing' in ATG Commerce?
1. Flexible framework for generating prices
2. Services that work together for dynamic pricing
3. Fine-grained price calculation
4. Prices affected by changing environment
- User profile and history
- Products in cart
- Global discounts
- User locale
5. Coupons and Gift certificates


What Can be Priced Dynamically?
1. 4 commerce object types out-of-the-box:
- Item
- Order
- Shipping
- Tax
2. Similar pricing mechanism for each
- Since the pricing mechanism for each of the commerce objects is so similar, this chapter will discuss
that mechanism in general terms as they apply to all of them



4 Elements of Pricing in ATG Commerce

4 major Pricing Classes/ Interfaces
1. Pricing Engine
- 4 Interfaces (1 for each major object type)
- Implementations use calculators to set prices
2. Calculator
- 4 Interfaces (1 for each major object type)
- Alerts price by predetermined amount
3. Calculator
- Helper class called by calculator
- Determines what to discount
4. PriceInfo
- 4 classes (1 for each major object type)
- contains price information of object



How Does Pricing Work?
This example shows how to display a discounted price in a page. Note that each of the 4 commerce objects (item,
order, shipping, tax) has a similar pricing and discounting structure, the details of which will be discussed later.

Oracle Commerce Pricing services are based on 2 complementary elements:
1. Pricing Engines
2. Pricing Calculators

1. Pricing Engine does:
a. Retrieving any promotions that are available to site visitors
b. Determining which pricing calculators generates prices
c. Invoking the calculators in correct order
2. Pricing calculators does:
a. Looking up the price
b. Using the information they receive from Pricing Engines, Promotions, and Qualifier Service to
determine prices.

The following overview describes the way Oracle Commerce calculates the prices:
a. Before pricing happens the following steps take place:
1. On a scheduled basis, the pricing engines load global promotions( those defined as apply
automatically to all customers). An engine builds its list by using its globalPromotionsQuery property
to query the Promotions repository, searching for any promotion where the Automatically Give to All
Customers (global) property is set to true. Each engine loads the global promotions that are
specific to that Pricing engine; for example, the ItemPricingEngine loads the global Item Discount
promotions.

2. At the start of the customer session, a PricingModelHolder instance is created.
PricingModelHolder calls each PricingEngine's getPricingModels() method.

3. The pricing engine getPricingModels() method gets any promotions listed in the activePromotions
property of the current customer's profile and merges them with the global promotions list it previously
created. The PricingEngine can also veto promotions from being returned to the PricingModelHolder at
this point.

4. PricingModelHolder periodically updates the both the global and active promotions.

http://docs.oracle.com/cd/E24152_01/Platform.10-
1/ATGCommProgGuide/html/s0804howpricingservicesgenerateprices01.html

You might also like