I found a very weird error, if a customer is a VIP and I want to give a free coffee with points the program gets the product point for money and removes it from total !!!
Customer is VIP and buy an Espresso and his discount is -0,15
Espresso has 10 points
If i use points his discount is -10,00
The conflict occurs because the Points/Promo setup messes with GStatus (Gift State).
There are a couple of ways to overcome this:
redesign the Points system to not use GStatus
add more constraints to the VIP setup
Personally, I would change the Points setup. You should not be messing with default installed State flows.
The constraints required in VIP setup need to accomodate for GStatus States other than <blank> or Gift, and with other implementations installed (i.e. Points where GStatus is being flipped to Promotion), this becomes unpredictable. In any Case, you would need to add the following to VIP setup to deal with the Points:
The Points system uses the Action named Update Order Gift State, and switches the GStatus State to Promotion. I do not know what the purpose of that State Update is for, but the key is to avoid this. GStatus should only ever be blank or Gift.
So you could clone that Action, and have it update a different State, for example, PromoStatus.
Then in your Rule where you have the Action for Update Order Gift Status, remove that action, and replace it with your new Action.
I still do not understand the purpose of updating the GStatus State. There must be more to the Tutorial… I will need to take a look at it.
EDIT: ok, according to Emre, the reason for the GStatus State update is this:
But the valid States for Cancel Gift Automation Command is only Gift. I still do not understand the purpose of this update. Now my guess is that it is for a mix of Gift and Void commands. They are tied together and both use GStatus. They are enabled when the State is blank and the Tutorial is trying to avoid this by setting a value.
QMcKay is probably the best expert to talk to with regard to these type of setups. I doubt Emre is going to provide you a magic answer. You are doing something wrong or you need to study it more so you can configure it how you like.