You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sales appears to own each product's price. If Shipping had a cost associated to each ProductShippingOptionsId would Sales also own that price? My assumptions here are that Sales should own all pricing data, is that wrong to assume?
For example, as a user decides on their required shipping option, after checkout I'm assuming, Sales updates its Order to include new order delivery information, i.e. current option and current price.
If we were to take this a little further and talk about discounts, does Sales also own the how and when the discounts are applied but not necessarily "if" the discounts are applied?
My thinking is in terms of Udi's video talks around Engine Patterns and how he describes a discounting pipeline where other components contribute their own decisions about how much of a discount is applied. So, in our current Sales and Shipping scenario, Sales would trigger (in memory) a discount engine on checkout, and the engine would compose the available discount components (from other services) and execute their logic.
An example of the logic for Shipping might be to track numbers of deliveries per month and give a discount for over 10. I feel shipping owns this logic and the percentage/fixed delivery discount, but not the original delivery (base) price. I'd be interested in your thoughts please.
The text was updated successfully, but these errors were encountered:
Sales appears to own each product's price. If Shipping had a cost associated to each ProductShippingOptionsId would Sales also own that price? My assumptions here are that Sales should own all pricing data, is that wrong to assume?
it seems fair to me to say that Shipping, or in any case it's not Sales, owns the cost associated with a shipping option.
If we were to take this a little further and talk about discounts, does Sales also own the how and when the discounts are applied but not necessarily "if" the discounts are applied?
I'd go with the engine pattern as well.
An example of the logic for Shipping might be to track numbers of deliveries per month and give a discount for over 10. I feel shipping owns this logic and the percentage/fixed delivery discount, but not the original delivery (base) price. I'd be interested in your thoughts please.
Sounds legit to me. For each order/delivery an event is received by Shipping allowing it to keep track of the shipment quantity per customer. Shipping, then, participates in the discount engine and can use that number to apply a discount.
Sales appears to own each product's price. If Shipping had a cost associated to each
ProductShippingOptionsId
would Sales also own that price? My assumptions here are that Sales should own all pricing data, is that wrong to assume?For example, as a user decides on their required shipping option, after checkout I'm assuming, Sales updates its Order to include new order delivery information, i.e. current option and current price.
If we were to take this a little further and talk about discounts, does Sales also own the how and when the discounts are applied but not necessarily "if" the discounts are applied?
My thinking is in terms of Udi's video talks around Engine Patterns and how he describes a discounting pipeline where other components contribute their own decisions about how much of a discount is applied. So, in our current Sales and Shipping scenario, Sales would trigger (in memory) a discount engine on checkout, and the engine would compose the available discount components (from other services) and execute their logic.
An example of the logic for Shipping might be to track numbers of deliveries per month and give a discount for over 10. I feel shipping owns this logic and the percentage/fixed delivery discount, but not the original delivery (base) price. I'd be interested in your thoughts please.
The text was updated successfully, but these errors were encountered: