Vodafone contracts and their shop get a big thumbs down.
If you are going to invite customers to take advantage of special offers on new products (the iPhone 3GS in this instance) then you need to be sure that said customers are eligible for the offer.
Waiting until the customer (me) has gone through the entire online purchase process and then having an Indian call centre call a few day later to 'decline to accept' the order is just plain stupid. Let's face it, they have all the information in their database so how hard can it be? Saying terms and conditions apply just doesn't cut it. Do a bit more work on the web site (which is worth another brickbat all on it's own).
Instead of being a positive experience the combination of poor customer servicing from an Indian call centre and disappointment at not being able to get the deal I was offered, make a change to another service provider a gimme at the end of the contract. Had they said nothing then I'd probably have been quite happy to let it roll over.