Skip to main content

Kiosk Manager β€” Complete Guide

ChurchCRM's Kiosk Manager lets you run self-service check-in on tablets or kiosks for events, Sunday School, and other activities. This guide covers setup, daily use, notifications, and troubleshooting.


Table of contents​


At a glance​

WhatDetails
URL (device)https://your-churchcrm-url/kiosk/
URL (admin)Admin β†’ Kiosk Manager or https://your-churchcrm-url/kiosk/admin
Registration window30 seconds (enable in Kiosk Manager)
Who can manageAdministrators only
AssignmentOne event per kiosk; event must have a group linked
HeartbeatDevice polls server periodically for commands (reload, identify)

Quick start (4 steps)​

  1. Create an event with a group
    Events β†’ Add Church Event β†’ set Group to the class/roster. Save.
    (Only future events appear for kiosk assignment.)

  2. Enable registration
    Admin β†’ Kiosk Manager β†’ turn Enable New Kiosk Registration On. You have 30 seconds.

  3. Register the device
    On the tablet/kiosk, open a browser and go to https://your-churchcrm-url/kiosk/. The device registers and shows "Awaiting Acceptance."

  4. Accept and assign
    In Kiosk Manager, find the new kiosk, click Accept, then in Assignment choose your event. The kiosk will show the check-in screen for that event’s group.


How it works​

  1. Registration β€” A device visits the kiosk URL while registration is enabled and gets a unique Kiosk Name and a cookie. No login is required on the device.
  2. Acceptance β€” An admin accepts the device in Kiosk Manager so it can receive an assignment.
  3. Assignment β€” The admin assigns the kiosk to one event. The event must have a group; the kiosk shows that group’s members for check-in.
  4. Check-in β€” On the kiosk, teachers (or volunteers) tap to check in/out students. Attendance is stored for the event.
  5. Parent alerts β€” For checked-in students, teachers can trigger a notification (email, SMS, or OpenLP) to parents.

Features overview​

FeatureDescription
Two-column layout"Waiting to Check In" (left) and "Checked In" (right); tablet-optimized.
Student cardsPhoto (or gender icon), name, age, check-in button; optional birthday icon.
Birthday recognitionHighlights today’s birthdays, upcoming (14 days), and recent (14 days).
Parent AlertOne-tap notification to parents (email, SMS, and/or OpenLP) for pickup/alert.
Checkout AllOne tap to check out everyone in the class.
No login on deviceKiosk uses a cookie; no ChurchCRM user login on the tablet.
Reload / IdentifyAdmin can force reload or show an ID message on the kiosk screen.
HeartbeatDevice polls the server so it can receive reload/identify commands.

Prerequisites​

Before setting up kiosks:

  1. Administrator access to ChurchCRM.
  2. At least one future event (start date β‰₯ today).
  3. A group linked to that event β€” the kiosk roster is the event’s group. Without a group, the kiosk shows "No class members found."

Creating an event for kiosk check-in​

  1. Events β†’ Add Church Event (or List Event Types first if you need a type).
  2. Set Title, Start/End date and time (must be in the future for assignment).
  3. In Group, select the group that is the class roster (e.g. "3rd Grade Sunday School").
  4. Save.
Group is required

The kiosk displays group members as the check-in list. If the event has no group, the kiosk cannot show anyone to check in.

Future events only

Only events with a future start date appear in the Kiosk Manager assignment dropdown. Past events are hidden.


Registering and assigning a kiosk​

Step 1: Enable registration​

  1. Go to Admin β†’ Kiosk Manager.
  2. Turn Enable New Kiosk Registration On.
  3. A 30-second countdown starts. New devices must open the kiosk URL in this window to register.

Step 2: Open the kiosk URL on the device​

On the tablet or kiosk:

  1. Open a browser (Chrome, Firefox, Safari).
  2. Go to: https://your-churchcrm-url/kiosk/.
  3. The device registers and gets a unique name (e.g. ipheec).
  4. The screen shows "Awaiting Acceptance" and instructions for the admin.

