In Brazil, if you work more that 6hs a day, the company have to give you lunch. The majority of them, give you a pre paid debit card that can be used in restaurants. This mean that they are a lot of money there that can be used in restaurants, so any office building have lots of restaurants around.
From my union contract, I get 40R daily to lunch, and the restaurant I go they serve "prato feito" (beans, rice, salad, meat) for 25, and use the rest for some icecream or to eat something with my wife at weekends.
It's works close with transit costs too, the employee can opt in to pay up to 6% of its salary, then what is miss to cover all the transit costs is paid 50/50 by the employer and the government. For example, if I need to take a bus (5R) and a metro (5R), that sum to 20R daily in transit costs, 20R × 22 working days = 440 at month. Suppose a salary of 2000 * 6% = 120. The employee pay 120, the employer 160 and the government other 160. I'm fortunate to be in a position where I don't need that benefit anymore because I live in bike distance to the office, but it saved my ass when I had to take a bus to the metro station, a metro and then another bus every day.