Question: have lunch in or at?
Answer: If you ate your own food (or food from another restaurant), you would have to explain that. That would mean you ate food while inside the building. While both could be used, at implies being a customer, whereas in simply indicates location.