Buy 2 get the 3rd one free

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
a.m. wrote:
Try follow the next steps:

1. Let's say we have Product1, Product2, Product3.
2. Create a new discount. Ensure that 'Discount type' type is set to 'Assigned to product variants'. Check 'Use percentage' and set 'Discount percentage' to '100%'. Then go 'requirements' tab and create 'Customer has all of these product variants in the cart' requirement with IDs of Product1 and Product2.
3. Apply this discount to Product3 (on the product variant details page, discounts tab)

Note: The only issue here is that you have to manually add Product3 to the cart

This is not a very generic solution. It only works for: if you buy one product of each of N products you get Product x for free. It will not work in many real cases such as:
- Buy 2 (it only works if you buy one) of Product 1 and the 3rd (product 1) is free. Same if you buy 4 of product 1 you get a second for free
- Buy 2 (or 3 or 4 ...) of any of Product 1, Product 2 ... and you get Product x for free
12 years ago
eadameg wrote:
Buy 2 (or 3 or 4 ...) of any of Product 1, Product 2 ... and you get Product x for free

Thanks. I think it can be easily achieved with more advanced discount requirement rules (for example, extend 'Nop.Plugin.DiscountRules.HasOneProduct' rule so it also accepts a 'quantity' parameter for each shopping cart item). I've just updated the work item

eadameg wrote:
Buy 2 (it only works if you buy one) of Product 1 and the 3rd (product 1) is free. Same if you buy 4 of product 1 you get a second for free

It also can be achieved with a new discount requirement rule.
12 years ago
Please see changeset 2a7f6d434359

P.S. The only issue here is that the discount will be applied to any quantity of a discounted product variant. I'll think about how it can achieved a better way
12 years ago
a.m. wrote:
Buy 2 (or 3 or 4 ...) of any of Product 1, Product 2 ... and you get Product x for free
Thanks. I think it can be easily achieved with more advanced discount requirement rules (for example, extend 'Nop.Plugin.DiscountRules.HasOneProduct' rule so it also accepts a 'quantity' parameter for each shopping cart item). I've just updated the work item

Buy 2 (it only works if you buy one) of Product 1 and the 3rd (product 1) is free. Same if you buy 4 of product 1 you get a second for free
It also can be achieved with a new discount requirement rule.


That is much better!
I just found there is another problem: Example "If you have 2 of any of Product 1, Product 2, Product 3,... you get Product X for free" (100% discount on Product X). Then customer can later add lets say 100 more items of Product X and also get them for free. Thus you must put a restriction in the number of items for which discount is given.

Ps. I Sorry, I did nor read your second post which addresses the problem I mention here, but maybe the restriction of number of items for which discount applies will be the solution.
10 years ago
Is there any chance we can achieve the discount  like "Buy 2 get the 3rd one of the same product or another product free"?
10 years ago
arlen_bs wrote:
Is there any chance we can achieve the discount  like "Buy 2 get the 3rd one of the same product or another product free"?
10 years ago
arlen_bs wrote:
Is there any chance we can achieve the discount  like "Buy 2 get the 3rd one of the same product or another product free"?

It is still on the road map as a proposed work item:https://nopcommerce.codeplex.com/workitem/10454
10 years ago
a.m. wrote:
P.S. The only issue here is that the discount will be applied to any quantity of a discounted product variant. I'll think about how it can achieved a better way


Have you found a solution for this? At least can you give me an idea of how to implement it myself?
10 years ago
It is  on the road map afor v3.3 (ETA april):https://nopcommerce.codeplex.com/workitem/10454
10 years ago
eadameg wrote:
It is  on the road map afor v3.3 (ETA april):https://nopcommerce.codeplex.com/workitem/10454


I knew that, but I wanted the feature sooner, that's why I was looking for quick solution maybe.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.