Accreditation
Happens once per attendee. The ticket QR is read and a physical wristband is
linked to it. From then on, the wristband is their identity.
Zone control
Happens every time someone crosses an inner door. Only the wristband is read,
and it is checked against that zone.
checkins.write (requires manual activation) and, to read the
history, checkins.read.
Accreditation
The operator scans the ticket QR and then the new wristband:extra_zones, and with its valid days. There is nothing to
configure: it all comes from the ticket.
Retries
TheIdempotency-Key identifies the physical scan. Generate it when the QR
is read and keep it for every retry of that accreditation:
What can go wrong
Zone control
The operator scans only the wristband, at the door of an inner zone:Denying is not an error. The response is always
200, with allowed: true or
false and the reason. A 403 would mean your API key lacks permission, which is
something else entirely: if you lump both cases into the same catch, you will
end up denying legitimate entries when your key expires.
Every call is recorded in the scan history, so the operation shows up in the
organiser’s statistics attributed to your integration.
Counting occupancy
If your reader controls a zone’s door and you want the dashboard occupancy to follow it, send the direction indirection: entry adds to the zone and exit
subtracts.
- Full zone: an entry when the zone is at its maximum is refused with
reason: "Zona llena". Amaxof 0 means the zone has no limit. - Exits are never refused, and they check neither the day nor zone permissions.
counted: falsemeans the pass was logged but occupancy did not change: someone re-entering who was already recorded inside, or leaving who was not (for example, they came in through an uncontrolled access).- Nested zones: each zone counts on its own. Entering the backstage does not take anyone out of the venue.
direction, the call only checks access, as always, and occupancy does
not change.