Right but if you charge a fee to cancel then you've just made the no-show problem worse. Who would voluntarily pay fee when you can just do... nothing?
To put it another way, they could pay a $40 fee or lose $100 by doing nothing. Most people would rather pay the fee and get their $60 back.