Protocol structs for the Location smart contract.
These structs are used to represent Location transaction payloads and state.