There's still a million ways it can fail. The person can be on vacation, the address could be a P.O. Box, the person could be in a hospital, their phone could be dead, etc. Handling all the edge cases would make such a simple system immediately complex.
> Handling all the edge cases would make such a simple system immediately complex.
That's the difference between a Proof of Concept and a production system. I'm hard pressed to think of anything I've ever developed that did not have this property.