Limit to One Discount Calculation

How would you prevent multiple calculations being applied?
Client has Staff and Loyalty discount buttons each with a calculation type and button.
Obviously don’t want both applied.

Not sure if that was a stupid question, backup plan is automation commands rather than calculation selectors updating the same calculation type but curious any ideas if using two calculations for separate reporting.

I can only think of automation to control it. Not sure if there is another way besides automation to do that.

I’ve done this before quite a while ago, similar situation with staff and other discounts.

I used a state on orders (which could equally be done on ticket) to maintain discount state.

Exactly what I did too