Marriott Bonvoy members can earn points for food and beverage spend at Marriott affiliated hotels even when not staying (you get more if you are and charge to your room). You earn at the rate of 10 points per USD (excluding taxes and service charges + alcohol where prohibited).
Participating properties and restaurants in Asia-Pacific have sweetened this offer by offering up to 20% discount (30% in Greater China until the end of 2019).