We are having a surpise wedding. Guests will think it's an engagement party at a banquet hall. I would like everyone to dress nicely, but obviously don't want to have to explain why. Do I put "Semi-formal attire" on the bottom of the invite ? 'Cocktail attire"?
Why not invited them to a cocktail party. This would solve your problem.
If you want to invite them to an engagement party, you could write at the bottom that cocktail attire requested. We don't include attire notations, besides formal or black tie references, on wedding invitations. But, this is a party invitation. So, this should be fine.