| Author |
Pricing based on Weight
|
|
| TechMate 2006-02-02, 5:52 pm |
| Is there any way I can create a product whose price will be based on one of
its own properties? For example I have a price rule which says $5 for every
10 pounds but I do not know the weight at the time of setting up or adding
the new product. I want to be able to have a generic product set up and the
price for this product should be determined when I add this to cart and
update the value of its weight property.
I want to bet CS 2002 team should have thought about this scenario but I
dont seem to find out how to do this?
Any help is greatly appreciated - ASAP!!
| |
| Ravi Shankar 2006-02-03, 7:48 am |
| Hi TechMate,
To understand this better could you tell me how different is it from the
regular scenario... normally the products are priced based on some unit of
Measure which normally is a packet or single product or carton and on the
site, the shopper signifies how many units he/she needs... In your case the
UOM happens to be weight.. The only change I can think of is that your
quantity input field on the site should accept decimals and your pricing
should be based on 1 pound weight and not 10 pounds (to address 14.2 pound
scenario 
--
Ravi Shankar
"TechMate" wrote:
> Is there any way I can create a product whose price will be based on one of
> its own properties? For example I have a price rule which says $5 for every
> 10 pounds but I do not know the weight at the time of setting up or adding
> the new product. I want to be able to have a generic product set up and the
> price for this product should be determined when I add this to cart and
> update the value of its weight property.
>
> I want to bet CS 2002 team should have thought about this scenario but I
> dont seem to find out how to do this?
>
> Any help is greatly appreciated - ASAP!!
>
| |
| TechMate 2006-02-03, 7:48 am |
| Ravi -
I thought about the quantity to be based on the weight. But I wasnt sure
whether the quantity field accepts decimals (for example Product Price is $1
per pound. Total Weight is 14.685 pounds, so Quantity will be 14.685). Is
this right??
Just wanted to make sure - Thanks for your quick reply
"Ravi Shankar" wrote:
[vbcol=seagreen]
> Hi TechMate,
>
> To understand this better could you tell me how different is it from the
> regular scenario... normally the products are priced based on some unit of
> Measure which normally is a packet or single product or carton and on the
> site, the shopper signifies how many units he/she needs... In your case the
> UOM happens to be weight.. The only change I can think of is that your
> quantity input field on the site should accept decimals and your pricing
> should be based on 1 pound weight and not 10 pounds (to address 14.2 pound
> scenario 
> --
> Ravi Shankar
>
>
> "TechMate" wrote:
>
| |
| Ravi Shankar 2006-02-03, 5:53 pm |
| Hmmm... that is what I implied but you note set me thinking and a quick check
with the docs on datatypes for LineItem.Quantity
(http://msdn.microsoft.com/library/d...ntity_54414.asp)
seems put to rest that idea. The product supports only Int32... that is bad...
You can't even use the COM Interop cause it'll expect variant of type I4.
--
Ravi Shankar
"TechMate" wrote:
[vbcol=seagreen]
> Ravi -
>
> I thought about the quantity to be based on the weight. But I wasnt sure
> whether the quantity field accepts decimals (for example Product Price is $1
> per pound. Total Weight is 14.685 pounds, so Quantity will be 14.685). Is
> this right??
>
> Just wanted to make sure - Thanks for your quick reply
>
>
> "Ravi Shankar" wrote:
>
| |
| TechMate 2006-02-03, 5:53 pm |
| Ravi -
I was about to point this out to you. So is there any workaround at all?? I
am really stuck. The only other alternative I have now is to create a product
everytime there is a new weighted stock??
"Ravi Shankar" wrote:
[vbcol=seagreen]
> Hmmm... that is what I implied but you note set me thinking and a quick check
> with the docs on datatypes for LineItem.Quantity
> (http://msdn.microsoft.com/library/d...ntity_54414.asp)
> seems put to rest that idea. The product supports only Int32... that is bad...
>
> You can't even use the COM Interop cause it'll expect variant of type I4.
>
> --
> Ravi Shankar
>
>
> "TechMate" wrote:
>
| |
| Ravi Shankar 2006-02-03, 5:53 pm |
| Hi,
Why don't you log a call with Microsoft... even if you don't get a
resolution you might get someone to include it in CS2006 maybe CS2006 SP1 
On a serious note though.. it'd require some amount of experimentation for
options and I don't think I'm being fair by giving some off the top of my
head..
one thing that does come to mind is that
1. you should not use the lineitem.quantity field for such a product
2. define one of your own where you input & store the decimal value (the
lineitem.quantity field would necessarily have to be 1 or the basket pipeline
would delete this product from the cart)..
3. create a product property which would allow you to distinguish such a
product..
4. in the basket pipeline immediately after the call to the product info
component, you compute the values such as _placed_price, _oa_adjusted price,
_list_price and such through a custom component where you'd use the property
defined earlier to identify such products.
You'd need to handle discount distribution in case of order level
discounts.. you may not be able to handle product specific discounts for such
products, etc etc.
--
Ravi Shankar
"TechMate" wrote:
[vbcol=seagreen]
> Ravi -
>
> I was about to point this out to you. So is there any workaround at all?? I
> am really stuck. The only other alternative I have now is to create a product
> everytime there is a new weighted stock??
>
> "Ravi Shankar" wrote:
>
| |
| Colin Bowern 2006-02-03, 5:53 pm |
| The lineitem collection is an extensible dictionary so the suggestion Ravi
is making makes sense as far as extending the types.
When you do work with the various data types make sure to watch for the impact
of COM Interop as Ravi alluded to. It will force you to consider your type
selection. The pipeline logs will help if you run into any problems by identifying
the COM type that was passed.
Cheers,
Colin
[vbcol=seagreen]
> Hi,
>
> Why don't you log a call with Microsoft... even if you don't get a
> resolution you might get someone to include it in CS2006 maybe CS2006
> SP1 
>
> On a serious note though.. it'd require some amount of experimentation
> for options and I don't think I'm being fair by giving some off the
> top of my head..
>
> one thing that does come to mind is that
> 1. you should not use the lineitem.quantity field for such a product
> 2. define one of your own where you input & store the decimal value
> (the
> lineitem.quantity field would necessarily have to be 1 or the basket
> pipeline
> would delete this product from the cart)..
> 3. create a product property which would allow you to distinguish
> such a
> product..
> 4. in the basket pipeline immediately after the call to the product
> info
> component, you compute the values such as _placed_price, _oa_adjusted
> price,
> _list_price and such through a custom component where you'd use the
> property defined earlier to identify such products.
>
> You'd need to handle discount distribution in case of order level
> discounts.. you may not be able to handle product specific discounts
> for such products, etc etc.
>
> "TechMate" wrote:
>
|
|
|
|