Order Tags with free Tagging

Hi everyone,

I normally add a General Modifier (Order Tag with free Tagging) to all my product for servers to make changes to a product.

Is there a way to make Order Tags with free Tagging behave the same as what @RickH designed for Misc Item.

Thanks in advance.

Maybe not from the order tag list but can probably do via an order level mapped button following most of his tutorial except just tagging the order and setting the tag price rather than the order price.

Anyway you can show how to set it up. I have been out of the loop for awhile and I am re-leaning SambaPOS.

Not at pc…
Youll want a tag order action and use [?prompt] function on the tag and tag price fields.
Think you need to trigger from an automation command mapped to order level rather than from a ‘tag type’ button.

Thanks @JTRTech.

I am trying to improve my Order Tag with free Tagging. Order Tag with free Tagging works good, I just need a alphanumeric keyboard to pop-up automatically when server clicks on Name field and a numeric keyboard when Price field is clicked.

Don’t think you can with the built in free order tag.
However you could do similar to Rick if you added the tag via a different flow.

@na1978, are you wanting something like this?

1 Like

#Order Tag


#Actions

##SPM Tag Order [Tag Order] (Action)##

Action Name: SPM Tag Order
Action Type: Tag Order
###Parameters:###
Order Tag Name: Special Modifier
Old Order Tag Value: [:oldTag]
Order Tag Value: [:newTag]
Order Tag Note: [:tagNote]
Order Tag Price: [:tagPrice]
Order Tag Rate: [:tagRate]

##SPM Untag Order [Untag Order] (Action)##

Action Name: SPM Untag Order
Action Type: Untag Order
###Parameters:###
Order Tag Name: Special Modifier
Order Tag Value: [:tag]

##SPM Store Tag Value [Update Program Setting] (Action)##

Action Name: SPM Store Tag Value
Action Type: Update Program Setting
###Parameters:###
Setting Name: [:settingName]
Setting Value: [:settingValue]
Update Type: Update
Is Local: True

##SPM ExecAMC [Execute Automation Command] (Action)##

Action Name: SPM ExecAMC
Action Type: Execute Automation Command
###Parameters:###
Automation Command Name: [:AMCname]
Command Value: [:AMCvalue]
Background: False
Delay: 0

#Rules

##SPM Clear Tag [Order Tagged] (Rule)##

Rule Name: SPM Clear Tag
Event Name: Order Tagged
Rule Tags:
Custom Constraint List (2):
Execute Rule if: Matches
Order Tag NameEqualsSpecial Modifier
Order Tag ValueEqualsSpecial Modifier

##Actions (4):##

SPM Untag Order

Constraint: (none)

tag: Special Modifier
SPM Store Tag Value

Constraint: (none)

settingName: SPM TagName
settingValue:
SPM Store Tag Value

Constraint: (none)

settingName: SPM TagPrice
settingValue:
SPM ExecAMC

Constraint: (none)

AMCname: SPM Ask Tag Name
AMCvalue:

##SPM Ask Tag Name [Automation Command Executed] (Rule)##

Rule Name: SPM Ask Tag Name
Event Name: Automation Command Executed
Rule Tags:
Custom Constraint List (1):
Execute Rule if: Matches
Automation Command NameEqualsSPM Ask Tag Name

##Actions (2):##

SPM Store Tag Value

Constraint: (none)

settingName: SPM TagName
settingValue: [?Enter Tag Name;;;OSC]
SPM ExecAMC

Constraint: (none)

AMCname: SPM Ask Tag Price
AMCvalue: {:SPM TagName}

##SPM Ask Tag Price [Automation Command Executed] (Rule)##

Rule Name: SPM Ask Tag Price
Event Name: Automation Command Executed
Rule Tags:
Custom Constraint List (2):
Execute Rule if: Matches
Automation Command NameEqualsSPM Ask Tag Price
Command ValueIs Not Null

##Actions (2):##

SPM Store Tag Value

Constraint: (none)

settingName: SPM TagPrice
settingValue: [?Enter Tag Price;;0;ONC]
SPM ExecAMC

Constraint: (none)

AMCname: SPM Tag Order
AMCvalue: {:SPM TagPrice}

##SPM Tag Order [Automation Command Executed] (Rule)##

Rule Name: SPM Tag Order
Event Name: Automation Command Executed
Rule Tags:
Custom Constraint List (2):
Execute Rule if: Matches
Automation Command NameEqualsSPM Tag Order
Command ValueIs Not Null

##Actions (1):##

SPM Tag Order

Constraint: (none)

oldTag:
newTag: {:SPM TagName}
tagNote:
tagPrice: {:SPM TagPrice}
tagRate:

2 Likes

@QMcKay

Beautiful. It is exactly what I was looking for. Can you please export if possible.

Thank you.

You won’t learn using export/import :-p

Sure, but before I do, just one question for you.

Personally, I don’t like that it shows the Free Tag input box, and I want to hide it, because it is “useless” to me and it occupies valuable screen space …

The only way I could think to do that was to mark the Order Tag Group as Hidden, and instead use an Automation Command mapped to Order Line


That means the Tag Group will not show in the normal Order Tag Screen, and we must use the button on the Left …


So the Question I have for you @na1978 is: which do you prefer?

@QMcKay

Hidden looks much better. :slight_smile:

Thank you again.

This export contains both methods, but is currently set to Hide the Tag Group named Special Modifier and use the Automation Command.

SPM Special Modifier Input.zip (1.5 KB)

2 Likes

@QMcKay

Your solution is brillant. Can you please point me where to replace “Enter” with “.” and delete “Cancel”

Thank you,

You will need to build out your own Custom Keyboard for that to override the default Numeric Keyboard.


For [?prompt] notation, the syntax is:

[?<prompt>;<mask>;<default value>;<flags>;<keycodes>]
  • <prompt> is the question or prompt to display
  • <mask> is a regular expression to define what type of characters (and how many) are allowed
  • <default value> allows for a common value to be pre-entered
  • <flags> lets you define the keyboard type and which buttons appear on it
  • O displays OK button
  • C displays Cancel button
  • N displays Numeric keyboard
  • S displays Alphanumeric keyboard
  • <keycodes> allows for specifying available characters or keys

The export is using this:

[?Enter Tag Price;;0;ONC]

That means it will supply default value of 0, use a Numeric keyboard, and have Ok and Cancel Buttons.

To remove the Cancel button:

[?Enter Tag Price;;0;ON]

To replace the default Numeric keyboard with our own custom keypad:

55,56,57|52,53,54|49,50,51|8,48,190

49,50,51|52,53,54|55,56,57|8,48,190

Assuming we want the 2nd picture:

[?Enter Tag Price;;0;O;49,50,51|52,53,54|55,56,57|8,48,190]

Or you can use the following which is much easier to read and understand thanks to Custom Keyboard syntax improvements:

[?Enter Tag Price;;0;O;"1","2","3"|"4","5","6"|"7","8","9"|<backspace>,"0","."]

Both of the above produce the same result:

4 Likes

@QMcKay and everyone else

Just wanted to say a big Thank You for all your help.