SambaPOS Forum

English Boards => Support => Topic started by: JohnS on January 01, 2012, 10:18:36 pm

Title: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 01, 2012, 10:18:36 pm
Emre, you must have known this topic would come up  ;)

After watching the video you posted a few days ago, I am interested is knowing more about the promotional features within SambaPOS.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 02, 2012, 07:24:45 am
We are using rule - event mechanism for configuring promotions. Let me know what kind of a promotion you need and I'll try to find a solution :)
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 02, 2012, 11:58:51 pm
I can think of three promotions we would look at - at this stage.

1. Once every year, ie Christmas time, we would gift 2 free drinks (of any type - beer, wine, spirit) to every club member
2. For a new member we would gift (one time only) 5 free drinks (of any type - beer, wine, spirit) or
3. For a new member we would credit them an amount (say $20) towards purchases - this comes more under loyalty than promotions.

To me its more about understanding the concept within SambaPOS and how to create promotions. Every venue has a different idea when it comes to promotions.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 03, 2012, 04:25:09 am
Hello John. That would be a great exercise.

As you know with SambaPOS we can select customer before or after creating a ticket. I think we should select the customer before executing any promotion rule. Altering old lines after selecting the customer is a little hard (and unsafe). What do you think about that? Can I assume it should work by selecting customer at first?
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 03, 2012, 05:15:04 am
Emre,

Yes, selecting the customer first will be fine - we will use Delivery mode for the department, and use the membership card number as the phone number in the customer database.

May I suggest that the Phone number field be configurable to show Phone or Membership and remove the brackets () from the field (in Australia we only have 2 digit area codes), and if a matching number is scanned then it goes straight to the ticket screen.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 03, 2012, 03:41:33 pm
I implemented few features for 2.77 and tried implementing your promotion cases. I added "Gift Last Ticket Item" action, customer group code field to customer cards and improved setting handling.

Basically we configure Gift Promotion rules by "Add Ticket Line" action with gift option or "Gift Last Ticket Item" action.  You can constraint rules by Customer Group so you can use it for club members. Generally we use "Line Added to Ticket" event for executing these actions.

Ticket tagging is a nice feature that can be used to tag tickets with additional information. For example we use it for storing waiter name or the source of the order (phone, internet, etc) or store person count with numerical tags or anything else. During Christmas we can tag automatically tag tickets with Promotion=Christmas value and query it on "Ticket Line Added" event. We'll talk about it more later. We'll create an "Update Ticket Tag" action on "Ticket Created" event for tagging tickets automatically.

Trigger feature generates "Trigger Executed" event. We can setup a trigger that triggers on 15th December every year and another trigger that triggers on 5th January. First trigger will execute a "Update Program Setting" action that enables the ChristmasPromotion setting and the second trigger will disable it. When we constraint ChristmasPromotion setting before executing "Update Ticket Tag" action that will mean all tickets created between 15th December and 5th Januray will tagged as Promotion=Christmas automatically.

Lastly we should count how many promotions we made to a customer. We'll need Program Settings for each customer that increases as we create promotions. We'll use Update Program Setting for storing that setting but configure it differently for increasing it. We'll set Update Type to "Increase" and the [SettingName] will increase as we call that. We'll execute it after "Gift Last Ticket Item" action and when we gift an item that setting will increase. But how can we name it? First of all we'll keep Setting Name on "Update Program Setting" action as variable because we'll name it on "Ticket Line Added" event. To do this we'll set it's value as [Setting Name]. On "Line Added to Ticket" event we'll include "Update Setting Value" action and that from that action's parameter box we'll use CHRISTMASPRM-[CustomerId] value. Before reading that setting SambaPOS will replace [CustomerId] part with actual customer-id so we have CHRISTMASPRM-1 setting name for first customer and CHRISTMASPRM-2 as second customer. As we add promotions these values will increase...

To be continued....
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 03, 2012, 05:17:13 pm
This is the Basic configuration for setting up gift promotions with number constraint.

Action for Gifting Items
Action for Storing Promotion Count
Rule for Gifting Items
With that setup we'll gift 5 beverages to each VIP customer. After 5th gift this action will not execute anymore.

-------------

Let's say we want to activate this promotion only on Christmas Period...

