From what I have seen in this thread, I think this might be helpful. I have found that this script works with almost all managers, especially when I use it from day one.
Manager: I need you to come in today.
Employee: I'm sorry, I'm unavailable.
Manager: I need you to make yourself available.
Employee: I'm sorry, but I can't accommodate that request.
Manager: Why not?
Employee: I have a previous appointment.
Manager: An appointment for what?
Employee: I'm sorry, that's private, but I will be happy to ___________.
Never ever ever give your manager any information that you aren't required to give. (They don't need to know you are hungover, with your kid, studying for an exam, etc…) Giving that info opens the door for them to negotiate whether what you are doing is really as important as their staffing problem.
Spoiler: Your private life will never feel as important to them as their immediate problem, so even if you are getting chemo for late stage cancer, keep that shit to yourself. Not sharing the details is how you signal that the topic is not up for debate.