Appearance
Idle Timeout
Overview
Idle timeout returns a kiosk to its home screen after a customer has been inactive for too long. It is configured per device profile, under the profile's Idle Settings, and lets you choose between a fixed "Standard" timing or a "Custom" timing. The same Idle Settings card also controls an optional idle screensaver.
Key Purpose: Reset an idle kiosk session and (optionally) show a screensaver after a period of inactivity.
Purpose
This setting lets you control how a kiosk behaves when a customer walks away. You configure it on a device profile so every kiosk assigned to that profile shares the same idle behaviour: how long to wait before warning the customer, how long to show that warning, and whether to display a screensaver image after a number of idle minutes.
Key Concepts
- Two Types Only: The backend enum (
IdleTimeoutTypes) supports exactly two values —standardandcustom. There is no "Extended" option. - Standard (device profile): Fixed timing — gives the warning after 45 seconds of inactivity and shows the warning for 15 seconds. The backend ignores any stored seconds when the type is
standardand always returns these fixed values. - Custom: You set both the seconds-before-warning (
idle_timeout_seconds) and how long the warning is shown (show_warning_for_seconds). Each must be at least 1 second. - Idle Screensaver: A separate, optional setting on the same card. When enabled, it shows a custom screensaver image after a configurable number of idle minutes. This is independent of the idle-timeout type.
- Per Profile: Idle Settings live on a device profile, so they apply to every kiosk device assigned to that profile.
- Also in Online Ordering: Online ordering has its own, independent idle-timeout setting where Standard uses a 120-second timeout instead of 45 (see Relations).
Actions
Set the idle timeout
Navigate to Device Management → Device Profiles → open a profile → Idle Settings. Under Idle timeout, choose:
- Standard — gives the warning after 45 s and shows it for 15 s (fixed; no inputs).
- Custom — enter the seconds to give the warning after, and the seconds to show the warning for. Both fields enforce a minimum of 1.
Enable the screensaver
In the same Idle Settings card, toggle Idle screensaver on, enter the number of minutes of inactivity before it appears, and upload a screensaver image. Both the minutes value and the image are required when the screensaver is enabled.
Business Rules
- The idle-timeout type must be one of
standardorcustom(enforced byRule::enum(IdleTimeoutTypes::class)). - In Standard mode the backend always uses 45 s before the warning and 15 s of warning, regardless of any stored values (
DeviceProfile::getIdleTimeoutSeconds()/getShowWarningForSeconds()). - In Custom mode,
idle_timeout_secondsandshow_warning_for_secondsare required and validated asnumeric|min:1. - The idle screensaver is its own toggle. When
idle_screensaver.enabledis true,idle_screensaver.minutesand a screensaver image are required. - The screensaver minutes value and the idle-timeout seconds are unrelated; the screensaver appears after its own configured minutes of inactivity.
Location
- Backoffice Route:
/device-management/profiles(route namedevice-management-profiles; Idle Settings section of a device profile) - Backend Validation:
app/Http/Requests/BackOffice/DeviceProfile/StoreDeviceProfileRequest.php - Backend Model:
app/RawModels/DeviceProfile.php - Enum:
app/Enums/IdleTimeoutTypes.php - Vue Component:
src/views/device-profiles/forms/IdleSettings.vue
Fields
Idle Timeout Type
| Property | Value |
|---|---|
| Field ID | idle_timeout_type |
| Label | Idle timeout |
| Type | Radio (Standard / Custom) |
| Options | standard, custom |
| Default | standard |
| Validation | required, must be a valid IdleTimeoutTypes value |
Description: Whether to use the fixed Standard timing or a Custom timing.
Options:
- Standard: Gives the warning after 45 s, shows it for 15 s (fixed).
- Custom: Set your own seconds-before-warning and warning duration.
Idle Timeout Seconds
| Property | Value |
|---|---|
| Field ID | idle_timeout_seconds |
| Label | Give warning after |
| Type | Number |
| Unit | Seconds |
| Standard value | 45 (fixed by the backend; ignores stored value) |
| Validation | required_if:idle_timeout_type,custom, numeric, min:1 |
Description: Seconds of inactivity before the warning is shown. Only editable in Custom mode.
Warning Duration
| Property | Value |
|---|---|
| Field ID | show_warning_for_seconds |
| Label | And show warning for |
| Type | Number |
| Unit | Seconds |
| Standard value | 15 (fixed by the backend; ignores stored value) |
| Validation | required_if:idle_timeout_type,custom, numeric, min:1 |
Description: How long the warning is shown before the session resets. Only editable in Custom mode.
Idle Screensaver
| Property | Value |
|---|---|
| Field ID | idle_screensaver |
| Type | Object { enabled, minutes } |
enabled | Boolean — required |
minutes | Number — required when enabled is true |
| Image | Screensaver image required when enabled is true (screensaver_image) |
Description: Optional screensaver shown after minutes of inactivity. Separate from the idle-timeout type.
Business Logic
Standard vs Custom
idle_timeout_type == "standard"
│
▼
Backend returns fixed 45 s (give warning after)
and fixed 15 s (show warning for)
— any stored seconds are ignored
idle_timeout_type == "custom"
│
▼
Backend returns stored idle_timeout_seconds
and stored show_warning_for_seconds
(both required, min 1)Screensaver
idle_screensaver.enabled == true
│
▼
After idle_screensaver.minutes of inactivity
│
▼
Show screensaver image
(requires minutes + uploaded image)Relations
Depends On
- Device Profiles: Idle Settings are part of a device profile.
Related Features
- Device Profiles — where Idle Settings live.
- Kiosk Setup — kiosks inherit idle behaviour from their assigned profile.
- Online Ordering — has its own independent idle-timeout setting (Standard there uses a 120 s timeout, 15 s warning).
Examples
Note: kiosk-app runtime behaviour (exact warning copy, screen transitions) is not verified here. These examples show the stored configuration values.
Standard
json
{
"idle_timeout_type": "standard",
"idle_timeout_seconds": 45,
"show_warning_for_seconds": 15,
"idle_screensaver": { "enabled": false }
}(In Standard mode the backend returns 45 / 15 regardless of any stored seconds.)
Custom
json
{
"idle_timeout_type": "custom",
"idle_timeout_seconds": 90,
"show_warning_for_seconds": 20,
"idle_screensaver": { "enabled": false }
}Custom with screensaver
json
{
"idle_timeout_type": "custom",
"idle_timeout_seconds": 90,
"show_warning_for_seconds": 20,
"idle_screensaver": { "enabled": true, "minutes": 3 }
}FAQs
- "Is there an 'Extended' timeout option?" No. The enum supports only
standardandcustom. There is no "Extended" option. - "What does Standard mode use?" On a device profile, Standard gives the warning after 45 seconds and shows it for 15 seconds. These values are fixed by the backend; any stored seconds are ignored while the type is
standard. - "Can I set my own timing?" Yes — choose Custom and enter the seconds to give the warning after and the seconds to show the warning. Both must be at least 1.
- "Is the idle timeout the same as online ordering?" No. They are separate settings. Online ordering has its own idle-timeout where Standard uses a 120-second timeout (15-second warning). The device-profile Standard uses 45 seconds.
- "What is the idle screensaver?" A separate, optional setting on the same Idle Settings card. When enabled, a custom image appears after a configurable number of idle minutes. It is independent of the idle-timeout type and requires both the minutes value and an uploaded image.
Troubleshooting
- Session resets too quickly → Check whether the profile uses Standard (gives warning after 45 s) or Custom. Switch to Custom to set a longer "give warning after" value.
- Custom seconds rejected → Both Custom fields are required and must be at least 1 second (
numeric|min:1). - Screensaver not appearing → Make sure the Idle screensaver toggle is on, the minutes value is set, and a screensaver image is uploaded — minutes and image are both required when it is enabled.