Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
I don't believe there's an out-of-the-box solution, but if you have a software developer customize the code, you can override the current functionality to meet your requirements.
I assume that, depending on the number of days, a product would have a set price per day. If that assumption is reasonable, then you could:
The simplest way is to store a daily rate against a Variant. If a customer wants to hire a product for 10 days, the price would be variant price × quantity (in business terms, "daily rate of product × number of days in the selected period").
If you need pricing bands, you could store the number of days as periods and associate different prices with them. For example:
You could implement this in a few ways:
To ensure that Promotions and Orders automatically align with your pricing logic, you would override IPriceService
, which is the main service called when querying a price. With context (e.g., the number of days selected), you can adjust the price that gets returned.
Additionally, Customer Pricing within variants allows you to specify different prices with expiry dates.
Ultimately, the level of customization required depends on the complexity of your needs. That will determine whether an out-of-the-box approach is sufficient or if a more tailored solution is necessary.
Thanks Surjit for the reply,
We were thinking of implementing something similar to what you provided above (we will need to keep the quantity as the customer can rent two of item X for a period of 1 week, for example).
However, our concern is that when we use something like the context mentioned above, how will I make sure that any internal calls between the modules (Promotion, Basket, etc.) will define this context correctly?
I can pass it correctly in the controller, for example, but if it's an internal call, I'm not sure how I can pass it and populate it correctly.
I hope i am making sense :P
thanks in advance
regards.
On our website, we offer a service that allows customers to hire or rent a specific product with a defined start and end date. After reviewing the Optimizely Pricing Engine, we found that it does not currently support this feature. To implement it, we would need to customize the engine in several areas, such as promotions, orders, etc.
Is there an out-of-the-box solution from Optimizely that we might have missed? If not, could you advise on the best approaches to implement this feature, particularly if you've encountered a similar case before?
Thanks in advance for your support!
Please note that the version for the Commerce and CMS as follows:
CMS 12
Customized Commerce 14