I’m Josue - one of the Community Ambassadors - and I’m happy to help clarify your question regarding the Lunch product.
From what you described, this looks like a limitation of the current product timing options: before end of day catches the arrival day, while after end of day catches the departure day.
If the goal is to charge lunch only for the nights in between, there usually isn’t a fully automatic setup for that exact logic. The most practical workaround is to use the option that creates the fewest exceptions for your operation, and then manually remove or adjust the lunch charge on the check-in / check-out edge cases.
If you want to keep as much automation as possible, I’d suggest:
choosing the timing that best fits when lunch is usually consumed,
testing it on a few sample stays with different lengths,
and handling the first/last day exceptions manually where needed.
So in short: what you’re seeing is expected based on the timing setup, but excluding both check-in and check-out at the same time will likely require some manual handling.
Hopefully others in the community can also share how they’ve chosen to manage this operationally.
If you have any questions, please don’t hesitate to let me know!