I require full payment in advance for my image consulting business (personal style, personal shopping, colour analysis, wardrobe edits, makeup, professional dress advice, etc.).
If the client cannot make the date for whatever reason, I retain 25% cancellation fee. If I cannot make the date for whatever reason, I offer 25% discount.
It is not unprofessional for your hairdresser to require payment in advance, but I would certainly expect some form of leeway depending on reasons.
I once went to a salon for a service and—through my own idiocy—took a motorway that sent me 30 minutes off course. The business managed to squeeze me in for a lesser service but I insisted on paying the full rate, because it was my fault and it was the right thing to do.
I believe some of this is to do with not valuing certain services, and with some (women, often) not valuing their services.
It can also depend on the difference between a long-term and reliable client vs someone who regularly puts their reasons/schedules above yours.
‘At our discretion’...as long as it’s legal, it’s a good phrase to have in your business.