Skip to main content
A verification rule says “for stays that look like this, collect this before check-in.” Each rule has a step type, a config, and optional targeting.

Step types

One rule per slot

Rules are evaluated in order. For each slot, the first enabled rule whose targeting matches the stay wins, and every later rule for that slot is skipped. This makes ordering meaningful. A specific rule must be above a general rule, or it never applies:
If you reverse the order, the catch-all rule always claims the slot. The API does not return an error. Rules compete only within a slot. damage_waiver and agreement use different slots, so both can apply.

Creating a rule

Call Create Verification Rule to add arrival details to every stay. Omit targeting to match every stay:
requiredFields must be a subset of the collected fields. The API rejects eta when collectEta is false. The following rule adds a deposit for long stays:
New rules are enabled and appended. Move a specific rule above a catch-all rule with Reorder Verification Rules.
Agreement. A document to sign, with no charge attached. Pricing an agreement is rejected; use damage_waiver instead.
Damage waiver. A signature that can carry a price. model is flat or per_night. capInCents limits a per-night total and must be at least amountInCents.
Mandatory fee. Same shape as a deposit but non-refundable, so no releaseDelayDays.
Additional questions. Question id values must be unique within the rule. Select questions need at least two options. Other question types take no options.
Other guests. Set minGuests, maxGuests, or both. maxGuests is limited to 50. A rule supports a maximum of 20 fields. Each field needs a unique id.
ID check. Collects an identity document. It requires title and instructions. It also supports requireContactPhoto and autoApprove.

Targeting

Every criterion you set uses AND logic. Empty or omitted targeting matches every stay. exclude_returning_guests drops the rule for guests who stayed before. This is useful for one-time identity checks.

Reordering

Reorder Verification Rules takes every rule in the workspace. Include each current expected_updated_at value:
The API rejects partial lists because accepting one would renumber omitted rules.

Editing and deleting

Update Verification Rule cannot change step_type. The supplied config must match the existing step type. Edit uploaded agreement and waiver documents in the app. Delete Verification Rule is permanent. Existing stays keep collected data, but new stays do not receive the step.
Priced rules include security_deposit, mandatory_fee, and damage_waiver with a nonzero price. When a workspace has an active template, these rules require Stripe before you enable them. You can create them before the workspace has an active template.