> For the complete documentation index, see [llms.txt](https://docs.simplespa.net/simplespa-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.simplespa.net/simplespa-documentation/fundamentals/appointments/check-in-kiosk.md).

# Check-In Kiosk

The SimpleSpa Check-In Kiosk is a browser-based, touch-friendly page designed to sit on a tablet or shared screen at your front desk. It gives clients two self-service options without requiring staff involvement:

* **Check In** — Clients look up today's appointment by mobile number and tap "I'm here" to notify the front desk.
* **Join Waitlist** — Walk-in clients enter their details, choose a service and preferred provider, and add themselves to the live waitlist.

***

### Setting Up the Kiosk

#### Finding the Kiosk Link & QR Code

Each location has its own unique kiosk URL and QR code. To access them:

1. Go to **Settings → Locations**
2. Click on the location you want to configure
3. Open the **Settings** tab
4. Scroll to the **Check-In** section

From here you can:

* **Copy** the kiosk URL to your clipboard
* **Download** the QR code as a PNG
* **Print** a print-ready version of the QR code

{% hint style="warning" %} **Daily token expiry**\
The kiosk link contains a security token that expires at midnight each night. Always generate or display the QR code fresh from the Settings page. Clients who scan an expired QR code will see a "Link unavailable" message. {% endhint %}

#### Recommended Setup

Any modern tablet or touchscreen with a browser will work. For best results:

* **Device** — iPad, Android tablet, or Windows touchscreen
* **Browser** — Safari, Chrome, or Edge (latest version)
* **Mounting** — countertop stand or wall-mount at comfortable touch height
* **Kiosk mode** — use Guided Access (iOS) or a kiosk-lock app to prevent clients navigating away
* **Connectivity** — Wi-Fi or wired Ethernet; the kiosk does not require client-side data

#### Opening the Kiosk

1. Open the kiosk URL in the browser on the dedicated tablet
2. The page loads with a live clock, your location name, and two mode tabs
3. Leave the browser open — the page auto-refreshes check-in results and resets the waitlist form after each submission

No staff login is required on the kiosk device. The page is secured by a daily signed token; clients cannot access other locations or admin areas from this page.

***

### Check-In Flow

#### How It Works

1. Client taps the **Check In** tab (active by default)
2. Enters the **mobile number** used when booking
3. Taps **Find appointment**
4. Today's matching appointments appear as cards
5. Client taps **I'm here** on the relevant appointment
6. Confirmation message appears: *"Checked in! A team member will be right with you."*

The appointment status is updated to Checked In in SimpleSpa, and any enabled staff notifications are triggered.

#### Form Requirements

If a client has an outstanding intake form, the **I'm here** button is replaced by a **Complete form** link. The client:

1. Taps the link (opens the form in a new tab)
2. Fills out and submits the form
3. Returns to the kiosk tab

The kiosk checks for completion every 5 seconds and automatically shows the **I'm here** button once all forms are submitted.

#### Error States

| Message                                          | Cause                                        | Action                                         |
| ------------------------------------------------ | -------------------------------------------- | ---------------------------------------------- |
| No appointments found for today.                 | Number not matched, or no appointments today | Client should speak to front desk              |
| This appointment is outside the check-in window. | Appointment is too far in the future or past | Staff can manually check in from the dashboard |
| QR code has expired.                             | Daily token expired past midnight            | Refresh the kiosk URL from Settings            |
| Too many attempts.                               | Rate limit reached                           | Client should speak to front desk              |

***

### Waitlist Flow

#### Step 1 — Client Lookup

The client enters their **mobile number** or **email address** and taps Continue.

* **Found** — A masked confirmation card is shown (e.g. "••• 6789") and the client confirms their identity.
* **Not found** — The client is taken to the Create Profile step to register.

#### Step 2 — Confirm or Register

**Existing client:** The client sees their name and masked contact details. They tap **Yes, that's me** to continue, or **Back** to re-enter their details.

**New client:** A registration form is shown. First name is required; at least one of mobile or email is required. Tapping **Create profile & continue** creates the client record in SimpleSpa and advances to service selection.

#### Step 3 — Service Selection

The client sees a searchable list of active services grouped by category. Tapping a service auto-advances to staff selection.

Only services that are **active** and **available online** are shown. Services hidden for this location via the category hide list are excluded.

{% hint style="info" %} **Shared-mode businesses**\
If your business has multiple locations sharing a service catalogue, the service list always shows services for the specific location this kiosk is configured for. Client records are searched across all locations under your business for lookup purposes. {% endhint %}

#### Step 4 — Staff Selection

The client sees a grid of available staff filtered to those who perform the selected service category. If no staff match the category, all active staff are shown as a fallback.

The client taps a staff card then taps **Add me to the waitlist**.

#### Confirmation & Auto-Reset

On success the client sees:

* Their queue position (e.g. "#2 of 4 today")
* A summary of the service and provider chosen
* A 20-second countdown after which the kiosk resets automatically for the next client
* A **Start over now** button to reset immediately

The waitlist entry appears instantly in the SimpleSpa Waitlist view for this location.

***

### Troubleshooting

#### "Link unavailable" Error Screen

| Message                                   | Cause                                          | Fix                                                  |
| ----------------------------------------- | ---------------------------------------------- | ---------------------------------------------------- |
| We couldn't find a location in this link. | The location parameter is missing from the URL | Re-copy the URL from Settings → Locations → Check-In |
| This QR code has expired.                 | Daily token is from a previous day             | Reload the kiosk URL from the Settings page          |
| This link may be expired or incorrect.    | Invalid location ID or malformed token         | Re-copy the URL; contact support if it persists      |

#### Services Not Showing on Waitlist

* Confirm the service is marked **active** in Settings → Services
* Confirm **Available online** is enabled on the service
* Confirm the service type is **Standard** (not Package or Add-on)
* Check the service category is not hidden for this location

#### Client Not Found on Lookup

* The client may be registered under a different mobile or email address
* For shared-mode businesses, the search spans all locations — try an alternative contact detail
* If the client is new, the Create Profile step will register them on the spot

#### Check-In Not Updating the Dashboard

* Confirm the kiosk URL is for the correct location
* Check the appointment is scheduled for today
* If forms are pending the **I'm here** button will not appear until they are completed
* Staff can manually update the appointment status from the SimpleSpa dashboard


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.simplespa.net/simplespa-documentation/fundamentals/appointments/check-in-kiosk.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
