Skip to main content
Docs navigation

NFC cards & wallet

Give every member a credential they can tap. Provision NFC cards in bulk, bind a UID to a member, and issue Apple and Google wallet passes — all from the command line.

NFC cards

An NFC card is a physical credential carrying a unique uid. The workflow is three steps: provision a batch of cards, bind each card to a member, then tap to identify that member anywhere a reader is wired into NextWave.

A card's lifecycle is simple — it's either unassigned (provisioned but not yet bound) or assigned to exactly one member:

FieldMeaning
idNextWave's numeric id for the card record
uidThe hardware UID printed/encoded on the physical card
member_idThe bound member, or null when unassigned

Provision a batch. Bulk-import the UIDs from a manufacturing run as a JSON array — NextWave creates one unassigned card record per UID:

$ nwp nfc-cards bulk-import --uids '["04A1B2","04C3D4"]' --output json
json
{
  "success": true,
  "data": {
    "imported": 2,
    "cards": [
      { "id": 11, "uid": "04A1B2", "member_id": null },
      { "id": 12, "uid": "04C3D4", "member_id": null }
    ]
  }
}

Tap to identify. When a reader taps a card, look it up by UID to resolve the member behind it:

$ nwp nfc-cards lookup 04A1B2 --output json
json
{
  "success": true,
  "data": {
    "id": 11,
    "uid": "04A1B2",
    "member_id": 42
  }
}

Bind a card to a member. Assign a provisioned card to the member who'll carry it — pass the card's id and the target member-id:

$ nwp nfc-cards assign 12 --member-id 42 --output json
json
{
  "success": true,
  "data": {
    "id": 12,
    "uid": "04C3D4",
    "member_id": 42
  }
}

Lookup before redeem

Tap-to-identify pairs naturally with redemptions: lookup the tapped UID to get a member_id, then run an eligibility check and create a redemption for that member. One tap, one claimed benefit.

Digital wallet passes

Not everyone wants to carry a card. A digital wallet pass puts the same membership in a member's phone — an Apple Wallet or Google Wallet pass tied to a specific member and tier. The pass reflects the tier's branding and the member's identity, and it travels with them the way any boarding pass or loyalty card does.

  • Apple Wallet and Google Wallet — issue the same membership to either platform.
  • Tied to member + tier — the pass knows who holds it and what level they're on, so a tier change can update the pass.
  • Same identity as the card — a wallet pass identifies the member exactly like an NFC tap, so your redemption flow doesn't care which one a member presents.

A typical rollout combines both credential types:

  1. Bulk-import a batch of NFC cards for in-person members.
  2. Assign cards to members as they sign up.
  3. Issue wallet passes for members who prefer their phone — tied to the same member + tier.

The member behind the credential

A card or pass is only ever a pointer to a member. To understand status, expiry, and tier, head back to the membership model.