|
Home > Archive > Content Selection Framework > February 2004 > RE: Identifying discounts applied in catalog / display
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
RE: Identifying discounts applied in catalog / display
|
|
| Dave Milner 2004-02-07, 9:38 am |
| Hi Ken,
Thanks for the response. I got a lot of ideas out of what
you presented. I think the Virtual Catalogs we may bring
into play in a later project dealing with preferred
customer pricing.
I'm still not wanting to take on the overhead in our
Product Details page of loading a temporary basket with
all the products displayed to get at the discounts. My
gut feel is that's going to add too much load time to that
page.
But some of what you said sparked a combination design
idea - I think I can add a little functionality to BizDesk
when defining discounts to write to custom tables of
products and / or categories to indicate there is a
discount there. Then I can just access those tables
cached from the product page to display the discount
message. This would also cover some of the cross product
combinations - buy X get Y free - we could designate in
BizDesk to display this under either product info.
Anyway thanks for doing some design discussion with me -
it helped to solidify a good direction.
Regards,
Dave
>-----Original Message-----
>Hi Dave,
> There are two ways to apply pricing to products
>1. Use Virtual Catalogs
>2. Use Campaign Discounts
> The virtual catalog will show the discounted price to
the user directly
>and may not be an avenue for you.
> The Discounting system works by creating expressions
and evaluating them.
> This expression evaluation will need to be performed in
order to know if a
>given discount is available. The discounting system and
expressions are
>very versatile and this may be creating the extra
overhead that you want to
>avoid.
>
> To simplify you may want to only evaluate expressions
for discounts that
>are product specific or do a pricing table lookup to see
if there is a
>better price being offered.
>
> Solutions are:
>1. Use Virutal Catalogs - assuming all virtual catalogs
decrease price you
>can show "promotional price" message for all virtual
product pages.
>2. Create a simple pricing look up table - add the
product code and
>promotional price and output cache the result for
performance. This avoids
>the discounting system alltogether so you will need to
write a new
>component for the basket pipeline to modify product
prices in the basket
>too.
>3. Create a temporary basket with the product in it. Run
the basket
>pipeline. Loop through the discounts if any that have
been applied and
>display the appropriate message. Output cache the result
against the
>product id. (NOTE: works for single product baskets only
and may exculde
>other discounts that may apply to a real user's basket).
>
>All these solutions work for single product discounts and
will not take
>into the myriad of other possible discounts that also may
be applied to any
>given product like ...
>Leveraged discount: buy product X get y% off of product Z
>Order level discount: Get x% off of orders over $y
>Free shipping: Buy X of product Y and get free shipping
or spend $X and
>get free shipping
>
>Ken
>
>--------------------
>Content-Class: urn:content-classes:message
>From: "Dave Milner" <dmilner@discussions.microsoft.com>
>Sender: "Dave Milner" <dmilner@discussions.microsoft.com>
>Subject: Identifying discounts applied in catalog /
display
>Date: Mon, 15 Dec 2003 09:28:59 -0800
>Lines: 43
>Message-ID: <076a01c3c330$ecd75f50$a001280a@phx.gbl>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="iso-8859-1"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Thread-Index: AcPDMOzVouOxrXNrS32DN4QF3FUh6A==
>X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>Newsgroups: microsoft.public.commerceserver.campaigns_csf
>Path: cpmsftngxa07.phx.gbl
>Xref: cpmsftngxa07.phx.gbl
>microsoft.public.commerceserver.campaigns_csf:2430
>NNTP-Posting-Host: tk2msftngxa08.phx.gbl 10.40.1.160
>X-Tomcat-NG: microsoft.public.commerceserver.campaigns_csf
>
>I'm currently implementing some displays and
customization
>of the campaigns module in CS2002.
>
>One of the things we are desiring to do is to display to
>the user when they are looking at our product details
>information whether or not a discount applies to that
>product in the catalog. The idea is to display on our
>product listing a specific icon and message description
>(which could be the API content payload) but have it tied
>to what applies to this current product in the catalog.
>
>The current API doesn't seem to be set up that well to do
>something like this. I've looked into some of the
>different .NET classes in
>Microsoft.CommerceServer.Runtime.Targeting, but the
>functionality there seems centered around targeting with
>respect to user profiles and page groups (both of which I
>have implemented).
>
>The functionality I seem to want to take advantage of
>seems to be some of the pipeline components in the
>basket.pcf pipe, such as the
>Commerce.RequiredItemAdjustPriceCy.1 component or the
>OrderDiscount components. However, they are pretty well
>set up to do this within the context of the
>TransactionContext Basket dictionaries.
>
>The only idea I had to get at this functionality is to
>mock up some kind of a temporary basket on the product
>details page, add every single catalog item that's
>returned in the catalog selection, then run the discounts
>pipeline. That may introduce more overhead than I want
to
>incur, but it sounded a little better than trying to
>extract something walking the XML data islands in the
>ExprBody column of the ES_Expr_Info table.
>
>Any ideas on a better approach here? It seems to be a
>pretty straightforward business requirement - show a
>product list, and display a "10% off" discount message
>next to the products that are 10% off.
>
>Regards,
>Dave
>
>
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>
>EBusiness Server Team
| |
| Ken Knight [MSFT] 2004-02-07, 9:38 am |
| You are most welcome.
Ken
--------------------
Content-Class: urn:content-classes:message
From: "Dave Milner" <david.milner@NOSPAM.microchip.com>
Sender: "Dave Milner" <david.milner@NOSPAM.microchip.com>
References: <076a01c3c330$ecd75f50$a001280a@phx.gbl>
<d5XNPZ90DHA.2900@cpmsftngxa07.phx.gbl>
Subject: RE: Identifying discounts applied in catalog / display
Date: Thu, 8 Jan 2004 13:36:28 -0800
Lines: 164
Message-ID: <040d01c3d62f$796e61f0$a301280a@phx.gbl>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Newsreader: Microsoft CDO for Windows 2000
X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
thread-index: AcPWL3lugpNghiSeRY+UjbSADyaDQA==
Newsgroups: microsoft.public.commerceserver.campaigns_csf
Path: cpmsftngxa07.phx.gbl
Xref: cpmsftngxa07.phx.gbl
microsoft.public.commerceserver.campaigns_csf:2457
NNTP-Posting-Host: tk2msftngxa11.phx.gbl 10.40.1.163
X-Tomcat-NG: microsoft.public.commerceserver.campaigns_csf
Hi Ken,
Thanks for the response. I got a lot of ideas out of what
you presented. I think the Virtual Catalogs we may bring
into play in a later project dealing with preferred
customer pricing.
I'm still not wanting to take on the overhead in our
Product Details page of loading a temporary basket with
all the products displayed to get at the discounts. My
gut feel is that's going to add too much load time to that
page.
But some of what you said sparked a combination design
idea - I think I can add a little functionality to BizDesk
when defining discounts to write to custom tables of
products and / or categories to indicate there is a
discount there. Then I can just access those tables
cached from the product page to display the discount
message. This would also cover some of the cross product
combinations - buy X get Y free - we could designate in
BizDesk to display this under either product info.
Anyway thanks for doing some design discussion with me -
it helped to solidify a good direction.
Regards,
Dave
>-----Original Message-----
>Hi Dave,
> There are two ways to apply pricing to products
>1. Use Virtual Catalogs
>2. Use Campaign Discounts
> The virtual catalog will show the discounted price to
the user directly
>and may not be an avenue for you.
> The Discounting system works by creating expressions
and evaluating them.
> This expression evaluation will need to be performed in
order to know if a
>given discount is available. The discounting system and
expressions are
>very versatile and this may be creating the extra
overhead that you want to
>avoid.
>
> To simplify you may want to only evaluate expressions
for discounts that
>are product specific or do a pricing table lookup to see
if there is a
>better price being offered.
>
> Solutions are:
>1. Use Virutal Catalogs - assuming all virtual catalogs
decrease price you
>can show "promotional price" message for all virtual
product pages.
>2. Create a simple pricing look up table - add the
product code and
>promotional price and output cache the result for
performance. This avoids
>the discounting system alltogether so you will need to
write a new
>component for the basket pipeline to modify product
prices in the basket
>too.
>3. Create a temporary basket with the product in it. Run
the basket
>pipeline. Loop through the discounts if any that have
been applied and
>display the appropriate message. Output cache the result
against the
>product id. (NOTE: works for single product baskets only
and may exculde
>other discounts that may apply to a real user's basket).
>
>All these solutions work for single product discounts and
will not take
>into the myriad of other possible discounts that also may
be applied to any
>given product like ...
>Leveraged discount: buy product X get y% off of product Z
>Order level discount: Get x% off of orders over $y
>Free shipping: Buy X of product Y and get free shipping
or spend $X and
>get free shipping
>
>Ken
>
>--------------------
>Content-Class: urn:content-classes:message
>From: "Dave Milner" <dmilner@discussions.microsoft.com>
>Sender: "Dave Milner" <dmilner@discussions.microsoft.com>
>Subject: Identifying discounts applied in catalog /
display
>Date: Mon, 15 Dec 2003 09:28:59 -0800
>Lines: 43
>Message-ID: <076a01c3c330$ecd75f50$a001280a@phx.gbl>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="iso-8859-1"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Thread-Index: AcPDMOzVouOxrXNrS32DN4QF3FUh6A==
>X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>Newsgroups: microsoft.public.commerceserver.campaigns_csf
>Path: cpmsftngxa07.phx.gbl
>Xref: cpmsftngxa07.phx.gbl
>microsoft.public.commerceserver.campaigns_csf:2430
>NNTP-Posting-Host: tk2msftngxa08.phx.gbl 10.40.1.160
>X-Tomcat-NG: microsoft.public.commerceserver.campaigns_csf
>
>I'm currently implementing some displays and
customization
>of the campaigns module in CS2002.
>
>One of the things we are desiring to do is to display to
>the user when they are looking at our product details
>information whether or not a discount applies to that
>product in the catalog. The idea is to display on our
>product listing a specific icon and message description
>(which could be the API content payload) but have it tied
>to what applies to this current product in the catalog.
>
>The current API doesn't seem to be set up that well to do
>something like this. I've looked into some of the
>different .NET classes in
>Microsoft.CommerceServer.Runtime.Targeting, but the
>functionality there seems centered around targeting with
>respect to user profiles and page groups (both of which I
>have implemented).
>
>The functionality I seem to want to take advantage of
>seems to be some of the pipeline components in the
>basket.pcf pipe, such as the
>Commerce.RequiredItemAdjustPriceCy.1 component or the
>OrderDiscount components. However, they are pretty well
>set up to do this within the context of the
>TransactionContext Basket dictionaries.
>
>The only idea I had to get at this functionality is to
>mock up some kind of a temporary basket on the product
>details page, add every single catalog item that's
>returned in the catalog selection, then run the discounts
>pipeline. That may introduce more overhead than I want
to
>incur, but it sounded a little better than trying to
>extract something walking the XML data islands in the
>ExprBody column of the ES_Expr_Info table.
>
>Any ideas on a better approach here? It seems to be a
>pretty straightforward business requirement - show a
>product list, and display a "10% off" discount message
>next to the products that are 10% off.
>
>Regards,
>Dave
>
>
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>
>EBusiness Server Team
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
|
|
|
|
|