User Tools

Site Tools


en:giving_free_coffee

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:giving_free_coffee [2013/09/16 01:37]
admin
en:giving_free_coffee [2013/09/16 06:02] (current)
Line 15: Line 15:
 On first step we’ll create automation command buttons for these options. On first step we’ll create automation command buttons for these options.
  
-<IMG>+{{:​en:​promotions:​coupons54.jpg?​700|}}
  
 This is how Print Coupon Command is configured. After setting up visual properties switch to ''​Mappings''​ page to configure when and where this command button will appear. This is how Print Coupon Command is configured. After setting up visual properties switch to ''​Mappings''​ page to configure when and where this command button will appear.
  
-<IMG>+{{:​en:​promotions:​coupons55.jpg?​700|}}
  
 Visible States value is used to map this button to a specific Ticket State. So when Ticket State becomes ''​Coffee Promotion'',​ this button will appear. ​ Visible States value is used to map this button to a specific Ticket State. So when Ticket State becomes ''​Coffee Promotion'',​ this button will appear. ​
Line 27: Line 27:
 We’ll use same mappings for other two buttons we’ll create so don’t forget to update their mappings as shown here. Now I’ll clone two more buttons from this button. We’ll use same mappings for other two buttons we’ll create so don’t forget to update their mappings as shown here. Now I’ll clone two more buttons from this button.
  
-<IMG>+{{:​en:​promotions:​coupons56.jpg?​700|}}
  
 I’ll choose different color for this button. Don’t forget to check mappings. They should be same as the previous button. I’ll choose different color for this button. Don’t forget to check mappings. They should be same as the previous button.
Line 33: Line 33:
 Now I’ll add one more button. Now I’ll add one more button.
  
-<IMG>+{{:​en:​promotions:​coupons57.jpg?​700|}}
  
 Redeem Later button is used to cancel promotion state and hide promotion buttons. Until we create a new ticket for this customer we won’t see Promotion Commands. We should be able to see Promotion Command Buttons when customer (or customer card) selected for ticket. ​ Redeem Later button is used to cancel promotion state and hide promotion buttons. Until we create a new ticket for this customer we won’t see Promotion Commands. We should be able to see Promotion Command Buttons when customer (or customer card) selected for ticket. ​
Line 39: Line 39:
 To be able to update ticket state to display promotion commands we’ll create a new action. We’ll create a ''​Update Ticket State''​ action. ​ To be able to update ticket state to display promotion commands we’ll create a new action. We’ll create a ''​Update Ticket State''​ action. ​
  
-<IMG>+{{:​en:​promotions:​coupons58.jpg?​700|}}
  
 When executed this action changes Ticket Promotion State to ''​Coffee Promotion''​. ​ When executed this action changes Ticket Promotion State to ''​Coffee Promotion''​. ​
Line 47: Line 47:
 Select Automation Command action displays ''​Command Selector''​ region. This region located where menu items are displayed. Since we’ll update ticket promotion state to ''​Coffee Promotion''​ we’ll see promotion commands there. Select Automation Command action displays ''​Command Selector''​ region. This region located where menu items are displayed. Since we’ll update ticket promotion state to ''​Coffee Promotion''​ we’ll see promotion commands there.
  
-<IMG>+{{:​en:​promotions:​coupons59.jpg?​700|}}
  
 Portion and Order Tag Selector screens will also display automation commands that are mapped to current ticket state so for order line based automation commands there is no need to call this action. Portion and Order Tag Selector screens will also display automation commands that are mapped to current ticket state so for order line based automation commands there is no need to call this action.
Line 53: Line 53:
 Now we can create a rule to trigger these actions. We’ll create the rule for ''​Ticket Entity Changed''​ event. Now we can create a rule to trigger these actions. We’ll create the rule for ''​Ticket Entity Changed''​ event.
  
-<IMG>+{{:​en:​promotions:​coupons60.jpg?​700|}}
  
 When ticket entity changes this rule executes. If entity type is ''​Customers''​ and ''​Coffee Promotion Count''​ equals or greater than 6 we’ll enable coffee promotion and display command selector region. When ticket entity changes this rule executes. If entity type is ''​Customers''​ and ''​Coffee Promotion Count''​ equals or greater than 6 we’ll enable coffee promotion and display command selector region.
