OK. The idea is creating menu items for messages and print them as soon as they've added in ticket.
First of all while trying it on my SambaPOS installation I've noticed two little bugs that generates error messages. We'll add an additional step for the workaround. This should be configured before start.
Applying Ticket Item Tag Fix:- Create a new Action and name it as Fix Ticket Item Tag
- Action Type : "Update Ticket Item Tag"
- Leave Tag parameter empty.
- Create a new Rule and Name it as Ticket Item Tag Fix Rule
- Event Name: "Line Added to Ticket"
- Choose "Fix Ticket Item Tag" action.
That will fix the bug. Now we'll start creating needed actions and the rule.
The Action that will tag lines as "Message"
- Create a new Action and name it as "Update Message Tag"
- Action type will be "Update Ticket Item Tag"
- Tag Parameter will be Message
The Action that will execute Kitchen Print Job. We'll use default Kitchen printing job here but if needed you can create additional print job and printing template.
- Create a new Action and name it as "Print Messages"
- Action type will be "Execute Print Job"
- Print Job Name parameter will be "Print Orders to Kitchen"
- TicketItemTag parameter will be "Message". (So only items tagged as message will be printed.
The action that will Void ticket items tagged as message. Since these orders are new it will just remove the ticket line instead of voiding it.
- Create a new Action and name it as "Void Message Item"
- Action Type will be "Void Ticket Items"
- We have another small issue here. Menu Item Name parameter will be empty since we don't know the menu item name but entering a value here is required in order to make this action work. Hopefully we don't need exact match here so we can just enter a single space. That means "Menu item names that we'll create for messages should have space in it". It will be fine for multiple word messages but for single word messages we need to add an extra space char.
- Tag Parameter will be Message.
Now we'll create the rule that will execute these actions.
- Create a new rule and name it as "Message Printing Rule"
- Event Name will be "Line Added To Ticket".
- MenuItemGroupCode Condition will be "=" to "Messages". We assume the Group Code for Menu Items that you'll create for messaging will be "Messages". If you previously created them the Group Code should appear in the Drop Down.
- Click Select Actions
- Select "Update Message Tag", "Print Messages" and "Void Message Item" actions.
That means when a Menu Item with "Message" Group Code added to Ticket, SambaPOS will Tag the line as "Message", Execute the Print Job for items tagged with "Message" and Void items tagged with "Message".
When operator chooses a message, nothing will happen visually since items immediately gets deleted. For a Visual Feedback you can consider creating a "Show Message" action and execute it at the end of the "Message Printing Rule"
Another alternative might be Tagging ticket with "Last Message" tag for storing last sent message. To configure it:
- Create a new Action and name it as "Store Last Message"
- Action Type will be "Update Ticket Tag"
- Tag Name: parameter will be "Last Message" (Or any other thing that may have a meaning.
- Tag Value: parameter will be [MESSAGE] (As you know when we write something in square brackets we can assign that value from rule.
After saving it switch back to "Message Printing Rule"
- Click "Select Actions" and choose "Store Last Message" action.
- Click OK.
- Click the little triangle arrow to expand "Store Last Message" action parameters. You should see "MESSAGE" parameter there. Enter [Quantity] [MenuItemName] values there. That means it will copy the quantity and the name values to the Ticket Tag.
Now choosing Message Items should display last sent message under the ticket.
I hope it will solve your problem.
Thanks.