I agree with giving the kids time to anticipate. We surprised our kids a few years ago and they had no idea what was going on. Like the post above said, it took a few days for them to figure it out. They were just so excited to go to the airport and get on a plane that they were satisfied and didn't care about anything else.
Our family has an adventure theme song. It is any version of "The Lion Sleeps Tonight." Can't remember why it's that song, but it is a really fun song. What we usually do with the kids now is let them find a golden ticket somewhere (Easter Basket, inside a Christmas present, pocket of their bathrobe, etc.) They loved the original Willy Wonka movie, so this means something to them. They then know they are going but not always when until they hear the theme song. It might be playing when they get in the car after school, we have even blasted it at 3am when we needed to catch an early flight. There is no easier way to get them going than to play that song (us either, you just can't resist).
Now that they are older, they usually know because homework has to be sent home early. They still ask for the song each time we go to the airport, though. We also use it for other special "adventures." It is a really fun, free way to get everyone excited.
By letting them know they are going, but it will be a surprise you avoid the "how many more days?" whining and you also get to keep part of the surprise to yourself, yet they get to anticipate.