Entity Created Event

Do any of the newer versions, greater than 5.3.0 have event we can use in rules, something like Entity Created OR Account created OR Entity Updated event?

No but can you explain what you want to do?

We’ve managed to create locally run service for writing/reading on NFC Mifare Classic 1k chips, so at the moment, I am trying to figure out how to manage new entity creations/updates and when to call on to the service.

Why not just use gql and write both same time ?

What exactly are you doing with them ?

The problem is not ClearScript, GQL or entity screen, problem is capturing of the event, and then starting the next process.

So I might have to go and create a completely custom entity screen for creating and updating entities, and make sure the end-user does exactly that to add new entity and account.

Are there any plans on implementing capture of this event version above 5.3.6?

We need to understand why first. What are you building?

There is a PMS integration involved but Ill just stick to a general idea and two basic use cases

(Case 1) - Create new entity

  1. End-user creates new customer entity + entity data + account
  2. Check if its successfully processed (i.e. no duplicate names etc.)
  3. SambaPOS sends locally run card service a write request with entity details
  4. NFC tag is written with entity details
    4a. Return success response
    4b. Return timeout/error response

(Case 2) - Update Entity

  1. End-user updates customer entity name (primary name) + entity data + account
  2. Check if its successfully processed (i.e. no duplicate names etc.)
  3. SambaPOS sends locally run card service a write request with entity details
  4. NFC tag is over-written with entity details
    4a. Return success response
    4b. Return timeout/error response

Ok so your storing customer entity data to a tag?

I’m wondering why do that when you can use nfc and read entity from database. Just store a customer id to it. Or use premade ones.

No, just the primary [Name] field, but entity data could be saved for like cross-location use within one country for example. But that is not my use case at the moment.

They cannot be recycled, especially in hospitality where the guest returns their card after their lodging. You cant give already existing ID to another person.

True but it’s hard to know how your using it. I have to guess.

Basically, people details get fetched over the PMS, all the data is created, ideally, with Entity Created event, I could pull the data, notify the end-user which customer is being processed and ask the end-user to process a card for this customer.

So, during their stay, (or any other purpose such as loyalty), they can just keep using their tag to process their orders on their account receivables.

To conclude,

ENTITY CREATED - would be super useful for such 3rd party app processing of Entities,
especially if it had the same constraints, properties it fetched like Ticket Entity Changed (i.e. Entity Type, Entity data, Old/New name etc.)

ENTITY UPDATED - would be super useful too, especially if the name or data gets changed and we can have access to old and new name/data. One example that comes to mind, is if the data gets fetched and you have more than one guest to check-in, you would select one, process it by changing data, and this event can then be used to call on the 3rd party app.

Ok so far I understand that you are building a Hotel/hospitality system to link with hotel PMS?

Yes, that is what I am focusing on right now, but in the future, I will probably use this NFC service app we built, for many other use cases that utilize NFC technology.

api.EntityType(name).Entities().State(name).Update(value);
api.EntityType(name).Fields(name).Exists();
api.EntityType(name).Fields(name).Create(fieldtype,[format],[valuesource],[hidden]);

api.Entity(name).State(name).Update(state);
api.Entity(name).State(name).Get();
api.Entity(name).Data(name).Update(value);
api.Entity(name).Data(name).Get();
api.Entity(name).Exists();
api.Entity(name).Create(entityTypeName);
api.Entity(name).CreateAccount([accountName]);

api.User(name).Create(role);
api.User(name).Exists();

api.UserRole(role).Create();
api.UserRole(role).Exists();

api.AccountType(name).Create([rule|‘All’,‘Credit’,‘Debit’]);
api.AccountType(name).Exists();

api.Account(name).Exists();
api.Account(name).Create(accountTypeName);

api.PaymentType(name).Processors(name).Exists();
api.PaymentType(name).Processors(name).Create();
api.PaymentType(name).Processors(name).Delete();

api.Rule(name).Exists();

api.AutomationCommand(‘name’).Maps().SetUserRole(role);
api.AutomationCommand(‘name’).Maps().SetTerminal(terminal);
api.AutomationCommand(‘name’).Maps().SetDepartment(department);
api.AutomationCommand(‘name’).Maps().SetTicketType(ticketype);
api.AutomationCommand(‘name’).Maps().SetEnabledStates(states);
api.AutomationCommand(‘name’).Maps().SetVisibleStates(states);
api.AutomationCommand(‘name’).Maps().SetVisibility(visibility);

1 Like

Those are api requests from inside sambapos.

I am aware of those, but thats what I mentioned at the beginning, using these I would have to make a custom form/entity screen to create new entities and do all the checks/verification using scripts.

Where is an Event that can catch new entity being created can simply be used to start a script that already has pre-defined purpose

I dont see us adding that right now. but we can look into it.

1 Like

Thanks @Jesse, Ill just build my own flow for now. But do let me know if this feature gets scheduled for one of the newer release, it could simplify a lot of advanced Entity related processes. :pray: