If my itinerary is HK to London (shopping there for a few days), then to Geneva and stay there for another few days, then fly from Geneva via London (transit only) back to HK, where and when should I do the tax refund as I understand Swiss is not an EU country? Should I do it before departing to Geneva? or should I do it in Geneva? or do it when I will be in transit in London before coming back to HK? Thanks in advance.
You can only get a VAT refund in the country where the goods were purchased before they have traveled to any other country. It is not an EU refund it is country specific. If the goods have gone to a different country, Schengen or not, you cannot claim. If it is services you have bought you cannot claim, it is goods only and only from vendors in the programme.