Step 3: Accept the kiosk​

  1. In Kiosk Manager, find the new row (match Kiosk Name to the device).
  2. Click Accept (green checkmark).
  3. The kiosk screen updates and the Assignment dropdown becomes available.

Step 4: Assign to an event​

  1. In the Assignment column, open the dropdown.
  2. Choose the event (and group) for this kiosk.
  3. The kiosk loads that event’s group and shows the check-in interface.

If the dropdown is empty, create a future event with a group and refresh Kiosk Manager.


Sunday School check-in view​

Layout​

  • Header β€” Event title, group name, start/end time, counts (Here / Expected), Checkout All button.
  • Birthday banner β€” Optional; shows students with birthdays in the next or past 14 days.
  • Left column β€” "Waiting to Check In" (yellow); tap to check in.
  • Right column β€” "Checked In" (green); tap Parent Alert or use Checkout All.

Student cards​

Each person has:

  • Photo (if set) or gender icon.
  • Name; optional birthday cake icon.
  • Age (if birth year is set).
  • Check-in (green arrow) when waiting; Parent Alert (bell) when checked in.

Birthday states​

StateAppearance
TodayGold card, "Today!" badge.
UpcomingGreen card, "Turning [age]" (next 14 days).
RecentGray card (past 14 days).

Checkout All​

  • In the header, Checkout All moves every checked-in person back to "Waiting to Check In" and updates attendance with checkout time.
  • Use it at the end of class.

Parent alerts (notifications)​

The Parent Alert button (bell) sends a message to parents that the teacher has requested attention (e.g. pickup, illness, behavior).

Requirements​

  • The student must be checked in (button only shows for checked-in students).
  • At least one notification method must be configured: Email, SMS (Nexmo/Vonage), or OpenLP.

What parents receive​

  • Email/SMS: Message that a notification was triggered by the classroom teacher.
  • OpenLP: Alert can be shown on a projector/screen if OpenLP is configured.

Configuring notification methods​

MethodWhereWhat to set
EmailAdmin β†’ Edit General Settings β†’ Email SettingsSMTP host, port, user, password. See Email Setup.
SMSAdmin β†’ System Settings β†’ IntegrationNexmo API Key, API Secret, From Number.
OpenLPAdmin β†’ System Settings β†’ IntegrationOpenLP URL, username, password (if used).

When a teacher taps Parent Alert, all configured channels are used at once.


Managing kiosks​

Kiosk Manager table​

ColumnMeaning
IdInternal kiosk ID.
Kiosk NameAuto-generated name (e.g. ipheec); use it to match device to row.
AssignmentCurrent event (and group). Change via dropdown.
Last HeartbeatLast time the device contacted the server.
AcceptedWhether the kiosk has been accepted.
ActionsReload, Identify, Accept, Delete.

Actions​

ActionUse
ReloadForce the kiosk to refresh (e.g. after changing assignment). Takes effect on next heartbeat.
IdentifyShow an on-screen message on that kiosk so you can match it to the row.
AcceptAllow a newly registered kiosk (only for unaccepted devices).
DeleteRemove the kiosk. The device must be re-registered to use again.

Device setup and best practices​

  • Full screen (e.g. F11).
  • Kiosk URL as homepage so the device opens the right page.
  • Disable browser notifications to avoid popups.
  • Auto-start browser on boot if the device is dedicated to the kiosk.

Chrome kiosk mode (optional)​

chrome --kiosk https://your-churchcrm-url/kiosk/

Device and placement​

  • Tablet in landscape gives the best two-column layout.
  • Place the device where teachers can reach it without leaving the room.
  • Use a stand or wall mount so the screen is stable and visible.
  • For shared tablets, consider a short timeout or lock so the browser doesn’t get closed.