First we'll see the manual way.
Now our rule will only execute if we tag a ticket as "Promo = Christmas". Switch to a Fast-Food or Delivery department, create a new ticket with selecting a customer. You'll see the "Promo" button on left column. When you click that you'll see the promotion options. Click Christmas and start adding lines. Tagging tickets with "Christmas" tag will add additional reports to "End of day" report. You'll see ticket totals grouped by tag names.

Action for tagging tickets automatically:
Rule for tagging tickets:
Action for Enabling Christmas Promotion
Action for Disabling Christmas Promotion
Now we'll create two triggers for executing these actions

Trigger for Enabling Christmas Promotion
Rule for Enabling Christmas Promotion
Now on every 15th December trigger will execute and christmas promotion activates...

Trigger for Disabling Christmas Promotion
Rule for Disabling Christmas Promotion
Now on every 5th January Christmas promotion ends.


Phew...
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 05, 2012, 06:21:38 am
Phew...

That says it all - thank you for the post. As you have said previously, it can be a little involved to setup the rules and actions.

But after reading your post, I am understanding more of the built-in capabilities of SambaPOS. I will be setting up the promo over the weekend and experimenting on a few different scenarios.

Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 07, 2012, 02:30:04 am
Well, what a successful afternoon playing with Actions & Rules.

I have setup free entry form into a promotion (printed from receipt printer) for purchases over $5 and/or $10 (or whatever you want).

Requirements for a customer to receive this
1. Spend money  :)
2. Be an actual customer with a membership card - no freebies here :)
3. Be an Active customer (set by Customer Group in my case) - Renew that membership!
4. And of course have the promo enabled on the system - One setting to turn on or off, then just log off and back on to enable/disable promo.

Sounds simple, and now its setup and working - it kinda was. But a simple promo like this is a powerful selling tool, and a very easy way to automate handing out promo tickets.

Update - Now added $20 promo and tagging tickets with the promo so we can track how many entry forms have been issued - useful when you need to make sure you are getting enough sales to cover the promotion.

Update#2 - Now added product promotions, where a customer selects a product, and at payment received, a promo ticket is printed. This is running with the dollar value promo and this promo runs second to the dollar value promo.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 07, 2012, 06:31:28 am
Emre,

Well I think I just got too smart and backed myself into a corner.

I need your help. I am having issues with variables in some rules. I decided to remove rules for each value promo ($5, $10 & $20) and just have two varibales. One sets the value, the other sets the promo name. A value other than 0 enables the promo.

First issue - For a payment received rule, can you use Amount > {SETTING:PROMOVALUE}
Second issue - Using an update program settings action to update Ticket Tags using Setting Value = {SETTING:PROMONAME}

First issue keeps parsing as true, when its not.
Second issue produces {SETTING on the saved tickets and reports, but prints fine on the receipts.

Am I expecting too much? or should it work the way I am thinking?
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 07, 2012, 01:54:11 pm
Hello John. I've implemented {setting:xxx} tag for printing settings but I think using them with constraints or parameters is a brilliant idea. I think I can do it.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 07, 2012, 06:31:05 pm
So it was me being too smart  8)

So I have simplified the rules and actions to just 3 Rules & 3 Actions (Plus a global Update Program Settings Action)

Action 1. Print Promo Ticket
Action 2. Update Ticket Tag
- Promo = [Setting Value]
Action 3. Reset Promo Ticket
- Set PromoTicket=0

Rule 1. User Login
- Action 1. Reset Promo Ticket
Rule 2. Enable Customer Promo Ticket using Customer Selected for Ticket trigger
- If the customer is Active (via Customer Group Code) then it sets PromoTicket=1
Rule 3. Print Promo Ticket for ticket total above an amount, ie $5, $10, etc using Payment Received trigger
- Setting Check - PromoTicket = 1
- Amount > 9.99
- Action 1. Ticket Tag Promo - Setting Value = Tooheys Esky
- Action 2. Print Promo Ticket
- Action 3. Reset Promo Ticket - PromoTicket=0


This is neat and tidy. What would be cool is if the Payment Received Rule also included the following conditions
- Ticket Tag (which can be set by purchase of a product if it is product driven Promo)
- Tag Name (as above)
- Customer Group Code
- Customer Note

