I've done pretty much the same project, so here is a couple of suggestions:
Add a disable button/switch that will prevent it from closing while it's active if you need to keep it open for whatever reason.
Re-implement the timing to not use delays. You're better off detecting if it's been open for 5 minutes, than if it was open exactly 5 minutes apart. The way you have it now, two people arriving 5 minutes apart could trigger it to close prematurely.
Redoing this without delays also makes it easy to add like a 1 minute warning, be it audible or visible, to let you know that the garage it about to close, which I have also found useful.