Open your gates with an Offision visitor badge

Your turnstile scans an Offision visitor badge, asks Offision whether it is good right now, and records the arrival. Three API calls, one credential, and a verdict you can act on rather than a state you have to interpret.

Updated 18 Aug 2026

This is how a building’s own access control — a turnstile, a gate, a lobby reader, another visitor management system — works with Offision visitor management.

Five numbered steps, time running down the page, across three lanes: the visitor, your gate and Offision. 1, days before the visit, Offision emails the visitor the badge and its QR code. 2, at the barrier the visitor holds up the QR. 3, your gate sends the scanned code to the Offision check-in call. 4, Offision answers with a verdict — valid, expired, cancelled — and records the arrival when the verdict is valid. 5, on a granted answer your gate is the one that opens the barrier.

The badge reaches the visitor by email days before anyone arrives. At the barrier one call both asks the question and records the answer — your gate opens on the verdict it gets back.

1. Create the API credential

Open API authentication

Connect your own systems walks the credential itself — naming it, its IP restriction, where the client id and secret appear, and exchanging them for a token. Name this one after the system that will use it: you will be reading that name in an audit trail later, and Lobby turnstiles is easier to place than API key 3.

A gate needs exactly one API scope:

ScopeNeeded for
visitor.readwriteChecking a scanned code, and recording arrivals and departures
A new credential, with its API scopes and IP restriction.

A new credential, with its API scopes and IP restriction.

The client id and client secret are not in this form — Offision generates them, and they appear in the detail panel once the credential is saved.

Client id and secret, with the action that mints a new secret.

Client id and secret, with the action that mints a new secret.

2. Check a scanned code

Send whatever the scanner read to the verify call, along with the building the gate stands in. You do not have to work out which kind of code you are holding — the badge uid inside the QR, the six-character Visitor code printed on the badge, a code your own system issued, or an eight-digit long term badge code all resolve the same way.

The answer is a verdict — valid, expired, cancelled, wrongLocation and the rest — rather than a state to interpret, and alongside it comes isGranted, which is the field your barrier actually acts on. Every verdict is listed in What the visitor badge API answers.

3. Record the arrival

The check above changes nothing. Skip this step and every badge sits at Await forever: reception never sees the visitor arrive, the host is never told, and the visit reports stay empty.

The check-in call takes the same code and answers the same way, and records the arrival when the verdict is valid. So a gate that both admits and records makes one call, not two — the separate check in step 2 is for a reader that only validates, such as an exit-side scanner or a lobby display.

The check-out call is its mirror, for gates that read people out as well as in.

Both are safe to call on every scan, and both return action alongside the verdict, saying what was actually recorded — a second scan while the visitor is still inside deliberately writes nothing. See What the visitor badge API answers for the verdicts, the actions, and how check-out and re-entry differ.

4. Check it worked

Test all four of these, because they fail independently:

  • A good badge. Scan a real one during its period. You should get valid, isGranted true and the visitor’s name, and the barrier should open.
  • The write-back. Look at that badge in Offision afterwards. It should have moved to Visiting, and the host should have been notified.
  • The same badge again. Scan it a second time. It must still admit, come back as alreadyCheckedIn, and leave the check-in time exactly as it was.
  • A bad badge. Deliberately scan a cancelled badge, and one for tomorrow. Both must be refused.

The last one is the test people skip. A reader that has only ever been tried with a valid badge is a reader that admits everyone.

When it goes wrong

Nine symptoms and their usual causes, from a gate that admits every badge to one that records nobody’s arrival, are in The gate admits a badge it should refuse.