Page 1 of 1

Offers - Promotion Engine

Posted: Thu Jun 04, 2015 11:51 am
by rajfnu
Regarding Offer (Promotion engine) in the product - There is not much information/documentation about offers like - 1.) type of offers supported, 2.) customizing offers etc.. I was exploring "Gift With Purchase" Offer, wondering if it's supported out of the box? If yes, any guidelines how can I configure this? If not, any documentation to help me customizing/creating one?
I am not interested in Dollar Off promotions rather it would be a gift with some spend on some selected skus.

Example for Gift with Purchase (GWP) -
1.) Item level Promotion: Buy 1 shirt and get a perfume free
2.) Order level Promotion: $5 perfume is free with with order subtotal is $50 or more

(here the free item i.e. perfume is a separate SKU - may or may not be sold as a separate SKU in the system)

Re: Offers - Promotion Engine

Posted: Wed Jun 17, 2015 1:49 pm
by phillipuniverse
The 2 offers that you mentioned are definitely supported with the caveat that Broadleaf will not automatically add items to the cart for you. For instance, if you set up a buy-one-get-one-free offer (in your example buy a shirt and get the perfume free) then the perfume would not be automatically added to the user's cart. If the user added both the shirt and the perfume manually, they would then see that the perfume was free.

Re: Offers - Promotion Engine

Posted: Thu Jun 18, 2015 11:14 pm
by rajfnu
Thanks! It seems to be working for me.
To Add item into cart and remove -
1.) I have to extend OfferService (public class GwpOfferImpl extends OfferServiceImpl implements GwpOffer) and override applyAndSaveOffersToOrder.

2.) Used orderService.addItem to add to cart the free items and orderService.removeItem for removing the item if it doesn't qualify.

Thanks

Re: Offers - Promotion Engine

Posted: Sun Jun 21, 2015 8:19 pm
by phillipuniverse

Code: Select all

2.) Used orderService.addItem to add to cart the free items and orderService.removeItem for removing the item if it doesn't qualify.


That's a good idea. One addendum I would make: when you add the dependent item with orderService.addItem, fill out the OrderItemRequestDTO with a parentOrderItemId. That will tie the item that you add to the lifecycle of the parent, meaning that if you remove the parent then the child gets removed automatically.

Re: Offers - Promotion Engine

Posted: Tue Jul 07, 2015 3:58 am
by rajfnu
Ya, That's what I initially thought to do but challenge is, removal (or addition for that matter) does not depend on other OrderItems rather on the SubTotal of the Order. Hence This free item can Not make any of the items as ParentItem. Actually GWP is a OrderLevel Offer not ItemLevel.

For e.g. - If " $5 perfume is free with with order subtotal is $50 or more" and Cart has 5 items and each worth of $100 then removing of any items would not remove Free Perfume.

Thanks for your help and Time.