6 platforms. 19 templates. One fleet dashboard.
TV and screen delivery channel for digital signage across 6 hardware platforms with QR-code activation and 30-second heartbeat telemetry. 19 templates spanning 7 verticals with priority-based scheduling and emergency broadcast override.
6 hardware platforms. QR activation. 30-second heartbeat.
Centralized fleet registry for every registered screen across all properties. QR-code provisioning with zero-touch activation and dsp_-prefixed device authentication.
Activation Flow
QR Code Scan
Each new device generates a unique QR activation code. Staff scan it from any phone or tablet to begin registration.
Device Key Issued
On confirmation, the device receives a dsp_-prefixed authentication key. All subsequent API calls use this key.
30-Second Heartbeat
Registered devices ping the fleet registry every 30 seconds. A device missing two consecutive heartbeats is flagged offline.
60-Second Content Poll
Content and template assignments are polled every 60 seconds. The last-known state is cached locally for offline resilience.
Supported Platforms
Samsung Tizen
Samsung smart TVs running the Tizen operating system. Widely deployed in hospitality and commercial environments.
Device Statuses
Online
Active and responding to heartbeat within the last 30 seconds.
Offline
No heartbeat received for more than 2 minutes.
Error
Device reporting an error state. Requires manual inspection.
Activating
QR activation in progress. Waiting for staff confirmation.
19 registered templates. 7 verticals. One registry.
Each template is a purpose-built React Native component registered in TEMPLATE_REGISTRY with declared data sources, layout constraints, and tier requirements.
,0,
hardware platforms
,0,
registered templates
,0,
platform integrations
,0,
content priority levels
19 registered templates. 7 verticals.
Purpose-built React Native components in TEMPLATE_REGISTRY. Each declares its data source, layout constraints, and tier requirements.
Group screens by location. Schedule content by priority.
Screen groups bind devices into logical targets with five priority levels resolving conflicts automatically. Emergency broadcast overrides everything.
Group screens by location. Schedule content by time.
Screen groups bind devices into logical targets. Content schedules assign templates to groups with time windows, day-of-week rules, and 5-level priority resolution.
Screen Groups
Logical grouping of devices by location, floor, or purpose. Assign templates, themes, and ad preferences at the group level instead of per device.
Content Schedules
Bind content to screen groups with start time, end time, and days-of-week selection. Multiple schedules can target the same group with priority-based conflict resolution.
Priority Resolution
Five priority levels from Emergency (1) down to Ambient (5). When schedules overlap, the higher-priority content wins. Emergency broadcasts override everything.
Active/Inactive Toggle
Schedules can be toggled on or off without deletion. Inactive schedules are preserved for reuse during seasonal or recurring events.
6 content types. Box storage. Brand compliance.
Media library backed by Box file storage with quota management. Six content types from static images to live template components.
Image
Static image content (JPG, PNG). Uploaded to the media library and assigned to schedules or pushed directly to devices.
Video
Video content with autoplay and loop options. Stored in Box with quota management and preflight size checks.
HTML
Custom HTML content with optional script support. Rendered in the device browser for interactive or data-driven displays.
Template
Pre-built React Native template components with live data binding. The primary content type for operational and informational screens.
Ad
Advertising campaign content served through the ad engine. Tracked for impressions and click-through.
Announcement
System announcements with icons and action links. Can be sourced from the Campaigns app broadcast system.
Storage & Branding
Box Storage
Media files stored in Box with quota management. Preflight checks prevent uploads that would exceed account limits. Largest-file detection for cleanup.
Theme Customization
Per-device or per-group theme overrides. Primary, secondary, and accent colors. Font selection. Logo upload with optional clock display.
Brand Compliance
Brand-check endpoint validates that screen content meets property branding standards before publication to the fleet.
4 ad modes. Impression tracking. Uptime reporting.
Per-device ad preferences control the 80/20 split layout sidebar with campaign-level impression and click-through tracking. Heartbeat-derived uptime percentages per device and group.
Impressions, uptime, and fleet health.
Three analytics surfaces cover ad performance, device availability, and fleet-wide counts. Per-impression records with campaign attribution and heartbeat-derived uptime percentages.
Analytics Overview
DisplayAnalyticsClient renders the primary analytics dashboard. Entity counts include total devices, online count, offline count, templates in use, and today/weekly impression totals.
/display/analyticsImpression Tracking
DisplayImpressionsClient tracks every ad served to every device. Per-impression records include ad ID, campaign ID, device ID, screen group, timestamp, duration in seconds, and click-through status.
/display/analytics/impressionsUptime Reporting
DisplayUptimeReportClient shows device availability over time. Heartbeat data aggregated into uptime percentages per device, per group, and fleet-wide.
/display/analytics/uptimeDashboard Entity Counts
Total Devices
Count of all registered devices across all properties.
Online Devices
Devices with a heartbeat received within the last 2 minutes.
Offline Devices
Devices that have missed their heartbeat window.
Templates Total
Number of template configurations available in the account.
Templates In Use
Templates currently assigned to at least one device or group.
Today Impressions
Ad impressions served across all devices since midnight.
Weekly Impressions
Rolling 7-day impression total for trend analysis.
4 ad modes. 80/20 split layout. Campaign tracking.
Per-device ad preference controls the 20% sidebar slot. Four modes from Calisto house ads to externally sold ad space.
Campaign Targeting
Target by screen group, date range, and vertical. Budget tracking in cents with impression counts per campaign.
Impression Records
Every ad served generates a record: ad ID, campaign ID, device ID, screen group, timestamp, duration, and click status.
Split Rendering
The 80/20 split is enforced at the rendering layer. Content and ad sidebar render as adjacent layout regions, not overlays.
80/20 Split Layout
Platform Interconnects
12 native interconnects. Zero configuration.
Display pulls live data from 6 source products and bridges with 6 platform services. Source-side changes propagate on the next 60-second content poll.
Calisto Ops
Calisto POS
Calisto Events
Calisto Access
Calisto Signal
Calisto Navigator
Calisto Reputation
Calisto Studio
Calisto Assure
Calisto Box
Calisto Ads
Calisto Services
Emergency broadcast, cast-to-device, reputation ticker.
Fleet-wide emergency override, single-device content push, and live reputation data on screens. Golf-specific template controls, in-flow forms, and account configuration.
Emergency Broadcast
Priority level 1 overrides every screen in the fleet. Fire alarms, weather alerts, and security notices bypass all schedules.
/api/display/emergencyCast to Device
Push content directly to a single device. Bypass schedules for one-off content on a specific screen.
/api/display/devices/[id]/castReputation Ticker
Live guest review scores from Reputation rendered as a scrolling ticker on lobby displays.
/api/display/reputation/tickerGolf Templates
Dedicated endpoints for golf template listing, per-template configuration, and active/inactive toggling.
/api/display/golf/templatesForms
Data collection attached to display workflows. Powered by forms-core with display as the source app.
/display/formsSettings
Account-level display configuration. Default theme, ad preferences, notification rules, and subscription tier.
/display/settingsWhat ships in the box.
| Hardware Platforms | Samsung Tizen, LG WebOS, Sony Bravia, NEC MultiSync, Sharp Aquos, Android |
| Device Types | Display, Signage, Kiosk |
| Subscription Tiers | Free (Calisto ads), Pro (custom branding), Enterprise (full features) |
| Heartbeat Interval | 30 seconds |
| Content Poll Cycle | 60 seconds |
| Offline Threshold | 2 missed heartbeats (> 2 minutes) |
| Device Authentication | dsp_-prefixed device keys |
| Content Types | Image, Video, HTML, Template, Ad, Announcement |
| Content Sources | Screens, Display, Broadcast |
| Ad Layout | 80% content / 20% ad sidebar |
| Ad Modes | Calisto Ads, No Ads, Self Promotion, Sell Space |
| Priority Levels | 5 (Emergency, Operational Announcement, Targeted Ad, Default Operational, Ambient) |
| Templates | 19 registered across 7 verticals |
| Template Engine | React Native with TEMPLATE_REGISTRY |
| Media Storage | Box integration with quota management |
| Offline Resilience | Local content caching on device |
| Cross-Product Integrations | Ops, POS, Events, Services, Access, Navigator, Signal, Reputation, Studio, Assure, Box, Ads |
| UI Routes | ~14 (Dashboard, Activate, Devices, Groups, Schedules, Analytics, Media, Forms, Screens, Settings) |
| Client Components | 16 display-clients + TemplateSelector + DisplayStatsWidget |
Operations screens free. Client & informational from €9/screen.
7 TV platforms, 21 React Native template components, 106 vertical configurations, QR activation, 60-second content cycle, 30-second heartbeat monitoring, and offline resilience. Operations screens always free.
Display
Digital signage across 6 hardware platforms.
Part of Ops Suite
Wallet-debit
Add to Pro Shop