Check-In
Check guests in on arrival, with configurable prerequisites per activity.
Check-in lets operators mark a booking as "the customer has arrived and is accounted for." It is independent of the booking's status — a booking can be confirmed but not yet checked in, or checked in and then reverted if a mistake was made.
Every check-in and revert is recorded in the booking's event log with the acting user and the timestamp.
What Check-In Is For
Check-in is used at the start of the customer's experience to:
- Confirm the guest has arrived and staff know they are on site
- Enforce that required waivers are signed before the activity begins
- Enforce that guest information is complete before the activity begins
- Produce a clean audit trail of when arrivals actually happened (not just when bookings were created)
Check-in is orthogonal to status. A checked-in booking can still be canceled later; a confirmed booking can go through the whole day without ever being checked in (reporting will show it as confirmed-but-never-checked-in).
Per-Activity Prerequisites
Each activity can define what must be true before a booking for that activity can be checked in. Settings live under Activity → Check-In.
| Setting | Description |
|---|---|
| Require all guest info | If enabled, every guest slot on the booking must be present and have a non-empty name before check-in is allowed. Guest counts come from the booking's demographic or equipment occupancy data. |
| Required waivers | A list of waivers that must be signed. For each, choose whether all guests must sign personally, or one signature on the booking (typically a customer/parent) is sufficient. Optionally exempt minor guests from the all-guests requirement. |
| Minor Waiver | An optional single waiver that a guardian must sign once per booking when any guest is younger than the location's age of majority. Used because minors cannot legally sign their own waivers. |
When no check-in settings are configured for an activity, bookings for that activity can be checked in unconditionally.
Required Waivers
Waivers are location-scoped in Resytech — they belong to a location and can be reused across multiple activities. The Required waivers list on an activity links existing waivers to that activity's check-in gate. Editing a waiver from the Waivers section will affect every activity that requires it.
For each required waiver:
- Applies to all guests — every guest on the booking must have their own signature, matched via the guest record. Useful for personal liability waivers.
- One signature suffices — any submission on the booking (a customer signing on behalf of everyone, or any single guest) clears the requirement. Useful when a parent is signing for minors.
- Minors except (only available when "Applies to all guests" is on) — minor guests are skipped from the per-guest signature requirement. Pair this with the Minor Waiver setting to require a separate guardian-signed waiver instead.
Minors (Age of Majority)
Operators can set a per-location age of majority (default 18) under Location → Waivers & Minors. The system classifies each booking guest as a minor based on their date of birth and this threshold.
- Guests without a date of birth on file are treated as adults (so locations that haven't opted into DOB collection see no behavior change).
- If an activity has a Minor Waiver configured and the booking has one or more minor guests, a guardian must sign that waiver on the booking before check-in is allowed. One signature covers all minor guests.
- The Minors except toggle on a regular required waiver removes minor guests from the per-guest signature requirement for that specific waiver.
Checking a Booking In
From the booking detail view:
- Click Check In in the booking header.
- If all prerequisites are met, the booking is marked checked in and the check-in timestamp appears in the header.
- If any prerequisites are not met, the dashboard displays the full list of blocking reasons so staff can walk the customer through each one before retrying.
Blocking reasons are returned as a single list so the customer can address all of them in one pass rather than bouncing back and forth.
Blocking Reasons
| Code | What it means |
|---|---|
MissingGuestInfo | Require-all-guest-info is enabled and either the guest count is short, or at least one guest row has a blank name. |
MissingCustomerWaiver | A required waiver (one-signature mode) has no submission on the booking. |
MissingGuestWaivers | A required waiver (all-guests mode) is missing signatures for one or more specific guests. The response lists which guests. Minor guests are excluded from this list when the waiver has "Minors except" enabled. |
MissingMinorWaiver | The activity has a Minor Waiver configured, the booking has one or more minor guests, and no submission of that waiver exists on the booking. A guardian must sign it. |
Reverting a Check-In
If a booking was checked in by mistake, revert it from the booking header. Revert clears the checked-in flag, timestamp, and acting user, but the history is preserved:
- The original check-in event (
checked_in) stays in the event log. - A new
check_in_revertedevent is added, carrying the original check-in timestamp so you can see how long the booking was checked in before being reverted.
Reverting a booking that is not checked in is a no-op (it does not create a log entry).
Audit Trail
Check-in actions are written to the booking event log alongside status changes, balance adjustments, and other audited events:
| Event Name | When |
|---|---|
checked_in | Booking was checked in. The log row captures the acting user and timestamp. |
check_in_reverted | A prior check-in was reverted. Event data includes OriginalCheckedInAtUtc. |
Both events appear under the Logs tab of the booking detail view.
