Thanks for posting here! There are many, many places to stop and have lunch. One of the options is hotel Seehof at the lake in Walenstadt, about 1.5 hours from Lucerne.
Arno and dttravel --
We stayed at the Seehof a year ago, when we visited Bad Ragaz, Altes Bad Pfäfers, and the Taminaschlucht.
The room was very comfortable, well furnished, and we would stay again. The dinner was very good. The breakfast buffet was extraordinary.