Arrival time

I'm having a real issue with determining guest arrival times. I repeatedly ask them for an arrival time if they don't provide it but recently several guests haven't provided a time. Yesterday was the final straw. I asked and asked the guest for the time they were going to arrive. My earliest check-in is 3pm so once I got close to that time I was left dangling wondering when they were going to turn up. Eventually at just before 3pm I get a message saying they won't arrive until 7pm (my latest check-in time is set to 6pm) So I go to the apartment to wait for them to arrive and at 5 minutes to 7 I get another message saying they wouldn't be arriving until 8.30! They eventually turned up at 8.45pm. What do I do about this? If I get a request for a check-in that I'm not agreeable to then I decline but this guest never provided me with a time until the 11th hour and then changed it on the fly. Now today I am having the same problem. I have a guest checking in who, despite repeated messages from me, still hasn't given me a time. I must admit, when they do turn up I am tempted to make them wait for about 45 minutes.

Also, what counts as a no show? The 6pm latest check in is part of my policies and therefore my terms and conditions. What if a guest decides to turn up at say 11.00pm? Do I have to accommodate them or are they a no show? I don't live in the accommodation and don't like night driving so what is the situation when this happens?

Update - I have just read up on the no show policy and just what counts as a no show. It doesn't become a no show until midnight on the check-in date. So what's the point of having a latest check-in time? It seems to me that guests can roll up at whatever time they want right up to midnight and you have to check them in!