So today we decide to change tact and this afternoon took his toy garage and put it in the conservatory so he couldn't play with it for the rest of the day when he smacked me. Cue a lovely rest of the afternoon with fabulous behaviour. He thought about hitting but didn't do it. We are going to carry on with this at home as I am thinking this may well work (fc) better than time out atm.
What do I do when we are out? Any suggestions? We were at a friends house today and ended up leaving because he kept hitting and pushing but if we have appointments or are at the shops this isn't possible. I can't really take a toy away when we get home either as it is too late by that point

Maybe a reward chart for good behaviour?