# Vault Display — Step 05 Scheduling

## Added

- ScheduleService
- Playlist item date filtering
- Playlist item time filtering
- Playlist item day-of-week filtering
- Priority ordering
- Active priority override support
- Opening hours settings
- Out-of-hours playlist override
- Admin schedules page
- Reference ID panel for playlists/screens/groups
- Step 05 SQL patch

## Important URLs

```text
/public/admin/schedules.php
/api/playlist.php?screen=counter
/public/display.php?screen=counter
```

## How Scheduling Works

Playlist items are filtered by:

- `start_date`
- `end_date`
- `start_time`
- `end_time`
- `days_of_week`

The playlist API only returns currently valid items.

Priority override schedules can redirect a screen/group/playlist context to a different playlist.

Out-of-hours mode can switch screens to a dedicated closed/out-of-hours playlist when the shop is outside configured opening hours.

## Completed So Far

1. Foundation
2. Display player
3. Admin dashboard
4. Matrix and emergency runtime
5. Scheduling engine

## Remaining

- Kiosk launcher scripts
- Browser window auto-positioning
- Fusion API sync
- Arkwright visibility/action endpoints
- QR generation helper
- Advanced slide templates
- Better permissions/auth
- Backup/export/import system
