The key is a challenge that is easy to answer for those who are at the place, and nearly impossible for those who aren't there.
For example a simple validation can be knowing the cell tower id and the available Wifi SSIDs at the place. If you have the phone at hand, the answer is easy and can be done from the program automatically, but if you are not there, it's hard to answer.
But after someone creates a map of it. It will be easy to spoof.
And I can't really imagine better way if the local property owners are not involved.
If the local property owners are involved, another way is putting a sticker or a small screen into the window of the shop with a keyword and tell the user to enter it to validate its location. The user need to be there to enter the correct word.
To avoid the mapping problem the keyword can be changed frequently.