Line 61: Line 61:
 On previous tests I’ve sold 7 coffee to Mary White. When I create a new ticket for Mary White this screen welcomes us.  On previous tests I’ve sold 7 coffee to Mary White. When I create a new ticket for Mary White this screen welcomes us. 
  
-<IMG>+{{:​en:​promotions:​coupons61.jpg?​700|}}
  
 Nothing happens when I click on these buttons. On next step we’ll add some functionality. Nothing happens when I click on these buttons. On next step we’ll add some functionality.
Line 71: Line 71:
 So we need an action to Disable Ticket’s promotion state. Let’s create it first. So we need an action to Disable Ticket’s promotion state. Let’s create it first.
  
-<IMG>+{{:​en:​promotions:​coupons62.jpg?​700|}}
  
 When we set an empty state value it disables Promotion state and hides command buttons. We’ll force ticket to refresh itself to hide commands section. So we’ll create another action to refresh the ticket. When we set an empty state value it disables Promotion state and hides command buttons. We’ll force ticket to refresh itself to hide commands section. So we’ll create another action to refresh the ticket.
  
-<IMG>+{{:​en:​promotions:​coupons63.jpg?​700|}}
  
 Executing Display Ticket action with Ticket ID set to zero should refresh current ticket. ​ Executing Display Ticket action with Ticket ID set to zero should refresh current ticket. ​
Line 81: Line 81:
 If you followed all steps you already have ''​Add Gift Product''​ action. We can use it to add free coffee in ticket but I’ll create another action to demonstrate different settings. Remember on previous case we redeemed coupon after order submitted. Now we’ll execute promotion immediately and forbid order canceling. You can clone ''​Add Gift Product''​ Action for easier configuration. If you followed all steps you already have ''​Add Gift Product''​ action. We can use it to add free coffee in ticket but I’ll create another action to demonstrate different settings. Remember on previous case we redeemed coupon after order submitted. Now we’ll execute promotion immediately and forbid order canceling. You can clone ''​Add Gift Product''​ Action for easier configuration.
  
-<IMG>+{{:​en:​promotions:​coupons64.jpg?​700|}}
  
-This action dedicated to Coffee Product. It changes GStatus of the line as Promotion and Locked parameter is True. So operator wont be able to cancel that order.+This action dedicated to Coffee Product. It changes ​''​GStatus'' ​of the line as Promotion and Locked parameter is True. So operator won't be able to cancel that order. ​
  
 We can configure Redeem Now button. When we click to an automation command button ''​Automation Command Executed''​ event raises. We can create a rule for this event to define button logic. ​ We can configure Redeem Now button. When we click to an automation command button ''​Automation Command Executed''​ event raises. We can create a rule for this event to define button logic. ​
  
-<IMG>+{{:​en:​promotions:​coupons65.jpg?​700|}}
  
 We’ll create a constraint to test command name. We’ll add a gift order for coffee, decrease customers promotion count by 6 and disable promotion state of ticket. Our final step will be calling ''​Refresh Ticket''​ action. ​ We’ll create a constraint to test command name. We’ll add a gift order for coffee, decrease customers promotion count by 6 and disable promotion state of ticket. Our final step will be calling ''​Refresh Ticket''​ action. ​
Line 93: Line 93:
 Now we can test how it works. Select previous customer and when commands displayed click ''​Redeem Now''​ button. Now we can test how it works. Select previous customer and when commands displayed click ''​Redeem Now''​ button.
  
-<IMG>+{{:​en:​promotions:​coupons66.jpg?​700|}}
  
 Clicking ''​Redeem Now''​ button adds ''​Coffee''​ into ticket, disables promotion state and displays menu. Coffee order is also bold since it is in Locked state. That means we can’t cancel that order and since we updated GStatus as Promotion we won’t be able to gift or void that line. In simple words we can’t remove this line. Like we did on previous tutorials you can define a middle order state to enable canceling redeem before submitting ticket.  ​ Clicking ''​Redeem Now''​ button adds ''​Coffee''​ into ticket, disables promotion state and displays menu. Coffee order is also bold since it is in Locked state. That means we can’t cancel that order and since we updated GStatus as Promotion we won’t be able to gift or void that line. In simple words we can’t remove this line. Like we did on previous tutorials you can define a middle order state to enable canceling redeem before submitting ticket.  ​
