<!-- https://unlockos.io/manual/fixed-code-connection -->

# Fixed Code Lock Help

## Overview

A fixed code lock is a lock whose **PIN never changes** — a keypad lock, for example. On this page you register the locks physically installed at your facility together with the codes already set on them.

Once registered, a lock can be selected as the entrance lock in a check-in configuration, and the code is shown to guests on their check-in screen.

This differs fundamentally from a cloud-connected smart lock such as KEYVOX:

| | Smart lock (e.g. KEYVOX) | Fixed code lock |
|---|---|---|
| Who decides the code | UnlockOS, issued per check-in | The facility, set on the lock itself |
| What UnlockOS does | Issues and revokes codes on the lock | **Only records** the code the facility already set |
| Key after departure | Revoked automatically | **Never revoked** |
| Key types available to guests | QR code / PIN code / Unlock button | **PIN code only** |

UnlockOS never operates the physical lock. Only someone at the lock itself can change its code.

---

## How to Access

Connection Settings → **External Integrations** → **Fixed Code Lock** card

- **Facility Owner permission or above** is required. Lower roles see "Managing fixed code locks requires Facility Owner permission or above."
- Registering, editing and deleting are done **only on this page**. You cannot add a lock from the check-in configuration or lock assignment screens.
- KEYVOX is configured separately on the [Lock Connection](lock-connection.md) page.

---

## This Key Is Never Revoked

A notice reading "**This code still opens the door after guests leave**" is shown permanently at the top of the page. This is the most important property of the feature.

- The code does not change when a stay ends. **A departed guest can still open the door for as long as they remember the code.**
- There is exactly one way to cut off access — **change the code on the physical lock, then update the registration on this page to match.**
- There is no "revoke key" action in UnlockOS. Checking out does not invalidate the code.

For uses where many different people come and go (short-term stays, for example), pair this with an operational routine of changing the code regularly. It suits doors where everyone already shares the same code — a shared entrance, or a coworking common door.

---

## Reading the Registration List

Registered locks are listed on the page.

| Column | Description |
|---|---|
| Lock name | The name given at registration (e.g. Shared Entrance) |
| PIN code | Masked by default. "Show" reveals it, "Hide" masks it again |
| Last changed | The date the code was last changed. Shows "Last changed: unknown" if never changed |
| In use by | The check-in configurations and other places using this lock as the entrance lock |

"Last changed" exists so you can spot locks that have kept the same code for a long time. Consider changing the code on locks that have not been updated in a while.

---

## Registering a Lock

1. Click "**Add fixed code lock**"
2. Enter the **lock name** (e.g. Shared Entrance)
3. Enter the **PIN code** exactly as it is set on the physical lock
4. Click "Save"

The code must be **4 to 10 digits**.

> **Enter the code that is actually on the lock.** UnlockOS does not choose the code. If the lock is set to `1234`, enter `1234`. UnlockOS does not judge how strong the code is, nor check whether it duplicates another lock — in real facilities several doors often share one code.

---

## Changing the PIN Code

After you change the code on the physical lock, update the registration here to match.

1. Click "Edit" on the lock
2. Replace the code with the new one and click "Save"
3. A confirmation dialog appears — read it, then click "Save"

The confirmation dialog shows **how many reservations and check-ins are currently displaying that code** ("The display for N reservations and M in-progress check-ins will be updated to the new code."). Saving switches the code those guests see in the app.

### What is not updated

- **Emails and LINE messages already sent are not rewritten.** A notification is delivered with the content it had when it was sent and cannot be changed afterwards. Contact guests individually if they may be looking at an email containing the old code.
- The physical lock is not changed either. **Change the code at the lock first**, then update this page.

---

## Deleting a Registration

Clicking "Delete" opens a confirmation dialog.

- **A lock that is in use cannot be deleted.** While it is selected as the entrance lock in a check-in configuration, the delete button is disabled and shows "This lock is in use and cannot be deleted. Remove the assignment first." Clear the lock selection from that check-in configuration first.
- **Deleting does not change the code on the physical lock.** It only removes the registration from UnlockOS. To invalidate the code, change it at the lock.

---

## Using It in a Check-in Configuration

A registered lock can be selected as the entrance lock under "Lock Settings" in the [Check-in Configuration](checkin-config-form.md).

- The entrance lock dropdown is grouped under two headings: **Smart Lock** and **Fixed Code Lock**.
- Selecting a fixed code lock limits the key display types to **PIN Code only**. QR code and unlock button cannot be selected, because this lock cannot produce them.
- **Fixed code locks do not appear in the exit lock dropdown.** Entry and exit share the same code, so a separate exit key does not exist.
- Changing the selected lock resets the key display types to the defaults that lock can actually produce.

---

## What Guests See

With a fixed code lock as the entrance lock, guests see **only the PIN code** on their check-in screen.

- No QR code is shown
- **No expiry countdown is shown either**, because this key never expires

See [Access Key Display](key-display.md) for the key screen in general.

---

## When an Error Appears

| Message | Meaning | What to do |
|---|---|---|
| Could not change the PIN code. The registration was not changed. | Updating the issued keys failed and the registration was not saved | Nothing has changed. Try again |
| The issued keys were updated to the new code, but saving the registration failed. | Guests already see the new code, but the registration on this page is still the old one | **Save the same values again.** Left alone, this page and what guests see stay out of sync |
| The operation was cancelled because we could not confirm whether the lock is in use. | The in-use check failed, so the operation was stopped as a precaution | Wait a moment and try again |
| Could not load the registration list | Loading the list failed | Click "Retry" |

---

## Frequently Asked Questions

### Q: The "Fixed Code Lock" card does not appear on the External Integrations page

A: It is controlled by the `card_fixed_code` feature flag, which is **not yet enabled in production** (staging only). Contact support if you would like to use it.

### Q: Why am I not stopped from registering a weak code such as 0000 or 1234?

A: This is intentional. This page **records the code that is actually set on the lock**; UnlockOS does not choose it. Refusing a weak code would only make it impossible to record reality — the door would still open with the same code. Improve code strength by changing the code on the lock itself.

### Q: Can two locks have the same PIN code?

A: Yes. No duplicate check is performed, because in real facilities several doors often share a single code.

### Q: I want to revoke the key of a guest who has checked out

A: That is **not possible** with this type of lock. The code is a physical property of the lock, so the only way to invalidate it is to change the code at the lock. If you need per-stay revocation, consider a smart lock such as KEYVOX ([Lock Connection](lock-connection.md)).

### Q: If I change the code, does the code in emails already sent to guests change too?

A: No. Sent notifications cannot be rewritten, so contact guests individually if they may be looking at the old code. The code shown in the app (reservation and check-in screens) does switch to the new one.

### Q: I cannot select a fixed code lock as the exit lock

A: This is intentional. Entry and exit share the same code on a fixed code lock, so a separate exit key cannot be issued. Use a smart lock for the exit lock.

### Q: I cannot select QR Code as a key display type

A: The selected lock cannot produce a QR code. If you need one, select a smart lock as the entrance lock.

---

## Related Pages

- [External Integrations](external-integrations.md)
- [Lock Connection](lock-connection.md)
- [Check-in Configuration](checkin-config-form.md)
- [Access Key Display (QR / PIN / Remote Unlock)](key-display.md)
