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.
Haven looks for a stay's code in this order and uses the first it finds:
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.
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 Door code message lives under Communication → Message automations → Door code, where you can edit its heading and message, switch the email off (if your PMS or lock app already sends 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. 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.
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.
{guest_phone_last4} from the Shortcodes pill — and,
optionally, a label the guest reads above it (“Front door keypad”,
“Lockbox on the railing”).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.
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.
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.
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):
| Brand | Seam device type |
|---|---|
| August | august_lock |
| Yale | yale_lock |
| Schlage | schlage_lock |
| igloohome | igloohome_lock |
| Igloo | igloo_lock |
| Kwikset | kwikset_lock |
| Lockly | lockly_lock |
| Nuki | nuki_lock |
| Tedee | tedee_lock |
| Wyze | wyze_lock |
| TTLock | ttlock_lock |
| Ultraloq | ultraloq_lock |
| SmartThings | smartthings_lock |
| Hubitat | hubitat_lock |
| KoreLock | korelock_lock |
| Akiles | akiles_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.
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:
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.
Smart locks are set up per property, on the property's Edit Listing page. Smart locks are available on any paid Haven plan.
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.
After connecting, choose which device protects this listing:
Each property has its own lock assignment, so multi-unit properties can each map to their own device under one connected account.
Once a lock is assigned, Haven manages codes automatically for confirmed reservations:
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.
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).
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:
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.
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 listing with an active PMS connection has both routes side by side in the Smart lock section:
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.
New to Haven?
Haven is the direct booking platform these guides are written for — a branded site, secure payments, and guest relationships you own. Build yours free.
Free to build · No credit card · Private until you publish