These would allow removal of the Enable Promo Ticket rule and Promo Reset actions. So we would have only 2 Actions and 1 Rule.

Rule 1. Print Promo Ticket for ticket total above an amount, ie $5, $10, etc, for an Active Customer with Full Membership using Payment Received trigger
- Amount > 9.99
- Customer Group Code = Active
- Customer Note ? Full Member
- Action 1. Ticket Tag Promo - Setting Value = Tooheys Esky
- Action 2. Print Promo Ticket

All up, Promo tickets need to be printed only once payment received (never before), so the trick is getting the info needed to the payment process.

Being able to use {SETTING:xx} variables would allow nicer formatting for printed tickets and better Rule & Action handling for more complicated setups, but at the end of the day if the printed ticket has Promo: XXXX via Ticket Tag then so be it.

Like I said, its about working with what we have, not reinventing the wheel.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 08, 2012, 10:30:32 am
With 2.79 you should be able to use setting values with actions and rules.. Required syntax is {:SETTINGNAME}. When you use curly brackets and start setting name with semicolon it will read that setting an replace the value. Unlike printer syntax we won't use SETTING part. I preferred curly brackets instead of square brackets since square brackets means variable

With 2.79 there are some important features.

Update Program Setting action has a new parameter named IsLocal. That setting defines if the setting is used locally or for the entire network. We should use Global Settings (IsLocal = False) for counting promotions because all terminals should be aware of the latest promotion count of the customer. But for storing "Tendered Amount" or similar temporary values we should use local settings because we should store it for the active terminal. You can try the effect by starting two SambaPOS applications. If you limited gift count with 5 you should not be able to gift more that 5 on two terminals.

Gift Last Ticket Line action has a new parameter named quantity. It will work if it is bigger than 0 and with that setting you can limit gift quantity for a single line. For example if that setting is 1 and the operator sells 5 beers at a time (by using the numerator) it will split the line and gift only one of them.

Update Last Ticket Line Price Tag is a new action and with that action you can create price promotions instead of gifts. Price Tags is an another unique feature of SambaPOS. For example create a new Price Definition named %50 Off and enter the same value (or a shorter tag instead) to Price Tag text box. After saving it open Price List Editor and you'll see a new column added to price list. Enter "%50 Off" promotional prices for desired products. If you leave it empty (0) for some products SambaPOS will use base price instead. Normally you can activate a price list manually from "Department" settings page and can have different prices for different departments. Or you can activate it with "Change Price List" action and maybe you can create date triggers for "happy hour" implementation. With the new Update Last Ticket Line Price Tag action you'll be able to change price with a price tag for individual lines... SambaPOS will display applied price tag on each line and you can print price tags for each line on ticket.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 08, 2012, 06:02:36 pm
I really like the way you think - some features and changes you make are just so Cool.

I'm going to have fun testing this lot :)
Title: Re: SambaPOS 2.70 Promotional Features
Post by: JohnS on January 09, 2012, 03:49:25 am
The changes you made to Payment Received Rule has reduced a dollar value promo to 1 Rule & 2 Actions. Much easier to setup.

One Rule that may be useful is when an item is cancelled. You could use this to remove ticket tags. This would stop operators selecting qualifying promo products to enable promo features, then cancel the item and select something else.
Title: Re: SambaPOS 2.70 Promotional Features
Post by: emre on January 09, 2012, 10:17:32 am
Hello John. I've just uploaded 2.80 for final small fixes. While doing that I added a small feature that may help on creating "%50 off for second item" promotions.

I added "Toggle" feature to "Update Program Setting" action. If you choose "Update Type" as "Toggle" and enter "0,1" as Setting Value this action will switch [SettingName] between 0 and 1 on each call.

For a "2nd Pizza %50 off" promotion we'll create three actions and three rules. One action will toggle PIZZAPROMO value between 0 and 1, Second action will apply Price Tag to ticket line and the third action will disable PIZZAPROMO setting. As you know we can use less actions by using variables.

First "Line added to Ticket" rule will apply price tag to last ticket item if PIZZAPROMO = 1 and the second "Line added to Ticket" rule will call toggle action. Third "Ticket Closed" rule will set "PIZZAPROMO" setting to 0.

I think this small change will add lots of possibilities.