I personally do charge a cancellation fee. My business model makes it necessary. I invest a lot of money in advance to make myself available for clients. Since I serve a niche market, this allows me to meet clients from all over the country instead of listening to them lament from afar that they are dying to meet me but can't make it to my home city. But it does require some level of committment between my clients and I about our appointments.
If I didn't charge a cancellation fee, I know I would be suspicious and resentful of clients who canceled on me at the last minute. Anyone can say they're sick, or their mother died, or any number of excuses, but at the end of the day, I have no way of verifying any of that and I'll be the one stuck with a $300 hotel bill for a room that I didn't even end up using. Other clients have mentioned, here and elsewhere, that an escort has stopped communicating with them or accepting appointments after a last-minute cancellation. We often do this because we can't tell with certainty who legimately had a last-minute emergency and who is simply being disrespectful of our time. In an effort to protect ourselves from further losses in the future, we may cut off any client who cancels at the last minute, assuming the worst about their potential to repeat this behaviour in the future (as many who don't respect our time unfortunately do). For me, charging a cancellation fee is also a way of sorting between someone who genuinely had a last minute emergency but DOES respect my time/monetary investment, and someone who merely made an excuse because they didn't respect my time enough to keep their committment. This way, I don't end up resentful towards or cutting off a good client who genuinely respects my time but just couldn't make things work suddenly.
My cancellation policy is a contract between me and my clients where we both agree to share the financial responsibility in the event that something should come up on the client's end. Obviously if I need to cancel for any reason (very rare), then the loss is all mine. I NEVER surprise a client with a cancellation fee after the fact, tho. My cancellation policy is generally stated in my ads, on my website, and included in the body of my email request for a client to confirm our booking before I block it into my calendar and make the logistical arrangements. Thus every client CONSENTS to it when confirming a booking and has the opportunity to decline to confirm if he disagrees. I find that this approach makes having a cancellation policy a very smooth and conflict-free experience. I do not HAVE to demand a cancellation fee after someone cancels on me at the last minute; my clients already know when canceling that I have a cancellation policy, and generally mention their intention to send my cancellation fee at the same time that they inform me of the cancellation.
Is my cancellation policy "enforceable"? Absolutely not, in the same way that I don't have much legal recourse if a client shorts me $100 of my fee after a session. However, given that my clients consent to my policy when making a booking and are aware of it when they choose to cancel, if someone doesn't send me the fee as previously agreed then it lets me know pretty clearly just how much they respect my business. At least I don't have to play any guessing games about their intentions and can comfortably refuse to engage with them about any future appointments. At that point the breach of trust between the two of us is clear.
Since implementing a clearly-explained and client-consented cancellation policy (3-4 years ago), not only has my number of cancellations dropped dramatically, but the stress has gone out of the ones that do happen. Vast majority of my clients send my cancellation fee without any stress on my part, my touring finances are more stable, and the rare client who does not follow thru with my fee ends up on my permanent DO NOT SEE list. It's also improved my relationships with good clients who do have to cancel unexpectedly last minute because the whole exchange is consensual and respectful toward both of us... no reason for surprise or suspicion on either side of the equation.