You may not be able to make everyone happy, but you need to listen to everyone's needs and take them into account when looking for a solution. In my case, I went to my wife and said "You know we can't go to Seven Peaks, what else shall we do that would make Derek happy along with his brother and friends, and also how do we tell him without him getting upset?" .
Thirdly one needs to list all possible solutions to the problem. Brainstorming is the best way to decide what solutions there are to your particular problem. The solutions don't have to be perfect, but make a large enough list that will allow you some thinking room when you move on to your next step. In my case, my wife and I listed several other options for Derek's birthday party. We listed approximately 8 to 10 other places that would be fun to visit for a birthday.
The fourth step is to evaluate your options. To evaluate your options one method is to use a series of pluses and minuses when looking at each option. At the end you can use math to determine better methods from poorer methods. Better methods will have more pluses than minuses. In my case we took our varied list of options and evaluated each of them on fun, price, season ability, geographic location, and parent sanity. Our list was looking good and it was almost time to bring in the boys for their input.
Fifthly, the option or options need to be chosen. Sometimes more than one option needs to be bundled together with other options to create the best solution possible for the particular problem at hand. In my case, this is where we brought in the boys and talked with them about Seven Peaks not being open and that we needed to find another place to go. Derek started to cry, but he didn't get too far into his tantrum before we were able to throw out some other possible solutions. My wife and I had evaluated 8 to 10 possible solutions and through evaluation we narrowed our choices down to three, which we then let the boys choose from.