Network and power​

  • Use stable Wi‑Fi (same network as the ChurchCRM server).
  • Power the device so it doesn’t sleep during service (or disable sleep when the browser is open).

Security​

  • Put kiosks in supervised areas.
  • Use a dedicated device account with limited OS permissions.
  • Lock down the browser (e.g. no address bar, no settings) if possible.
  • For expensive hardware, consider a locked enclosure.

Troubleshooting​

"This kiosk has not been accepted"​

  • In Kiosk Manager, find the kiosk and click Accept.

Kiosk won’t register​

  • Ensure Enable New Kiosk Registration is On and you’re within the 30-second window.
  • Open the kiosk URL on the device during that window.
  • Clear cookies for the site on the device and try again.
  • Confirm the device can reach https://your-churchcrm-url.

"401 Unauthorized" on the device​

  • Registration has expired. Turn Enable New Kiosk Registration On again and reload the kiosk page quickly.

No events in the Assignment dropdown​

  • Create an event with a future start date and a group.
  • Refresh Kiosk Manager; new events should appear.

"No class members found" on the kiosk​

  • Edit the event and set Group to the correct class/roster.
  • Ensure the group has members.
  • Reload the kiosk (Reload button in Kiosk Manager).

Student ages not showing​

  • Edit the person and set Birth Year (required for age). Month/day are optional.

Parent Alert button not visible​

  • Student must be checked in (not just in "Waiting to Check In").
  • At least one of Email, SMS, or OpenLP must be configured under Admin β†’ System Settings β†’ Integration.

Kiosk not responding to Reload/Identify​

  • Check Last Heartbeat. If it’s old or "Never", the device may be off or offline.
  • Confirm Wi‑Fi and that the kiosk tab is open and not sleeping.
  • Manually refresh the browser on the device.

API reference​

For integrations and automation. All admin endpoints require an authenticated administrator.

Admin API​

MethodEndpointDescription
GET/kiosk/api/devicesList all kiosk devices.
POST/kiosk/api/allowRegistrationOpen the 30-second registration window.
POST/kiosk/api/devices/{id}/reloadSend reload command.
POST/kiosk/api/devices/{id}/identifySend identify command.
POST/kiosk/api/devices/{id}/acceptAccept the kiosk.
POST/kiosk/api/devices/{id}/assignmentSet assignment (body: assignmentType, eventId).
DELETE/kiosk/api/devices/{id}Delete the kiosk.

Device API (used by the kiosk browser)​

MethodEndpointDescription
GET/kiosk/device/Main kiosk page.
GET/kiosk/device/heartbeatHeartbeat; returns pending commands.
GET/kiosk/device/activeClassMembersList of group members and check-in status.
GET/kiosk/device/activeClassMember/{id}/photoMember photo.
POST/kiosk/device/checkinCheck in (body: PersonId).
POST/kiosk/device/checkoutCheck out (body: PersonId).
POST/kiosk/device/checkoutAllCheck out all.
POST/kiosk/device/triggerNotificationParent alert (body: PersonId).

Example: activeClassMembers response​

{
"People": [
{
"Id": 123,
"FirstName": "John",
"LastName": "Smith",
"Gender": 1,
"age": 8,
"birthdayThisMonth": true,
"birthdayUpcoming": true,
"birthdayRecent": false,
"birthdayToday": false,
"birthDay": 15,
"birthMonth": 2,
"hasPhoto": true,
"RoleName": "Student",
"status": 0
}
],
"GroupName": "3rd Grade Sunday School",
"notificationsEnabled": true
}
  • status: 0 = not checked in, 1 = checked in.
  • age: From birth year; can be null.
  • birthdayUpcoming / birthdayRecent / birthdayToday: Used for birthday UI.
  • notificationsEnabled: Whether any parent-alert channel is configured.

  • Events β€” Creating events and taking attendance
  • Groups β€” Creating groups and adding members
  • Email Setup β€” SMTP for parent alert email
  • Your First Week β€” Day 6 covers email and reports