Team & Access

Access Codes

← Back to Team & Access

Two kinds of access codes live on a property's Nuki lock:

  • Per-stay guest PIN — provisioned by the Generate access code task; lives on the canonical guest row; valid for the guest's stay window. See Reservations → Send Check-in.
  • Per-teammate persistent PIN — provisioned by the operator; lives on the teammate's accessCodes array; valid as long as the teammate's role lasts.

This page covers the teammate code lifecycle.

Provisioning a teammate code

  1. Open Team & Account → click the teammate row → Edit.
  2. Find the Access codes section.
  3. Click Add new code for the property you want to add access to.
  4. The editor offers: - Generate fresh PIN — calls Nuki, gets a new 6-digit PIN, attaches. - Pick from existing Nuki codes — choose from PINs already on the lock.
  5. Optionally, generate a 2N QR for the building intercom (if 2N is configured).
  6. Save.

After #164, this entire flow is available in the V28 editor. Before then it was only in the legacy /operations/teammates page.

Listing codes

The teammate editor's Access codes section lists every PIN currently assigned to the teammate, grouped by property. Each row:

  • Property name
  • PIN (last 2 digits visible by default; full PIN on click)
  • 2N QR (if generated) — clickable to view
  • × button to remove

Removing a code

Click × on the code row. The editor shows a confirmation modal:

Remove PIN 84•••91 from Vydrica? This will revoke the PIN from the Nuki lock immediately.

Confirm. The platform:

  1. Calls Nuki to revoke the PIN.
  2. Removes the entry from the teammate's accessCodes array.
  3. The change is reflected on Smart Lock → Active codes within ~1 minute.

⚠ Before #166, the remove flow updated the teammate row but did NOT call Nuki — the PIN stayed usable on the lock. Fix: removal now revokes from Nuki end-to-end. If you suspect a leaked old PIN from before the fix, audit the lock's active codes in the Nuki app and revoke any orphans.

Generating a 2N QR

If your property has a 2N IP intercom configured, the editor can also generate the matching QR for the teammate. Same flow as PIN generation; the QR is a JPEG attached to the teammate row and displayed in the editor.

The QR contains a one-tap code the teammate scans at the building entrance to unlock the lobby door without typing a PIN.

Access Codes Safety rules (operator-pinned)

From feedback_access_codes_safety in memory:

Never delete or regenerate codes for active reservations. Testing should only target reservations ≥30 days in the past.

When in doubt about whether a code is in active use, check Reservations → Reservation List for the date range.


Per-stay guest codes (cross-reference)

For the guest-side of this story:

  • The Generate access code task fires automatically per-reservation. See Tasks → Auto-resolve.
  • The PIN is written to guests.nukiAccessCode on the canonical guest row.
  • The Send Check-in task reads it via {{guest.nukiAccessCode}} and includes in the WA message.
  • If a guest's PIN appears to be wrong, see Reservations → Send Check-in.

  • #164 — V28 access-code editor surface restored.
  • #166 — removal revokes from Nuki end-to-end.
  • #260 — canonical-row picker prefers rows with PIN.
  • #237 — duplicate guest rows in 2N QR codes panel.
Source: the FlatsBratislava operator manual.