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 that builds on the existing Rental Agreement signature flow — you can pick how strict you want to be.
You'll see one Guest Verification setting on each listing (and on each property group / collection). Pick the level of friction that matches the booking:
| Setting | What guests see |
|---|---|
| None | No pre-arrival gating. Check-in details unlock as soon as the booking is confirmed. |
| Rental agreement only | Guests sign your rental agreement before WiFi, lock codes, check-in, and host contact unlock. (This is the current behavior.) |
| Rental agreement + identity verification | Same as above, plus a quick Stripe-hosted identity check. We can also require a selfie that matches the ID. |
The third option is gated behind a feature flag while it rolls out. If you don't see it yet, reach out — Haven admins can enable it on your account.
Haven uses Stripe Identity. When a guest opens their guide for a booking that requires verification, they see a "Verify your identity" tile. 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.
Haven absorbs the Stripe Identity fee (~$1.50 per verification). Hosts pay nothing extra to enable this on their listings.
If a property belongs to a property group, the group's Guest Verification setting applies by default. Editing the level on a specific property pins an override and stops that property from inheriting future group changes — matching how rental agreement library inheritance already works.
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.
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.
© 2026 Book With Haven, LLC.