Whenever we go to someone's for a meal, we always take wine and chocolates or flowers. If we stay one night it's wine, chocolates or flowers and a gift. Two or more nights is wine, chocolates or flowers, a gift and we pay for a meal out.
We moved two years ago and did the 'if you're ever in the area, do pop in' note with our change of address. Several friends have visited and have paid their way, brought wine etc. Some have also reciprocated and we have stayed with them. One couple (who we only ever used to see 2/3 times a year) came up the first year. I admit, I went over the top with meal prep etc and we made sure that they enjoyed themselves. They stayed 3 nights and brought one bottle of wine. The next year, I didn't go so overboard but we still welcomed them. Again, 3 nights and one bottle of wine. They are both in good jobs and their income is more than ours. They go on several foreign holidays every year we can't afford a foreign holiday. They have adult children living at home so are unable to have us to stay with them (no spare room). It costs quite a bit to host them.
They usually contact us around this time of year as they start planning their summer to put a date in the diary for their stay. Am I being unreasonable if I ask them to either book a bnb or mention that visits cost us and if they could bring a meal with them? I think that, as they don't have guests to stay, they perhaps are not aware of the extra work/cost. What do you expect when people come to stay?