Haven can require the primary guest on a booking to verify their identity before WiFi, lock codes, check-in instructions, and contact details unlock in the guest portal. This is an opt-in, per-property setting. Identity verification is a Haven feature backed by Stripe Identity — guests photograph a government ID in a Stripe-hosted flow. It is separate from Truvi guest screening.
You can also apply agreement and ID requirements to Airbnb, Vrbo, and other synced (OTA/PMS) stays. On those stays Haven bills you for the identity fee (there is no Haven guest checkout to add a line item to), and only after the guest completes verification. Guests complete the check in the Haven guidebook; a Haven booking website is not required.
For the full set of guest-security tools (ID, Truvi screening, deposits, and agreements), see Guest security options.
You'll see Guest verification on each property under Edit Listing → Arrival, and on each Multi-Unit Site under Settings → Guest verification (opens the right-side editor). To set it for several listings at once, use Settings → Trust & Safety → Guest verification → Property settings. The two requirements are independent toggles — turn on one, both, or neither:
| Setting | What guests see |
|---|---|
| Require a signed rental agreement | Guests sign your rental agreement before WiFi, lock codes, check-in, and host contact unlock. |
| Require identity verification | A Stripe-hosted identity check before those same details unlock. |
When identity verification is on, three more controls appear:
Changes autosave. There is no separate Save button.
Turn on Don't ask returning guests to verify again and a guest who has already been with you skips the ID check, on Haven and OTA bookings alike. Haven counts a guest as returning when they have:
A stay that hasn't happened yet doesn't count on its own: a guest who books twice before their first visit is asked on both, unless they had already passed the check on the first when they made the second.
Haven recognizes the guest by their Haven account or email address. A direct booking is checked when the guest signs in to book, before they pay, so a skipped check never adds the $4.99 fee. An Airbnb reservation syncs without the guest's email, so it is checked once the guest gives their email on your guest form. A Vrbo or PMS reservation that arrives with the guest's email is checked right away.
A guest who has already started the check keeps it. On the reservation, the Verification section shows Skipped · returning guest. The setting applies from the moment you turn it on: Haven doesn't go back over reservations it has already checked. To skip one of those, use Skip ID verification for one stay.
Haven uses Stripe Identity. When a guest opens their guide for a confirmed, paid booking that requires verification, they see a "Verify your identity" tile. The tile does not appear while the reservation is still awaiting host approval or payment. Tapping it launches a Stripe-hosted flow where they:
Once verified, the guest's check-in details unlock automatically in the guide. Most verifications come back in seconds; a small fraction get flagged for human review and are surfaced in the Haven admin queue.
Identity verification carries a flat $4.99 per-booking fee (charged once per reservation, not per night).
When you enable identity verification, you choose who pays on Haven checkout:
| Who pays | Guest checkout | Your payout |
|---|---|---|
| Guest pays (default) | Line item at $4.99 | No deduction — Haven retains the fee |
| You pay | No verification line item | $4.99 deducted from your payout |
The fee is not refundable once charged (Haven pays Stripe for the check).
On Airbnb, Vrbo, and other OTA bookings, you always pay — and only after the guest completes verification. If they never open the guidebook or never finish the Stripe Identity step, you are not charged. Haven charges your saved payment method at that moment (if you opted the listing into Also require the ID check on OTA bookings). Guests complete the check in the guidebook via a personal link — they are never charged by Haven for verification on OTA stays.
In Edit Listing → Arrival → Guest verification, or Multi-unit site editor → Settings → Guest verification, turn on:
The rental agreement and the ID check are separate switches, so you can ask your Airbnb and Vrbo guests to sign the agreement without paying for an ID check, or the other way round. Each one applies to reservations that sync after you turn it on; a stay keeps the requirements it arrived with.
When Also require the ID check on OTA bookings is off, the reservation sheet shows Not enabled in Haven for OTA bookings for guest verification. When Also require the rental agreement on OTA bookings is off, it shows Rental agreement is off for OTA bookings. Neither shows Awaiting guest for those stays.
Those stays only complete ID verification if they open the guidebook. Turn on Auto-send the guide under Edit Listing → Arrival → Guidebook access so Haven emails the guide at booking and again before check-in — including guests whose reservation came from Airbnb, Vrbo, or another channel. You can also paste the guide link into OTA messages or print a QR code. See Guest Portal.
Cancellation caveat: when the OTA/PMS sends a cancellation webhook, Haven cancels Truvi and refunds unused Screen & Protect nights (before check-in). If the stay was cancelled before check-in and Screen & Protect had not been billed yet, there is nothing to refund. Identity fees are never refunded once charged — and are not charged at all if the guest never verified. If a cancel does not sync (off-platform booking with no webhook), use Cancel add-ons on that reservation so Haven can refund Screen & Protect.
If a property belongs to a Multi-Unit Site, that site's Guest Verification setting (Settings → Guest verification) applies by default. Editing the level on a specific property pins an override and stops that property from inheriting future site-level changes — matching how rental agreement library inheritance already works.
At the top of Trust & safety → Guest verification (and in Property settings, the gear on the listings page) three rows set verification for all your listings: ID verification, Rental agreement and Screen & Protect on OTA bookings. The first two each have a chooser for Haven bookings and a separate one for OTA bookings; every chooser is Set individually, All on, or All off.
The OTA bookings chooser decides, for every listing at once, whether that step also runs on stays synced from Airbnb, Vrbo or your PMS — the same thing the per-listing Also require … on OTA bookings switch does, for all of them. It is separate from the Haven-bookings chooser: a step runs on a synced stay only where the listing requires it (after the Haven chooser) and the OTA chooser (or the listing's own OTA switch) includes synced stays. On those stays you pay the ID check fee, charged only after the guest completes the check; the rental agreement is free. While an OTA chooser is All on or All off, each listing's matching OTA switch shows the account value, locked.
Screen & Protect on OTA bookings does the same for Truvi: All on screens and covers every listing's synced stays (billed to you per night once each stay starts), All off screens none of them. The same row sits on Trust & safety → Damage protection, and All on waits until damage protection is enabled on your account.
Reservations already made keep the requirements they were booked with. The selfie option, Don't ask returning guests to verify again, and who pays the fee on Haven bookings are still set on each listing. When guests sign is a per-listing setting too, and Sign at booking for all listings under Settings → Trust & Safety → Rental agreements → Property settings sets every listing in one click. See Set Booking Rules for All Listings.
Every stay that was asked for ID, and what came of it, is on
Settings → Trust & Safety → Guest verification → Results
(/host?tab=trust&trustSub=verification&gvSub=results, or the shorter
/host?tab=guest-verification). It opens on Results by default; the Property
settings pill next to it is where you choose which listings ask for ID in the
first place. On a phone the same two pills are under More → Settings → Guest
Verification.
The list covers every reservation on every listing — Haven direct bookings and synced OTA/PMS stays alike — one row per stay, newest activity first.
| Status | What it means |
|---|---|
| Verified | Stripe accepted the ID. Check-in details have unlocked for that guest. |
| Not started | The check is waiting on the guest — they haven't opened it, or didn't finish. |
| Checking | Submitted, and Stripe is still verifying asynchronously. |
| Needs another try | Stripe returned requires_input (blurry photo, name mismatch). Guest can retry. |
| Failed | A terminal rejection from Stripe, or an explicit admin rejection. |
| Expired | The verification session timed out before the guest completed it. |
Each row also shows the listing, reservation code, stay dates, guest email, and a one-line explanation — the document type and whether the selfie matched on a verified stay, or the plain-English reason it did not go through otherwise. Rows with more than one attempt show the attempt count. Open reservation pulls up the full booking drawer.
Filters combine, and your stay window and sort stick between visits.
Stays on listings that do not ask for ID never appear here — the list is the record of checks that were actually requested.
If a guest's verification is rejected or expires, the guide shows a "Needs attention" state with a button to try again. A new attempt creates a fresh Stripe Identity session; the old attempt stays on the record for audit.
To waive the ID check for a single reservation, open it from Reservations or the calendar and, in the Verification section, click Skip for this stay under the guest verification row, then confirm. The guest is no longer asked to verify, reminders stop, and Wi-Fi, lock codes and check-in details unlock as soon as no other step (such as an unsigned rental agreement) is outstanding. The row then reads Skipped by host.
Admins can manually mark an attempt verified or rejected from the
Guest Verification admin queue at /admin/guest-identity. This is
intended for the small fraction of cases Stripe sends back as
requires_input — most attempts resolve automatically.
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