As a Starwood Preferred Guest member, I have been able to earn Starpoints, even when not staying at a hotel, for food and beverage charges already for years. As a matter of fact, just did it last week when I was having couple of beers and a burger at Captains Arms in Le Meridien hotel in Abu Dhabi. Starwood employee just fills a credit card style slip with your SPG account number and the revenue amount, and the points eventually find your account.
Hyatt had been whispering about their coming change for the past few months. The program, however, was just officially announced yesterday. You can earn 5 Hyatt Gold Passport points for every eligible charge in/converted to one USD.