That smacks of fraud, then. If you don't get a refund when you have actually turned up, then it is cannot be a cancellation fee, it's obtaining a pecuniary advantage by deception, originally prescribed under Sec 14 of the Theft Act 1968, later refined under Secs 1-3 of the Theft Act 1978, and case law R. v. Lambie 1974 and Metropolitane Police Commissioners v. Charles 1976. I know the Theft Act legislation has been updated since 1978 but it should be possible to use this as a starting point. Failing that, a complaint to Trading Standards might get the ball rolling.
Steve