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

# Visitor Approvals

> How logged-in members approve or reject their pending visitors through conversational AI across all channels.

The AI enables hosts to manage visitor approval requests conversationally. Hosts can approve or reject visitors by name, process multiple visitors at once, or approve everyone waiting with a single command. The AI works across all channels: chat, email, WhatsApp, and voice.

<Note>
  This capability requires the member to be identified — on chat this means being signed in; on email, WhatsApp, and voice the member is identified by their email address, phone number, or caller ID. The AI will prompt unidentified users to log in or provide contact details before proceeding.
</Note>

## Prerequisites

Before a host can use the AI to approve visitors:

* **Visitor approval must be enabled** for the location under **Settings → Apps and integrations → Companion apps → NexIO → Require host approval for walk-in visitors**
* The visitor must be registered via **NexIO** (walk-in self-registration) with the host assigned
* The host must be a **customer** with an active profile
* On WhatsApp and voice, the host's **mobile phone number** must match their customer profile

If the AI cannot match the phone number or email to a customer record, it asks the host to verify their contact details in their member profile.

***

## Checking for pending visitors

Hosts can ask the AI at any time if they have visitors waiting:

* "Any visitors?"
* "Who's waiting for me?"
* "Do I have any pending visitors?"

The AI lists all visitors currently awaiting the host's approval, showing:

* Visitor name
* Company (if provided)
* Expected arrival time
* Reason for visit (if provided)

If no visitors are pending, the AI confirms there's no one waiting.

***

## Approving or rejecting a visitor

### The approval flow

The AI uses a **draft → confirm → apply** flow to ensure decisions are never applied accidentally:

**Step 1 — Draft.** The host mentions a visitor by name and indicates their decision ("approve Alex", "reject Maria", "approve Bob and I'll collect him"). The AI identifies the visitor from the pending list, interprets the decision, and drafts the action. A short-lived confirmation token is issued.

**Step 2 — Confirm.** The AI presents a summary showing:

* The visitor's full name
* Expected arrival time
* The decision that will be applied

The AI asks the host to confirm. The confirmation window depends on the channel — 10 minutes for chat, 1 hour for WhatsApp, 4 hours for email, and during the call for voice. See [Channels](channels) for details.

**Step 3 — Apply.** Once the host confirms (by replying "confirm", "yes", or equivalent), the AI updates the visitor's approval status in Nexudus. Staff members with visitor notifications enabled are notified, and — if configured — the visitor is checked in automatically.

<Note>
  If the confirmation window expires, the AI tells the host and asks them to confirm again. A fresh token is issued with the same decision. No changes are saved until the host confirms.
</Note>

### Response options

The available approval options depend on your location's settings under **NexIO → Require host approval**:

| Option                            | What it means                                      | When available                                                                                   |
| --------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| **Approve, I'll collect them**    | Host will come to reception to collect the visitor | Enabled by default; can be disabled via *Host can choose to collect visitors at reception*       |
| **Approve, send to my unit/desk** | Visitor can proceed directly to the host's area    | Enabled by default; can be disabled via *Host can choose to send visitors to their unit or desk* |
| **Reject**                        | Host declines the visit; visitor is turned away    | Always available                                                                                 |

The AI adapts the decision parsing based on which options are active. If only one approval type is enabled (e.g., only "collect at reception"), the AI automatically applies that type when the host says "approve" without specifying.

### Natural language support

Hosts can reply in whatever way feels natural:

* **By name** — "approve Alex", "reject John", "approve Maria and send her to my desk", "approve Bob, I'll collect him"
* **With numbers** — if the host received the original approval message with numbered options (e.g., from WhatsApp), they can reply with `1`, `2`, or `3`
* **By state** — if there's only one pending visitor, "approve" or "reject" on its own is enough
* **With clarification** — "approve and grant access", "approve and hold", "reject"

The AI parses the intent and confirms the decision before applying it.

***

## Approving multiple visitors at once

Hosts can process several visitors in a single conversation:

* "Approve Alex but reject John"
* "Approve Alex and Maria"
* "Approve everyone"
* "Approve all"

When the host mentions multiple visitors or uses "approve all", the AI:

1. Drafts each decision individually
2. Presents a combined summary listing all visitors and the action that will be applied to each
3. Asks the host to confirm the full set
4. Applies all decisions at once only after the host confirms

For "approve all", the AI first asks which approval type to apply (collect at reception or grant access), then applies that type to every pending visitor. This makes it safe to process a busy morning of walk-ins in a single reply.

