Nearly all contracts, including mine, have a clause stating words to the effect that the company can expect me to carry out duties at any time that it sees fit to give me
Now, I believe that this clause refers to the 24 hour operation, and that you have to work shifts that may include any hours of the day, any day of the year. But it doesn't give the employer the right to tell you "you are staying on" after you finish your shift, or telling you "tomorrow you come in the morning instead of the afternoon". Not all employees are free 19 year olds without a care in the world. I have my life outside my job, kids to look after and the need of an agreed shift time in advance. I would fight any attempt to get from me this kind of flexibility. I work to live, I don't live to work.