One cancellation is fine, second if a first booking then I'll not hold another appointment he then has the option of a deposit or me not guaranteeing/accepting the booking. If a person has seen me more than a couple of times I'll bear up to 3 cancellations on the trot before advising him to not book again, and request a deposit if he does or work on a "I'll only hold it if nothing else comes up(booking or personal)".
If a person faffs about with lots of messages then my tolerance for cancellation is usually 1 less than someone who doesn't.
Amazing how many who have messed around suddenly say "can't pay the deposit but I have the cash here, please see me", sorry but if he's messed me around I am not bothering on the promise of 'cash' and I just know it's highly likely to happen again.
The formula is simple, book, confirm, turn up. Doesn't need any faffing or messing around.