Credit Card Swipe to Customer Select

Good early morning here from Chicagoland.

Things have been great as our ability to handle high volume orders have been greatly improved in the days that we’ve been using the setup provided by @QMcKay.

I wanted to provide an update and document a tweak to the aforementioned setup. Also, I’ve been encountering a separate issue that I could not put my finger on until just now. But first the tweak.

I noticed that some names have been “breaking” the automation. Since most offending cards have been those of my friends, they graciously allowed me to document their card formats for later testing. One of my friends’ cards that didn’t swipe had his name formatted with an apostrophe (O’Toole). The simple tweak to deal with that is to simply change the apostrophes to quotes in the settingValue field for the CSS Numpad Rule’s CSS Store Value Action as shown in the following screenshot.

The Other Issue…
Before O’Toole came in, I had a friend named Alexander whose cards would not work. When O’Toole came in later with his wife, maiden name Maddox, her card didn’t work either. And then, today I had a customer named Baxter come in whose card also did not work.

While troubleshooting this issue after work tonight, I realized the one common thing in all of their cards was that their names all contained the letter x. I thought, “No way would that be the issue”, but lo and behold, if I replaced the x with any other character, then the automation worked! So, of course, I’m thinking, this has to be a bug!

However, in continuing to troubleshoot this presumptive numpad x issue, I started realizing that anytime I type in lowercase letters and then type in x, the whole string clears from the numpad. Yet, if I type in numbers and then x, or capital letters and then x, the string remains. I started to get the feeling that this is actually working as intended, as I continued to troubleshoot.

While troubleshooting I noticed that typing at the ticket screen seems to filter products so that one can find them quickly to add them to an order. If that is an intended feature, and the x key is also intended to clear the numpad presumably, then is not being able to use the x key to search for products some kind of a feature “tradeoff”? Could a more appropriate key or a custom button be used instead so that the x key could still be used to filter products from the ticket screen? Or can using the x key to clear the numpad be disabled?

As a workaround for the automation I’m trying to accomplish, I’m guessing I can tweak the Rule and workflow to have the staff press the select customer screen and then swipe the card. However, I’m still a little concerned, and therefore wondering what anyone’s thoughts are, regarding not being able to type in the letter x at the ticket screen to find products. Can someone enlighten me as to why I wouldn’t want to disable the x key from clearing the numpad? I feel like I must be missing something obvious or more global if this is not a bug.

Thanks again in advance.

Apologies for jumping in as I haven’t read through the entire thread, but I believe x in the [:NumberpadValue] is reserved for quantity, i.e. 2x and that could be the reason you are having problems with x.

1 Like

Aha! Thank you @markjw. I figured this had to be a “working as intended” behavior.

A multiplier is definitely a necessary mathematical function to have in a POS. In a physical numpad, that mathematical functionality has always been performed by the actual multiplier key, the asterisk. I’m guessing there is a reason why the natural, intuitive asterisk key was not used.

Is there a way to change the multiplier key to the more natural and standard asterisk key in the settings somehow? If there were, or if that feature were to be implemented, would changing it to the asterisk key break other functionality, such as wildcard reg expressions? Pardon me for my inexperience, but it just seems natural to have it there where that electronic calcification numpad (10 key) standard has already been in use for decades.

Thanks in advance!

2 Likes

@markjw is correct unfortunately, and I don’t think we can change this.

@emre will need to look into changing this behavior so that x is not considered to be a “special” character in the Numpad.

Understood.

I’m sure @emre’s plate is already pretty full. And I’m sure there’s a very good reason why this application could not adopt the already standardized numpad asterisk key as the multiplier function.

I’ll take a stab at tweaking the automated setup above to go to the customer screen first before swiping and parsing the name from the credit card in the meantime.

Thanks again everyone!
Cheers from Chicagoland!

2 Likes

I figured it out!

But, not without help from an old post from @QMcKay yet again! In that post @QMcKay takes a stab at, and more importantly walks us through, an attempt to solve a similar problem albeit by way of the Numberpad, which I’m trying to avoid due to the way the Numberpad treats the x key as mentioned above.

Here are my tweaks to @QMcKay’s solution so that the desired functionality can be achieved.

The Automated Command Setup

The Rule Setup
Top of Screen

Bottom of Screen

In action

Thanks again for being so diligent in your responses @QMcKay! You came to my rescue again.

We purchased our license for V5 earlier today, before I attempted to figure this all out. I’m so happy and proud to support this wonderful creation. I can’t wait until I have enough time to get further and further into the guts of this kickbutt ware.

