The easiest way to make QR codes work, even when you can't connect to the internet, is to use them as a 'data container' rather than a digital bridge. When most people encounter QR codes, what do they connect to? Website links, naturally, but in a remote warehouse or a basement event space you have to use static QR codes that are a direct part of the pattern itself - no server handshake required. We've seen this approach work great with vCards and 'Add to Calendar' files. When you embed a decent sized vCard, the phone's local hardware parses that contact information and saves the information right to the address book, without one bar of signal. You literally turn a piece of paper into a functional data transfer tool, that works just as well in a dead zone as it does a high-speed office. The simple error here is clinging to a dynamic QR code in the offline scenario. Dynamic codes are great for tracking, but they rely on a URL redirect... which falls flat the moment a connection is lost. For offline reliability, you have to bite the bullet and stick with the static format. Sure, you might lose the ability to change things later, but you gain a scan to action rate of 100%. You're essentially trading off background analytics for the inherent utility of the information up front. To design for the offline scenario, to think about how the user's life is now, presumes some respect for what's going on around them. Create a process that doesn't break because the Wi-Fi does, and you earn an operational trust that hightech, connectivity-reliant solutions tend to slack on.
QR codes are an excellent way to manage inventory, even in spaces that lack internet access. You can set them up to key to an offline database or spreadsheet easily enough.