Calculation Selector mappings not respected when ticket created via GraphQL

For grand opening there is a 10% discount. I’ve created the necessary calculation to auto apply to the ticket. That works in SambaPOS just fine. The calculation selector is mapped only to the physical terminals.

When a ticket is created and closed via GraphQL (using a different, unmapped terminal) that calculation is still added.

How can I make sure that the calculation is only added to tickets created on terminals that are explicitly mapped?

Maybe create another terminal name and include in gql script.

the terminal used for GQL is differently named than physical terminals

Are you using a Rule to auto apply the discount?

If so, does constraining the Rule to the physical terminals change the behavior? What about mapping the rule to the physical terminals? (Personally I don’t like mapping, because that is the one place I never look when I have problems)

I’m not using a rule. I’m using a calculation selector that auto applies to all tickets.


In the meantime I’ve added a 0 amount calculation to the ticket before closing in the API that removes the calculation. It would be nice to not need to configure that.

I, like you, tend to miss mappings when they’re causing an issue. I like to use the rule constraints for such things so I can see it. The same if I deactivate a rule/command: instead of removing mappings I add a constraint 1 == 2 so I can see quickly that I’ve disable that (for whatever reason).