Getting every renter to sign the liability waiver before the rental starts
One payer, several people, one waiver each. How we built waiver signing into a Sharetribe checkout and kept every signature tracked on the booking.
- Client
- Storage and parking rental marketplace
- Platform
- Sharetribe, Stripe, PandaDoc
- What we built
- In-checkout signing, participant waivers, status tracking
Overview
The same storage and parking marketplace needed a liability waiver from everyone who uses a rented space, not just the person paying. The rule applied to one-off bookings and to the monthly subscriptions we had already built.
Sharetribe has no waiver feature, and a PDF sent by email after the fact is easy to ignore. We built signing into checkout for the renter, sent waivers automatically to everyone else, and kept each signature visible on the booking for both the renter and the host.
The challenge
A waiver only protects the host if it's signed, by the right person, before they use the space. Getting there raised several problems:
- More than one person. A renter may share a unit or a parking spot with others. Each person needed their own waiver, sent to their own email.
- No signature, no payment. The renter had to sign before paying, without leaving checkout or losing their place.
- Two kinds of rental. Bookings are confirmed at payment. Subscriptions wait for host approval and can still be declined and refunded. Emailing waivers for a rental that never happens confuses people.
- Signatures happen elsewhere. People sign in PandaDoc, sometimes days later. The marketplace had to learn about each signature reliably, even if a notification got lost.
- Mistakes in names and emails. A renter who typed a friend's email wrong needed a way to fix it without starting over.
Our approach
We followed a waiver from checkout to the end of the rental, for both rental types, and asked what happens at each step if something fails. Three principles shaped the build:
- Block payment, never the rest of checkout. The renter signs inside checkout in a full-screen window; only the Pay button waits for the signature.
- Send waivers only for rentals that will happen. Bookings send them after payment. Subscriptions send them when the host accepts, so nobody signs for a declined request.
- Never rely on a single message. Every signature can be confirmed three ways, so a missed notification corrects itself.
A waiver protects the host only if it's signed, by the right person, before they use the space.
We also made sure waivers could never stall the business. If the signing service has a problem, it is logged and retried; it never blocks a payment, an approval or a cancellation.
The solution
Participants at checkout. The renter picks how many people will use the space, up to a limit the host sets on each listing, and enters a name and email for each. If the host allows only one, the step disappears and the renter just signs.
Signing inside checkout. The renter's waiver opens in a full-screen signing window on desktop and mobile. Pay unlocks the moment they finish. If the confirmation from the signing window is missed, a “check status” button asks PandaDoc directly, and only the person named on the waiver can use it.
Waivers for everyone else. Each additional person gets their own waiver by email, with automatic reminders and an expiry date. For bookings they go out after payment. For subscriptions they go out when the host accepts, and never if the request is declined or expires.
Tracking that fixes itself. When someone signs, PandaDoc notifies the marketplace and the booking updates. If that notification is lost, the booking checks again when it's opened, and a scheduled job sweeps every open rental. Notifications are verified before they're trusted.
Status where people look. Renters and hosts see each person's waiver status on the booking page, and the inbox shows a summary such as “Waivers: 2/4 signed”.
Fixing mistakes. The renter can replace anyone who hasn't signed yet. The new waiver is sent before the old one is cancelled, so a failed swap never leaves the booking without one.
A bug we caught in billing. Recording a signature on a subscription quietly changed what the system saw as its latest step, which blocked cancellations and renewals afterwards. We moved every subscription check to read the rental's actual status instead, and added tests so it can't return.
Results
- Every person using a space signs their own waiver, tracked on the booking.
- Renters can't pay until they've signed, and checkout works the same on any device.
- Subscription participants are only emailed once the host accepts.
- Missed signing notifications correct themselves without staff involvement.
- Renters fix wrong names or emails themselves.
- Hosts set how many people each listing allows, with no developer needed.
Tech stack
- Sharetribe Web Template (React, Node.js)
- Sharetribe transaction processes and Integration API
- PandaDoc API, embedded signing and webhooks
- Stripe payments
- Scheduled reconciliation job
- Automated test suite (Jest)
Need signatures before someone rents?
Waivers, rental agreements or terms that have to be signed before checkout? Tell us how your bookings work and we'll show you where signing fits.