You open your post 'Help!' and end with 'Advice please' - please listen to to the helpful advice you have received here, and do not make your son miss his prom. Whether we think these events are great or not, it is a huge thing in his life, and he only gets one go at it. It is the end of this stage of his school life and something to look forward to during the grind of GCSEs, Whether or not he is going into Sixth Form, others will not be, so this is the last time all his friends and year group will be together. He will feel massively left out if he cannot go. As others have said, it isn't just one evening: it's months of planning, choosing outfits and transport, organising pre-parties, deciding whom to go with etc. You ask for suggestions about how to 'appease' him. You can't. And the fact you believe you can suggests you have not accepted how significant this is to him. Could you not devote your energies to thinking of ways to make it possible for him to attend prom? There have been many helpful suggestions. Your son is not inconsolable: you can console him by finding a way to get him to prom.
This isn't about blame or who did or did not make a mistake. I absolutely get the excitement of being able to book a holiday at a decent price for the first time in years, and could easily have done the same. And I understand that you must be really looking forward to the anniversary celebration, and wanted everyone to be there. But right now, it is about dealing fairly with the clash of dates that has come up, and I believe you need to put your son first.
I would be concerned it may affect your relationship if you do not recognise how important this is to him and force him to go away and miss his prom. On the other hand, if you listen and work with him to find a way he can go, it could be good for you both.
Hope it works out.