Managing timezones for user action datetimes
Which do you want?  Let's say you and I are in different timezones.

Should my 10:00 should show as "10:00" to you?  If so, use DATETIME.

Should my 10:00 should show as "17:00" to you because we are 7 timezones apart?  If so, use TIMESTAMP.

The only requirement is that our client machines be honest about what timezone we are each in.  (And some config stuff.)

Meanwhile, get rid of the useless id and promote the UNIQUE composite index to be the PK.