Here are some recommendations that you're free to incorporate or ignore as you see fit:
- I don't agree with the relationship between Show and Venue. It seems more natural to have a Booking maintain the relationship between a Show and a Venue.
- I don't see a Date for a Show anywhere. Did I miss it? That seems important.
- Shows don't have Seats; a Venue has Seats.
- A Ticket ought to entitle you to a Seat in a Venue on a particular date. I don't see that.
- TicketType should be nothing but an enum.
- Decompose User to have a Name, Address, and Credential classes. Separate the Credentials out from User.
- A real payment system would need far more than what you have showing (e.g. CreditCard, etc.)
I think your model needs a lot of work.