The easiest way to do this is to have the QR code be a URL. For example, http://www.example.com/bitcoingiveaway/E34IKJ
. Just assign a unique code to each location, the E34IKJ
in my example.
What that web page does is up to you. It has to track how many times it has been accessed, of course. The first time, it can send a form that allows a person to fill in some kind of identifier, which can be a Bitcoin address. You then send them tothe coins (or if using some kind of account, credit their account).
Making this work without the scanners having Internet access is much trickier. It can be done, but it would require your to control the scanning devices such that they included a time stamp, and there would be no way to reliably inform people whether they were first right at the point of scan.
Another possibility for the "first come, get coins" model is to have the QR code be the actual private key used to claim the Bitcoins.