Nobody likes paying a cancellation fee, which is why it's a good idea to have one if you're struggling with no shows. If you take payment in advance, a full refund isn't really expected here. But while a last minute cancellation is an inconvenience to your business, your policy should be reasonable.