I would try to remove everything you possibly can from a “transaction”. Any information that is extraneous move it into some kind of an AnnotateTransaction/transactionId POST. This way you can simplify all of the transactions, removing operatorid, signature, clerked, terminalid, etc. from the actual transaction and the POS developer is still able to annotate that transaction with whatever they want. You want a very barebones easy to integrate to JSON document. Anything that is not barebones can be applied by a subsequent transaction. Let’s call that subsequent transaction the “junk collector”.
agree to a certain extent. Just put it in it's own optional section in the payload. Don't make me call a "subsequent" transaction when all I want to do is pass "OperatorID".
Comment via Dan Ourada
I would try to remove everything you possibly can from a “transaction”. Any information that is extraneous move it into some kind of an AnnotateTransaction/transactionId POST. This way you can simplify all of the transactions, removing operatorid, signature, clerked, terminalid, etc. from the actual transaction and the POS developer is still able to annotate that transaction with whatever they want. You want a very barebones easy to integrate to JSON document. Anything that is not barebones can be applied by a subsequent transaction. Let’s call that subsequent transaction the “junk collector”.