Point 3 is where it all breaks down for me.
We already have a legal system to enforce rules, trying to replace that with a self-enforcing Blockchain just doesn't work for most people. And when courts disagree with the smart contract, or there's a bug, or someone's key is phished.... It's an interesting idea, but it isn't practical.
Anyway, I don't see the point of any of this. You ultimately need to trust the provider of the service the ticket entitles you to. All the decentralised smart contracts in the world won't help you if they're scamming you.
So just trust them. With a database. If you really want, produce digitally signed tickets that can be verified against that database with an API. Throw in a Merkle tree if you really want transparency. (why do I, as a event-goer, actually care about transparency?)
Or hell, just print physical tickets that can be physically transferred.