24 — Arrivals Board / TV Mode Specification
Surface: Lobby display (TV or large format display; 43"–75"; 4K preferred) Phase: P2 / R2 Shell: Kiosk shell (display-only variant — no touch interaction)
1. Overview
The arrivals board is a read-only, ambient lobby display showing:
- Today's VIP arrivals and their status (awaiting, checked in)
- Current weather
- Flight delay information for nearby airports
- A branded property slideshow during quiet periods
- Optional: today's events/activities at the property
Audience: Front-desk staff (glanceable status), VIP guests (recognition), lobby ambience.
Privacy note: Only first name + last name initial of VIPs are shown (e.g., "Ahmad K."). Full data is visible only on the operator desktop. Tenants may disable the arrivals list entirely.
2. Hardware configuration
| Component | Requirement |
|---|---|
| Display | 43"–75" commercial display; landscape; 3840×2160 (4K preferred) or 1920×1080 |
| Mount | Wall-mount in lobby; eye level or above |
| Connectivity | Wired Ethernet preferred; WiFi fallback |
| Control | Chrome/Electron in kiosk mode; no keyboard/touch needed |
3. Display modes
3.1 Active mode (busy period: 06:00–22:00)
┌─────────────────────────────────────────────────────────┐
│ [Tenant logo] [Clock: 14:32] [Weather: ☀️ 24°C] │
├─────────────────────────────────────────────────────────┤
│ TODAY'S ARRIVALS │
│ │
│ ★ Ahmad K. Room 201 ✅ Checked in │
│ ★ Sarah M. Room 305 🟡 Awaiting │
│ Family Hassan Room 402 🟡 Awaiting │
│ Business guest Room 108 ✅ Checked in │
│ │
├─────────────────────────────────────────────────────────┤
│ FLIGHT INFO (KBL Airport) │
│ SV710 → Arriving on time 15:40 │
│ FZ321 → Delayed +45 min (est. 17:15) │
├─────────────────────────────────────────────────────────┤
│ TODAY'S EVENTS │
│ 15:00 — Welcome tea in the garden │
│ 19:00 — Live music in the lobby │
└─────────────────────────────────────────────────────────┘
3.2 Slideshow mode (quiet period / no arrivals today)
Fullscreen branded slideshow:
- Property photos (from
theme-config-servicegallery) - Brief text overlays: property name, tagline, amenity highlights
- Transition: slow Ken Burns effect; 8 s per slide
- Optional: QR code overlay "Book direct at melmastoon.app/{tenant}"
3.3 Hybrid mode (arrivals list + background slideshow)
On large (55"+) displays: arrivals panel on the right third; slideshow on the left two thirds.
4. Data sources
| Widget | Data source | Refresh interval |
|---|---|---|
| Arrivals list | check-in-service REST polling | 60 s |
| Weather | weather-integration-service (OpenWeatherMap) | 15 min |
| Flight info | flight-info-service (FlightAware or AviationStack) | 5 min |
| Events | theme-config-service (tenant-entered events) | On publish |
| Slideshow photos | media-service CDN | On publish |
Offline: Cached data from last successful fetch displayed. Stale indicator shown after 5 min without update.
5. Privacy and content rules
- VIP guest names: shown only if
reservation.is_vip = true(set by operator) - Name format:
FirstName LastInitial.only (e.g., "Ahmad K.") - Room numbers: shown — operators can disable in
theme-config-servicearrivals_board.show_room_numbers - Check-out guests: not shown (arrivals board only)
- GDPR/data minimisation: no full names, no passport data, no financial data on display
6. Theming
Tenant color tokens apply. The board uses a "dark luxury" visual preset by default (dark background, gold/accent highlights) regardless of the tenant's light/dark mode preference — this is optimised for ambient lobby lighting. Tenant can override via theme-config-service arrivals_board.color_scheme: 'auto' | 'dark' | 'light'.
7. Technical implementation
- Chromium in
--kioskmode (no tabs, no address bar) - Auto-refresh: page does not hard-reload; uses Zustand store + polling
useQuery(TanStack Query) - Daily restart: scheduled at 04:00 (cron via systemd) to clear memory leaks
- Remote management: Tenant can push content updates (new slideshow photos, events) without touching the device