I have +10 years of experience in programming.
I can easily make a web solution for you to manage all features you listed.
About challenges, their are not technical problems. We can implement it any way you prefer. And I think you are best to choose between different solutions. One solution I can suggest is to get visitor mobile number as unique code. Also we can use some printed codes and deliver them to visitor when taking image from them.
As pictures you take with iPhone have exact time on them, if park staff who takes picture fill a field just after he finished taking pictures from one person, we can easily use entered code (for example printed code or visitor mobile number) to make him able to find his picture.
Thanks, Helmot