Three customer service is horrible, any advice?

On friday the 20th of december i order the gold iPhone 5s from three as a christmas gift, i was told that the gold edition wouldn't make it to me until the 3rd of january so i cancelled the order and ordered the silver one within half an hour, i had spoke to three customer service on the phone and they said everything was fine and my phone would be hear today (23rd). I had already been charged the upfront fee of £99 on both phones. I was told that the £99 for the gold one would be refunded within 5-7 working days which was fine. I had also ordered a samsung galaxy s4 mini from phones4you which was due the same day, today. Now DPD came with my order and said that he had another parcel for me which had been cancelled by 3 and had to be returned, i assumed the parcel he handed me was the iphone 5s in silver and the one he had which was cancelled was the gold 5s. Now when i opened the parcel i found that it was the samsung galaxy s4 from phones4u, now i'm left wondering what the other parcel was because i wasn't expecting anything else. I checked my tracking and the s4 had been delivered but the 5s was still 'out for delivery' i rang up 3 and after about 3 hours of repetitive b*llsh*t i was basically told that they 'didn't know why it had been cancelled' and i was to email them and i would receive a reply within 72 HOURS! This wouldn't be a problem if it wasn't a chritmas gift! Three are sitting with £200 of my money for phones which i haven't even received! I'm appalled with their service and was wondering if anyone had any adive on what i should do next, should i take it further and seek legal advice? Any help would be greatly appreciative!

The joys of leaving it to the last minute to get gifts sorted out.
Not much you can do really except see if it arrives and if it doesn't take it up with 'three' after the holiday.