I had a client (potential client) schedule a call. We agreed on the time. However they did not show up for the call. This time was blocked out on my schedule which means it then becomes unavailable for other clients. I think it would be fair if someone schedules a call and doesn't show that the experts are compensated for their time. Time is money!
They get one strike, then I bill a retainer for any future calls at a minimum of $1000 (10 hours credit, towards calls or work).
In other words, they get 1x strike, then they have to pay up front.
Same for any slow pay invoices.
People who pay quick, get a Monday invoice for past weeks work.
People I have to chase for money, must pay a retainer for all future calls or work.
Note: I run a private hosting company, so clients who pay slow also get a message on their site about their site being in maintenance mode.
So... Where possible, only do client calls or work, where you have some leverage over clients.
Tip: Of all the clients I've had since 1994 only one is on a retainer basis. He complains every time I tell him, his retainer is used up + he must pay again.
He complains. Then he pays. All's well...