Line 99: Line 99:
 We need to consider one more thing. If you notice Promotion State of this order line is ''​Promotion Ordered''​ that means it will increase customers promotion count by one. If it is not a wanted behavior we can disable it by adding one more action to ''​Redeem Now''​ rule.  We need to consider one more thing. If you notice Promotion State of this order line is ''​Promotion Ordered''​ that means it will increase customers promotion count by one. If it is not a wanted behavior we can disable it by adding one more action to ''​Redeem Now''​ rule. 
  
-<IMG>+{{:​en:​promotions:​coupons67.jpg?​700|}}
  
 We’ll leave Promotion State as empty to disable promotion counting for that order. After this change gifts added through ''​Redeem Now''​ button should not have ''​Promotion Ordered''​ state. We’ll leave Promotion State as empty to disable promotion counting for that order. After this change gifts added through ''​Redeem Now''​ button should not have ''​Promotion Ordered''​ state.
Line 109: Line 109:
 If our customer do not want coffee now we can click Redeem Later button so commands will disappear until her next purchase. ​ If our customer do not want coffee now we can click Redeem Later button so commands will disappear until her next purchase. ​
  
-<IMG>+{{:​en:​promotions:​coupons68.jpg?​700|}}
  
 We’ll just disable Coffee Promotion and Refresh Ticket to hide command buttons. On this ticket these buttons won’t enable again. After testing it we can configure next button. ​ We’ll just disable Coffee Promotion and Refresh Ticket to hide command buttons. On this ticket these buttons won’t enable again. After testing it we can configure next button. ​
Line 119: Line 119:
 First we’ll create an action to add Coffee Coupon into the ticket. First we’ll create an action to add Coffee Coupon into the ticket.
  
-<IMG>+{{:​en:​promotions:​coupons69.jpg?​700|}}
  
 Gift status of this item is ''​Gift''​ and the order is locked too. Now we’ll handle Print Coupon execute event. Gift status of this item is ''​Gift''​ and the order is locked too. Now we’ll handle Print Coupon execute event.
  
-<IMG>+{{:​en:​promotions:​coupons70.jpg?​700|}}
  
 This rule is a little crowded so I’ll add another screen shot to display action parameters. This rule is a little crowded so I’ll add another screen shot to display action parameters.
  
-<IMG>+{{:​en:​promotions:​coupons71.jpg?​700|}}
  
-Update Customer Coffee Promotion Count action uses ''​{ENTITY NAME:​Customer}''​ tag to read actual customer name and passes -6 to decrease promotion count by 6.+''​Update Customer Coffee Promotion Count'' ​action uses ''​{ENTITY NAME:​Customer}''​ tag to read actual customer name and passes -6 to decrease promotion count by 6.
  
 Update Coupon Product Order State action sets order state to ''​Coupon Printed''​ so it never switches to ''​Coupon Paid''​. Since we’ll handle coupon creation we don’t want Value Looper action to execute. Update Coupon Product Order State action sets order state to ''​Coupon Printed''​ so it never switches to ''​Coupon Paid''​. Since we’ll handle coupon creation we don’t want Value Looper action to execute.
Line 137: Line 137:
 This is what should happen when we click on ''​Print Coupon''​ button. ​ This is what should happen when we click on ''​Print Coupon''​ button. ​
  
-<IMG>+{{:​en:​promotions:​coupons72.jpg?​700|}}
  
 When we create coupon through ''​Print Coupon''​ button it will print a coupon immediately but when we sell coupons they will be copied in a text file.  When we create coupon through ''​Print Coupon''​ button it will print a coupon immediately but when we sell coupons they will be copied in a text file. 
  
 We reached to the end of this tutorial. I’ve tried to demonstrate all possible options. How this coupon system works might not be what you exactly need. You can change it as your business needs. Feel free to contact us through forums or our website. ​ We reached to the end of this tutorial. I’ve tried to demonstrate all possible options. How this coupon system works might not be what you exactly need. You can change it as your business needs. Feel free to contact us through forums or our website. ​
 +
 +  * Back to [[Promotion Coupons Documentation]]
  
en/giving_free_coffee.1379281036.txt.gz · Last modified: 2013/09/16 05:37 (external edit)