James you've had this problem before and you will have it again, so, unfortunately, get used to it.
Quite simply, these people do not want a regular window cleaner and they are not good customers! Full Stop!
Technically, you should bin them, but keep for them for a while until you've built up a good round. You may find some of them might want it done next time...so at least you have...some money.
I text all my customers the night before (even ones I have access to).
Anyone who texts back 'not this time' (without good reason) gets binned.
If they don't want their windows cleaned...they don't need me.
I'll devote my time to finding another customer who does want a regular, reliable service.
There's good customers out there, you just have to find them.
I haven't had a cancellation in ages. Having said that, I have picked up some new customers...so we'll see.