Help?/advice

So I work full time (40hrs) at a gas station. And I typically work night shift by myself (A normal shift is 10pm-6am). I have only called off once since the time being there. Well twice but the first time they couldn’t get anyone to cover me which is no big deal since I ended up getting the situation taken care of before going into work. The second time I called in was because I was sick and puking and didn’t want to get any sick. That upset management but they managed to get my shift taken care of. Well I’m kind of dealing with a family emergency and I’m going to need to call in for tonight’s shift. How early/soon should I call in advanced to let them know I’m calling in? And can they deny me for calling in and make me come in? Thirdly can they ask what is going on? It does involve my grandmother who is currently sick and is in the hospital and my mother is taking her to the hospital and I need to attend to my siblings and take care of them. This is usually a common thing for my grandmother due to her health so we really need to take care of her and watch for her.