I would start with a subtle 'oh you should have rung before you came, we are just about to leave for an appointment', or 'if we had of known you were coming we could of had something in the house to eat', and if they don't get that then I'd get less subtle by going out of my way to ring and see if it was convenient before I visited them, or less subtle still just ask them to ring first! I think just not answering the door is a bit childish and doesn't really solve the problem.
Bookmarks