I surprised my kids with our recent December trip a month in advance, for 2 reasons. 1) I couldn't wait any longer, 2) I wanted time to talk to them and prepare them for which rides/shows we would and wouldn't do, 3) a friend surprised her son and didn't tell him about the trip until they were almost there, and it totally backfired and he didn't really "get it" and wasn't excited until halfway through the trip and my kids are the same way and prefer to have time to process things, and 4) I think the anticipation is part of the fun!!!
Here's what I did. I made a page like a worksheet, that said something like "Guess where we are going at the end of December?" and there were enough blank spaces on the bottom to spell out "DISNEY WORLD!!". Each space had a number beneath it. Then I printed out index cards with Mickey head outlines (you'd think that would give it away, but it was part of a Disney Theme Night we were having so they just thought it was Mickey Night). Inside each Mickey outline was a math problem, like "4+3=D". Then once they had collected all of the Mickey heads, we sat and figured out the code. I mixed up the letters so they weren't spelling it out in order.
It took a few minutes to sink in, and a while longer to fully sink in. Yes, they became impatient and I heard a lot of "I want to go to Disney World NOW!!!!!!!!" but I think patience is a learned skill. And when they were complaining, we would gather around the computer and check out Allears or the Disney site, or watch a ridethrough on YouTube and talk about whether or not we would try it in the parks. I also gave each of them a gift card to use as part of their Hanukkah gifts, which I wouldn't have been able to do if I hadn't told them ahead of time. They really liked having their own money to use.
The surprise was great, and I'm glad they had the opportunity to be surprised with the trip as well as help plan which rides and shows we would do.