> ## Documentation Index
> Fetch the complete documentation index at: https://help.rekkeh.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Handle Invalid, Expired, or Blacklisted Passes

> Respond to invalid, expired, denied, or blacklisted passes in Gate Ops. Match the on-screen message to the right action, including supervisor overrides.

When a pass cannot be verified in Gate Ops, the app tells you why and holds the scanner until you dismiss the alert. Match the message on screen to the right action below so you can decide whether to admit, deny, or override.

<AccordionGroup>
  <Accordion title="Verification failed">
    **Cause:** Generic online failure. The app shows "Verification failed" with an API error or "Please try again." The failed scan is added to recent activity as blocked or unknown, and the scan phase changes to ACCESS DENIED.

    **Fix:** Dismiss the denied alert to resume scanning.
  </Accordion>

  <Accordion title="Pass expired — check out only">
    **Cause:** The pass or credential is past its validity. The app treats the result as exit-only and shows the checkout workflow.

    **Fix:** Do not admit the visitor. Record the checkout so they can leave.
  </Accordion>

  <Accordion title="This pass has already been used">
    **Cause:** The pass workflow is complete because the visitor already checked out, was released, or was dropped off. The app shows "Workflow complete" and "No action needed." For school pickups it may show "This student has already been released." For drop-offs it may show "This student has already been dropped off."

    **Fix:** No action needed. Do not admit on a used pass.
  </Accordion>

  <Accordion title="Entry denied">
    **Cause:** An access decision denied entry. The denial reason is shown when available. You may see messages such as ENTRY DENIED, CRITICAL ISSUES, WATCHLIST, or STOLEN VEHICLE with the plate number.

    **Fix:** Follow the recommended action — deny entry.
  </Accordion>

  <Accordion title="Blacklisted — do not admit">
    **Cause:** The pass is on the blacklist. The app shows "BLACKLISTED — DO NOT ADMIT" with the reason "Blacklisted / security restriction."

    **Fix:** Hold entry. Do not admit.
  </Accordion>

  <Accordion title="Offline verification failed — cache or connection">
    **Cause:** The device has no offline bundle or the cache is out of date. Messages include:

    * "No offline bundle — connect once to download cache"
    * "Offline cache expired — reconnect to refresh"
    * "Not in offline cache"
    * "QR credential not in offline cache"

    **Fix:** Connect the device to the network once to download or refresh the cache.
  </Accordion>

  <Accordion title="Offline verification failed — expired or already used">
    **Cause:** The invite or credential is inactive, expired, or already used. Messages include:

    * "Invite inactive or expired"
    * "QR credential expired"
    * "OTP expired"
    * "Already used offline"

    **Fix:** Treat as expired or already used — do not admit.
  </Accordion>

  <Accordion title="Offline verification failed — invalid OTP">
    **Cause:** The one-time code is invalid. The app shows "Invalid OTP".

    **Fix:** Do not admit on an invalid code.
  </Accordion>

  <Accordion title="Supervisor override">
    **Cause:** The result is a denied or blacklisted check-in, the workflow is not complete, and your role allows overriding a deny. Eligible roles are Estate Manager, Platform Admin, or Security Officer.

    **Fix:**

    <Steps>
      <Step title="Open Supervisor override">
        Tap "Supervisor override..."
      </Step>

      <Step title="Select a reason">
        Choose from Supervisor override, Emergency / evacuation, Watchlist false positive, or Other.
      </Step>

      <Step title="Enter a note and confirm">
        Enter the required note and confirm. The app shows "OVERRIDE GRANTED" or "Admitted with supervisor override" on success.
      </Step>
    </Steps>

    <Note>
      Supervisor override requires a connection. Offline, the app shows "Online required".
    </Note>

    <Warning>
      Do not use supervisor override for routine admits. Deny or flag when unsure.
    </Warning>

    The override is audited with your name and reason.
  </Accordion>

  <Accordion title="I need to reverse a deny or grant">
    **Cause:** A decision was already recorded for this pass.

    **Fix:** Use the opposite action. If the pass shows "Entry already granted" or a "Checked in at" message, use **Deny entry** to reverse it. If it shows "Entry already denied" or a "Denied at" message, use **Grant entry** to admit instead.
  </Accordion>
</AccordionGroup>

## Related guides

<CardGroup cols={2}>
  <Card title="Verify a pass" href="gate-ops/verify-pass">
    Scan and verify visitor passes before choosing entry or exit.
  </Card>

  <Card title="Check In or Out" href="gate-ops/check-in-out">
    Record visitor entry and exit, including denials.
  </Card>

  <Card title="Safety and emergency settings" href="getting-started/safety-emergency-settings">
    Configure emergency overrides and exception workflows.
  </Card>
</CardGroup>
