If the lookup table was stored on the server, requesting the data would effectively provide the user location to the central server. This is the part that isn't allowed.
I suspect the lookup table is too big to store on the device itself.
Well that's possible, but doesn't add any additional security and has the negative effect that users can't see where they have scanned into on their device (e.g. on the NHS app you can go to 'venue data' and see where you have logged into).
If one of your user stories involves users being able to see the names/addresses of venue's they have visited, you will either need to store the venue name in the QR code or do a lookup.
I suspect the lookup table is too big to store on the device itself.