Skip to main content
Create check-in and check-out scans for bookings (staff scanner, kiosk, or display). For the booking action endpoints, see Admin Booking Lifecycle.

Create a scan

Query parameters

Attributes

On success the response is a scans resource. A successful check-in also updates the booking’s check_in_date via the scan’s presence-date sync.

Statuses


Delayed check-in form data

When a booking still needs check-in-timed legal documents or custom fields, send X-Supports-Dynamic-Form: true. Without data.attributes.meta.form_data:
  • supported client → scan is created with data.attributes.status: "requires_details" and data.attributes.meta.form_url
  • unsupported client → HTTP 400, scans.check_in_requires_details_unsupported
Fetch the form from data.attributes.meta.form_url, then create another scan with the collected values under data.attributes.meta.form_data. Top-level form_data is not accepted on POST /scans (unlike the booking check-in action). Submit details only via JSON:API attributes:
The form_data object uses the same shape as POST /api/v1/bookings/{id}/check-in. Invalid values return HTTP 422. Submitted form_data is processed and not persisted on the scan record.

A check-in scan record for a booking.

id
string
type
string
Standard:scans
attributes
object

JSON:API self-link object

relationships
object