RFID Cards Consumption Control (Load Entity Help)

Hello everyone, been a while.

I would like some of your help with the following setup I am working on:

The idea: I would like to control a bar with RFID cards, so people move around and drink and you put everything on a card.
The way I thought about it is, I create 150 entities for CARDS and assign each of them a custom field with Card ID.

The POS wont have select entity option, instead I’ll configure it so that when NumberPad Value is entered, it’ll load a Cards Entity… only problem is, it does not work. I think I am doing something wrong with LOAD ENTITY action.

Please advise.

I managed to get some results with Change Entity action, but its does not Load previous entries of an entity… thus its useless?

Some screens:



Hey Sabata

Load Entity is for outside Tickets - you really do need to use Change Ticket Entity ACTION during POS Sales. So what do you mean “thus its useless”?

Oh, that explains it! Thank you.

In that case I need to look for a way to recall back for whatever is on that “Card / Entity” …

So that we start the night with all entities clear, and during the night we open them multiple times by scanning the card, and adding more drinks to it. And at the end, one final call back, pay everything and the entity is clear.

Yes went t make coffee and realized what you were doing, wanted to bring Card up again with running list of Sales. An Entity Grid filtered by “Unpaid” would do this but you would need automation to bring the Entity Screen up and then “somehow” select the Entity.

I tend to use TABS or ACCOUNTS in these cases I just do not like Open Sales in case of power failures or something else freaky as you may loose all your data and then its “Free Drinks” for everyone!

The issue with Accounts is at the end of the night you just want 1 receipt right? Maybe other posters can chime in with their views.

[EDIT]
Have another suggestion but would like to hear other comments to see if there is an simple way to do what you require.

1 Like

I am thinking keeping the tickets open but allow kitchen submit. End of night card swipe to merge tickets into one then settle.

Umm I like that option @Jesse - never tried a merge tickets through automation BUT in V5 I just used the default button <MERGE>after bringing the 1st ticket up and “preso!”. Also printed a combined bill, sweet :grinning:

Is there a way to show all active tickets of an Entity? Lets say with a click of a button?

Because I can configure it so that you keep on creating tickets to an entity (card) every time you swipe it. At the end I just need a button which after you swipe the card, you click and it’ll open all tickets of that card. Merge them (preferably automatically along with the button click?) and you have a one bill to give client and you can charge payment.

Any help is welcome, I am thinking this has to do something with Display Ticket or Ticket List and Merge actions?

Please advise

In V5:

  1. Without swiping the Card, use go to Select Card (Entity Type) and I have a default say “Customer Tickets” Entity Grid so you may need to create this once off.
  2. On this screen I have all Entities with Tickets unpaid so I select the one required.
  3. SambaPOS now at the Ticket View screen shows all the Tickets belonging to the Entity with a button done the bottom called "Merge.
  4. Press Merge and all tickets are brought into 1 Ticket.

Does that sound right?

The only thing you need to do is create a 1 Entity Screen.

V5: - Option 2
You can create another Department - called “Bar Cards” but use Select Entity as the Ticket Creation Method. This I just realized gives you your default behaviour as it brings up the same Entity and related Ticket each time!
This method has the Entity Search Screen as the default start screen so if you add a <CR> onto the suffix of your RFID Cards you will get your Customer if the ID is unique.

Okay, following all the collective ideas I thought I could use Ticket Tags with Display Ticket List to achive the final step, which is to display the collective tab of all tickets on an Entity.

However I am stuck as I am unsure how to limit constraint for the Display Ticket List to search only tickets of selected entity…

What I want is: Swipe Card, entity changes to card and a ticket tag is created (same as card id) …so far its working.
Now I want to click LIST button, and a list of all unpaid tickets of selected entity should show… instead, when I click it resets to blank and then it shows all Tickets…

I’m confused. Are we saying that selecting an Entity does not bring up a prior Ticket for that Entity? This is news to me. What exactly is not working with this scenario? Is it because you are doing an Entity Search using Custom Fields rather than simply selecting the Entity?

If you are creating 150 Entities for Cards, why not just use the Card ID for the Entity Name instead of having the ID as a Custom Field? Then you just select the Entity instead of searching for it. Problem solved, no?

1 Like

Hey QMcKay, thanks for the tip, it really is easier to make the name its own ID, saves me the time to create custom fields.

However it still does not work as expected, whenever I scan the card it selects the entity yet its all blank… it’s just creating a new ticket which is added to the entity … instead of opening the already existent one. If it could do that it would be perfect.

If not, I am fine with it saving multiple tickets to entity, as long as I can then list them all for that entity and see a collective bill …

I’ll appreciate your help :slight_smile:

Hmm… you’re right. I am surprised by this. Nonetheless, there must be a way to automate this…

Is there any known issue with Saving Last Ticket ID?

I am experiencing a problem with it, as sometimes it saves the ID and other times it does not. Also, sometimes if I wait long enough or restart Samba it may appear in custom field created on my Entity.

Let me explain:

In order to recall previous Ticket of an Entity I created a Store Last Ticket ID Action and a Rule for it to execute on ticket closure.

Next when I swipe a card, NumberPad Value will be entered and Entity Will Change.

And when entity is changed it’ll execute this rule, which checks if there is a Last Ticket ID on this entity, and if its true, it loads it…

In theory its perfect … yet in reality sometimes it simply does not store last ticket ID. Help??

Hi @sabata

Sorry had to go out to a big football game last night :tired_face: anyway can you try something for me? Create a new department called “Bar Cards” and set you Ticket Creation Method like below:

I will drop a GIF in a little while to show you what I mean.

So this is DEFAULT BEHAVIOUR? - there are only 1 caveat - your Card ID should probably be something unique to the Customer otherwise it will pick up a match in say their address.

1 Like

No known issue.

I was going to suggest that. Store it in a Program Setting or in Entity Data or in Entity State.

How do you know it is not being stored? Where are you storing it, and how are you validating that it is or is not stored.

P.S. Instead of using these Constraints:

{ENTITY NAME:Card} Not Equals (blank)
[:Last Ticket ID] Not Equals (blank)

You might be better off using these:

{ENTITY NAME:Card} Is Not Null
[:Last Ticket ID] Is Not Null

Something else… what is this supposed to represent? It does not look like valid syntax…

[:Last Ticket ID]

That ^ means nothing.

From the screenshot, you store last ticket in Entity Data but you use constraint [:Last Ticket ID] which is Program Setting. That is why it won’t load ticket because [:Last Ticket ID] always null/blank.

No, that ^ is not valid syntax other than when specifying a parameter in an Action. It is not valid in Rules at all.

1 Like

Sorry I was away on work…and had no chance to answer.

So there is some confusion here… what you guys are saying that does not work, actually works… [:Last Ticket ID] is a custom made field in Entity Data … where ticket last ID is stored … WHEN it gets stored, that function works perfectly.

However Last Ticket ID is not always stored.

How do I verify it? I run the rule by executing it… (add products, close ticket) and then I go to manage, Entity … open it and in my custom made field the number shoul appear. Sometimes it does, sometimes not … sometimes in needs a program reload for it to appear… I was thinking maybe it has to do with SQL connection? Too slow? I dont know.

So far I am using the method pauln suggested with Search … so easy, I was actually amazed how easily I could do it -_- … thanks pauln!

1 Like

In your rule constraint it’s not valid. Looks correct in the action though.