<Tip>
  If a host frequently uses "approve all", consider enabling auto-check-in under **NexIO settings → Automatically check approved visitors in** so visitors granted access are checked in without staff intervention.
</Tip>

***

## Auto check-in for approved visitors

When the host approves a visitor with the **"grant access"** option and **Automatically check approved visitors in** is enabled in NexIO settings, the visitor is checked in immediately. This reduces front-desk workload — the visitor can proceed directly to the host's area without staff intervention.

Check-in is only triggered for:

* Visitors approved with the "grant access" decision
* When auto check-in is enabled for the location

Visitors approved with "I'll collect them" are not automatically checked in — they wait at reception for the host.

***

## What happens on the visitor record

Regardless of whether the host replies via chat, email, WhatsApp, or voice, the visitor record ends up in one of these states:

| Status on visitor record           | Meaning                                            |
| ---------------------------------- | -------------------------------------------------- |
| **Requested**                      | Waiting for the host's response                    |
| **Accepted — hold for collection** | Host will come to reception to collect the visitor |
| **Accepted — grant access**        | Visitor may proceed to the host's desk or unit     |
| **Rejected**                       | Host has turned the visitor away                   |

The status is visible in the callout at the top of the visitor form in the Nexudus administration panel and in the **Status** column on the visitors list.

***

## Staff notifications

When a host approves or rejects a visitor through the AI, staff members with **Visitor registration** notifications enabled receive a system message:

* **Visitor accepted** — includes the visitor name, host name, and approval type (hold or grant access)
* **Visitor rejected** — includes the visitor name and host name

These notifications appear in the Nexudus administration panel notification feed and can be configured per user under **Profile → Notifications → Visitor registration**.

***

## Conversation examples

### Single visitor approval

**Host:** "Any visitors?"

**AI:** "You have one visitor waiting: Alex Smith (expected at 10:30). Would you like to approve or reject?"

**Host:** "Approve Alex, I'll collect them"

**AI:** "Just to confirm: approve Alex Smith (expected at 10:30), option **Approve, I'll collect them**? Reply *confirm* to apply or *cancel* to abort."

**Host:** "Confirm"

**AI:** "Done. Alex Smith has been approved and is waiting to be collected."

### Multiple visitor approval

**Host:** "Do I have any visitors?"

**AI:** "You have 3 visitors waiting: Alex Smith (10:30), Maria Garcia (11:00), and Bob Johnson (11:30)."

**Host:** "Approve Alex and Maria but reject Bob"

**AI:** "Just to confirm, these decisions will be applied:

* Alex Smith (10:30) — Approve, send to my unit/desk
* Maria Garcia (11:00) — Approve, send to my unit/desk
* Bob Johnson (11:30) — Reject

Reply *confirm* to apply or *cancel* to abort."

**Host:** "Confirm"

**AI:** "Done. Alex Smith and Maria Garcia have been approved and will be directed to your desk. Bob Johnson has been rejected."

### Approve all

**Host:** "Approve everyone"

**AI:** "You have 3 visitors waiting. Which approval type should I apply to all of them?

1. Approve, I'll collect them
2. Approve, send to my unit/desk

Please choose 1 or 2."

**Host:** "2"

**AI:** "Just to confirm, these decisions will be applied:

* Alex Smith (10:30) — Approve, send to my unit/desk
* Maria Garcia (11:00) — Approve, send to my unit/desk
* Bob Johnson (11:30) — Approve, send to my unit/desk

Reply *confirm* to apply or *cancel* to abort."

**Host:** "Confirm"

**AI:** "Done. All visitors have been approved and will be directed to your desk."

***

## Related pages

<CardGroup cols={2}>
  <Card title="Visitor Approval" icon="circle-check" href="/platform/operations/visitor-approval">
    Configure the visitor approval workflow in the administration panel.
  </Card>

  <Card title="Visitor Approval on WhatsApp" icon="whatsapp" href="/platform/operations/visitor-approval-whatsapp">
    Set up the WhatsApp approval message that hosts receive when a visitor arrives.
  </Card>

  <Card title="Visitors" icon="user-plus" href="/platform/operations/visitors">
    Main visitor management — registration, check-in, and lifecycle.
  </Card>

  <Card title="Channels" icon="comments" href="channels">
    Learn about confirmation windows and how they differ across channels.
  </Card>
</CardGroup>
