Here is what I’m working on. It’s far from complete, but pretty much what you’re looking for.
I use the user profile screen as the member ID. Each member (user) has an ID number, and the profile screen has a field which displays a QR code of that number. If you point your iPhone camera at the QR code in this screen shot, it will display the ID number (in this case “0”).
To avail of services in my club, the member will present their profile screen, which we will scan with a QR code reader in our employees version of the app.
That will display the member’s details on our screen, and allow us to record their use of our services. For example, if the member wanted to borrow an item, scanning their QR code and then scanning the QR code on the item would create a record of which member borrowed which item.
To set this up, I added a “member ID” field to the users collection. I’m using simple sequential member numbers for now, but there are reasons why this may not be the best approach.
I also installed a custom QR code generator component, and added that field to the users collection as well. The generator turns the member ID number into a QR code and displays it on the screen.
I also added an expiration date field in the users collection. That date is displayed on the profile screen. If the date is current, it displays in white (on my navy blue background). If the expiration date is approaching, the date displays in yellow, and if the date is expired, it displays in red.
My employees app is a little different. It has a QR code reader instead of a generator, and it allows the employ to record the member’s activities, update a member’s status, etc.
For those members who are not tech savvy, I can also issue a physical membership card with their membership number, QR code, etc. My employees can still scan the code on that physical card as well.
I’m still building both apps, but I think it gives you a place to start.