You write the check-in message. The guest doesn't read it. They arrive, message you "hi, what's the door code?", you copy-paste from the message you sent them four days ago, and it happens again on the next booking.
The good news: this is almost entirely a structural problem, not a "bad guest" problem. The top hosts — the ones with 4.95+ ratings and a "where's my code" rate near zero — have solved it with a specific playbook. This guide lays it out.
This guide covers:
- Why the traditional Airbnb message template fails
- A three-message cadence that makes support requests almost disappear — all sent in the booking platform's own thread
- Exactly what goes in each message (with copy-paste templates)
- The one structural change that removes most support tickets
- The edge cases: late arrivals, big groups, international guests
One upfront framing: every recommendation in this guide assumes you're communicating with the guest inside the booking platform's own message thread (Airbnb or VRBO), not via SMS or WhatsApp. Off-platform communication before or during the stay puts you out of bounds with Airbnb's policies and weakens your AirCover paper trail. The fix for "messages don't get read" isn't a new channel — it's a durable link and better timing inside the channel the guest already has notifications on.
Why the traditional check-in message fails
Here's the template most hosts use (verbatim, including the capitalization):
Hi, thanks for booking! Check-in is after 3pm. The door code is 4829. Here's the Wi-Fi: SSID "BeachHouse" Password "Sunny2024!". Address is 123 Oak St. Parking is on the driveway. Trash day is Tuesday. Let me know if you need anything!
This fails for three reasons:
1. It's a wall. The guest's brain reads "thanks for booking" and checks out. The code is buried in the middle of a paragraph that looks like every other bland host message.
2. It arrives too early. Sent at booking time, it's read once (maybe), then lost forever in an Airbnb thread with 20 other messages ("Can I bring my dog?", "What time is checkout?", "Is there parking?"). When the guest actually needs the code, it's gone.
3. It's a static message carrying dynamic info. Codes rotate, times shift, the Wi-Fi password might change. Once the message is sent, it's frozen. A guest re-reading it three days later might see stale information.
The three-message cadence
Instead of one pre-arrival wall, top hosts send three shorter messages at three specific times — all inside the booking platform's own thread (Airbnb or VRBO), each pointing at a durable guest link that stays up to date.
Message 1: Booking confirmation (sent immediately, in-platform)
Short, warm, sets expectations. No code yet — point at the durable link.
Template:
Hi [Guest first name] — got your booking confirmed for [date]. Here's your check-in hub: [single link]. It's bookmarkable from any device, and your door code will become visible there on check-in day. I'll send a couple of short reminders as we get closer.
Check-in is any time after 3 p.m., checkout by 11. If you have a question about the area before then, just reply here.
Why it works: acknowledges the booking, gives the guest one URL to bookmark so they never have to hunt for check-in info, and locks in the key policies (check-in and checkout time) in case of a later dispute.
Message 2: Pre-arrival (sent 24 hours before check-in, in-platform)
The meat of your communication. Same link — reminder of what's inside.
Template:
Your check-in details for tomorrow — same link you got at booking: [single link].
Inside you'll find your door code (visible from check-in onwards), Wi-Fi, parking, and the house guide. If you need me for anything, reply right here.
Drive safe!
Why it works: it's short enough to actually read on a phone, it points at the same URL from message 1 (so the guest learns "this link is the thing"), and it doesn't copy the code into the message itself — which means if anything shifts between now and arrival, the link still shows the truth.
The key is the link itself has to be durable and dynamic. If it's a Google Doc, the content is frozen at creation time. If it's a PDF attachment, it breaks on mobile. The right format is a persistent guest portal where the content updates server-side. See the section below.
Message 3: Arrival-day nudge (morning of check-in, in-platform)
Sent on the morning of arrival, still in the Airbnb or VRBO thread. The guest's booking-platform app is the one they already have notifications on for this trip.
Template:
Welcome! Your check-in link is live now: [single link]. Your code is there from 3 p.m. onward. Door is the brown one on the left. Safe travels!
Why it works:
- Arrives as a push notification in the app the guest is already using for this trip
- Points at the same durable URL so the guest's memory of where to find info stays consistent
- No off-platform SMS or third-party channel — all policy-compliant, fully logged by the booking platform
- Arrives on arrival day when the guest's attention is on the trip
The structural fix: one persistent link
The single biggest quality-of-life improvement most hosts can make is switching from "a bunch of messages that carry the info" to "one permanent link that always has the info".
Instead of:
- Code in an Airbnb message
- Wi-Fi in a second Airbnb message
- Parking in a third
- House guide as a PDF attachment
You give the guest one link, delivered inside the Airbnb or VRBO thread. It shows the current active code, the Wi-Fi, the parking, the house guide, and anything else they need. The code rotates automatically per booking. The guest bookmarks it, opens it from any device, and never has to hunt.
This is exactly what Staykey's guest portal is. It's also why we rebuilt the guest experience around a single link in the first place — the old way (a bunch of messages) creates support load that no amount of template polishing can fix.
What to include in the guest portal / info link
The minimum content that covers 95% of questions:
- Door code — largest element on the page, clearly labeled
- Exact door — not just "the front door" but "the brown door on the left, with the palm tree"
- Wi-Fi — SSID and password in a tappable format (iPhones can auto-join from a QR code)
- Parking — which spot, which driveway side, whether a permit is needed
- Trash / recycling — day of week, where to put it
- Quirks — the water pressure takes a minute, the hot tub takes 30 minutes to warm up, the deadbolt sticks
- Emergency contact — you or your local co-host, with the preferred channel (almost always: the Airbnb thread, then a phone number for genuine emergencies)
Leave out:
- Long house rules. Those belong in the listing, not the arrival page.
- Marketing about your other properties. Guest portal is about this stay.
- Lockbox backup code if you have a smart lock. It contradicts the instructions.
Templates for the annoying edge cases
Late check-in (after 10 p.m.)
Hi [Name] — noticed you're arriving late tonight. The code works from 3 p.m. onwards, so you're good whenever you get in. The driveway light is on, and there's a motion light at the door so you'll see the keypad. Safe travels.
Early check-in request
Thanks for asking! Our cleaner usually finishes by 2 p.m., so if you'd like to swing by and drop bags you're welcome to — just message me when you're 30 minutes out. Full check-in (bedrooms etc.) is available starting 3 p.m.
International guest (likely roaming)
All your details are in your Airbnb message thread — which works on Wi-Fi anywhere in the world — plus this check-in link: [link]. The link opens on any browser, shows your current door code from 3 p.m. onward, and has the Wi-Fi password so you can get online as soon as you're inside.
Big group (6+ guests)
Heads up — only one code will be sent to [Lead guest name]. We recommend adding it to your group's shared chat so everyone has it. Each room key is on the counter inside. Parking is tight for large groups, so please consolidate where you can.
Guest who's already booked before
Hey [Name], welcome back! Fresh door code has been set for this stay — the one from last time no longer works. Your new code is in your check-in link: [link].
What changes when you automate this
The cadence above is what a host should do manually. In practice, nobody does it consistently, because each booking requires three timed messages and a generated code and an updated portal link. The first one gets done, the third one slips.
The point of a tool like Staykey is to make the three-message cadence the default state, not a discipline. When a booking comes in:
- Staykey generates the guest's durable link the moment Airbnb confirms
- Staykey programs the access code onto the lock, time-bound to the stay
- You drop the link into your Airbnb or VRBO auto-message template once — it's then sent automatically by the booking platform to every future guest
- The link stays live for the whole stay, updating the visible code, Wi-Fi, and house guide as anything changes
You read a booking notification, decide if you want to send a personal note on top, and do nothing else. All communication stays inside the booking platform thread where Airbnb (or VRBO) wants it, fully logged, fully compliant — and the durable link does the heavy lifting so your prose doesn't have to.
Keep reading
- Airbnb self check-in: the complete setup guide — the end-to-end hardware + messaging flow
- Why we rebuilt the guest portal around one link — the one-link design philosophy
- Automating Staykey links in Airbnb messages — the exact template to drop in
- Creating your first guest link — step-by-step inside Staykey
- Guest Experience — what your guests actually see
Ready to stop answering "what's the code?"
Start a 30-day free trial and your next guest gets a durable link instead of a Post-it's worth of messaging. Questions about your setup? Get in touch.