Property setupUpdated 10/23/2026

Door Codes & Smart Locks

Every stay has one door code as far as the guest is concerned, and Haven delivers it the same way whichever way you produce it: in the guest's guide, and in its own Door code email and text, separate from the check-in instructions. This article covers where a code can come from, when the guest receives it, and how to connect a smart lock so Haven issues codes for you.

Where a guest's door code comes from

Haven looks for a stay's code in this order and uses the first it finds:

  1. A code from a lock Haven manages — Haven creates a code per reservation and writes it to the device: a random PIN, the last four digits of the guest's phone, a pattern you choose, or a code you typed on the reservation. This is the code the door will take, so nothing outranks it. See Connect your locks and Choose what the guest code is.
  2. A code you entered on the reservation — the code you generated in your lock's own app, or the one a homeowner gave you for this guest. See Enter a code for one reservation.
  3. A code from your PMS — Guesty, Hospitable, Lodgify, OwnerRez, and Track can expose the guest's door code on the reservation; Haven mirrors it. See Codes from your PMS.

On a listing where Haven manages the lock, a guest is only ever shown the code the lock holds for their stay. A code you type there goes onto the lock (see below), so the two never differ.

When a stay has none of those, guests see the listing's own check-in details — the Keypad code, Lockbox details, or Gate or community code you typed under Edit Listing → Arrival → Check-in steps. Those fields accept the same shortcodes as emails ({guest_phone_last4}, a PMS {gate_code}, and so on), so a listing-level keypad can still be “the last four of this guest's phone.” A fixed number that never changes from guest to guest is still the right thing to type when that is how the lock works.

When the guest gets the code

Codes follow the listing's arrival details window. Under Edit Listing → Arrival → Guidebook access, When arrival details appear sets how early a guest can see Wi-Fi, entry codes, and directions (default 1 day; 0 means the morning of check-in). Everything that shows a code respects it:

  • The guide reveals the code from local midnight on that day, once any rental agreement, ID verification, or check-in-blocking guest form you require is complete.
  • The check-in instructions emails go out without the code before that day (they tell the guest it is coming) and with it on or after.
  • The Door code email and text go out the morning the window opens — at once if the code arrives after the window has already opened. A code from a connected smart lock is the one exception: it is sent the moment the lock confirms it is live on the device, so a guest is never told a code the lock would reject.
  • The reservation page and the trips dashboard show the same details on the same schedule, with a note saying when they appear.

The Door code message lives under Communication → Message automations → Door code, where you can edit its heading and message, switch the email off on its Email tab (if your PMS or lock app already emails codes), and switch on its text, WhatsApp, and PMS thread legs. With the email off, the code still shows in the guide, and any leg you left on still goes out when the window opens. Switching the card itself off stops the message on every channel. Account-wide Guest communications can also pause or turn off automated door-code messages for OTA and PMS stays — see Guest communications settings. Send to guest now on a reservation always emails. The PMS thread leg posts into the guest's booking conversation (Airbnb, Vrbo, and so on, through your PMS) — for a synced guest whose email the PMS never supplied, it is the channel that still reaches them. Its message links the guest's guide, which always shows the current code, rather than pasting the code into the OTA thread.

Enter a code for one reservation

