Not sure where you are in Europe, but in Switzerland this is perfectly legal. I was employed on a Zero-hour contract as a bartender for much of my time in higher education.
"Zero-hours contracts are NOT permitted in: Austria, Belgium, Czech Republic, Denmark, France, Germany, Hungary, Italy, Poland and Spain. There is an uncertainty as to their validity in Sweden. Generally they are not permitted under Swedish law but may be agreed by collective bargaining." https://www.igloballaw.com/zero-hours-contracts/