# Cashier Restrictions

Cashier restrictions let merchants control **which cashiers can log into which terminals**. This is useful for multi-terminal setups where you want to assign specific staff to specific registers.

## How It Works

Each terminal has an optional **Allowed Cashiers** list:

* **No restrictions (default):** Any active cashier can log into the terminal.
* **Restricted:** Only cashiers on the allowed list can log in. Others will be rejected.

## Setting Up Restrictions

1. Go to **Dashboard > POS > Terminals**
2. Click **Edit** on the terminal you want to restrict
3. In the **Allowed Cashiers** section, toggle on the cashiers who should have access
4. Save changes

## Behavior

### When a terminal has NO restrictions

| Cashier             | Can log in? |
| ------------------- | ----------- |
| Any active cashier  | Yes         |
| Deactivated cashier | No          |

### When a terminal HAS restrictions

| Cashier             | On allowed list? | Can log in?                                                                          |
| ------------------- | ---------------- | ------------------------------------------------------------------------------------ |
| Active cashier      | Yes              | Yes                                                                                  |
| Active cashier      | No               | **No** -- gets error: "No cashiers assigned to this terminal. Contact your manager." |
| Deactivated cashier | Yes              | No                                                                                   |

## Visual Overview

|           | Register 1 (Restricted) | Register 2 (Open) |
| --------- | ----------------------- | ----------------- |
| **John**  | Allowed                 | Allowed           |
| **Sarah** | Allowed                 | Allowed           |
| **Mike**  | **BLOCKED**             | Allowed           |

*R1 only allows John and Sarah. R2 has no restrictions so everyone can use it. Mike is blocked from R1 but can use R2.*

## Login Decision Flow

> 1. Cashier enters PIN
> 2. Is PIN correct? **No** --> Denied: Invalid PIN
> 3. Is cashier active? **No** --> Denied: Account deactivated
> 4. Does terminal have restrictions? **No** --> Access granted
> 5. Is cashier on allowed list? **Yes** --> Access granted / **No** --> Denied: Not assigned to this terminal

## Common Setups

### Setup 1: All cashiers, all terminals (no restrictions)

Leave the **Allowed Cashiers** list empty on all terminals. Any cashier can work at any register.

### Setup 2: Dedicated cashiers per terminal

| Terminal              | Allowed Cashiers |
| --------------------- | ---------------- |
| R1 (Register 1)       | John, Sarah      |
| R2 (Register 2)       | Mike, Lisa       |
| DRIVE (Drive-through) | Dave             |

John and Sarah can only log into R1. Mike and Lisa can only log into R2. Dave can only use the drive-through terminal.

### Setup 3: Mix of restricted and open

| Terminal        | Allowed Cashiers              |
| --------------- | ----------------------------- |
| R1 (Register 1) | John, Sarah (restricted)      |
| R2 (Register 2) | *(no restrictions -- anyone)* |

R1 is locked to John and Sarah. R2 is open to all cashiers.

### Setup 4: Manager access everywhere

Create a manager cashier and add them to the allowed list of every restricted terminal. They can log into any terminal while regular cashiers stay restricted.

## Updating Restrictions

* Adding a cashier to the allowed list takes effect immediately for new logins
* Removing a cashier does **not** end their current session (they can finish their current work)
* Deactivating a cashier removes their access from all terminals regardless of restrictions


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.makapay.io/point-of-sale-pos/cashier-restrictions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
