Issue the guest's code in 60 seconds
The whole automation is one call on the booking-confirmed event. Everything after that is the booking's lifecycle mapped onto the grant's.
Build it with your AI agent
Install the Seam plugin and your coding agent picks up three integration skills: Reservation Automations, Access Grants and Access Codes. It then writes the calls the way we would. Paste the prompt below and let it build.
1. Install the plugin
The Claude Code install also adds our documentation MCP server, so the agent can look up endpoints and device capabilities while it works. Cursor, Codex and other agents get the skills through npx skills add and can add the MCP server there separately.
2. Paste this prompt
What you can build
Self check-in without a lockbox
The code arrives in the guest's confirmation message and starts working at check-in. No key handover, no lockbox on the railing, and nothing to collect when they leave.
Access that follows the booking
A shortened stay updates the code's window in place, an extension stretches it, and a cancellation removes it. The lock always agrees with the reservation system.
One integration across every host's hardware
Hosts bring August, Yale, Schlage, TTLock, igloohome and whatever the last owner installed. The same grant programs all of them, so supporting a new host is connecting an account, not scoping a project.
How it works
Connect the host's locks once
Each host links their lock account through a Connect Webview during onboarding. Their locks come back as devices with capability flags, and locks they add later flow in without another login. Store the device ids against the unit.
Create a grant when the booking is confirmed
One call on your booking webhook. The guest becomes a user identity, the unit's doors are the device_ids, and the stay is the window. Store the access_grant_id on the booking record, because every later change references it. Units behind offline hotel or multifamily systems also need a reservation_key on guest access; check can_belong_to_reservation on the entrance instead of branching on brand.
Send the code with the check-in details
Read the digits off the access method and drop them into the message you already send. Gate on is_issued: on real hardware the lock takes a moment to program, and the access_method.issued webhook tells you the moment the code is live.
Map booking changes onto the grant
Date changes are /access_grants/update with the new window; the PIN digits survive, so there is nothing to re-send. A cancellation is /access_grants/delete, which revokes every credential under the grant. A booking that moves to a different unit is a delete plus a fresh grant, because update moves the time window only.
Frequently asked questions
Where does the booking event come from?
Your own reservation system or PMS. Whatever fires when a booking is confirmed, changed or cancelled is the trigger; the Seam call is the same regardless of where the booking originated.
What happens if the lock is offline at check-in?
Seam queues the code and programs it when the lock reconnects, and the access method stays unissued until then. For units with unreliable connectivity, locks that take offline codes sidestep the problem entirely: the digits work without the lock ever being online.
Do cleaners and maintenance get the same code as guests?
Give them their own grants. A cleaner's grant can be ongoing or recurring per visit, and it is revocable on its own without touching a guest's access. One credential per person also keeps the door's log meaningful.
Can guests get a mobile key instead of a PIN?
Yes. Ask for both in one grant: requested_access_methods [{ mode: "code" }, { mode: "mobile_key" }]. The mobile key also carries an Instant Key link you can text, so guests who skip your app still get tap-to-unlock.
Which locks work best for vacation rentals?
Keypad locks that take remotely programmed codes are the workhorses: August, Yale, Schlage and TTLock models dominate the category. Our Airbnb smart lock guide compares the popular models; the capability pages list every lock that supports each credential.
What if the same guest books twice?
Reuse the user identity and create a grant per booking. Grants are the per-stay object, and identities are the per-person one, so a returning guest keeps one identity with a clean history of stays.
Related
- Guest access for property managersCheck the software and hardware requirements, or share an integration brief with your PMS provider.
- How to generate temporary access codes programmaticallyThe credential mechanics under this automation, including offline hotel systems and reservation keys.
- Best smart locks for AirbnbThe hardware side of the same job: which locks hosts actually buy, compared.
- Smart locks that support online access codesEvery model that takes a remotely programmed PIN, with live per-system status.
- Reservation Access GrantsWhen offline hotel and multifamily systems need a reservation_key, and how overrides work.
- Smart locks that support offline access codesCompare supported models and check the limits of codes that work without a lock's internet connection.