Browse the docs

Ask for ages, waivers and records before people book

Set who can book each admission: an age range, a signed waiver or form, a current record like a vaccination, or your OK. People sign or send it on your website through a link, and check-in waits until it’s in.

Add requirements to an admission when you set up an offering: an age (16 and over, or 6–9), a form people sign, a record that must be current (a dog’s vaccination), a membership, or your approval. Someone too young is told why when they book, in plain words. A child booked by a parent is checked against their birthdate.

For a camp or term, count ages on one date, like June 1, so everyone in a group is the same age band all summer.

A form or record is asked for before booking by default. A customer booking on your website or through their own assistant gets a link to sign or upload on your website, then books. A parent or guardian signs for a child. Each link works once and for 7 days.

You can also let people book first and finish by a deadline (“Waiver due by Oct 3”) or at check-in. The booking confirms marked with what’s due, they get the link, and check-in waits until it’s done. Their booking’s page and account show it with a button to do it, and we remind them 2 days before the deadline. When you book someone in yourself, they get the link the same way. Handing a place to someone else checks them too.

When you change a waiver, people who already signed keep their bookings. Their next booking asks them to sign the new version.

A record that runs out before a booked session (a vaccination that expires mid-month) never cancels anything. We tell you and the customer, send them a link for a new one, and check-in waits until it’s in.

With approval, a booking waits for your OK with nothing charged or held. Accept it and they get a place to confirm; if it’s full by then, they wait in line.

Records people send are private. Health records and anything a form marks sensitive open only for the customer and team members whose role sees sensitive details, and never reach the assistant. The roster shows whether each one is in, never the file.

For agents

Requirements are requires keys on an admission in offerings.save (age:16+, age:6-9, form:<key>, file:<key>, membership:<key>, approval). forms.attach (tier 2) sets when one is checked for an admission’s productId: key, timing (before_hold default, before_payment, deadline with deadlineDays, or check_in), asOf for an age (a local date), or remove. forms.save (tier 2) saves a form with key (what form:<key> names; saving with a key that exists changes that form and makes a new version), kind (general, intake, waiver with waiverText), title, questions (id, label, type including file, required, options, sensitive for a file), sensitive, health with consentText. forms.list and forms.get read them. When offerings.enroll or offerings.book for a customer needs a form signed or a record sent before booking, it answers needs: portal with a single-use url on the business’s site (7 days) and check: forms.stepDone with checkInput.stepId; give the person the link, then call offerings.enroll again once forms.stepDone says done. offerings.review lists the steps before booking and those due after (with their status) without booking anything. A booking with steps still due lists them as due on offerings.booking; offerings.requirementLink with enrollmentId and the step key answers a fresh link. An age that doesn’t fit is refused with the reason. An agent never signs or uploads: forms.sign and forms.sendRecord run only on that page. The roster (offerings.roster) lists each person’s requirements with status (met, missing, expired) and flags (requirement_due, requirement_lapsed), which block check-in. With approval, the booking answers pending_approval with nothing held; offerings.accept gives them a claim window or puts them in line.