You guys are the best!
If you guys are ever in Chicagoland, hit me up so I can show you my store and more importantly, buy you some brews!
Cheers

3 Likes

Sorry for hiding it there but you can use that setting to change that special character to something else.

4 Likes

Well there you have it @royh, you can change the character from x to whatever. @emre, can we just leave that setting blank if it is something we don’t use that feature/functionality?

Thanks @emre! Much appreciated.

Cheers!

I’m implementing this into our bar.

Is there any functionality in which we can load all tickets tied to the customer entity or the first ticket?

I would like for our bartender to reswipe the card to go to the ticket screen, ticket list, or payment screen for when they close out the ticket. We keep cards with our bar tabs and this makes sense, however I’ve been unable to find an action which will support this.

Thanks,
JCR

@QMcKay any idea on this?

I’m gone as far to store ticket ID in a program setting at ticket closing. This seems to work slightly, however it would be better if the swipe:

(1) Checked for any status=unpaid under the customer name
(2) Show a ticket list of said tickets
(3) If ticket status!=unpaid under customer name, open a new ticket and change the customer entity

I’m only able to pull up last ticket right now and I’m having difficulty with using a single rule to constrain the rules that choose between display ticket and change ticket entity.

Thanks for any help,
JCR

There are Actions for all of those things.

Display Ticket
Display Ticket List
Display Payment Screen

You need to look at the parameters of each of those Actions to see what they support by way of filtering.

  • You swipe the card and the Entity is known.

  • Use a Report Tag to get a count of Unpaid Tickets based on the Entity and store that in a Program Setting.

  • Use a Report Tag to get a list of Unpaid Tickets based on the Entity. Have the Report return only Ticket Id(s), and store that in a Program Setting.

  • Check the Ticket Count Program Setting:

  • if there are 0 Tickets, use Create Ticket Action to create a new Ticket with the Entity assigned to it.

  • if there is only 1 Ticket, use Display Ticket Action to display the Ticket using the Ticket Id from the list (the list will contain a single Id).

  • if there is more than 1 Ticket, use Display Ticket List Action to show all Tickets having a State of Unpaid and filtered by the Entity Name
    .

Thanks for the input. I’ll work on it tonight.

JCR

I’m pretty far. I have:

(1) Ticket count reporting correctly
(2) Ticket list/ticket ID working

Whats not working:

(1) Action constraints (I feels like nothing constrains)

Results from the ticket count: True result = ticket numbers, False results = “-”. I’ve tried every combination to constraint the actions.

(2) Ticket list doesn’t seem to display a ticket list

Any ideas on the constraints and the ticket list?

Thanks,
Joe

You need to split it into 2 Rules. In the first Rule, set the Program Settings that do not need Constraining. Fire the rest of the Actions in a second Rule.

You cannot set Program Settings and then use them as Constraints in the Actions that follow. This is because all Action Constraints are evaluated at once when the Rule is triggered. That is, the Program Settings used in the Constraints could be empty, or could be retaining a value from the last time the Rule was run.

So you need an Execute Automation Command Action after all the Program Settings, and in the Rule for that ExecAMC, your Constraints will work for the Actions contained therein.

Thanks @QMcKay. I thought it might be something to that effect. It seemed like the constraints would work intermittently. I’ll take care of this again tonight.

JCR

Opening a tab or tab list is working fine, but I’m unable to open a new ticket and assign the customer entity. There seems to be something not working as I would expect. I should add that I’ve added different actions trying to get it function. I originally though I could get away with, cancel orders, close ticket, change ticket entity, but I’ve been trying anyway possible. Here’s the flow and result:

(1) Inside a customer with multiple tickets: a new ticket is created, however no customer entity shows on the ticket even though the ticket is refreshed. When closing a ticket the new customer does show up under Customer Tickets with no orders on it.

(2) Inside a customer with a single active ticket: a new ticket is created, customer does not show assigned on ticket. Then when closing the new ticket shows under Customer Tickets and the ticket that I was in does not show under customer tickets, but can be located under the ticket lister.

I’ve tried many variations and can’t see to figure it out.

After rearranging, still can’t get Change Ticket Entity to work within the same process which closes a current ticket.

@Jesse Hey Jesse. I think maybe I have to change this flow and just have another automation for open tab, but I haven’t heard anything on it.

I think I’ve narrowed it down. I can’t seem to:

close ticket -> new ticket -> change ticket entity

or

close ticket -> change ticket entity

the change ticket entity doesn’t seem to work.

Any ideas?

JCR

Sorry but I can’t understand what your trying to do.