Use this when the code is specific to a stay but not coming from a lock Haven controls — you made it in the lock's own app, a homeowner texted it to you, a lockbox was re-set for this guest.

  1. Open the reservation (Calendar → Bookings, or the listing's calendar).
  2. In the Door code card, type the code — digits from the lock's app, or a shortcode such as {guest_phone_last4} from the Shortcodes pill — and, optionally, a label the guest reads above it (“Front door keypad”, “Lockbox on the railing”).
  3. Click Save code.

A shortcode is stored as the template, not a snapshot. When this guest's phone is on the stay, {guest_phone_last4} becomes those four digits in the guide and the Door code email. If the stay has no number yet, the card keeps the token and guests are not shown or emailed a code until it resolves — Haven does not invent one.

The card then shows the code, where it came from, and its delivery status — Scheduled for … when the window has not opened yet, Sent … once the email went out. Send to guest now sends it immediately regardless of the window (and Send again re-sends a code that already went). Replace overwrites the code; a replaced code is sent again on the same rules. Remove takes it off the stay, cancels an unsent email, and the guest falls back to the listing's check-in details.

On a listing where Haven manages the lock (a lock is assigned and Auto-create a code for each reservation is on), saving puts the code on the lock for this stay, replacing the one Haven made, and Haven keeps it through date changes. The card says so under the code field. If the lock can't take the code — letters, the wrong number of digits, another stay already holding it on overlapping dates, or a booking that isn't confirmed yet — Haven doesn't save it and tells you why, so a guest is never given a code the door will reject. A code changed during a stay is held back until the lock confirms it; the card shows it as waiting until then.

Everywhere else (no lock connected to Haven, or auto-create off), the code you enter wins over a PMS code for the same stay and never changes anything on a physical lock — it tells the guest what you already set up, so set it on the lock first.

Codes from your PMS

If the listing is synced from a PMS that manages guest codes — Guesty Locks Manager, Hospitable smart locks, Lodgify key codes, OwnerRez door codes, Track reservation access codes — Haven reads the code the PMS assigned to each reservation and treats it like any other: it appears in the guide, the Door code email follows the arrival details window, and the reservation's Door code card shows it as From your PMS. When the PMS rotates or removes the code, Haven follows on its next sync; a new code is sent again.

On Lodgify, it also works the other way: when Haven creates a lock code for a stay, or you type a code on the reservation in Haven, Haven writes it onto the Lodgify booking as its key code, so Lodgify shows the code your guest gets. This covers bookings of a single Lodgify room; a booking that spans several rooms keeps its key codes as they are, and cancelling a booking leaves the code in Lodgify. A code Haven read from Lodgify is never written back.

Haven does not message a guest who booked through your PMS or an OTA unless you opt that stay in. Until then, PMS codes still show in the guide, but no email, text, WhatsApp, or PMS-thread message goes out, and the card says Synced from your PMS — Haven won't message this guest. A stay is opted in when you turn on Auto-send the guide under OTA guests on Edit Listing → Arrival → Guidebook access, turn on guest verification or Screen & Protect for OTA guests, or press Send to guest now on that reservation. Saving or replacing a code does not opt a stay in. The PMS also has to give Haven the guest's email before anything can be emailed (the card says No guest email on this stay yet when it has not). Bookings made through your Haven site are not affected: they get the Door code email as usual.

When the PMS supplies no guest email at all, switch on the PMS thread leg of the Door code message (Communication → Message automations → Door code): Haven posts the message into the guest's booking conversation instead, on the same reveal schedule.

If a PMS code is not appearing, check that the PMS actually holds one for that reservation (for Guesty, this requires the Locks Manager add-on) and that the connection under Integrations is healthy.

Hospitable's reservation API often does not include the door code on the token Haven uses. Guests can still get Lock / Unlock on guidebook Home from Hospitable's smart-device API: reconnect Hospitable (so Haven receives devices:read and devices:write), then under Edit Listing → Smart lock pick the lock and turn on Let guests lock and unlock from the guidebook. Those buttons work during the stay even when no door code was mirrored.

Which locks work

Haven connects through Seam (Seam's stable provider catalog). After you sign in, Haven syncs every device on that account that Seam reports as a lock, and you assign one device per listing. Haven does not keep its own brand allowlist — if Seam classifies the device as a lock and it can take a PIN, Haven can provision codes for it.

Haven's guest workflow is a unique keypad PIN per reservation, so the lock needs to support access codes (not only remote lock/unlock).

Common keypad brands on Seam's API (examples, not a guarantee of every model):

BrandSeam device type
Augustaugust_lock
Yaleyale_lock
Schlageschlage_lock
igloohomeigloohome_lock
Iglooigloo_lock
Kwiksetkwikset_lock
Locklylockly_lock
Nukinuki_lock
Tedeetedee_lock
Wyzewyze_lock
TTLockttlock_lock
Ultraloqultraloq_lock
SmartThingssmartthings_lock
Hubitathubitat_lock
KoreLockkorelock_lock
Akilesakiles_lock

If your lock appears after Sync and can take a PIN, Haven can provision codes for it. You keep the hardware and the provider account you already have — Haven adds reservation-aware code management on top.

Locks paired to a security system (Vivint, ADT, Ring Alarm)

A Z-Wave lock — including most Kwikset SmartCode and Home Connect models — pairs to exactly one hub, and it has no cloud account of its own. If yours is paired to a security panel like Vivint, ADT, or Ring Alarm, no outside service can reach it (Haven, or a PMS): those systems do not offer a public API. That is a property of the panel, not of your Haven or PMS plan.

Your options in that situation:

  • Kwikset Halo models (built-in Wi-Fi) don't need the panel at all — set the lock up in the Kwikset app and connect that account to Haven.
  • Re-pair the Z-Wave lock to a SmartThings hub instead of the panel. Haven connects to Kwikset, Yale, and Schlage Z-Wave locks through SmartThings. You lose lock control in the security panel's app.
  • Keep the panel and enter codes by hand — set the guest's code in the panel's app, then type it on the reservation's Door code card. Haven still shows it in the guide and sends the Door code email on schedule.

Not used for guest codes

Access-control panels, intercoms, and garage openers may exist in Seam (Brivo, ButterflyMX, Avigilon Alta, Salto ACS, 2N, Genie, and similar) but they do not run Haven's per-stay keypad workflow. Use a lock from the table above for automated guest PINs.

Thermostats on the same Seam account are set up separately — see Smart Thermostats.

Connect your locks

Connect your lock account once, then assign a lock to each property. You can do both from Settings → Smart Devices (connect under Devices, assign under Smart locks → Property settings) or from a property's Edit Listing → Smart lock section; both places save the same assignment. Smart locks are available on any paid Haven plan.

What devices cost

Your first month is free. After that each connected device is $8/month, and that applies to locks and thermostats alike — a property with a lock and a thermostat is two devices, $16/month. Haven passes this through at cost: it is what the device connection costs us, with no markup. You see the price once more, and agree to it, in the confirmation that opens before the connect flow starts.

Whoever connects the devices pays for them, and needs a card on file first. If you work with a Haven partner, devices are billed once for the whole account, to one side: the partner when the partner manages the account's add-ons, otherwise the account itself. Only that side can connect a device account; anyone else is told who to ask.

Devices are billed as their own monthly subscription, separate from your plan invoice, the same way mailboxes are. So if you pay for Haven annually, the device charge still arrives monthly on its own cycle.

The quantity follows your device count automatically. Connect a second lock and Stripe prorates the difference onto that cycle right away; remove a lock from your provider account and the charge drops off once Haven next syncs your devices (within a day, or immediately if you click Sync). Devices that need reauthorization still bill, because they are still provisioned. Your device count is on the Smart Devices tab in Settings; the monthly total sits in the Add-ons breakdown on the Subscription tab, alongside mailboxes and domains.

Connecting devices requires a paid Haven plan and a card on file — the card has to be your default payment method, not just attached. If a device charge can't be collected, you get a 7-day grace window. After that the device assignment is suspended: Haven stops issuing and rotating guest codes, and guests stop seeing the code in their guidebook. Codes already programmed at the lock are never revoked, so nobody is locked out mid-stay — and updating your card restores the assignment automatically.

  1. Open Settings → Smart Devices → Devices and click Connect devices, or open a property's Edit Listing page, go to the Smart lock section (search "smart lock" in the edit-property search bar to jump there) and click Connect smart locks.
  2. You'll be taken to your lock provider to sign in and authorize access, then returned to Haven.
  3. Once connected, Haven discovers the locks on your account. If you don't see a lock yet, make sure it's set up in your provider app and then click Sync.

Assign a lock to a property

After connecting, choose which device protects each listing. From Settings, for several listings at once:

  1. Open Settings → Smart Devices → Smart locks → Property settings. Every listing is listed; one without a lock shows No lock.
  2. Pick the device in that listing's lock picker and click Assign. A lock that already protects another listing shows that listing's name beside it.
  3. The row then shows the lock with its code timing. Expand it to Change the lock, Remove it, or set custom code options.

If Assign is off with an (i) beside it, the listing has no address yet: lock codes run on the listing's own time zone, so set its location under Edit Listing first. With no lock account connected, the page links to Connect devices.

Or, from one listing: in its Edit Listing → Smart lock section, open Select a lock for this property, pick the device and click Assign to this property. Either way, the lock shows in both places.

Each property has its own lock assignment, so multi-unit properties can each map to their own device under one connected account.

How smart-lock codes work

Once a lock is assigned, Haven manages codes automatically for confirmed reservations:

  • Auto-created per stay — every confirmed reservation gets its own code. By default that is a random PIN no other live code on the lock shares; you can make it the last four digits of the guest's phone instead (see Choose what the guest code is). You can turn auto-creation off with Auto-create a code for each reservation on the Smart lock page.
  • Relative to check-in and checkout — Codes start and Codes end are offsets from this listing's check-in and checkout times (for example, 1 hour before check-in and 30 minutes after checkout). The clocks on that page show the resulting times. If you change check-in or checkout under Arrival, the codes move with them — you do not need to re-enter clocks here.
  • Created at sync, on the lock at the window — Haven creates the code the moment the reservation syncs in and schedules it from the Codes start time (check-in minus your offset) to the Codes end time; the lock itself receives the code when that window opens, and the Door code message goes out once the lock confirms it.
  • Sent when live — the Door code email and text go out the moment the lock confirms the code is on the device. The email shows the exact window the code works in.
  • Shown in the guest portal — the code appears in the guest's Haven trip hub with their Wi-Fi, parking, and check-in details. Unlock and Lock sit next to the signed-in row on guidebook Home and work only during that stay's access window (the same start/end you set on Smart lock). On the web guide, guests can unlock the door remotely during that window (not yet in the native mobile app).
  • Revoked automatically — at checkout Haven removes the code from the device. The next guest gets a fresh code; the previous one stops working.

You'll see the assigned device, Unlock / Lock, the code start and end settings, the auto-create toggle, and the Guest code choice in the Smart lock section once a lock is active. The Arrival guide preview shows the same Unlock / Lock pair beside the signed-in row so you can confirm guests will see them. Those preview buttons stay disabled until a real stay is inside the access window.

Choose what the guest code is

Guest code decides what Haven writes to the lock for each stay. Set it once for every listing under Settings → Smart Devices → Smart locks → Account defaults, or for one listing under Edit Listing → Preferences → Smart lock (which switches that listing to its own settings; the Property settings tab on the Smart locks page shows which listings inherit and which don't, and assigns or changes each listing's lock).

  • Random PIN — the default. Haven picks a unique 6-digit code for every stay.
  • Last 4 digits of guest's phone — the code guests already know. Haven reads the number from the reservation (their Haven checkout or profile phone, or the one your PMS sent over) and uses its last four digits.
  • Custom pattern… — digits combined with shortcodes, for example 12{guest_phone_last4} on a lock that needs six digits. The Shortcodes pill lists what you can insert; the pattern must contain at least one shortcode, and only digits outside it.

A pattern is resolved for each stay when the code is created, with the same shortcodes as the per-reservation Door code field. Two things to know:

  • Haven never invents a code. If the guest's phone number isn't on the reservation yet, no code is written. Haven records why on the stay and tries again the next time the reservation changes (a PMS sync that adds the number, for instance). In the meantime you can enter a code on the reservation by hand.
  • The lock has the last word. If the pattern gives fewer or more digits than the device accepts (many locks want 4–8), or another stay on the same lock already holds that code during an overlapping window, the code is not written and the stay shows the reason. Pick a longer pattern, or enter a code on the reservation.

Changing the choice affects codes created from then on; codes already on the lock stay as they are until the stay's dates change or checkout revokes them. Guests keep seeing the code their stay actually has on the lock either way; to switch one stay over, type the new code on its reservation.

Haven keeps checking the lock

About every 15 minutes Haven compares each upcoming stay's code with what the lock reports, so the code your guest sees stays the one that works:

  • A PIN you change in the lock's own app becomes the code Haven shows and sends.
  • A code the lock refused is no longer shown, and the reservation's Door code card says why.
  • A code removed from the lock outside Haven is created again for a stay that's still ahead.
  • When you change check-in or checkout under Arrival, each upcoming code's window moves on the lock to match. The PIN stays the same.

Test the lock, sync, and remove

  • Unlock / Lock — sends a real command to the assigned device so you can watch it respond while you are on this page. This is not a dry run.
  • Test sync — pulls the latest device list and status from your provider. Use this after adding a new lock in your provider app. It does not move the lock.
  • Remove lock — unassigns the device from the property. Haven stops managing codes for that property until you assign a lock again.

If a property is connected to a PMS

A listing with an active PMS connection has both routes side by side in the Smart lock section:

  • Codes from the PMS — if your PMS plan manages guest codes, Haven mirrors them; see Codes from your PMS. For Hospitable, this panel is also where you reconnect (if Haven is missing device permission) and enable guidebook Lock / Unlock.
  • Connect your locks directly to Haven — link your lock account under Or connect your locks directly to Haven, exactly as on an unsynced listing. Haven then creates a code for every reservation synced from the PMS — including OTA bookings — per your Guest code choice (random PIN or the guest's phone last four; a PMS-supplied phone counts), writes it to the device, shows it in the guest guide, and revokes it after checkout. You do not need the PMS's smart-device plan or add-on for this; the lock connection is Haven's own.

If a stay ends up with both, Haven prefers the code it wrote to the device itself; a code you type on the reservation is written to that device too. To avoid two codes being provisioned for the same stay, use one route per property: either the PMS's device automation or Haven's direct connection, not both.

Thermostats are different: a PMS connection does not hide the Thermostat section. See Smart Thermostats and the PMS Integrations Overview.

Troubleshooting

  • The Door code card says the lock couldn't take the code — the reason is the lock's own (a duplicate code, no free code slots, a code it rejected). Fix it in your lock app, or type a different code on the reservation.
  • The guest says they never got the code — open the reservation's Door code card. Scheduled for … means the arrival details window has not opened yet; Send to guest now overrides it. Not sent yet on a smart lock code means the lock has not confirmed it — check the device in your provider app.
  • A code isn't working — open your lock provider app to check the device's status and connectivity, then click Unlock or Lock on the Smart lock page to confirm the device responds, or Test sync to refresh the device list. For a code you entered by hand, confirm it on the lock itself; Haven only relays it.
  • Unlock or Lock does nothing — the device may be offline or may not support remote lock. Check it in your lock provider app.
  • No locks found — confirm the lock is set up and online in your provider app, then click Sync.
  • The listing is PMS-synced and you want Haven to manage codes — connect the lock under Or connect your locks directly to Haven in the Smart lock section; no PMS device plan is required. Or configure the lock in the PMS, or enter the code on the reservation by hand.

New to Haven?

Everything in this guide, done for you

Haven is the direct booking platform these guides are written for — a branded site, secure payments, and guest relationships you own. Build yours free.

See how Haven works

Free to build · No credit card · Private until you publish