sl-audio — інструкція для адміністратора клубу і менеджера контенту v1.0 · 30.09.2026 · 59 кроків · 11 розділів

Як влаштована система

Перш ніж заходити в розділи — три хвилини на загальну картину, щоб усе нижче було зрозуміліше з першого разу.

Порталбраузер, ВИ тут
⇄
Сервермозок, працює 24/7
⇄
Плеєрпрограма на ПК клубу

Ви керуєте через портал у браузері. Портал спілкується з сервером мережі — єдиним місцем, де зберігаються всі дані й рахується розклад. Сервер, своєю чергою, командує програмою-плеєром, яка стоїть на звичайному ПК у самому клубі й реально видає звук у колонки. Портал і плеєр НІКОЛИ не спілкуються напряму — завжди через сервер; тому якщо плеєр офлайн, портал усе одно показує «останній відомий» стан, а не живий.

Хто є хто

РольЩо бачить і робить
Адміністратор мережіповний доступ до всього — усі клуби, користувачі, мережеві правила тривог, інфраструктура. «ІТ — усе».
Менеджер (контенту)бачить увесь парк клубів, керує банком файлів, кампаніями, проєктами, розкладами — але НЕ керує користувачами/обліковими записами й інфраструктурою.
Адміністратор клубулише свої клуби (явно надані): гучність, аварійні дії, повсякденне керування залою — без доступу до налаштувань інших клубів чи мережі в цілому.

Словник термінів

Короткі визначення з якорями — розділи нижче посилаються сюди (#term-…), щоб не повторювати визначення щоразу.

Портал
Сайт в браузері (наприклад slaudio.derg.in.ua), яким користуєтесь ВИ — адміністратор мережі, менеджер контенту, адміністратор клубу. Тут заводите клуби, зони, музику, рекламу, дивитесь звіти. Портал сам звук не грає — він лише керує.
Сервер
Програма, що працює цілодобово на бекенді мережі: зберігає всі дані (клуби, файли, кампанії), рахує розклад, стежить за плеєрами (watchdog), шле тривоги. Портал і плеєри спілкуються ЧЕРЕЗ нього, напряму між собою — ніколи.
Плеєр (програма)
Застосунок, встановлений на звичайному ПК у самому клубі (на рецепції чи в підсобці) — саме ВІН реально відтворює звук у колонки залу. Раз на якийсь час звертається до сервера: «що зараз має грати?» — і грає. Якщо плеєр офлайн (вимкнений ПК, нема інтернету) — сервер може мати ідеальний розклад, а в залі буде тиша.
Клуб
Одна адреса мережі Sport Life (наприклад «Теремки»). Має свої: адресу, графік роботи, ознаки (послуги), регіон тривог. Одному клубу належить кілька зон.
Зона
Одне озвучене приміщення всередині клубу — зала, роздягальня, лаундж. У кожної зони своя музика, своя гучність, свій статус «грає/тиша». Зона — НЕ фізичний пристрій, а логічна точка відтворення.
Плеєр (пристрій/приписка)
Той самий ПК із застосунком-плеєром, але з точки зору порталу — це запис у списку «Плеєри клубу»: версія, статус звʼязку, які зони/канали (L/R) до нього прикріплені. Одна звукова карта плеєра може обслуговувати кілька зон одночасно.
Профіль доби (дейпарт)
Відрізок часу доби зі своїми правилами відтворення для конкретної зони — «ранок» тихіше й повільніше, «вечірній пік» гучніше. У зони може бути один дейпарт на всю добу або кілька послідовних; разом вони мають СУЦІЛЬНО покривати робочі години клубу.
Пул музики
Набір треків, з якого система випадково чи «розумно» (intelligent, за BPM/енергією) добирає, що грати в конкретному дейпарті — не один зафіксований плейлист, а жива вибірка з банку файлів за критеріями.
Ролик
Один аудіофайл реклами чи оголошення в банку файлів — з тривалістю, виміряною гучністю (LUFS) і, за форматом назви, розпізнаною ознакою (тегом).
Кампанія
Правило показу одного чи кількох роликів: кому (таргетинг), як часто (квота), з яким пріоритетом, у які дати. Класичний, «легкий» спосіб запустити рекламу.
Рекламний проєкт
Новіший механізм над кампаніями — кілька креативів одразу, конструктор розкладу показу, призначення на групу клубів із прогнозом покриття (fit-звіт).
Ознака клубу
Тег-послуга (басейн, сквош, солярій…), проставлена клубу. Місток між рекламою і клубом: кампанія таргетована на ознаку сама зʼявляється в кожному клубі з цим тегом. «база» — особлива ознака «скрізь».
Розклад / таймлайн
План ефіру зони на майбутнє (на відміну від «Пульта зони», який керує лише поточною хвилиною) — послідовність «кубиків» музики/реклами/оголошень на кожен день.
Регенерація
Дія «Перегенерувати» — повний перерахунок розкладу з нуля на основі поточних дейпартів/кампаній/оголошень. Потрібна щоразу, коли змінили налаштування, а розклад лишився старим.
Хвилина мовчання
Щоденна автопауза музики й оголошень на 60 секунд у задану хвилину (мережевий дефолт — 09:00, клуб/зона можуть перевизначити). Звучить навіть під час тривоги.
Тривога
Мережевий сценарій реакції на небезпеку — 6 рівнів небезпеки (жовта/червона повітряна, артобстріл, вуличні бої, хімічна, ядерна загроза), у кожного свій набір із 3 аудіохвиль (старт/триває/відбій) і рівень приглушення музики й реклами. Найвищий пріоритет у всьому ефірі.
Watchdog
Фоновий процес сервера, що стежить за станом усіх плеєрів мережі 24/7 і шле алерти (зокрема в Telegram-бот) при збоях чи рестартах — ви цю частину напряму не бачите, вона працює у фоні.

🚀 Швидкий старт нового клубу

Чекліст із 10 кроків, якщо клуб заводиться в системі вперше — з нуля до звуку в залі й реклами, яка сама знаходить потрібні клуби.

  1. Створити клуб«Клуб» → «+ Новий клуб»: назва, місто, регіон тривог. Регіон тривог визначає, яка мережева тривога стосуватиметься саме цього клубу. → докладніше в розділі «2. Клуб»
  2. Проставити ознаки клубуУ формі клубу (або в довіднику ознак у Налаштуваннях) увімкнути теги послуг — базу («база» вмикати не треба, вона за замовчуванням «скрізь»), басейн, сквош, солярій тощо. Від цього залежить, яка реклама сама «знайде» цей клуб. → докладніше в розділі «2. Клуб»
  3. Створити зони«Зони» → «+ Нова зона»: мінімум — назва («Загальна», «Лаундж», «Роздягальня»…). BPM-пресет — опційно, підказка темпу. → докладніше в розділі «3. Зони»
  4. Привʼязати плеєр«Плеєр» → ввести код реєстрації, виданий застосунком плеєра на ПК клубу, потім прикріпити плеєр до потрібних зон і каналів (L/R). → докладніше в розділі «4. Плеєр»
  5. Задати графік роботиУ формі клубу — таблиця годин по днях тижня (відкриття/закриття). Від неї рахуються і оголошення закриття, і «жива»/«нічна» зала. → докладніше в розділі «2. Клуб»
  6. Увімкнути оголошення закриття й хвилину мовчанняІнтервали попередження (типово 30/15/5 хв) + окремий запис на момент закриття; хвилина мовчання — типово 09:00, можна перевизначити на клуб/зону. → докладніше в розділі «6. Оголошення»
  7. Перевірити реакцію на тривогуМережевий дефолт підхопиться сам; якщо клубу чи залі потрібен інший сценарій (наприклад, критичний обʼєкт) — перевизначити профіль зони окремо для потрібних рівнів. → докладніше в розділі «7. Тривоги»
  8. Налаштувати дейпарти і гучність зониПрофілі доби (ранок тихіше, вечірній пік гучніше), режим підбору музики (random/intelligent), і базовий повзунок гучності зони. → докладніше в розділі «5. Музика»
  9. Обрати режим реклами і перевірити таргетинг«Класичний» (pacing) чи «за піками» (по реальній сітці відвідуваності). Перевірити, що потрібні кампанії таргетовані на ознаки саме цього клубу. → докладніше в розділі «8. Реклама»
  10. Перегенерувати розклад і перевірити ефір«Розклад» → «Перегенерувати» → подивитись таймлайн дня і звіт proof-of-play, що реклама й музика реально лягли туди, куди треба. → докладніше в розділі «9. Розклад»
🛠️
Клуб уже створений, треба лише прописати теги/графік/усе інше?
Розділ 2 має власний сценарій «за 8 кроків» — де саме клацати, що вводити, з прикладом реального клубу.
Налаштувати клуб →
🎯
Клуб уже є, треба просто додати рекламу?
Не проходьте весь чекліст — розділ 8 має власний сценарій «за 7 кроків», від файлу ролика до перевірки в ефірі.
Додати рекламу →

1. Вхід

Портал і хто чим керує — коротко в «Як влаштована система» (архітектура портал/сервер/плеєр і таблиця «Хто є хто» — адміністратор мережі / менеджер контенту / адміністратор клубу). Після входу — одразу в «Швидкий старт»: новий клуб чи просто додати рекламу.
1

Вхід у портал — логін і пароль

Поле «Логін» і кнопка «Увійти» нижче форми
Поле «Логін» і кнопка «Увійти» нижче форми

Перша сторінка порталу SL·Аудіо. У полі «Логін» вводимо обліковий запис (для мережі — це, як правило, «admin» або особистий логін адміністратора клубу), у полі «Пароль» — пароль. Прапорець «Запам'ятати мене на цьому пристрої» тримає сесію довше на довіреному ПК — на чужому чи спільному комп'ютері його краще не чіпати. Тиснемо «Увійти».

Що може піти не так. Типова помилка — Caps Lock або зайвий пробіл у логіні, скопійованому з листа.
ПолеЩо означаєПриклад на стенді Теремки
Логінобліковий запис у системіadmin
Парольпароль облікового запису••••••••

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/login

2

Двофакторна автентифікація (2FA)

Поле «Код 2FA»
Поле «Код 2FA»

2FA (двофакторна автентифікація) — добровільна для будь-якої ролі: вмикається в меню профілю → «Безпека». Якщо вона увімкнена, після логіна й пароля портал просить 6-значний код із застосунку-автентифікатора (Google Authenticator/Authy). Якщо не вмикали — цього кроку нема, вхід одразу пускає в портал. Код міняється кожні 30 секунд і рахується прямо на телефоні за формулою — інтернет застосунку не потрібен. Якщо телефон недоступний, можна ввести один із одноразових backup-кодів, виданих при налаштуванні 2FA. Хибний або протермінований код поверне помилку «Невірний код» — просто вводимо свіжий. Тиснемо «Підтвердити код».

ПолеЩо означаєПриклад на стенді Теремки
Код 2FA6-значний TOTP-код з автентифікатора або backup-код(рахується щохвилини заново)

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/login

2. Клуб

Налаштувати клуб — теги, графік, усе інше — за 8 кроків

Відповідь на питання «це все на якій вкладці робиться?» — коротко: МАЙЖЕ все (базові дані, ознаки, графік, оголошення закриття) живе в ОДНІЙ формі клубу і на одній сторінці його робочого простору — не треба бігати по різних розділах порталу. Нижче — кожен крок окремо: де саме клацати, що ввести (з прикладом реального клубу «Теремки тест»), що побачите у відповідь, і що робити, якщо щось не так.

  1. 1. Відкрити клуб
  2. 2. Базові дані
  3. 3. Ознаки (теги)
  4. 4. Графік роботи
  5. 5. Оголошення закриття
  6. 6. Зони
  7. 7. Плеєр
  8. 8. Готовність клубу
1

Відкрити робочий простір клубу

Де це: головне меню порталу → «Клуби» (для адміністратора мережі — весь список; для адміністратора клубу — одразу відкриється його єдиний клуб, вибору нема).

Що натиснути: у списку зліва — клік по назві потрібного клубу (пошук і сортування зверху списку, якщо клубів багато).

Що побачите: робочий простір клубу праворуч — шапка з назвою, містом і чіпами ознак, рядок «Готовність клубу», і сітка карток зон (або список плеєрів — за перемикачем «Зони / Плеєри» вгорі праворуч). Саме звідси відкриваються ВСІ наступні кроки цього сценарію.

Якщо не так: клубу немає в списку — або він ще не створений («+ Новий клуб» вгорі списку), або вашому обліковому запису не дали доступ до нього (зверніться до адміністратора порталу мережі, це не самообслуговування).

→ повний крок зі скріном: «Головна — список клубів і робочий простір клубу» (розділ «2. Клуб»)

Список клубів зліва і робочий простір клубу праворуч
2

Базові дані клубу

Де це: кнопка «✎ Редагувати» в шапці робочого простору клубу (крок 1) відкриває форму — ТУ САМУ, що й для створення нового клубу.

Що ввести: «Назва» і «Місто» — вільний текст (приклад стенду: «Теремки тест», Київ). «Регіон тривог» — адмінодиниця за КАТОТТГ (область → район → громада): обирайте найточніший рівень, який знаєте — громаду, а не область. Це не втрата точності: тривога, оголошена по всій області, автоматично «накриває» кожну громаду в ній (правило системи: «тривога по області покриває громаду, громада не покриває область»), тож обравши громаду ви однаково отримаєте і обласні тривоги, і свої точкові — а обравши одразу область, будете чути тривоги й по сусідніх громадах, які вашого клубу не стосуються. «Критичність для тривог» (звичайна/критична) — реально міняє СЦЕНАРІЙ тривоги: критичні клуби на старті окремо оголошують фразу «клуб зачиняється, пройдіть в укриття» (окрема фаза закриття), некритичні — просто нагадування раз через 15 хв і без цієї фрази. «Хвилина мовчання» — перемикач увімкнено/вимкнено + час; мережевий дефолт — щодня о 09:00, конкретний клуб може перевизначити свій час (наприклад, якщо клуб відкривається пізніше).

Що побачите: після «Зберегти» форма закривається, шапка клубу одразу показує нові значення (назва/місто змінюються без перезавантаження сторінки).

Якщо не так: обрали регіон тривог помилково (не той район) — клуб реагуватиме на чужі тривоги або пропускатиме свої; перевірте адресу клубу і виправте регіон, це не критично й виправляється в будь-який момент, наступна тривога піде вже правильно.

→ повний крок зі скріном: «Форма клубу — місто, регіон тривог, критичність, хвилина мовчання» (розділ «2. Клуб»)

Поля «Місто», «Регіон тривог», «Критичність для тривог»
3

Ознаки клубу (теги)

Де це: та сама форма «✎ Редагувати» (крок 2) — блок «Ознаки клубу (сервіси)»: чіпи-перемикачі, кожен клік одразу зберігається окремо (не треба тиснути загальне «Зберегти» для ознак — вони автономні).

Якщо потрібної ознаки нема в списку чіпів: її спершу заводить адміністратор мережі в «11. Налаштування» → «Довідник ознак» → поле «+ Нова ознака» — і лише ПІСЛЯ цього вона зʼявиться як чіп у формах усіх клубів.

Приклад зі стенду — клуб ТЕР (реальний рядок мережевої таблиці):

КодУвімкнені ознаки
ТЕРбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тб

Повний перелік ознак мережі (16 назв, що реально проставлені хоч одному клубу): база, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тб, тбс, тс, бар. Спеціальне правило: «база» = скрізь — цю ознаку не треба вмикати вручну жодному клубу, контент з нею й так грає в усіх 48 клубах мережі. Повне пояснення кожної ознаки (включно з тими, які поки не підтверджені на 100% — позначені «уточнити в Лариси») і чому це взагалі важливо — розділ «8. Реклама» → Ознаки клубів ↓.

Навіщо це: саме ці чіпи вирішують, яка реклама «сама знаходить» цей клуб — кампанія, таргетована на ознаку «сквош», зіграє в КОЖНОМУ клубі з увімкненим чипом «сквош», без ручного додавання клубу в кожну кампанію окремо. Детальний наскрізний приклад і повна таблиця «Клуб → ознаки» по всіх 48 клубах — розділ «8. Реклама» → Таблиця клубів ↓.

Якщо не так: реклама «не знаходить» клуб — 9 з 10 випадків це саме тут: потрібного чипа немає або він вимкнений. Перш ніж шукати проблему в самій кампанії, перевірте чипи клубу.

→ повний крок зі скріном: «Ознаки клубу (сервісні теги)» (розділ «2. Клуб»)

Блок чіпів «Ознаки клубу (сервіси)»
4

Графік роботи клубу

Де це: НЕ у формі редагування — окремий блок «Графік клубу» прямо на сторінці робочого простору клубу (крок 1), нижче шапки. Розгортається кліком, якщо згорнутий.

Що ввести: окремий рядок на кожен день тижня (Пн–Нд): чекбокс «працює» + час відкриття + час закриття. Приклад зі стенду: будні 07:00–22:00, вихідні — зазвичай коротший день, скажімо 09:00–20:00 (типова практика мережі, у кожного клубу може бути своє). Невідмічений день = клуб цього дня взагалі не працює.

Що це означає для ефіру: до відкриття й після закриття — тиша (або нічний режим, якщо налаштований окремо), реклама там НІКОЛИ не лягає. Саме від цього графіка рахується і зворотний відлік для оголошень закриття (крок 5 нижче).

🚨 Попередження «дірка покриття»: профілі доби (дейпарти) кожної зони мають СУЦІЛЬНО покривати весь робочий час клубу з цього графіка, без прогалин. Якщо є прогалина (наприклад, клуб працює до 22:00, а останній дейпарт зони закінчується о 21:00) — система НЕ дасть натиснути «Перегенерувати» в розкладі: поверне помилку «дейпарти не покривають суцільно робочі години клубу» з точною вказівкою, який день і яка саме прогалина. Це навмисний захист від тиші в зáлі через забутий дейпарт, а не баг. Що робити: розділ «5. Музика» → додати чи розширити дейпарт зони так, щоб він дотягував до фактичного часу закриття.

Якщо не так: час невірний — виправте прямо в цій таблиці, зберігається одразу; клуб «здається зачиненим» удень — перевірте, чи не забули зняти чекбокс «працює» для сьогоднішнього дня тижня.

→ повний крок зі скріном: «Години роботи клубу по днях тижня» (розділ «2. Клуб»)

Таблиця «Графік клубу» з відкриттям/закриттям по днях
5

Оголошення про закриття

Де це: блок «Клуб зачиняється» одразу під графіком годин (крок 4) — та сама сторінка робочого простору клубу.

Що ввести: прапорець «Оголошувати про закриття» вмикає всю функцію. Інтервали «за N хвилин до закриття» — типово 30/15/5 хвилин, для кожного можна призначити свій запис з банку (за 30 хв — спокійне нагадування, за 5 хв — прохання пройти до роздягалень); порожньо = система бере найкоротший придатний запис з банку екстрених. Окремий рядок «у момент закриття» (0 хв) — запис «зачинено», розрахований звучати так, щоб завершитись рівно на закритті.

Де взяти файли: «5. Музика» → банк файлів → тека службових/екстрених записів. Якщо потрібного запису там нема — залийте новий (той самий діалог завантаження, що для музики й реклами).

Що побачите: у прикладі клубу «Теремки тест» — інтервали 30, 15, 5 хв і окремий запис «зачинено» на 0 хв.

Якщо не так: оголошення закриття не чути — перевірте, чи ввімкнено прапорець і чи справді призначено файл на потрібний інтервал (порожнє поле — не помилка, просто автопідбір, і якщо в банку екстрених взагалі нема файлів, автопідбору теж нічого брати).

→ повний крок зі скріном: «Оголошення «клуб зачиняється»» (розділ «6. Оголошення»)

Таблиця інтервалів попередження про закриття (30/15/5 хв)
6

Зони клубу

Коротко: зона — це одна озвучена зала/приміщення (не сам клуб). У щойно створеному клубі зон іще нема — без хоча б однієї зони клубу нікуди прикріпити ні музику, ні плеєр. Повний покроковий розбір створення зони, привʼязки до пристрою й каналу L/R, типу зони, BPM і гучності — окремий розділ.

→ Детально: розділ «3. Зони».

7

Плеєр клубу

Коротко: плеєр — це фізичний ПК у клубі із застосунком-програвачем, який реально видає звук у колонки. Клуб і зони можуть бути ідеально налаштовані, але без прикріпленого й онлайн плеєра звуку в залі не буде фізично. Привʼязка за кодом реєстрації, команди, діагностика — окремий розділ.

→ Детально: розділ «4. Плеєр».

8

Перевірити «Готовність клубу»

Де це: той самий рядок «Готовність клубу» в робочому просторі клубу (крок 1), одразу під шапкою — це підсумковий світлофор по всіх попередніх кроках, не окрема настройка.

Що означає: рядок показує, чого ще бракує клубу до реального ефіру — типово три речі: чи є хоча б одна зона (крок 6), чи прикріплений і онлайн плеєр (крок 7), чи згенерований розклад (розділ «9. Розклад»). Незакритий пункт — конкретна й дослівна причина, чому в залі може стояти тиша навіть коли решта налаштувань (графік, ознаки, оголошення) зроблені бездоганно.

Що робити: клікніть по незакритому пункту (якщо клікабельний) або перейдіть напряму в потрібний розділ за списком вище — після виправлення рядок оновлюється сам, перезавантажувати сторінку не треба.

→ повний крок зі скріном: «Головна — список клубів і робочий простір клубу» (розділ «2. Клуб»)

Рядок «Готовність клубу» в робочому просторі

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю (те саме, на що посилається сценарій вище).

3

Головна — список клубів і робочий простір клубу

Список клубів зліва (тут обрано «Теремки тест»)
Список клубів зліва (тут обрано «Теремки тест»)

Ліворуч — список усіх клубів мережі (для адміністратора клубу тут буде лише його клуб), із пошуком і сортуванням зверху. Клік по клубу відкриває його робочий простір праворуч: шапку з назвою/містом/ознаками, рядок «Готовність клубу» (чого ще бракує — зон, плеєра, розкладу) і сітку карток зон. Кольоровий індикатор на картці клубу сигналить про проблему (плеєр офлайн, немає розкладу тощо) — на це варто дивитись щодня. Праворуч вгорі — перемикач «Зони / Плеєри» для того ж клубу.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

4

Години роботи клубу по днях тижня

Таблиця «Графік клубу» з відкриттям/закриттям по днях
Таблиця «Графік клубу» з відкриттям/закриттям по днях

Таблиця годин роботи клубу «Теремки тест» — окремий рядок на кожен день тижня (Пн–Нд). Чекбокс зліва вмикає/вимикає роботу клубу в цей день, два поля часу — «відкриття» і «закриття». За цим графіком система розуміє, коли зала «жива» (можна грати музику/рекламу) і коли клуб зачинено (тиша або нічний режим), а також коли рахувати відлік до оголошень закриття нижче. У прикладі клуб працює щодня з 07:00 до 22:00. Не збережений день підсвічується попередженням зверху картки.

ПолеЩо означаєПриклад на стенді Теремки
День тижня — чекбокс «працює»чи відкритий клуб у цей день узагаліувімкнено щодня
Відкриття / Закриттячас початку і кінця робочого дня клубу07:00 – 22:00

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

5

Форма клубу — місто, регіон тривог, критичність, хвилина мовчання

Поля «Місто», «Регіон тривог», «Критичність для тривог»
Поля «Місто», «Регіон тривог», «Критичність для тривог»

Форма редагування клубу (та сама форма й для створення нового — тільки заголовок «Новий клуб» замість «Редагувати клуб»). «Регіон тривог» визначає, яка мережева тривога (повітряна, за областю/громадою) стосується саме цього клубу. «Критичність для тривог» (лише при редагуванні) підказує пріоритетність клубу для екстрених сповіщень — критичні клуби отримують реакцію першими. Нижче — перемикач «Хвилина мовчання»: коли увімкнено, система щодня о заданій хвилині (наприклад, 09:00, річниці й пам'ятні дати) сама зупиняє музику й оголошення на 60 секунд.

Що може піти не так. ⚠️ На бойовому порталі форму лише переглянули — закрили Escape, нічого не зберігали.

За замовчуванням хвилина мовчання по всій мережі — щодня о 09:00 (річниці, памʼятні дати). Клуб чи навіть окрема зона можуть перевизначити свій власний час — наприклад, якщо клуб відкривається пізніше й о 09:00 в залі ще нікого немає. Хвилина мовчання звучить НАВІТЬ під час тривоги — це один із двох пріоритетів, які тривога не глушить (другий — службові оголошення закриття).

ПолеЩо означаєПриклад на стенді Теремки
Назва / Містоідентифікація клубу в списках і звітахТеремки тест, Київ
Регіон тривогяка мережева тривога зачіпає клубза адресою клубу (Київ)
Критичність для тривогпріоритет клубу при масовій реакції на тривогузвичайна/критична (значення в клубі)
Хвилина мовчаннящоденна автопауза музики на 60с у задану хвилинуувімкнено, 09:00

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

6

Ознаки клубу (сервісні теги)

Блок чіпів «Ознаки клубу (сервіси)»
Блок чіпів «Ознаки клубу (сервіси)»

Дрібні чіпи одразу під назвою й містом клубу — це «Ознаки клубу (сервіси)»: довідник послуг, які є саме в цьому клубі (басейн, сквош, лаунж, масаж, ТБ у залі тощо). Тут вони лише ПОКАЗУЮТЬСЯ; редагуються (клац-перемикач + окреме автозбереження на кожен клік) у формі «✎ Редагувати» кроком вище. Головне практичне застосування — таргетинг реклами «за ознаками»: кампанія з таргетингом на ознаку «сквош» сама почне грати в усіх клубах, де цю ознаку увімкнено, без ручного додавання кожного клубу. Спеціальна ознака «база» означає «скрізь» — контент/кампанія з нею грає в усіх клубах мережі незалежно від інших ознак. У прикладі клубу увімкнено: база, вендінг, дк, лаунж, масаж, сквош, тб, тбс, тс.

ПолеЩо означаєПриклад на стенді Теремки
Ознаки клубумультивибір тегів-послуг клубу для таргетингу рекламибаза, вендінг, дк, лаунж, масаж, сквош, тб, тбс, тс

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

7

Новий клуб — порожня форма

Порожні поля «Назва» і «Місто»
Порожні поля «Назва» і «Місто»

Порожня форма створення нового клубу — та сама форма, що й для редагування (заголовок міняється на «Новий клуб»). Заповнюємо назву, місто, обираємо регіон тривог, і після створення (кнопка внизу форми) переходимо одразу в майстер налаштування клубу.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs

8

Клуб «Демо клуб (інструкція)» створено — майстер налаштування

Заголовок майстра налаштування клубу
Заголовок майстра налаштування клубу

Після створення портал одразу пропонує майстер покрокового налаштування нового клубу «Демо клуб (інструкція)»: зони, шаблон, плеєр, звук. Демо-клуб лишається в системі після зйомки — саме для того, щоб цю ж інструкцію можна було безпечно перезняти пізніше без повторного створення сутностей з нуля.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

9

Майстер, крок 1 — «Клуб»

Активна вкладка кроку майстра
Активна вкладка кроку майстра

Крок майстра налаштування клубу — ««Клуб»». Майстер веде послідовно від голого клубу до повністю робочої зали: спершу базові дані клубу, потім зони (можна створити одразу під час майстра), вибір шаблону налаштувань (клас × тип зони), приписка плеєра і фінальний тест звуку. Кожен крок можна пропустити і повернутись пізніше — клуб не блокується до завершення майстра.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

10

Майстер, крок 2 — «Зони»

Активна вкладка кроку майстра
Активна вкладка кроку майстра

Крок майстра налаштування клубу — ««Зони»». Майстер веде послідовно від голого клубу до повністю робочої зали: спершу базові дані клубу, потім зони (можна створити одразу під час майстра), вибір шаблону налаштувань (клас × тип зони), приписка плеєра і фінальний тест звуку. Кожен крок можна пропустити і повернутись пізніше — клуб не блокується до завершення майстра.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

11

Майстер, крок 3 — «Шаблон»

Активна вкладка кроку майстра
Активна вкладка кроку майстра

Крок майстра налаштування клубу — ««Шаблон»». Майстер веде послідовно від голого клубу до повністю робочої зали: спершу базові дані клубу, потім зони (можна створити одразу під час майстра), вибір шаблону налаштувань (клас × тип зони), приписка плеєра і фінальний тест звуку. Кожен крок можна пропустити і повернутись пізніше — клуб не блокується до завершення майстра.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

12

Майстер, крок 4 — «Плеєр»

Активна вкладка кроку майстра
Активна вкладка кроку майстра

Крок майстра налаштування клубу — ««Плеєр»». Майстер веде послідовно від голого клубу до повністю робочої зали: спершу базові дані клубу, потім зони (можна створити одразу під час майстра), вибір шаблону налаштувань (клас × тип зони), приписка плеєра і фінальний тест звуку. Кожен крок можна пропустити і повернутись пізніше — клуб не блокується до завершення майстра.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

13

Майстер, крок 5 — «Звук»

Активна вкладка кроку майстра
Активна вкладка кроку майстра

Крок майстра налаштування клубу — ««Звук»». Майстер веде послідовно від голого клубу до повністю робочої зали: спершу базові дані клубу, потім зони (можна створити одразу під час майстра), вибір шаблону налаштувань (клас × тип зони), приписка плеєра і фінальний тест звуку. Кожен крок можна пропустити і повернутись пізніше — клуб не блокується до завершення майстра.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

3. Зони

Створити зону і налаштувати звук — за 7 кроків

Зона (словник ↑) — не фізичний пристрій, а логічна точка відтворення: одна озвучена зала клубу. Без хоча б однієї зони музику й рекламу нікуди «покласти», навіть якщо плеєр уже фізично стоїть у клубі.

  1. 1. Створити
  2. 2. Тип зони
  3. 3. Привʼязка до пристрою/каналу
  4. 4. Режим музики і BPM
  5. 5. Гучність
  6. 6. Лок системної гучності
  7. 7. Перевірити статус
1

Створити зону

Де це: робочий простір клубу («2. Клуб», крок 1) → кнопка «+ Нова зона» над сіткою карток зон.

Що ввести: єдине обовʼязкове поле — «Назва зони» (приклад зі стенду: напр. «Загальна», «Лаундж», «Роздягальня»). «Темп (BPM)» — опційний швидкий пресет, лише підказка для подальшого підбору музики (крок 4). Чекбокс «Привʼязати до пристрою й каналу зараз» — якщо в клубі вже є зареєстрований плеєр, зʼявляється одразу тут (крок 3 нижче можна зробити просто зараз, а не пізніше окремо).

Що побачите: нова картка зʼявляється в сітці робочого простору клубу зі статусом «⏹ Тиша» — це нормально, звуку нема, поки не пройдені наступні кроки.

Якщо не так: зона не потрібна більше — її можна архівувати (мʼяке видалення); архівація звільняє фізичний канал пристрою (крок 3), щоб цей самий порт можна було віддати новій зоні — історія (плейлоги, дейпарти) лишається привʼязаною до ID зони і не губиться.

→ повний крок зі скріном: «Створення зони — привʼязка до плеєра/каналу» (розділ «3. Зони»)

Поле «Назва зони»
2

Тип зони

Де це: довідникове поле в налаштуваннях зони — «Тип»: Тренажерка, Роздягальня, Ресепшн, Басейн, Кардіо, Групові (мережевий довідник, адміністратор мережі може розширити список).

Навіщо: це НЕ впливає на сам звук напряму — тип потрібен для мережевих «Шаблонів» («11. Налаштування»): авто-правило «клас клубу × тип зони» саме за цією парою підбирає, які налаштування (гучність, дейпарти) застосувати одним кліком до десятків зон одразу, замість ручного налаштування кожної.

Якщо не так: тип не обрано — нічого не ламається негайно, просто зона не підхопить майбутнє масове застосування шаблону за типом; можна дозаповнити будь-коли.

3

Привʼязати до пристрою і каналу L/R

Де це: чекбокс у формі зони (крок 1, якщо плеєр уже є) АБО пізніше — картка зони → мапінг пристрою окремою дією, коли плеєр звʼявиться пізніше.

Що ввести: конкретний плеєр (пристрій) зі списку прикріплених до клубу («4. Плеєр») + канал — L (лівий) або R (правий). Одна звукова карта плеєра фізично має два незалежні канали — може обслуговувати ДВІ різні зони одночасно, кожна зі своєю музикою.

Що побачите: канал зайнятий іншою зоною — система не дасть зберегти (один канал = одна зона, жорстке обмеження в базі). Переплутали зони місцями (L↔R навпаки чи не той пристрій) — не треба видаляти й пересоздавати: є окрема дія «поміняти зони місцями», яка міняє мапінг пристрою/каналу між двома зонами одним кліком, історія й назви лишаються на місці.

Якщо не так: фізичний пристрій зник з інвентарю плеєра (замінили звукову карту, відключили) — зона сама позначається «пристрій втрачено» і НЕ перепризначається автоматично на щось інше (свідомий захист: краще тиша, ніж випадково полилась реклама в роздягалку). Виправляється вручну — новий мапінг або рескан пристроїв плеєра.

→ повний крок зі скріном: «Привʼязка зони до пристрою і каналу L/R» (розділ «3. Зони»)

4

Режим підбору музики і темп (BPM)

Де це: налаштування зони (Експертний режим) — поле «Режим музики».

Що обрати: чотири варіанти — «off» (музика вимкнена в цій зоні взагалі), «random» (випадково з банку/пулу), «intelligent» (з урахуванням BPM і «кривої дня» — тихіше вранці, енергійніше ввечері), «manual» (ручний плейлист, без автопідбору). Темп — діапазон BPM «від» і «до» (можна на рівні зони, і окремо перевизначити на рівні кожного дейпарту, крок «5. Музика»).

Захист від повторів: окремі поля — мінімум годин до повтору того самого треку і мінімум хвилин до повтору того самого виконавця, щоб плейлист не «зациклювався» на кількох піснях.

Якщо не так: ⚠️ реальний баг, знайдений QA 2026-09-12 — зона з BPM «від 200 до 50» (переплутані місцями) створювалась МОВЧКИ, і під такий діапазон не підходив жоден трек — розумний добір просто переставав працювати без жодного попередження. Тепер форма одразу відмовляє зберегти, якщо «до» менше за «від».

→ повний крок зі скріном: «Гучність зони — профіль і системна гучність Windows» (розділ «3. Зони»)

BPM-пресет і повзунок гучності зони
5

Гучність зони

Простий режим: один повзунок «Наскільки гучно» — людська шкала замість технічних термінів, типово середина.

Експертний режим — детальніше: окремі цільові рівні гучності (LUFS) для музики / реклами / оголошень цієї конкретної зони — override поверх мережевих дефолтів −15 / −9 / −8 LUFS (розділ «8. Реклама» ↑), якщо в конкретній залі акустика вимагає інших цифр. «Crossfade» — плавність переходу між треками (мілісекунди). «Приглушення (duck) під оголошення» — на скільки відсотків і за скільки мілісекунд музика притишується, коли починається службове оголошення чи реклама, і так само плавно повертається назад.

Якщо не так: звук «ріже вухо» на стику треків — зменшіть crossfade; оголошення губляться під музикою — збільшіть відсоток приглушення (duck level).

6

Лок системної гучності Windows

Де це: налаштування зони (Експертний режим) — «Тримати системну гучність Windows, %».

Навіщо це зʼявилось: реальний випадок мережі (внутрішня назва задачі — «персонал крутить системну гучність на Speedfit») — співробітники на місці крутили гучність коліщатком миші чи клавішами клавіатури просто на ПК плеєра, і весь ретельно підібраний баланс гучності (музика/реклама/оголошення) «зʼїжджав» без жодного сліду в порталі. Поле приймає 0–100% (порожньо = функція вимкнена) — плеєр силою тримає системну гучність ОС на цьому рівні й повертає назад, щойно хтось її змінить локально.

Якщо не так: звук на виході в принципі занадто тихий чи гучний АПАРАТНО (не через баланс контенту) — це саме те поле, яке варто підняти чи опустити; для звичайного балансу гучність/реклама краще користуватись повзунком «Наскільки гучно» (крок 5), а не цим локом.

7

Перевірити статус зони

Де це: картка зони на дашборді клубу — живий бейдж «▶ Грає» / «⏸ Пауза» / «⏹ Тиша». Клік по картці відкриває «Пульт зони» — детальніше керування прямо зараз (не план на майбутнє, той — «9. Розклад»).

Якщо не так: статус «Тиша», хоча все з кроків 1–6 налаштовано правильно — перевірте (1) чи зараз клуб «живий» за графіком («2. Клуб», крок 4), (2) чи плеєр онлайн («4. Плеєр»), (3) чи є хоч один файл, що підходить під поточний дейпарт («5. Музика»).

→ повний крок зі скріном: «Картка зони — статус «грає / тиша»» (розділ «3. Зони»)

→ повний крок зі скріном: «Пульт зони — живий ефір «зараз»» (розділ «3. Зони»)

Картка зони з бейджем стану

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

14

Картка зони — статус «грає / тиша»

Картка зони «Загальна» з бейджем стану
Картка зони «Загальна» з бейджем стану

Кожна картка в сітці — одна зона клубу («Загальна», «Лаундж» тощо) зі своєю музикою й гучністю. Зверху — назва зони і бейдж поточного стану: «▶ Грає» / «⏸ Пауза» / «⏹ Тиша» — це живий статус, не план. Тут же повзунок гучності й швидкі кнопки транспорту (пауза/скіп) — керування зоною прямо з дашборду, без переходу на інші сторінки. Клік по картці відкриває «Пульт зони» з детальнішим керуванням.

Що може піти не так. ⚠️ На бойовому порталі кнопки транспорту реально перемикають музику в залі клубу — на цьому знімку ми їх НЕ натискали.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

15

Пульт зони — живий ефір «зараз»

Індикатор поточного стану («Грає»/«Пауза»/«Тиша»)
Індикатор поточного стану («Грає»/«Пауза»/«Тиша»)

Пульт зони — панель живого керування конкретною залою ПРЯМО ЗАРАЗ, а не план на майбутнє (той план — на сторінці «Розклад»). Зверху видно, що саме зараз має грати і стан плеєра: «▶ Грає» / «⏸ Пауза» / «⏹ Тиша». Кнопка транспорту перемикає плей/паузу, повзунок — миттєву гучність. Якщо плеєр зали офлайн, пульт показує попередження і команди стають неактивними — надсилати їх нікуди.

Що може піти не так. ⚠️ Кожна дія тут реально чутна в зали клубу — на бойовому порталі відкрили пульт лише для перегляду стану, транспорт і гучність НЕ чіпали.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

16

Створення зони — привʼязка до плеєра/каналу

Поле «Назва зони»
Поле «Назва зони»

Форма нової зони: обовʼязкова лише назва (наприклад, «Кардіозона», «Роздягальня», «Лаундж»). Темп (BPM) — необовʼязковий швидкий пресет діапазону, який потім підставиться в налаштування звуку зони. Якщо в клубі вже є привʼязаний плеєр, зʼявляється чекбокс «Привʼязати до пристрою й каналу зараз» — після нього можна одразу обрати конкретний аудіовихід плеєра і канал (лівий/правий, L/R); без плеєра зону теж можна завести — привʼязати залізо можна пізніше. Одна звукова карта плеєра може обслуговувати кілька зон одночасно, якщо в неї виведено кілька незалежних каналів.

ПолеЩо означаєПриклад на стенді Теремки
Назва зонилюдська назва приміщення (обовʼязкове)напр. «Загальна», «Лаундж»
Темп (BPM)необовʼязковий швидкий пресет діапазону темпу музики зонинапр. «Кардіо» 128–140
Пристрій / канал (L/R)який аудіовихід і канал плеєра обслуговує зону — доступно лише коли в клубі вже є плеєрзʼявляється після позначення чекбокса, якщо плеєр привʼязаний

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

17

Гучність зони — профіль і системна гучність Windows

Повзунок гучності зони
Повзунок гучності зони

Картка «Звук зони» — повзунок «Наскільки гучно» замінює технічні терміни (LUFS, crossfade) простою людською шкалою. BPM-пресет тут же підказує, під який темп музики налаштовано зону. Нижче ховається (в Експертному режимі) поле «Тримати системну гучність Windows, %» — це фіксований рівень гучності самої ОС на клубному ПК, який плеєр підтримує незалежно від внутрішньої гучності треків; його змінюють, лише якщо звук на виході плеєра в принципі занадто тихий/гучний апаратно.

ПолеЩо означаєПриклад на стенді Теремки
Наскільки гучнопростий повзунок цільової гучності зонитипово середина шкали
Тримати системну гучність Windows, %фіксований рівень гучності ОС плеєра (апаратний, не per-трек)напр. 80%

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

18

Привʼязка зони до пристрою і каналу L/R

Випадаючий список пристрою і перемикач каналу L/R
Випадаючий список пристрою і перемикач каналу L/R

Той самий чекбокс «Привʼязати до пристрою й каналу зараз» з форми нової зони — тут клуб уже має реальний плеєр, тож одразу під чекбоксом зʼявляється випадаючий список конкретних аудіовиходів («Пристрій — назва виходу») і перемикач каналу L/R під ним. Зайняті канали система показує сірим з підписом «зайнято зоною ...», щоб не переплутати з вільними. Обираємо пристрій, тоді канал — і зона одразу знає, куди слати звук.

Що може піти не так. ⚠️ На бойовому порталі форму лише переглянули й закрили Escape — нову зону клубу не створювали.
ПолеЩо означаєПриклад на стенді Теремки
Пристрійконкретний аудіовихід одного з плеєрів клубузі списку реальних виходів клубу «Теремки тест»
Канал L/Rлівий чи правий канал обраного виходу — один вихід може обслуговувати 2 зонизайнятий канал підписано «зайнято зоною ...»

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

4. Плеєр

Привʼязати й перевірити плеєр — за 6 кроків

Плеєр (словник ↑) — застосунок на звичайному ПК клубу, який реально видає звук у колонки. Клуб і зони можуть бути ідеально налаштовані на порталі, але без прикріпленого й онлайн плеєра звуку в залі не буде фізично — ані музики, ані реклами, ані навіть тривоги.

  1. 1. Встановити застосунок
  2. 2. Привʼязати до клубу
  3. 3. Прикріпити до зон
  4. 4. Статуси плеєра
  5. 5. Віддалені дії
  6. 6. Діагностика
1

Встановити застосунок плеєра на ПК клубу

Де це: фізично на самому ПК у клубі (рецепція чи підсобка зі звуковою картою) — інсталятор ставить застосунок, який сам генерує собі криптографічну пару ключів (Ed25519) і реєструється на сервері без ручного введення паролів (zero-touch-реєстрація). При першому запуску застосунок показує на екрані короткий «код реєстрації» — саме його вводите на порталі в кроці 2.

Якщо не так: перевстановили застосунок на тому самому ПК (стерли теку даних) — сервер розпізнає ту саму фізичну машину за стабільним апаратним ідентифікатором ОС і підхопить ІСНУЮЧИЙ запис плеєра замість того, щоб наплодити дублікат-привида в списку; спеціально це робити не треба, працює само.

2

Привʼязати плеєр до клубу

Де це: робочий простір клубу → перемикач «Зони / Плеєри» → «Плеєри» → форма привʼязки. Загальний перелік ще НЕ приписаних плеєрів усієї мережі — /clubs?view=unassigned.

Що ввести: код реєстрації з екрана застосунку плеєра (крок 1).

Що побачите: плеєр зʼявляється у списку клубу зі статусом звʼязку; тепер його можна прикріпити до конкретних зон (крок 3).

→ повний крок зі скріном: «Привʼязка плеєра до клубу» (розділ «4. Плеєр»)

Поле ключа/коду реєстрації плеєра
3

Прикріпити плеєр до зон і каналів

Коротко: той самий крок, що й у розділі зон — один плеєр (одна звукова карта) може обслуговувати ДВІ зони одночасно, по одній на канал L і R.

→ Детально: розділ «3. Зони», крок 3.

4

Що означають статуси плеєра

СтатусЩо означає
Нерозподіленийплеєр зареєструвався на сервері (crok 1), але ще не привʼязаний до жодного клубу — «пул нерозподілені»; фактично склад запасних/ще не встановлених плеєрів мережі.
Онлайнзвʼязок із сервером живий прямо зараз — саме цей стан потрібен, щоб плеєр реально грав щось за розкладом.
Офлайнзвʼязку немає (вимкнений ПК, нема інтернету в клубі, завис застосунок) — сервер і портал далі показують «останній відомий» стан зони, не живий.
Помилкаплеєр на звʼязку, але сам повідомив про технічну проблему (наприклад, не бачить звукову карту) — вимагає уваги на місці, не лише перезапуску з порталу.

→ повний крок зі скріном: «Плеєри клубу — приписка і статус» (розділ «4. Плеєр»)

Список плеєрів клубу з версією і статусом звʼязку
5

Віддалені дії (команди)

Де це: картка плеєра → блок «Віддалені дії». Кожна кнопка — окреме підтвердження (ConfirmDialog) перед відправкою, випадковий клік нічого не ламає.

ДіяЩо робить
Пересканувати пристроїплеєр заново опитує свої звукові карти — після зміни заліза на ПК.
Перезапустити аудіопроцеслегкий рестарт лише звукового рушія, без перезапуску всієї служби — найчастіший перший крок при збоях.
Перезапустити службуважчий рестарт усього застосунку плеєра на ПК.
Перезавантажити ПКповне перезавантаження комп'ютера — найважча дія, позначена червоним, використовувати обережно.
Примусова ресинхронізаціяплеєр наново забирає з сервера актуальний розклад і банк файлів — коли є підозра, що він грає «застарілу» версію.
Тест-тонкороткий контрольний сигнал на конкретний вихід/канал — перевірити, що звук фізично йде туди, куди треба, без запуску реальної музики.

→ повний крок зі скріном: «Картка плеєра — «Віддалені дії»» (розділ «4. Плеєр»)

Блок кнопок «Віддалені дії»
6

Незрозуміла проблема з конкретним плеєром

Що робити зараз: дивний звук, зависання, плеєр «ніби онлайн, але не грає» — спробуйте спочатку дії з кроку 5 (перезапустити аудіопроцес, ресинхронізація, тест-тон). Якщо не допомогло — пишіть в ІТ-службу мережі з номером/назвою плеєра й описом симптому; на бекенді вже є команда збору діагностики (логи й техстан плеєра архівом), ІТ-служба може запустити її віддалено — але власної кнопки для цього в самій картці плеєра поки немає (очікується в майбутньому оновленні порталу).

→ повний крок зі скріном: «Картка плеєра — кнопка «Зібрати діагностику»» (розділ «4. Плеєр»)

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

19

Плеєри клубу — приписка і статус

Список плеєрів клубу з версією і статусом звʼязку
Список плеєрів клубу з версією і статусом звʼязку

Перемикач «Зони / Плеєри» на шапці клубу показує замість карток зон список фізичних плеєрів (ПК на рецепції/у залі), приписаних до клубу: версія клієнта, час останнього звʼязку, чи оновлений. Тут же приписують новий плеєр до клубу/зони або відв'язують старий. Порожній список для клубу з активними зонами — сигнал, що звук грає «в нікуди» (плеєр ще не встановлено чи не приписано). Загальний перелік ще не приписаних плеєрів мережі — на /clubs?view=unassigned.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

20

Картка плеєра — «Віддалені дії»

Блок кнопок «Віддалені дії»
Блок кнопок «Віддалені дії»

У картці плеєра, нижче технічних деталей (версія, диски, аудіовиходи), — блок «Віддалені дії»: типово рестарт застосунку плеєра, примусова ресинхронізація розкладу/банку файлів і тест-тон (перевірити, що звук взагалі йде на потрібний вихід). Кожна кнопка відкриває підтвердження (ConfirmDialog) з поясненням наслідку — випадковий клік нічого не ламає, поки не підтвердите ще раз. Небезпечні дії позначені червоним.

Що може піти не так. ⚠️ Команди реально виконуються на живому ПК клубу — на бойовому порталі ми відкрили картку тільки для перегляду, жодної дії не підтверджували.

На бекенді мережі вже є команда «Зібрати діагностику» (collectDiagnostics) — плеєр сам вирішує, які логи й техстан зібрати, і вивантажує їх на сервер архівом, щоб ІТ-служба розібралась віддалено, без виїзду в клуб. У цій картці своєї кнопки для неї поки немає (з'явиться в майбутньому оновленні) — сьогодні цю команду за потреби запускає ІТ-служба мережі напряму, не менеджер контенту чи адміністратор клубу.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

21

Привʼязка плеєра до клубу

Поле ключа/коду реєстрації плеєра
Поле ключа/коду реєстрації плеєра

Форма привʼязки фізичного плеєра (ПК у клубі) до клубу — зазвичай за унікальним ключем/кодом реєстрації, який показує застосунок плеєра при першому запуску на місці. Після привʼязки плеєр зʼявляється у списку клубу зі статусом звʼязку, і його можна прикріпити до конкретних зон. Ми заповнили приклад і закрили форму без реального збереження, щоб не плодити тестові записи плеєрів.

ПолеЩо означаєПриклад на стенді Теремки
Код реєстрації плеєраунікальний ключ, який видає застосунок плеєра при першому запуску(показує сам застосунок плеєра на ПК клубу)

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?view=unassigned

22

Картка плеєра — кнопка «Зібрати діагностику»

В інтерфейсі поки нема — робиться. Не вдалося зняти автоматично: дії «Зібрати діагностику» немає в поточному UI — блок «Віддалені дії» картки плеєра містить рівно 5 команд: Рескан пристроїв, Рестарт аудіо-ядра, Рестарт служби, Ребут ПК, Примусовий ресинк (frontend/src/lib/playerRemoteActions.tsx, REMOTE_ACTIONS) — не вигадуємо шосту. Якщо елемент дійсно відсутній в UI — це зафіксовано свідомо, не вигадано.

Де шукати: https://slaudio.derg.in.ua/schedules?weekday=2&club=2&zone=3

5. Музика

Довідково — рівні гучності (LUFS). Система тримає різні цільові рівні гучності для різних типів контенту, щоб слухач не чув «стрибків» між музикою й рекламою: музика — −15 LUFS, реклама — −9 LUFS (голосніше за музику навмисно, щоб виділялась), службові оголошення — −8 LUFS (найгучніше — важливо, щоб почули). Ці цифри рахуються автоматично при заливці файлу в банк (колонка «Гучність (LUFS)» у кроці 5.1) — вручну підганяти нічого не треба.

Від файлу на диску до музики в залі — за 6 кроків

Банк файлів — спільне сховище для ВСЬОГО аудіо мережі: музики, реклами (разом з джинглами) і екстрених службових записів. Три типи, а не купа безсистемних тек.

  1. 1. Банк і теки
  2. 2. Заливка й аналіз гучності
  3. 3. Профіль доби (дейпарт)
  4. 4. Джерело музики: банк/пул/плейлист
  5. 5. Автопул
  6. 6. Джингл
1

Банк файлів і теки

Де це: головне меню → «Файли». Ліва панель — дерево тек (як у звичайному провіднику), права — таблиця файлів обраної теки.

Три типи файлів мережі: «music» (музика для дейпартів), «ad» (реклама — і саме сюди технічно потрапляють джингли, семантично вони ближчі до реклами, ніж до музики), «emergency» (службові/екстрені — хвилина мовчання, оголошення закриття, тривоги). Тип визначає, у якій колонці/розділі порталу файл узагалі можна обрати.

→ повний крок зі скріном: «Банк файлів — теки, файли, ознака й гучність» (розділ «5. Музика»)

→ повний крок зі скріном: «Банк файлів — дерево тек крупно» (розділ «5. Музика»)

Таблиця файлів з колонками «Ознака» і «Гучність (LUFS)»
2

Заливка і автоматичний аналіз гучності

Що натиснути: «+ Завантажити файли» → перетягнути або обрати з диска; заливка пакетна, кожен файл — окремий прогрес.

Що відбувається автоматично: для кожного файлу запускається фонова черга аналізу з чотирма станами — «в черзі» → «рахується» → «готово» (з’являється число LUFS у таблиці) або «помилка» (пошкоджений/непідтримуваний файл). Поки статус не «готово», файл технічно вже є в банку, але точну гучність система ще не знає.

Якщо не так: статус «помилка» не зникає — перевірте сам файл (формат, цілісність), перезалийте; порожня колонка «Ознака» — назва файлу не збіглась з жодним тегом довідника, див. розділ «8. Реклама» → Ознаки ↑.

→ повний крок зі скріном: «Завантаження файлів у банк» (розділ «5. Музика»)

Зона «+ Завантажити файли» / drag-and-drop
3

Профіль доби (дейпарт) — усі поля

Де це: «Налаштування» → зона → список профілів доби. Кількість профілів на зону — ДОВІЛЬНА (від нуля до скількох завгодно), а не три захардкоджені «пік/непік/ решта» — просто рядки цієї таблиці.

ПолеЩо означаєПриклад
Дні тижня / час діїколи профіль активнийПн–Пт, 07:00–12:00
Тривалість блокуна які «корзинки» ріжеться цей відрізок доби (та сама одиниця, що в розділі «8. Реклама»)20 хв
Макс. реклами на блокскільки рекламних роликів максимум влізе в один блок4
Частка музики, %скільки відсотків блоку — музика, решта — реклама (одне явне поле замість трьох різних старих форматів)70%
Джингл — де«block» (раз на блок) / «ad» (перед кожним рекламним роликом) / «none» (без автоджинглів)block
Гучність / BPM профілюoverride поверх налаштувань зони — порожньо = успадкуватинапр. вечір гучніше й швидше

→ повний крок зі скріном: «Профілі доби (дейпарти) зони» (розділ «5. Музика»)

→ повний крок зі скріном: «Редактор профілів доби — список усіх профілів зони» (розділ «5. Музика»)

→ повний крок зі скріном: «Правило дейпарту — час, режим, BPM, реклама, джингл» (розділ «5. Музика»)

Нагадування. Профілі зони мають СУЦІЛЬНО покривати робочі години клубу без прогалин — інакше «Перегенерувати» поверне помилку. Детально: розділ «2. Клуб», крок 4.

Список профілів доби зони з часовими межами
4

Джерело музики: банк, пул чи плейлист

Кожен профіль доби грає музику з ОДНОГО з трьох джерел (перемикач, не можна одночасно): «банк» (типово, стара звична поведінка — весь відповідний банк без фільтрів), «пул» (автоматична вибірка за критеріями — крок 5), «плейлист» (заздалегідь складений вручну список треків, без жодного автопідбору — коли потрібен ПОВНИЙ ручний контроль над порядком).

5

Автопул — налаштування

Що це: іменований набір критеріїв (жанр/ознака/BPM тощо), за яким система сама щоразу заново збирає підбірку треків із банку — не статичний список, а жива вибірка.

Захист від набридання: два окремі ліміти — мінімум ГОДИН до повторного показу того самого треку, і мінімум ХВИЛИН до повторного показу того самого виконавця (окремо один від одного). Порожньо на рівні пулу = успадкувати від зони.

Якщо не так: та сама пісня чи виконавець крутиться підозріло часто — перевірте ці два ліміти пулу/зони, найімовірніше вони або не задані, або занадто малі відносно розміру самого пулу (наприклад, у пулі всього 5 треків — 2-годинний ліміт повтору фізично неможливо витримати).

→ повний крок зі скріном: «Автопул музики — налаштування» (розділ «5. Музика»)

6

Джингл

Навіщо: коротка звукова відбивка, яка вводить рекламний блок — за прямим наказом мережі джингли існують САМЕ для реклами й мають звучати ПЕРЕД нею, не випадково серед музики.

Де налаштувати: конкретний файл джингла — на рівні зони (успадковується всіма дейпартами, якщо не перевизначено); ГДЕ саме він лунає в блоці — поле «Джингл» у самому профілі доби (крок 3: block/ad/none). Тривалість за замовчуванням — 3 секунди (мережевий дефолт, коли в самого файлу довжина не визначена як пресет).

Якщо не так: джингл не задано (порожньо) — це НЕ помилка й не залишає «дірку» в ефірі: генератор розкладу просто не створює позицію під джингл узагалі, а не створює порожню позицію, яку плеєр потім пропускає з попередженням (так було раніше, тепер виправлено).

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

23

Банк файлів — теки, файли, ознака й гучність

Таблиця файлів з колонками «Ознака» і «Гучність (LUFS)»
Таблиця файлів з колонками «Ознака» і «Гучність (LUFS)»

Банк файлів — сховище всієї музики, реклами й службових оголошень мережі, організоване по папках зліва (дерево тек, як у звичайному провіднику). Таблиця праворуч показує назву, тривалість, формат кожного файлу, а також дві важливі колонки: «Ознака» (жанр/призначення — за нею будуються автопули) і «Гучність (LUFS)» — результат автоматичного аналізу гучності при заливці, за яким система нормалізує звук між файлами. Прослухати файл можна прямо тут, без завантаження на свій пристрій.

ПолеЩо означаєПриклад на стенді Теремки
Ознакатег жанру/призначення файлу для автопулівнаприклад «енергійна», «джингл», «службове»
Гучність (LUFS)виміряна гучність файлу для авто-нормалізаціїзначення рахує аналізатор при заливці

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/files

24

Завантаження файлів у банк

Зона «+ Завантажити файли» / drag-and-drop
Зона «+ Завантажити файли» / drag-and-drop

Кнопка «+ Завантажити файли» відкриває зону перетягування (drag-and-drop) або вибір файлів з диска. Після вибору система сама запускає аналіз кожного файлу — визначає тривалість, формат і LUFS-гучність, без ручного втручання. Великі партії заливаються пакетно, прогрес видно по кожному файлу окремо.

Що може піти не так. ⚠️ Тут ми лише відкрили діалог для знімку — жодного реального файлу на бойовий портал не заливали.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/files

25

Банк файлів — дерево тек крупно

Дерево тек банку файлів
Дерево тек банку файлів

Ліва панель банку файлів — дерево тек, як у звичайному провіднику: музика, реклама постійна/акційна, службові оголошення, джингли, і так далі за тим, як мережа сама організувала свій банк (структуру тек ніхто не нав'язує — заводьте під себе). Клік по теці фільтрує таблицю файлів праворуч лише на її вміст, лічильник поруч з назвою — скільки файлів усередині (з підтеками разом). Перетягування файлів між теками працює прямо тут.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/files

26

Профілі доби (дейпарти) зони

Список профілів доби зони з часовими межами
Список профілів доби зони з часовими межами

Дейпарт — відрізок часу доби зі своїми правилами відтворення: «ранок» тихіше й повільніше, «вечірній пік» гучніше й енергійніше. У зони може бути один дейпарт на всю добу або кілька послідовних. Кожен рядок показує час дії, режим підбору музики (random — випадково з пулу, intelligent — з урахуванням BPM/енергії доби), і чи ввімкнено режим реклами та джингл для цього відрізка. Клік по рядку відкриває детальне редагування конкретного дейпарту.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

27

Правило дейпарту — час, режим, BPM, реклама, джингл

Поля часового діапазону і режиму музики
Поля часового діапазону і режиму музики

Детальна форма одного профілю доби: часовий діапазон дії, режим підбору музики (random/intelligent), діапазон BPM (темп треків, які система вважає доречними для цього відрізка), увімкнення рекламного режиму («за піками» чи звичайний інтервальний/pacing) і джингл — коротка відбивка між треками чи перед рекламним блоком. Зміни в цій формі впливають на розклад одразу після перегенерації.

Що може піти не так. ⚠️ Форму на бойовому порталі тільки переглянули й закрили без збереження.
ПолеЩо означаєПриклад на стенді Теремки
Час діїпочаток і кінець відрізка добинапр. 07:00–12:00
Режимrandom (випадково) чи intelligent (за BPM/енергією)intelligent
BPMдіапазон темпу треків, доречних у цей часнапр. 90–120
Рекламачи вмикати рекламні вставки в цьому дейпартіувімкнено, «за піками» або інтервальна
Джинглфайл-відбивка між музикою/рекламою в цьому дейпартіобраний файл з банку (тека «джингли»)

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

28

Редактор профілів доби — список усіх профілів зони

Весь список профілів доби зони одним екраном
Весь список профілів доби зони одним екраном

Той самий список профілів доби зони, але акцент саме на РЕДАКТОРІ списку — кожен рядок можна відкрити кліком (детальна форма вже показана окремим кроком інструкції), видалити чи додати новий профіль кнопкою зверху картки. Профілі йдуть по порядку часу доби й мають покривати добу без прогалин — прогалину плеєр заповнює локальним резервом, а не тишею, але це вже відхилення від плану, яке варто побачити тут одразу.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

29

Автопул музики — налаштування

Блок «Пули» у вкладці «Плейлисти·Пули»
Блок «Пули» у вкладці «Плейлисти·Пули»

Вкладка «Плейлисти·Пули» бібліотеки розкладу — просунуте мережеве налаштування (видно лише в Експертному режимі). «Пули» — це НЕ фіксований список файлів, а жива вибірка за критеріями (ознака/жанр, темп BPM), яка щоразу перераховується заново; лічильник «N збігів» одразу показує, чи є що грати. Пул не перетягується на таймлайн файлом, як плейлист вище, — його призначають цілим ДЖЕРЕЛОМ МУЗИКИ конкретного профілю доби (клік по смузі дейпарта на таймлайні → «Джерело музики» → «Пул»).

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/schedules?weekday=2&club=2&zone=3

6. Оголошення

Хвилина мовчання, закриття й живе оголошення — за 4 кроки

Службові оголошення — три РІЗНІ механізми, які часто плутають: щоденна автоматична пауза (хвилина мовчання), заплановане попередження про закриття, і разова ручна команда «сказати щось просто зараз».

  1. 1. Хвилина мовчання
  2. 2. Оголошення закриття
  3. 3. Живе оголошення «просто зараз»
  4. 4. Де взяти файли
1

Хвилина мовчання

Коротко: щоденна автоматична пауза музики й оголошень на 60 секунд у задану хвилину — мережевий дефолт 09:00, клуб чи навіть окрема зона можуть перевизначити свій власний час. Звучить НАВІТЬ під час тривоги — один із двох пріоритетів, вищих за тривогу.

→ Де вмикається: розділ «2. Клуб», крок 2.

2

Оголошення закриття

Коротко: заплановані попередження за N хвилин до закриття клубу (типово 30/15/5 хв) плюс окремий запис у момент фактичного закриття — кожен інтервал зі своїм файлом з банку службових.

→ Повний розбір інтервалів і файлів: розділ «2. Клуб», крок 5.

→ повний крок зі скріном: «Оголошення «клуб зачиняється»» (розділ «6. Оголошення»)

Таблиця інтервалів попередження про закриття (30/15/5 хв)
3

Живе оголошення «просто зараз»

Де це: кнопка «📢 Оголошення» на шапці клубу.

Що ввести: зону (або одразу всі зони клубу) і конкретний файл оголошення з банку службових — і надіслати.

Чим відрізняється від кроків 1–2: це РАЗОВА негайна дія, не частина плану на майбутнє — нічого не змінює в розкладі чи дейпартах, просто одноразово вставляє оголошення в ефір прямо зараз (наприклад, «увага, через 5 хвилин починається тренування в зáлі 2» — те, що не запланувати заздалегідь).

Якщо не так: кнопка неактивна чи оголошення не долетіло — перевірте статус плеєра зони («4. Плеєр») — це так само жива команда, а не запис у базу, і працює, лише поки плеєр онлайн. ⚠️ Це РЕАЛЬНА команда в живу залу — перш ніж тиснути «Надіслати», переконайтесь, що обрали правильну зону і файл.

→ повний крок зі скріном: «Живе оголошення «просто зараз» — форма» (розділ «6. Оголошення»)

Вибір зони і файлу оголошення, кнопка відправки
4

Де взяти файли для оголошень

Де це: банк файлів («5. Музика») — тип «emergency» (службові/екстрені), той самий банк, звідки беруться і хвилина мовчання, і закриття, і тривоги.

Якщо потрібного запису немає: залийте новий файл тим самим діалогом завантаження, що й для музики/реклами — система однаково пораховує його тривалість і гучність (LUFS). Порада: для оголошень закриття підбирайте файл під конкретний інтервал так, щоб він природно завершувався до фактичного моменту закриття (особливо запис «у момент закриття», 0 хв).

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

30

Оголошення «клуб зачиняється»

Таблиця інтервалів попередження про закриття (30/15/5 хв)
Таблиця інтервалів попередження про закриття (30/15/5 хв)

Нижче графіка годин — налаштування оголошень про закриття клубу. Прапорець «Оголошувати про закриття» вмикає всю функцію. Для кожного інтервалу «за N хвилин до закриття» можна призначити свій аудіозапис із банку (за півгодини — просте нагадування, за 5 хвилин — прохання пройти до роздягалень); якщо запис не обрано, система бере найкоротший придатний із банку екстрених. Останній рядок «у момент закриття» — окремий запис, розрахований звучати так, щоб завершитись рівно на закритті. У прикладі клубу налаштовано інтервали 30, 15 і 5 хвилин плюс запис «зачинено».

ПолеЩо означаєПриклад на стенді Теремки
Оголошувати про закриттявмикач усієї функції для клубуувімкнено
за N хв до закриттямомент попередження до фактичного закриття30, 15, 5 хв
Який запис звучитьфайл з банку для цього інтервалу (порожньо = автопідбір)запис «зачинено» на 0 хв

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

31

Живе оголошення «просто зараз» — форма

Вибір зони і файлу оголошення, кнопка відправки
Вибір зони і файлу оголошення, кнопка відправки

Форма миттєвого службового оголошення «просто зараз», без чекання розкладу: обрати зону (або всі зони клубу), файл оголошення з банку службових записів, і надіслати. На відміну від дейпартів/розкладу, це РАЗОВА дія прямо зараз — нічого не змінює в плані на майбутнє. На бойовому порталі цю форму свідомо не відкривали (навіть зайве відкриття з реальними даними клубу — зайвий ризик випадкового кліку по відправці), тому знімок саме з dev-стенду.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

7. Тривоги

Довідково — пріоритети в ефірі. Коли кілька речей претендують на той самий момент, система розставляє їх так (від найвищого пріоритету до найнижчого): тривога → хвилина мовчання → службові оголошення (закриття) → реклама → музика. Музика під будь-яким оголошенням падає в 0 — це нормально, не збій. Хвилина мовчання й оголошення закриття звучать НАВІТЬ під час тривоги — це навмисно. А от рекламу тривога глушить: для некритичних рівнів — жовтий профіль, гучність музики й реклами падає до 75%, для критичних — червоний профіль, повна тиша (0%), окрім самої сирени/дикторського тексту тривоги.

Як влаштована тривога в ефірі — за 5 кроків

Тривога (словник ↑) — найвищий пріоритет у всьому ефірі мережі, вища за хвилину мовчання й службові оголошення.

  1. 1. 6 рівнів небезпеки
  2. 2. Мережеві дефолти
  3. 3. Профіль зони
  4. 4. Ручний запуск
  5. 5. Як це чути в залі
1

6 рівнів небезпеки, не 18

Уточнення для тих, хто читав старі матеріали: у мережі рівно 6 рівнів небезпеки — жовта повітряна, червона повітряна, артобстріл, вуличні бої, хімічна загроза, ядерна загроза (за зростанням серйозності: ядерна й хімічна загроза важливіші за звичайну повітряну). Число «18», яке зустрічається в інтерфейсі й старих підписах, — це 6 рівнів × 3 типи файлів на кожен (старт тривоги / поки триває / відбій) = 18 окремих аудіозаписів у ПОВНОМУ профілі, а не 18 різних сценаріїв небезпеки.

Коли активні кілька тривог одночасно (різні джерела бачать різне) — на плеєрі завжди грає НАЙВАЖЧА з активних, автоматично, без ручного вибору.

2

Мережеві дефолти тривоги

Де це: «11. Налаштування» → мережеві правила тривог — базовий набір, який успадковує кожен клуб/зона, якщо немає власного перевизначення (крок 3).

3 типи хвиль на кожен рівень: «стартова» (грає на початку, можна кілька разів підряд з паузою між повторами), «поки триває» (нагадування з певним інтервалом, можна обмежити кількість повторів — наприклад, некритичний жовтий рівень нагадує один раз через 15 хв і все, далі мовчить, хоча рівень технічно ще активний), «відбій» (свій окремий файл на кожен рівень — «відбій жовтої» і «відбій червоної» звучать по-різному, а не одним спільним записом). Окремо — рівень гучності музики МІЖ хвилями оголошень (не 0 обов'язково, налаштовується).

→ повний крок зі скріном: «Мережеві правила тривог за замовчуванням» (розділ «7. Тривоги»)

→ повний крок зі скріном: «Один рівень тривоги — хвилі старт/закриття/нагадування/відбій» (розділ «7. Тривоги»)

Форма хвиль тривоги (стартова / нагадування / закриття / відбій)
3

Профіль зони (перевизначення)

Де це: «11. Налаштування» → зона → картка реакції на тривогу — лишається видимою ЗАВЖДИ, в обох UI-режимах (Простому й Експертному), бо це питання безпеки людей, не другорядна опція.

Навіщо перевизначати: «Критичність клубу» (розділ «2. Клуб», крок 2) реально міняє СЦЕНАРІЙ — критичні клуби на старті тривоги додатково окремо оголошують фразу «клуб зачиняється, пройдіть в укриття» (окрема фаза закриття перед нагадуваннями), некритичні — просто одне нагадування через 15 хв. Профіль конкретної зони перевизначає мережевий дефолт лише для неї.

→ повний крок зі скріном: «Реакція зони на тривогу — 18 рівнів» (розділ «7. Тривоги»)

Випадаючий список рівня тривоги і форма хвиль під ним
4

Ручний запуск тривоги

Де це: кнопка «🚨 Тривога» на шапці клубу — той самий сценарій, що спрацював би автоматично із зовнішнього джерела повітряних тривог, але оголошений людиною вручну.

Що ввести: один із 6 рівнів + явне підтвердження перед відправкою.

Поки тривога активна: та сама кнопка перетворюється на дві окремі — «🔧 Рівень» (змінити рівень без відбою — наприклад, підвищити з жовтої до червоної) і «✅ Відбій» (зняти тривогу) — навмисно ОКРЕМІ контроли, щоб випадковий клік не міг і оголосити тривогу, і зняти її одним і тим самим натисканням.

Якщо не так: ⚠️ це РЕАЛЬНА команда в живі зали клубу — перевіряйте рівень двічі перед підтвердженням, особливо на бойовому порталі.

→ повний крок зі скріном: «Кнопки «Тривога» / «Оголошення»» (розділ «7. Тривоги»)

→ повний крок зі скріном: «Ручний запуск тривоги — форма» (розділ «7. Тривоги»)

Вибір рівня тривоги і кнопка підтвердження
5

Як це виглядає в самому ефірі

Коротко: музика й реклама приглушуються за профілем рівня (типово жовтий — до 75%, критичні — 0%), хвилина мовчання й закриття все одно звучать, реклама, перебита тривогою, того самого дня не повторюється.

→ Повний розбір: розділ «8. Реклама» → Взаємодія з тривогами.

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

32

Кнопки «Тривога» / «Оголошення»

Кнопки «🚨 Тривога» і «📢 Оголошення» на шапці клубу
Кнопки «🚨 Тривога» і «📢 Оголошення» на шапці клубу

Дві швидкі дії на шапці клубу: «🚨 Тривога» вручну запускає мережеву тривогу (той самий сценарій, що й автоматична — сирена/дикторський текст у залах), «📢 Оголошення» — миттєве службове оголошення «просто зараз» без чекання розкладу. Обидві дії відкривають окрему форму з вибором рівня/тексту і ЯВНИМ підтвердженням перед відправкою.

Що може піти не так. ⚠️ Це РЕАЛЬНІ команди в живі зали клубу — на бойовому порталі ми відкрили лише кнопки для знімку, підтвердження всередині НЕ натискали.

Форми всередині (AnnounceNowModal / ManualAlarmModal) свідомо не відкривались на проді — навіть відкриття зайвого модального вікна з реальними даними клубу не додає цінності знімку, а ризик випадкового кліку по «Надіслати» є. Приклад форми — див. dev.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/clubs?club=2

33

Мережеві правила тривог за замовчуванням

Форма хвиль тривоги (стартова / нагадування / закриття / відбій)
Форма хвиль тривоги (стартова / нагадування / закриття / відбій)

Мережевий дефолт тривоги — базовий набір хвиль (стартова, нагадування, закриття клубу, відбій), який успадковує кожен клуб, якщо не має власного перевизначення. Для кожної хвилі обирається аудіофайл, кількість повторів і пауза між ними; окремо — рівень гучності музики між оголошеннями (music_level_between_percent) і fade in/out. Це основа: конкретний клуб чи зона можуть мати власний, точніший профіль поверх цього дефолту.

ПолеЩо означаєПриклад на стенді Теремки
Стартова хвиляфайл + скільки разів підряд + пауза між повторами на початок тривогифайл сирени/диктора мережі
Нагадуванняфайл + інтервал повторів, поки тривога триваєнапр. кожні 5 хв
Рівень музики між оголошеннямина скільки % приглушується музика під час хвилі тривогинапр. 20%

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

34

Реакція зони на тривогу — 18 рівнів

Випадаючий список рівня тривоги і форма хвиль під ним
Випадаючий список рівня тривоги і форма хвиль під ним

Ця картка лишається видимою завжди, в обох UI-режимах (Простому й Експертному) — це питання безпеки людей у залі, не другорядне налаштування. Випадаючий список дозволяє обрати один із 18 рівнів тривоги і побачити/змінити, що саме грає зоні на цьому рівні: критичні рівні (пряма загроза) зазвичай мають гучну недвозначну сирену без варіантів «тихіше», некритичні — м'якший попереджувальний сигнал. Профіль зони перевизначає мережевий дефолт вище лише для цієї конкретної зали.

ПолеЩо означаєПриклад на стенді Теремки
Рівень тривогиодин із 18 рівнів мережевої класифікації небезпекиобирається зі списку, для кожного — свій набір файлів

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

35

Один рівень тривоги — хвилі старт/закриття/нагадування/відбій

Розгорнутий рівень тривоги з полями всіх фаз хвилі
Розгорнутий рівень тривоги з полями всіх фаз хвилі

Реакція зони на тривогу — НЕ окремий діалог, а рядок зі списку 18 рівнів, що розгортається кліком по назві (акордеон, не модалка — свідомий вибір: рівнів багато, гортати попапи незручніше за список). Розгорнутий рівень показує всі фази хвилі одним екраном: файл і кількість повторів на старті тривоги, файл нагадування, що звучить поки триває, і файл відбою. Якщо для рівня немає власного налаштування зони — діє мережевий дефолт (кнопка «З мережі» одразу копіює його як стартову точку для правок).

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

36

Ручний запуск тривоги — форма

Вибір рівня тривоги і кнопка підтвердження
Вибір рівня тривоги і кнопка підтвердження

Ручний запуск мережевої тривоги — той самий сценарій, що спрацював би автоматично (з зовнішнього джерела повітряних тривог), але оголошений людиною вручну: обрати один із 18 рівнів і явно підтвердити перед відправкою. Поки тривога активна, ця ж кнопка перетворюється на «🔧 Рівень» (змінити рівень без відбою) і «✅ Відбій» — окремо, щоб випадковий клік не міг і оголосити, і зняти тривогу одним і тим самим контролом.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/clubs?club=1994

8. Реклама

Довідково — де реклама фізично не звучить. Незалежно від таргетингу й пріоритету кампанії, система НІКОЛИ не ставить рекламний блок ближче 20 секунд до хвилини мовчання чи оголошення закриття, і ніколи — після фактичного закриття клубу. Це захист від ситуації «реклама грає поверх хвилини мовчання» чи «реклама лунає в порожньому залі вночі».

Як додати рекламу і щоб вона зіграла в потрібному клубі — за 7 кроків

Наскрізний шлях від аудіофайлу на вашому диску до реального звуку в залі. Кожен крок нижче — це «що натиснути → що побачити → якщо не так, то…», з посиланням на повний крок зі скріном там, де він є.

  1. 1. Файл ролика
  2. 2. Банк файлів
  3. 3. Кампанія
  4. 4. Ознака клубу
  5. 5. Режим реклами
  6. 6. Перегенерувати
  7. 7. Перевірити ефір
1

Підготувати файл ролика з тегом у назві

Що зробити: назвіть mp3/wav-файл за форматом <Назва>_<тег>_<XX>сек.mp3 — наприклад Оренда корта_сквош_15сек.mp3. Для акційної реклами з дедлайном додайте дату в назву: SL_Солярій_29.08-31.08 15сек.mp3.

Що побачите: нічого поки що — це підготовка файлу на вашому диску, до порталу ще не торкались.

Якщо не так: тег визначається ЛИШЕ за довідником ознак (17 записів на проді) — система шукає серед відомих тегів НАЙДОВШИЙ збіг, що стоїть одразу перед тривалістю. Немає збігу в довіднику → тег не проставиться взагалі, парсер нічого не вигадує з випадкового слова. Формати дати: «ДД.ММ-ДД.ММ», «до ДД.ММ», повна дата «ДД.ММ.РРРР» і навіть назва місяця («Червень 2026»). Повний перелік тегів нижче ↓

2

Залити файл у банк і перевірити ознаку

Що натиснути: «Банк файлів» → «+ Завантажити файли» → перетягнути файл або обрати з диска.

Що побачите: система сама аналізує файл — тривалість, формат, гучність (LUFS), і одразу підставляє розпізнаний тег у колонку «Ознака» таблиці банку.

Якщо не так: колонка «Ознака» лишилась порожньою — назва не збіглась з жодним тегом довідника. Проставте тег вручну прямо в таблиці банку, або виправте назву файлу й перезалийте.

→ повний крок зі скріном: «Завантаження файлів у банк» (розділ «5. Музика»)

→ повний крок зі скріном: «Банк файлів — теки, файли, ознака й гучність» (розділ «5. Музика»)

Зона «+ Завантажити файли» / drag-and-drop
3

Створити кампанію

Що натиснути: «Реклама» → «+ Нова кампанія» → майстер: крок 1 обирає ролик і назву, крок 2 — клуби/таргетинг, крок 3 — період, крок 4 — перевірка перед стартом.

Таргетинг — що обрати: «за ознаками клубів» (рекомендовано для більшості випадків) — кампанія сама зʼявляється у КОЖНОМУ клубі з увімкненим тегом, і в НОВИХ клубах теж, без ручного донавчання. «Напряму на клуб/зону» — коли реклама справді стосується лише конкретної адреси (наприклад, акція саме для одного клубу), а не послуги, яка є в кількох клубах.

Пріоритет, квота, період: пріоритет вирішує, хто виграє слот при конфлікті; квота — скільки показів на день у конкретному профілі доби; період — для акційної реклами ставимо дату з назви файлу («до»). Повний розбір усіх полів — нижче ↓.

Якщо не так: кампанія створена, але «Дні тижня» лишили порожніми — за замовчуванням це означає «жодного дня», а не «щодня»! Найчастіша прихована причина «кампанія є, а не грає».

→ повний крок зі скріном: «Кнопка «+ Нова кампанія»» (розділ «8. Реклама»)

→ повний крок зі скріном: «Майстер простої кампанії, крок 1 — ролик і назва» (розділ «8. Реклама»)

→ повний крок зі скріном: «Майстер простої кампанії, крок 2 — клуби» (розділ «8. Реклама»)

→ повний крок зі скріном: «Майстер простої кампанії, крок 3 — період показу» (розділ «8. Реклама»)

→ повний крок зі скріном: «Майстер простої кампанії, крок 4 — перевірка перед стартом» (розділ «8. Реклама»)

→ повний крок зі скріном: «Кампанія — таргетинг, пріоритет, квота, період (реальні дані)» (розділ «8. Реклама»)

Кнопка «+ Нова кампанія»
4

Переконатись, що клуб має цю ознаку

Що перевірити: форма клубу → чіпи «Ознаки клубу (сервіси)» — саме ці чіпи вирішують, чи «побачить» клуб кампанію, таргетовану за ознакою.

Якщо не так: ознаки нема в чипах клубу → кампанія цей клуб просто пропускає, навіть якщо все інше налаштовано ідеально. Увімкніть ознаку у формі клубу (крок «✎ Редагувати») — реклама підхопиться без додаткових дій із боку кампанії.

→ повний крок зі скріном: «Ознаки клубу (сервісні теги)» (розділ «2. Клуб»)

→ Звірте по таблиці «Клуб → ознаки» ↓, які ознаки вже ввімкнено в кожному з 48 клубів мережі.

Блок чіпів «Ознаки клубу (сервіси)»
5

Перевірити режим реклами клубу

Що це впливає: режим НЕ вирішує, чи потрапить ролик у клуб (це крок 3–4 вище) — він вирішує, ЯК покази розподілені протягом дня. «За піками» — корзинки під реальні години напливу людей (блок ~20 хв у пік / ~30 хв у непік, деталі й цифри — нижче ↓). «Простий»/«Профі» — рівномірний інтервальний розподіл (pacing) по денній нормі.

Якщо не так: нічого не «ламається» при неправильному режимі — просто реклама розподіляється не так, як очікує менеджер (наприклад, рівномірно замість концентрації у вечірній пік).

→ повний крок зі скріном: «Режим реклами клубу — класичний / за піками» (розділ «8. Реклама»)

Перемикач режиму реклами клубу/зони
6

Перегенерувати розклад клубу

Що натиснути: «Розклад» → клуб → зона → «Перегенерувати» → обрати область дії (одна зона чи весь клуб) → підтвердити.

Що побачите: на таймлайні дня зʼявляються нові рекламні «кубики» — знайдіть свій ролик за назвою кампанії (клік по кубику показує деталі). Прогноз показів («Вільно/заброньовано») видно на сітці піків, якщо клуб у режимі «за піками».

Якщо не так: кубика немає взагалі — найімовірніше зачепився один із попередніх кроків (ознака / період / дні тижня / квота вичерпана) — див. «Типові помилки» ↓. Перегенерація — руйнівна щодо незакріплених (не pinned) ручних правок дія, тому підтвердження явне й окреме.

→ повний крок зі скріном: «Перегенерувати розклад — вибір стратегії» (розділ «9. Розклад»)

→ повний крок зі скріном: «Таймлайн дня — кубики музики/реклами/оголошень» (розділ «9. Розклад»)

Вибір стратегії й кнопка підтвердження перегенерації
7

Перевірити, що реклама реально звучить

Прямо зараз: картка зони на дашборді клубу — бейдж «▶ Грає» і назва поточного треку/ролика, живий статус, не план.

За минулий період: «Звіти» → фільтр по клубу/періоду → факт показів (proof-of-play), можна вивантажити CSV. Детальніше про різницю «план vs факт» — нижче ↓.

Якщо не так: у звіті нуль показів при налаштованій кампанії — повертайтесь до кроків 3–6: найчастіше це квота 0, дні тижня порожні, або клуб без потрібної ознаки.

→ повний крок зі скріном: «Картка зони — статус «грає / тиша»» (розділ «3. Зони»)

→ повний крок зі скріном: «Звіти — KPI, період, динаміка показів» (розділ «10. Перевірка»)

Картка зони «Загальна» з бейджем стану

Поля кампанії — детально (кожне поле форми)

«Профі»-форма кампанії (див. крок зі скріном нижче) — це найповніший набір ручок у розділі. Ось кожне поле окремо: що означає, які значення допустимі, приклад зі стенду Теремки, і що станеться, якщо виставити його неправильно.

ПолеЩо означаєДопустимі значення Приклад зі стендуНаслідок помилки
Назвалюдська назва кампанії — лише для списків/пошуку, на ефір не впливаєбудь-який текст«Абонемент −20%»лише незручно шукати в списку
Ролик / креативиодин основний файл (media_asset_id) або список кількох роликів (creatives) з вагою ротації (weight) — більша вага = частіше грає саме цей файл усередині кампанії; кожен креатив може мати свій мін. інтервал показу1+ файлів з банку1 ролик, вага 1 (типовий випадок)жодного ролика не прикріплено → кампанія існує, показів 0
Категоріядовідникова тема оголошення (напр. «Солярій», «Абонементи», «Вендінг») — за нею рахується правило сусідства: той самий тег не звучить двічі поспіль ближче, ніж min_gap_minutes (типово = тривалості блоку дейпарту, якщо не задано вручну)з довідника категорій мережікатегорія «Абонементи»два ролики однієї теми можуть звучати підряд — не помилка системи, втрачена можливість розвести їх
Пріоритетчисло «більше = важливіше»; у майстрі «Простий» — 4 фіксовані рівні, у «Профі»-формі — будь-яке ціле 0–100. Вирішує, хто виграє слот при конфлікті двох кампаній100 Найвища / 75 Висока / 50 Середня / 25 Низька (пресети), або 0–100 вручнупостійна реклама мережі — типово 50 (Середня)занадто низький → сусідні кампанії постійно перемагають за слот, показів мало навіть при вільній квоті
Клас спота«звичайний» (standard) — звичайна конкуренція за слот за пріоритетом. «гарантований час» (fixed) — прикріплюється до конкретної позиції в конкретному профілі доби, завжди там. «гарантована частка» (sov) — займає задану % усіх слотів профілю. «наповнювач» (filler) — грає лише коли більше нічим заповнити слотstandard / fixed / sov / fillerбільшість кампаній — «звичайний»«гарантований час» без дейпарту й позиції форма просто не збереже (валідація вимагає обидва поля разом)
Період «діє з/до»дата початку і кінця дії кампанії; порожньо з обох боків = безстроково («постійна»)дата / порожньоакційна: 29.08–31.08; постійна: без дат⚠️ дата «до» раніша за «від» — реальний баг, знайдений 2026-09-12: система приймала це МОВЧКИ, і кампанія не грала ЖОДНОГО дня без жодного попередження; тепер форма одразу показує помилку
Дні тижнямультивибір Пн–Нд0–7 днів«щодня» — усі 7 позначені🚨 порожньо = кампанія НЕ грає ЖОДНОГО дня (не «всі дні за замовчуванням»!) — найчастіша прихована причина «кампанія є, а не грає»
Цілі (таргетинг)три способи можна поєднувати одночасно: конкретні зони, конкретні клуби, і ознаки (теги) — кампанія грає всюди, де збігся ХОЧ ОДИН із критеріївзони / клуби / теги (можна кілька разом)тег «сквош» — кампанії 33–48 таргетовані такзанадто вузько/відсутньо → ніде не грає; занадто широко (усі теги одразу) → грає там, де не мала б
Квотаокреме число показів НА ДЕНЬ для кожного профілю доби (дейпарту) окремо — не одне число на всю добу0+ показів/день на дейпарт6 показів/день у дейпарті «вечірній пік»немає рядка квоти для дейпарту → кампанія в ньому не показується взагалі
Ціль (goal_type)«daily» (типово) — квота вище і є денною ціллю напряму. «weekly»/«total» — квота стає стелею, реальна щоденна ціль рахується системою динамічно з тижневої/загальної суми (у базу не пишеться, рахується щоразу заново)daily / weekly / total + числоdaily — типовий вибір для більшості кампаній—
Мін. інтервал показумінімум секунд між двома показами ОДНОГО й того самого ролика цієї кампанії — захист від «щойно відіграв, і одразу знову»0+ секунднапр. 1800 с (30 хв)занадто малий інтервал → той самий ролик може звучати дратівливо часто
Не рахувати в лічильнику (uncapped)показ «поверх» усіх квот, не витрачає власний ліміт — Вітине «не рахувати в лічильнику», типово для наповнювачатак/нітипово вимкнено—
Перенесення недобору (carry_underdelivery)вимкнено типово — недобір показів за день просто пропадає. Увімкнено (Профі) — учорашній борг додається до сьогоднішньої цілітак/нітипово вимкненоувімкнене без потреби може роздути покази наступного дня понад очікування
Тригери на подіюролик прив'язується не до профілю доби, а до конкретної мережевої події клубу — «за N хвилин до закриття» або «на відкритті»before_closing / on_opening + хвилини зсувунапр. «за 10 хв до закриття»—
Стан (is_active)вимикач «показувати/не показувати» без видалення кампанії й історії показівактивна/на паузі——

Кроки за екранами (8 скріншотів)

Нижче — кожен екран розділу окремо, зі скріншотом і повним описом полів (те саме, на що посилаються кроки сценарію вище).

37

Список рекламних кампаній

Список кампаній із бейджами статусу й темпу
Список кампаній із бейджами статусу й темпу

Таблиця класичних кампаній мережі — статус (активна/на паузі/завершена), бейдж темпу показів (PacingBadge: наздоганяє кампанія свою денну норму чи відстає) і швидкий доступ до редагування/видалення. Кнопка «+ Нова кампанія» вгорі відкриває майстер у 4 простих кроки — типовий шлях створення. Повна «Профі»-форма з усіма ручками (пріоритет, квоти по дейпартах, точний таргетинг) доступна з кроку «Розширені налаштування» майстра або через «✎ Редагувати» вже наявної кампанії.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ads

38

Кнопка «+ Нова кампанія»

Кнопка «+ Нова кампанія»
Кнопка «+ Нова кампанія»

Єдиний дефолтний шлях створення нової класичної кампанії — майстер CampaignWizard: крок 1 обирає ролик і назву, крок 2 — клуби, крок 3 — період показу, крок 4 — перевірка перед стартом (звідти ж є перехід у повну «Профі»-форму). Зроблено навмисно простим — для людей, далеких від ПК, без розбору просунутих термінів.

Що може піти не так. ⚠️ На бойовому порталі кнопку не натискали навмисно: запуск майстра створює чернетку кампанії одразу при переході на крок 2, тому приклад повного майстра знято на dev.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ads

39

Майстер простої кампанії, крок 1 — ролик і назва

Поле пошуку ролика в банку і поле «Назва кампанії»
Поле пошуку ролика в банку і поле «Назва кампанії»

Крок 1 майстра простої кампанії: перетягніть аудіофайл або знайдіть уже залитий у банку через поле «Або оберіть з медіабанку» (пошук за назвою файлу, як тут). Щойно обрано перший ролик — під ним зʼявляється поле «Назва кампанії», автозаповнене іменем файлу (без розширення); назву можна одразу переписати на людську. Кнопка «Далі» активна лише коли є і ролик, і назва.

ПолеЩо означаєПриклад на стенді Теремки
Роликаудіофайл реклами — перетягнути або знайти в банкуобраний з банку одним кліком по рядку
Назва кампаніїлюдська назва для списку кампанійавтозаповнена іменем файлу, можна переписати

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/ads

40

Майстер простої кампанії, крок 2 — клуби

Картки клубів і кнопка «Усі клуби»
Картки клубів і кнопка «Усі клуби»

Крок 2 «Де гратиме»: великі картки клубів замість дрібного списку зон — свідоме спрощення проти повної «Профі»-форми, де можна ціляти навіть в окрему зону. Кнопка «Усі клуби» позначає всю мережу одним кліком. Тут для знімку позначено лише «Демо клуб (інструкція)» — на реальному стенді так само можна обрати кілька конкретних клубів. Нижче — чіпи ознак клубу: додатково звужують вибір (ролик гратиме лише в клубах з обраною ознакою серед уже позначених), а не замінюють вибір клубів.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/ads

41

Майстер простої кампанії, крок 3 — період показу

Період дії кампанії і повзунок важливості
Період дії кампанії і повзунок важливості

Крок 3 «Коли і скільки»: за замовчуванням кампанія «безстрокова» (без дати кінця) — можна перемкнути на конкретний період «з/до». Тут же — важливість кампанії (пріоритет при конфлікті слотів) і, якщо серед обраних клубів є зони в режимі «За піками», жива підказка прогнозу: чи вистачить місткості на обрану кількість показів, чи план буде обрізано.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/ads

42

Майстер простої кампанії, крок 4 — перевірка перед стартом

Зведення параметрів кампанії і кнопка «Створити»
Зведення параметрів кампанії і кнопка «Створити»

Фінальний крок «Перевірка» — зведення всього обраного: ролик, клуби/ознаки, період і важливість одним екраном, перед тим як натиснути «Створити». Звідси ж є перехід у повну «Профі»-форму (`AdCampaignFormModal.tsx`) — якщо простих 4 кроків не вистачило й потрібні точний таргетинг по зонах, квоти по дейпартах чи ручний пріоритет.

Що може піти не так. ⚠️ Для знімку дійшли до цього кроку і закрили форму — кампанію на dev-стенді не створювали, щоб не плодити тестові записи при кожному перезнятті.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/ads

43

Кампанія — таргетинг, пріоритет, квота, період (реальні дані)

Блок «Таргетинг» з перемикачем ознаки/напряму
Блок «Таргетинг» з перемикачем ознаки/напряму

Повна («Профі») форма реальної кампанії мережі — таких на стенді 33–48. «Таргетинг» пропонує два взаємовиключні способи: «Ознаки клубу» (непрямий — кампанія автоматично грає в кожному клубі з обраною ознакою, зручно для масштабування на нові клуби) або прямий вибір конкретних клубів/зон (точковий контроль, але новий клуб треба додавати вручну). «Пріоритет» вирішує, яка кампанія програє при конфлікті слотів. «Квота» — скільки показів на день у конкретному дейпарті зони. «Період» — дата початку/кінця дії кампанії (або «безстроково»).

Що може піти не так. ⚠️ Форму тільки переглянули й закрили Escape — жодних змін не зберігали.

Реклама буває двох видів за назвою файлу. «Постійна» — без дедлайну в назві, грає, доки кампанію не зупинять вручну. «Акційна» — з датою в назві файлу, наприклад «SL_Солярій_29.08-31.08 15сек»: після 31.08 система сама знімає ролик з ротації, ручного втручання не треба (у картці кампанії/файлу це видно як бейдж «до 31.08»; сама функція автозняття прострочених роликів ще доопрацьовується, тож у перехідний період варто самому звіряти дедлайни в назвах файлів).

ПолеЩо означаєПриклад на стенді Теремки
Таргетингза ознаками клубу (непрямо) чи напряму по клубах/зонахкампанії 33–48 таргетовані за ознаками
Пріоритетчия реклама виграє при конфлікті слотівчислове значення, вище = важливіше
Квотаскільки показів на день у дейпарті зонинапр. 6 показів/день
Періоддати дії кампанії або «безстроково»з дати створення, без кінця

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ads

44

Календар кампаній

Сітка календаря з позначеними активними кампаніями
Сітка календаря з позначеними активними кампаніями

Календарне уявлення показує наочно, які кампанії активні в які дні — зручно заздалегідь помітити накладки (наприклад, дві кампанії з високим пріоритетом претендують на той самий слот того самого дня). Клік по дню чи кампанії в календарі веде до її картки. Це доповнення до табличного списку кампаній, а не заміна — для щоденної роботи зручніший список, для планування наперед — календар.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ads

45

Режим реклами клубу — класичний / за піками

Перемикач режиму реклами клубу/зони
Перемикач режиму реклами клубу/зони

Режим реклами визначає, ЯК система розподіляє рекламні покази протягом дня. «Класичний» — інтервальний pacing: рівномірно по денній нормі, прораховується автоматично. «За піками» — корзинки реклами прив'язані до реальних пікових годин відвідуваності клубу (з імпортованої сітки), реклама концентрується саме тоді, коли в залі найбільше людей. Перемикання режиму для клубу чи окремої зони одразу змінює логіку підбору на майбутній розклад.

Що може піти не так. ⚠️ Перемикач на бойовому порталі НЕ чіпали — зміна режиму застосовується одразу, без окремого підтвердження.
ПолеЩо означаєПриклад на стенді Теремки
Режим рекламикласичний (pacing) чи «за піками» (за сіткою відвідуваності)обирається на рівні клубу або окремо на зону

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ads

46

Рекламні проєкти — список

Список рекламних проєктів
Список рекламних проєктів

«Рекламні проєкти» — новіший, потужніший механізм над класичними кампаніями: один проєкт може містити кілька креативів, власний конструктор розкладу показу і призначення відразу на набір клубів із прогнозом покриття. Список показує назву проєкту, статус застосування і кількість клубів, на які він призначений. Кнопка «+ Новий проєкт» відкриває повний конструктор.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ad-projects

47

Конструктор рекламного проєкту — креативи, джингл, таргетинг

Секція креативів і кнопка «Створити»
Секція креативів і кнопка «Створити»

Конструктор рекламного проєкту: додаємо один чи кілька креативів (кожен — аудіофайл із власним прев'ю для прослуховування прямо у формі), обираємо джингл-відбивку між ними за потреби, і призначаємо проєкт на клуби. Кнопка внизу — «Створити» для нового проєкту; для вже наявного — «Зберегти» (лишає зміни чернеткою, клуби й далі грають стару версію) або «Зберегти й застосувати повторно» (одразу перерахувати розклад клубів під нову версію).

Що може піти не так. ⚠️ Форму заповнили прикладом і закрили Escape — на бойовому порталі жодного проєкту не створювали й не змінювали.

Fit-звіт / прогноз покриття (FitFailureReport) з'являється лише як результат помилки застосування (конфлікт слотів при реальному «Створити»/«Застосувати повторно») — на проді ми свідомо не робимо запис, тому цей екран не знято; приклад — лише на dev, де можна безпечно довести застосування до кінця.

ПолеЩо означаєПриклад на стенді Теремки
Креативодин рекламний аудіофайл проєкту з превʼюобирається з банку файлів
Джинглвідбивка між креативами проєктуопційно, файл з банку
Призначення на клубина які клуби застосовується проєктнаприклад, клуби з ознакою «база»

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/ad-projects

48

Конструктор рекламного проєкту — крок з креативами і превʼю

Список креативів з кнопками превʼю і полем «+ додати ролик»
Список креативів з кнопками превʼю і полем «+ додати ролик»

Крок додавання креативів у рекламний проєкт типу «Після N треків»: пошук ролика в банку за назвою файлу (як тут — уже додано один), кожен обраний рядок одразу можна прослухати прямо в конструкторі (превʼю без переходу в банк файлів), переставити порядок кнопками ↑/↓ або прибрати. Порожній список креативів проєкт зберегти технічно дозволяє, але грати йому тоді нічого — підказка про це є під списком.

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/ad-projects

49

Довідник ознак клубів

Список ознак з полем додавання нової
Список ознак з полем додавання нової

Довідник ознак — тут адміністратор мережі заводить самі теги (басейн, сквош, лаунж, вендінг тощо), які потім проставляються кожному клубу у формі клубу (крок вище) і використовуються для таргетингу реклами. Додавання нової ознаки — просто новий рядок з назвою; видалення позначеної в клубах ознаки варто робити обережно, бо кампанії з таргетингом саме на неї перестануть її бачити. Особлива вбудована ознака «база» означає «скрізь» — не потребує явного проставлення в кожному клубі.

Механіка «ролик з ознакою в назві» працює і на рівні файлів у банку: якщо назва файлу має формат «<Назва>_<тег>_<XXсек>» (наприклад «SL_Солярій_15сек»), система сама повʼязує ролик з ознакою «солярій» — і він одразу зіграє в усіх клубах, де ця ознака увімкнена в довіднику клубу, без ручного призначення кожного клубу окремо. Ознака «база» — особлива: означає «скрізь», грає у 100% клубів мережі незалежно від інших ознак.

ПолеЩо означаєПриклад на стенді Теремки
Нова ознаканазва нового сервісного тегу для клубівнапр. «сквош», «масаж»

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/settings

Рекламні проєкти (нова система)

«Рекламні проєкти» — новіший механізм НАД класичними кампаніями. Беріть проєкт замість кампанії, коли: (а) один рекламний «пакет» складається з кількох роликів одразу (наприклад, серія акцій одного бренду), (б) треба одразу призначити на групу клубів і заздалегідь побачити прогноз покриття, перш ніж застосовувати. Для простого «один ролик — на клуби з ознакою X» класичної кампанії цілком достатньо.

  1. Створити проєкт — «Рекламні проєкти» → «+ Новий проєкт» → назва.
  2. Креативи — додаємо один чи кілька аудіофайлів; кожен креатив має власне прев'ю — можна прослухати прямо у формі, не завантажуючи файл на свій пристрій.
  3. Джингл — опційна коротка відбивка між креативами проєкту (файл з банку, тека «джингли»).
  4. Таргетинг — та сама логіка, що в кампанії: ознаки клубу і/або прямий вибір клубів/зон, можна поєднувати.
  5. Призначення на клуб(и) — обираємо, куди проєкт застосовується; форма показує, скільки клубів зачепить дія, ДО того, як щось реально зміниться.
  6. Fit-звіт / прогноз покриття — з'являється, коли застосування натрапляє на конфлікт слотів (місткість дейпартів клубу вже зайнята іншими кампаніями вищого пріоритету). Це НЕ помилка форми — це чесне попередження «частина запланованих показів фізично не влізе», з переліком, де саме.
  7. Кнопка «Зберегти» vs «Зберегти й застосувати повторно» — «Зберегти» лишає зміни чернеткою: клуби й далі грають попередню версію проєкту, нічого не міняється в ефірі одразу. «Зберегти й застосувати повторно» — та сама дія, що на порталі подекуди підписана «Синхронізувати»: негайно перераховує розклад УСІХ призначених клубів під нову версію проєкту (по суті — миттєвий «Перегенерувати» для всіх зачеплених зон одразу).

→ повний крок зі скріном: «Рекламні проєкти — список» (розділ «8. Реклама»)

→ повний крок зі скріном: «Конструктор рекламного проєкту — креативи, джингл, таргетинг» (розділ «8. Реклама»)

→ повний крок зі скріном: «Конструктор рекламного проєкту — крок з креативами і превʼю» (розділ «8. Реклама»)

Режими реклами клубу і сітка піків

Перемикач на порталі пропонує три пункти: «За піками», «Простий», «Профі». Важливо розуміти різницю: «Простий» і «Профі» — це не різний алгоритм добору, а різна СКЛАДНІСТЬ форми (скільки полів бачить менеджер) — обидва рахують покази однаковою інтервальною логікою (pacing), рівномірно по денній нормі. «За піками» — це справді ІНША логіка, історично відома в команді як «режим Віті» (за іменем автора первісної Excel-системи розподілу реклами мережі, яку тут відтворили й розвинули).

Як влаштовано «За піками»: робочий день клубу ріжеться на послідовні «корзинки» (блоки), окремо для пікових і непікових годин доби. У форматі запису «X:N / Y:M» — X/Y це тривалість блоку в хвилинах, N/M — максимум рекламних роликів на один блок. На стенді мережі зараз в УСІХ 48 клубах однаково: 20:4 / 30:4 — тобто в пік блок 20 хвилин і до 4 роликів у ньому, у непік блок 30 хвилин і теж до 4 роликів. Сітка пік/непік типово: Пік 1 08:00–12:00, Пік 2 17:00–21:00, решта доби — непік (будні й вихідні рахуються окремо).

Коли який режим обрати: «За піками» — коли в клубі є реальна нерівномірність напливу людей і хочеться концентрувати рекламу саме в години максимальної аудиторії (типовий вибір для більшості клубів мережі — звідси однакова пропорція 20:4/30:4 майже скрізь). «Простий»/«Профі» — коли зала має рівномірний потік цілий день, або коли потрібні просунуті інструменти («Профі»: кілька роликів у кампанії, ціль на тиждень, гарантований час, тригери на подію), яких у «За піками» немає.

Як читати «Сітку піків»

Вкладка «Сітка піків» (доступна для клубів у режимі «за піками») показує повну мережеву таблицю одним поглядом: для кожного профілю доби — рядок з написом виду «Вільно N · заброньовано M з C (K корзинок)» і прогрес-баром. C — це загальна місткість (кількість корзинок × ліміт роликів на корзинку), M — скільки з неї вже зайнято чинними кампаніями, N — скільки вільно. Жовте попередження означає: план якоїсь кампанії довелось обрізати, бо він перевищив фізичну місткість — це попередження, НЕ заборона, кампанію все одно можна зберегти з обрізаним планом.

→ повний крок зі скріном: «Режим реклами клубу — класичний / за піками» (розділ «8. Реклама»)

Як читати календар кампаній

Кожен блок у клітинці календаря підписаний коротко: назва кампанії · пріоритет · клас спота людською мовою («звичайний» / «гарантований час» / «гарантована частка» / «наповнювач») · короткий опис таргетингу. Клік по дню чи кампанії веде до її картки для редагування. Календар — доповнення до табличного списку кампаній: для щоденної роботи зручніший список, для планування наперед і пошуку накладок (дві кампанії з високим пріоритетом претендують на той самий слот того самого дня) — календар.

→ повний крок зі скріном: «Календар кампаній» (розділ «8. Реклама»)

Як читати таймлайн

Таймлайн дня (розділ «9. Розклад») показує ефір зони у вигляді послідовних «кубиків» — музичний блок, рекламна вставка, службове оголошення, хвилина мовчання. Клік по рекламному кубику показує, який саме ролик і яка кампанія в цій позиції.

Чому рекламні кубики зазвичай ближче до кінця блоку. У мережевих профілях доби типовий блок триває 15–30 хвилин (у режимі «за піками» — конкретно 20 хв пік / 30 хв непік, див. вище). Реклама технічно лягає в межах блоку разом з музикою, і на практиці візуально щільніше тяжіє до кінця блоку — тобто ближче до переходу на наступний. Це залежить від конкретної конфігурації дейпартів клубу, а не жорстко «завжди рівно на хвилині :14:30» — якщо на вашому таймлайні позиції трохи інші, це нормально, звіряйтесь із самим таймлайном, а не з універсальним правилом.

Захисний зазор 20 секунд. Планувальник МЕХАНІЧНО не дозволяє жодній рекламній чи джингл-позиції закінчитись у вікні 20 секунд ПЕРЕД початком «фіксованої» події (хвилина мовчання, оголошення закриття, реклама-тригер на подію) і не дозволяє почати всередині самої події + 5 секунд після неї. Реклама так само ніколи не починається ПІСЛЯ фактичного закриття клубу — вона має закінчитись до нього. Це той самий захист, про який ідеться в розділі «Взаємодія з тривогами» нижче.

→ повний крок зі скріном: «Таймлайн дня — кубики музики/реклами/оголошень» (розділ «9. Розклад»)

Як перевірити, що зіграло

Таймлайн (вище) показує ПЛАН — що має прозвучати. Факт того, що реально прозвучало, система пише в окремий журнал (play_log) щоразу, коли плеєр реально відтворює позицію — з позначкою типу («music_block» — музичний блок, «ad» — реклама, «jingle» — джингл, «service» — службове оголошення, «alarm» — тривога, «silence_minute» — хвилина мовчання). План і факт можуть відрізнятись: наприклад, плеєр був офлайн у заплановану хвилину — у плані кубик є, у факті запису нема.

Де дивитись факт: «Звіти» (розділ «10. Перевірка») — плитки KPI за період, фільтр по клубу й датах, графік динаміки показів. Кнопка «⬇ Експорт CSV» вивантажує поточний фільтр у файл — зручно для звітності перед рекламодавцем чи керівництвом (proof-of-play: скільки разів і де саме ролик реально прозвучав). Для окремої кампанії — аналогічний швидкий «⬇ CSV» просто в списку кампаній (бейдж темпу показів PacingBadge поруч підказує, наздоганяє кампанія денну норму чи відстає, ще до відкриття звіту).

→ повний крок зі скріном: «Звіти — KPI, період, динаміка показів» (розділ «10. Перевірка»)

Взаємодія з тривогами

Реклама — найнижча за пріоритетом ланка в ефірі (нагадування: тривога → хвилина мовчання → службові оголошення закриття → реклама → музика), тому саме її першою «зʼїдає» будь-яка активна тривога.

  • Некритичний (жовтий) рівень тривоги — музика й реклама приглушуються до 75% від звичайної гучності, не вимикаються повністю.
  • Критичний (червоний) рівень тривоги — повна тиша (0%) для музики й реклами, лунає лише сама сирена/дикторський текст тривоги.
  • Перебитий тривогою ролик не повторюється. Якщо тривога перервала рекламу посередині — це НЕ баг, система свідомо не «доганяє» той самий показ пізніше того самого дня; кампанія просто продовжує свою чергу з наступної позиції.
  • Хвилина мовчання й оголошення закриття звучать НАВІТЬ під час тривоги — це два пріоритети, вищі за саму тривогу в ланцюжку (навмисне рішення, безпека понад усе).
  • Захисний зазор 20 с / 5 с навколо хвилини мовчання й закриття діє незалежно від тривоги — реклама ніколи не «наїжджає» на ці події впритул (детальніше — розділ «Як читати таймлайн» вище).

→ Повний розбір ієрархії й профілів тривоги: розділ «7. Тривоги».

Постійна vs акційна реклама і дедлайни

Постійна реклама — назва файлу БЕЗ дати, грає доки кампанію не зупинять вручну (період «безстроково»). Акційна реклама — дата в самій назві файлу, система розпізнає її автоматично при заливці в банк і сама проставляє період дії кампанії.

Формати дати, які розпізнає парсер (усі — реальні приклади з живої папки «Акційна реклама» мережі):

Формат у назві файлуПрикладЩо виходить
ДД.ММ-ДД.ММSL_Солярій_29.08-31.08 14сек.mp3період з 29.08 по 31.08 (поточний рік)
ДД.ММ.РРРР-ДД.ММ.РРРР26.08-28.08.2026рік застосовується на весь діапазон
«до ДД.ММ[.РРРР]»SL_Акція_до 15.09лише дедлайн, дата початку не задана
Повна дата ДД.ММ.РРРРSL_Розіграш_01.10.2026одинична дата (рік обовʼязковий — без нього це НЕ вважається датою, щоб не хапати випадкові числа)
Назва місяцяSL_Банний Лаунж_Червень 2026_20секвесь зазначений місяць

Що відбувається після дедлайну — це вже ПРАЦЮЄ, не «в планах»: раз на годину мережевий фоновий цикл сам вимикає (is_active=false) кампанії, чий «до» вже в минулому — записує подію в стрічку аудиту мережі (некритична, тому в Telegram нічого не прилітає — це свідомо спокійне повідомлення, не тривога), ручного видалення не треба.

Бейджі поруч із періодом кампанії/файлу (список кампаній, банк файлів):

  • до 31.08 — дедлайн ще не близько.
  • завершується 31.08 — лишилось 3 дні або менше.
  • прострочено — дедлайн уже минув (короткий момент до щогодинного автовимкнення).

Якщо на вашому екрані бейджів поки не видно — оновіть сторінку/почекайте на оновлення порталу, функція щойно докотилась і може ще не бути на кожному стенді.

→ повний крок зі скріном: «Кампанія — таргетинг, пріоритет, квота, період (реальні дані)» (розділ «8. Реклама»)

Ознаки клубів — повний перелік

Ознака (тег) — довідникова сутність (не текст навмання): на проді зараз 17 записів у довіднику, 16 із них реально проставлені хоч одному з 48 клубів мережі (є ще й складені з пробілом, напр. «промо спільний» — мережевий тег без привʼязки до конкретної послуги клубу). Правило впізнавання з назви файлу: система бере серед усіх відомих тегів НАЙДОВШИЙ (за кількістю слів, тоді за довжиною) збіг, що стоїть одразу перед тривалістю («…сек») — тому складений тег на кшталт «секції вода» переможе одиночне слово «вода», навіть якщо обидва технічно є в довіднику.

ТегЩо означає
базаспеціальна ознака «скрізь» — контент/кампанія з нею грає в УСІХ клубах мережі незалежно від інших ознак; проставляти клубу вручну не треба
тзймовірно «тренажерна зала» — уточнити в Лариси
груповігрупові заняття (аеробіка, йога тощо)
вендінгвендінгові апарати (напої/снеки)
солярійсолярій
лаунжлаунж-зона відпочинку
масажмасажний кабінет
басейнбасейн
абонементипродаж/оформлення абонементів на місці
дкза версією ІТ-директора мережі — «дитячий клуб»; уточнити в Лариси
сквошсквош-корт
секції водадитячі секції з плавання/водних видів
тбне підтверджено — можливо повʼязано з категорією тренерів; уточнити в Лариси
тбсне підтверджено — імовірно варіант «тб» вищого рівня; уточнити в Лариси
тсне підтверджено; уточнити в Лариси
барбар/кафе клубу

Для тегів з позначкою «уточнити в Лариси» — навмисно не вигадуємо розшифровку, краще прогалина в документації, ніж хибна інформація в інструкції для менеджера.

→ повний крок зі скріном: «Ознаки клубу (сервісні теги)» (розділ «2. Клуб»)

→ повний крок зі скріном: «Довідник ознак клубів» (розділ «8. Реклама»)

Типові помилки

СимптомНайімовірніша причинаЩо робити
Реклама взагалі не грає в клубі клубу не проставлена потрібна ознака / кампанія на паузі (is_active=false) / період уже минув / квота дейпарту вичерпана / режим клубу несумісний з таргетингом (напр. кампанія розрахована на «за піками», а клуб — «Простий») пройдіть по порядку: чіпи клубу → «✎ Редагувати» кампанії (стан/період/дні тижня) → квота дейпарту → режим клубу
Реклама грає не там, де мала б клубу проставлена зайва ознака (наприклад, тестова чи стара, яку забули зняти) звірте чипи клубу з реальним переліком послуг, зніміть зайве
Реклама «обірвалась» серед тривоги і більше не звучала це НЕ баг — перебитий тривогою показ свідомо не повторюється того самого дня нічого робити не треба, це задум
Реклама занадто тиха/гучна відносно музики цільові рівні гучності різні НАВМИСНО: музика −15 LUFS, реклама −9 LUFS — реклама завжди трохи голосніша, щоб виділятись. Якщо різниця відчутно більша — питання до гучності САМОГО файлу при заливці (аналізатор рахує LUFS автоматично) перевірте колонку «Гучність (LUFS)» файлу в банку; під час некритичної тривоги і музика, і реклама однаково приглушені до 75%, це очікувано

Таблиця «Клуб → ознаки»

Код клубу, ознаки (теги), пропорція показів «пік/непік» (X хв блок : N роликів на блок) для режиму «за піками» й вікна пікових годин (будні). 48 клубів мережі — почніть вводити код або ознаку в пошук, щоб звузити список.

КодОзнакиПропорція пік/непікПік 1Пік 2
ТЕРбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
МАЯбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ПОЗбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ДРМбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛВМбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛВСбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ОДТбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ПРЯбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ДНСбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, сквош, секції вода, тбс20:4 / 30:48:00 - 12:0017:00 - 21:00
ПЕЧбаза, тз, групові, солярій, масаж, бар, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ДРУбаза, тз, групові, солярій, масаж, бар, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ДЕМбаза, тз, групові, солярій, масаж, дк, бар, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
БУЧбаза, тз, групові, вендінг, солярій20:4 / 30:48:00 - 12:0017:00 - 21:00
АКМбаза, тз, групові, вендінг20:4 / 30:48:00 - 12:0017:00 - 21:00
АРСбаза, тз, групові, вендінг20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛКНбаза, тз, групові, вендінг20:4 / 30:48:00 - 12:0017:00 - 21:00
СФТбаза, тз, групові, вендінг20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛВВбаза, тз, групові, вендінг20:4 / 30:48:00 - 12:0017:00 - 21:00
КУРбаза, тз, групові, вендінг, сквош, тс20:4 / 30:48:00 - 12:0017:00 - 21:00
ВШВбаза, тз, групові, вендінг, солярій, лаунж, масаж20:4 / 30:48:00 - 12:0017:00 - 21:00
ЧЕРбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ОСКбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
РСПбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЖТМбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
БРГбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ДАРбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
КДАбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ПОДбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
КМЧбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
КРВбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛЦКбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛВУбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ОДКбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ПЛТбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
РВНбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ХКНбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЧКМбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЧКЮбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЧНМбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ЛУКбаза, тз, групові, вендінг, солярій20:4 / 30:48:00 - 12:0017:00 - 21:00
ІДСбаза, тз, групові, вендінг, солярій20:4 / 30:48:00 - 12:0017:00 - 21:00
БЛРбаза, тз, групові, вендінг, солярій, масаж, дк, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ДИНбаза, тз, групові, вендінг, солярій, масаж, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ВНГбаза, тз, групові, вендінг, солярій, масаж, сквош, тс20:4 / 30:48:00 - 12:0017:00 - 21:00
ПРМбаза, тз, групові, вендінг, солярій, масаж, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
НАБбаза, тз, групові, вендінг, солярій, масаж, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
КПДбаза, тз, групові, вендінг, солярій, масаж, басейн, абонементи, дк, тб20:4 / 30:48:00 - 12:0017:00 - 21:00
ВШКбаза, тз, групові, вендінг, солярій, лаунж, масаж, басейн, абонементи, дк, секції вода, тб20:4 / 30:48:00 - 12:0017:00 - 21:00

9. Розклад

Регенерація, таймлайн і конфлікти — за 5 кроків

Розклад (словник ↑) — план на майбутнє, на відміну від «Пульта зони», який керує лише поточною хвилиною.

  1. 1. Огляд зон клубу
  2. 2. Перегенерувати
  3. 3. Читати таймлайн
  4. 4. Pinned-позиції
  5. 5. Конфлікти
1

Огляд зон клубу

Де це: «Розклад» → клуб — картка на кожну зону з коротким переглядом тижня; клік відкриває детальний фокус на конкретну зону (крок 3).

→ повний крок зі скріном: «Розклад — огляд зон клубу» (розділ «9. Розклад»)

Сітка зон клубу в розкладі
2

Перегенерувати

Що натиснути: кнопка «Перегенерувати» → обрати область дії (одна зона чи весь клуб) → підтвердити.

Що робить: повний перерахунок розкладу з нуля на основі поточних дейпартів/ кампаній/оголошень — потрібна щоразу, коли змінили налаштування, а розклад лишився старим.

Якщо не так: помилка «дейпарти не покривають робочі години клубу» — див. розділ «2. Клуб», крок 4.

→ повний крок зі скріном: «Перегенерувати розклад — вибір стратегії» (розділ «9. Розклад»)

Вибір стратегії й кнопка підтвердження перегенерації
3

Читати таймлайн дня

Що побачите: послідовні «кубики» одного з 6 типів — музичний блок, реклама, джингл, службове оголошення, тривога, хвилина мовчання (той самий словник, що і в звітах, розділ «8. Реклама» → Як перевірити ↑). Клік по кубику показує деталі позиції.

Дії: перетягуванням можна поміняти позиції місцями, скопіювати весь день на інші дні тижня. Кнопка «Ефір зараз» показує, який кубик грає в цю секунду.

→ повний крок зі скріном: «Таймлайн дня — кубики музики/реклами/оголошень» (розділ «9. Розклад»)

→ повний крок зі скріном: «Таймлайн — попап деталей однієї позиції» (розділ «9. Розклад»)

Таймлайн дня з кубиками музики/реклами/оголошень
4

«Закріплені» (pinned) позиції

Важлива деталь: «закріплено» — не окремий чекбокс, який треба вмикати вручну: щойно ви руками перетягнули чи відредагували якусь позицію на таймлайні, вона АВТОМАТИЧНО стає закріпленою. Наступна «Перегенерувати» (крок 2) закріплені позиції НЕ чіпає — перебудовує заново лише все навколо них.

Якщо не так: ручна правка «зникає» після перегенерації — не мало б, це і є весь сенс закріплення; якщо таке трапилось, це привід звернутись в ІТ-службу мережі.

5

Банер «Конфлікт плану»

Коли зʼявляється: дві чи більше речей претендують на той самий слот (наприклад, забагато закріплених вручну позицій навколо, і кампанія фізично не може добрати квоту) — банер зверху таймлайну підсвічує конфліктні позиції.

Що робити: звільнити частину закріплень або перевірити пріоритет/квоту кампанії, що не влазить — розділ «8. Реклама» → Типові помилки.

→ повний крок зі скріном: «Таймлайн — конфліктні позиції (dev, навмисно створено для демонстрації)» (розділ «9. Розклад»)

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

50

Розклад — огляд зон клубу

Сітка зон клубу в розкладі
Сітка зон клубу в розкладі

Сторінка «Розклад» — план ефіру на майбутнє (на відміну від «Пульта зони», який керує тільки поточною хвилиною). Кожна картка — одна зона з коротким переглядом тижня; клік відкриває детальний фокус на цю зону. Тут же кнопка «Перегенерувати» для повного перерахунку розкладу на основі поточних дейпартів/кампаній/оголошень — застосовується, коли щось у налаштуваннях змінилось, а розклад ще старий.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/schedules?club=2

51

Таймлайн дня — кубики музики/реклами/оголошень

Таймлайн дня з кубиками музики/реклами/оголошень
Таймлайн дня з кубиками музики/реклами/оголошень

Таймлайн — детальний розклад однієї зони на день у вигляді послідовних «кубиків»: музичний блок, рекламна вставка, службове оголошення, хвилина мовчання. Перетягуванням можна поміняти позиції місцями, скопіювати весь день на інші дні тижня, або закріпити (pinned) конкретну позицію так, щоб перегенерація її не чіпала. Конфліктні місця (дві речі претендують на той самий слот) підсвічуються окремим банером зверху. Кнопка «Ефір зараз» показує, який кубик грає в цю секунду.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/schedules?weekday=2&club=2&zone=3

52

Таймлайн — попап деталей однієї позиції

Попап деталей позиції таймлайну
Попап деталей позиції таймлайну

Клік по будь-якому кубику таймлайну відкриває попап з деталями саме цієї позиції: що це (трек/реклама/оголошення/тиша), точний час і тривалість, і — якщо позиція бере участь у конфлікті — конкретне пояснення яке (перекриття з іншою позицією, вихід за межі рекламного блоку тощо), а не просто червона рамка без причини. Звідси ж керують самою позицією: закріпити (pinned) від перегенерації, перемістити чи прибрати.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/schedules?weekday=2&club=2&zone=3

53

Таймлайн — конфліктні позиції (dev, навмисно створено для демонстрації)

В інтерфейсі поки нема — робиться. Не вдалося зняти автоматично: навіть після додавання двох позицій на 12:00 конфлікт не позначився в UI. Якщо елемент дійсно відсутній в UI — це зафіксовано свідомо, не вигадано.

Де шукати: http://192.168.88.4:8097/schedules?weekday=2&club=1994&zone=1702

54

Перегенерувати розклад — вибір стратегії

Вибір стратегії й кнопка підтвердження перегенерації
Вибір стратегії й кнопка підтвердження перегенерації

Модалка «Перегенерувати» дає вибрати область дії (одна зона чи весь клуб) і стратегію підбору реклами перед повним перерахунком розкладу. Це руйнівна щодо ручних правок дія — усі незакріплені (не pinned) позиції перебудовуються заново, тому підтвердження явне й окреме.

Що може піти не так. ⚠️ На бойовому порталі ми ЛИШЕ відкрили модалку для знімку і закрили Escape — жоден реальний розклад клубу не перераховували.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/schedules?weekday=2&club=2&zone=3

10. Перевірка

Що реально прозвучало і хто що змінив — за 4 кроки

  1. 1. Зараз грає
  2. 2. Звіти й факт vs план
  3. 3. Журнал аудиту
  4. 4. Telegram-бот
1

Що грає прямо зараз

Де це: картка зони на дашборді клубу — живий бейдж, або «Пульт зони» для детальнішого поточного стану.

→ Детально: розділ «3. Зони», крок 7.

2

Звіти — план vs факт

Де це: «Звіти» — плитки KPI за обраний період, фільтр по клубу й датах, графік динаміки. Кнопка «⬇ Експорт CSV» вивантажує поточний фільтр.

План vs факт: таймлайн («9. Розклад») показує ПЛАН, журнал play_log — те, що реально прозвучало (плеєр міг бути офлайн у заплановану хвилину — план є, факту нема). Повний розбір — розділ «8. Реклама» → Як перевірити, що зіграло.

→ повний крок зі скріном: «Звіти — KPI, період, динаміка показів» (розділ «10. Перевірка»)

Плитки ключових показників (KPI)
3

Журнал аудиту

Навіщо: кожен рядок людською мовою описує, ХТО і ЩО змінив (створив кампанію, відредагував клуб, перегенерував розклад) — зручно для розслідування «хто й коли щось поміняв». Сирий технічний JSON деталей — лише в Експертному режимі.

Фільтри: період, користувач, тип дії. Кнопка вивантаження CSV — та сама логіка, що в звітах.

→ повний крок зі скріном: «Журнал аудиту» (розділ «10. Перевірка»)

Таблиця подій журналу аудиту
4

Telegram-бот watchdog

Що це: мережа тримає Telegram-бота @slaudio_control_derg_bot — він сам шле алерти watchdog і про рестарти плеєрів, окремо нічого налаштовувати не треба. Некритичні події (наприклад, спливання дедлайну акційної кампанії) навмисно НЕ штовхають туди пуш — лише лягають рядком у стрічку подій/аудит, щоб бот не набридав дрібницями.

Якщо не так: бот мовчить довше, ніж зазвичай — це теж привід перевірити звʼязок сервера, не лише сам факт відсутності алертів.

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

55

Звіти — KPI, період, динаміка показів

Плитки ключових показників (KPI)
Плитки ключових показників (KPI)

Сторінка звітів — proof-of-play: що САПРАВДІ прозвучало в кожній залі, коли і скільки разів, основа для звітності перед рекламодавцем. Плитки KPI зверху дають загальну картину за обраний період без графіків, просто числа. Фільтр періоду перераховує всю сторінку під нові дати. Графік динаміки нижче показує зміну в часі — в Простому режимі без накладання «порівняти з періодом».

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/reports

56

Журнал аудиту

Таблиця подій журналу аудиту
Таблиця подій журналу аудиту

Журнал подій — кожен рядок людською мовою описує, хто і що змінив (створив кампанію, відредагував клуб, перегенерував розклад тощо); сирий технічний JSON деталей доступний лише в Експертному режимі. Фільтри зверху звужують список за періодом, користувачем і типом дії. Кнопка вивантаження справа готує CSV з поточного фільтра — зручно для звітності перед керівництвом чи розслідування інциденту (хто й коли щось змінив).

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/audit-log

11. Налаштування

Пресети, шаблони, користувачі, мережеві правила — за 4 кроки

  1. 1. Пресети vs шаблони
  2. 2. Довідник ознак
  3. 3. Користувачі й ролі
  4. 4. Мережеві правила тривог
1

Пресети vs шаблони — у чому різниця

Пресети — ручний разовий знімок налаштувань КОНКРЕТНОЇ зони (гучність, дейпарти тощо), застосовується до іншої зони одним кліком, коли треба скопіювати «як тут» на кілька зон.

Шаблони — мережеві АВТО-правила «клас клубу × тип зони» (видно лише в Експертному режимі UI) — просунутий інструмент масового налаштування (наприклад, «усі зони типу «Кардіо» в клубах класу «Преміум» отримують такі-то дейпарти»).

Спільне для обох: кнопка «Застосувати» завжди показує прев'ю — скільки зон зачепить дія, — ДО того, як щось реально зміниться.

→ повний крок зі скріном: «Пресети й шаблони» (розділ «11. Налаштування»)

Перемикач вкладок «Пресети / Шаблони»
2

Довідник ознак клубів

Коротко: тут заводяться самі теги (басейн, сквош, лаунж…), які потім проставляються кожному клубу і використовуються для таргетингу реклами.

→ Повний перелік і правила: розділ «8. Реклама» → Ознаки клубів.

→ повний крок зі скріном: «Довідник ознак клубів» (розділ «8. Реклама»)

3

Користувачі й ролі

Що ввести: логін, тимчасовий пароль (людина сама змінить його при першому вході — портал попросить), роль, список клубів з доступом.

Три ролі мережі — повний розбір: «Як влаштована система» → Хто є хто ↑.

Правило: найвужчий набір прав, який реально потрібен людині для роботи, — правильний дефолт.

→ повний крок зі скріном: «Користувачі й ролі» (розділ «11. Налаштування»)

→ повний крок зі скріном: «Новий користувач — роль і клуби» (розділ «11. Налаштування»)

Таблиця користувачів мережі
4

Мережеві правила тривог

Коротко: базовий набір хвиль тривоги (6 рівнів × 3 типи), який успадковує кожен клуб/зона без власного перевизначення.

→ Повний розбір: розділ «7. Тривоги», крок 2.

Кроки за екранами (довідка зі скрінами)

Нижче — кожен екран розділу окремо, повністю.

57

Пресети й шаблони

Перемикач вкладок «Пресети / Шаблони»
Перемикач вкладок «Пресети / Шаблони»

«Пресети» — ручний разовий знімок налаштувань конкретної зони (гучність, дейпарти тощо), який можна застосувати до іншої зони одним кліком. «Шаблони» — мережеві авто-правила «клас клубу × тип зони» (видно лише в Експертному режимі UI) — просунутий інструмент масового налаштування. Кнопка «Застосувати» завжди показує прев'ю — скільки зон зачепить дія, — ДО того, як щось реально зміниться.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/presets

58

Користувачі й ролі

Таблиця користувачів мережі
Таблиця користувачів мережі

Таблиця всіх облікових записів мережі: логін, роль (адміністратор мережі / клубу / менеджер), клуби, до яких прив'язаний доступ, і статус (активний, ще не змінив тимчасовий пароль, 2FA не налаштовано). Кнопка «+ Новий користувач» праворуч відкриває форму створення — роль і набір клубів визначають, що людина побачить і зможе змінити, тож варто обирати найвужчий набір прав, який реально потрібен для роботи.

Знято на: бойовий портал (прод) · https://slaudio.derg.in.ua/users

59

Новий користувач — роль і клуби

Поля «Роль» і «Клуби»
Поля «Роль» і «Клуби»

Форма створення користувача: логін, тимчасовий пароль (людина змінить його при першому вході — портал сам про це попросить), роль (адміністратор мережі / адміністратор клубу / менеджер) і список клубів, до яких дається доступ. Найвужчий набір прав, який реально потрібен людині для роботи, — правильний дефолт. Форму заповнили прикладом і закрили без збереження, щоб не створювати тестовий обліковий запис на стенді.

ПолеЩо означаєПриклад на стенді Теремки
Рольрівень доступу нового користувачанапр. «Менеджер клубу»
Клубидо яких клубів дається доступнапр. «Демо клуб (інструкція)»

Знято на: тестовий стенд (dev) · http://192.168.88.4:8097/users

❓ FAQ / типові проблеми

Мережа тримає Telegram-бота @slaudio_control_derg_bot — він шле алерти watchdog і про рестарти плеєрів автоматично, окремо налаштовувати нічого не треба. Якщо бот мовчить довше, ніж зазвичай, — це теж привід перевірити звʼязок.
Де змінити графік роботи клубу?

Не окрема сторінка — блок «Графік клубу» прямо на сторінці робочого простору клубу («2. Клуб», крок 4), одразу під шапкою з назвою й ознаками. Таблиця Пн–Нд: чекбокс «працює» + відкриття/закриття, зберігається одразу.

Де проставити ознаки (теги) клубу?

У формі клубу — кнопка «✎ Редагувати» в шапці робочого простору → блок «Ознаки клубу (сервіси)», чіпи-перемикачі (клік = автозбереження). Якщо потрібної ознаки нема в списку — спершу завести її в «11. Налаштування» → «Довідник ознак», і лише потім вона зʼявиться як чіп. Детально — «2. Клуб», крок 3.

У залі тиша, хоча все виглядає налаштованим

Перевірте по порядку: (1) клуб зараз «живий» за графіком годин — чи не зачинено зараз; (2) статус зони на дашборді — «Тиша» ≠ «Пауза»; (3) статус плеєра — онлайн і звʼязок свіжий («Плеєри» в клубі); (4) у зони є хоч один придатний файл музики в дейпарті поточної години. Якщо все в нормі, а звуку все одно нема — пишіть в ІТ-службу мережі, далі діагностика на боці плеєра/драйвера/звукової карти.

Реклама не грає в конкретному клубі

Найчастіша причина — таргетинг за ознаками: у клубу просто не ввімкнена та ознака, на яку націлена кампанія (перевірте «Ознаки клубу» у формі клубу проти «Таргетингу» кампанії). Друга причина — період дії кампанії вже скінчився або файл акційний і його дата в назві минула. Третя — конфлікт пріоритету/квоти, дивіться банер «Конфлікт плану» в розкладі.

Хвилину мовчання не чути

Перевірте (1) чи ввімкнено перемикач «Хвилина мовчання» у формі клубу і на яку годину, (2) чи не перевизначила зона свій власний час на інший, (3) чи є в банку службових сам файл «Хвилина мовчання» і чи не зламаний він (спробуйте прослухати прямо в банку файлів).

Персонал сам крутить гучність на ПК клубу

Для цього є «Тримати системну гучність Windows, %» у налаштуваннях звуку зони (Експертний режим) — плеєр силою тримає гучність ОС на заданому рівні й повертає її назад, навіть якщо хтось покрутив коліщатко чи гучність на клавіатурі.

Плеєр офлайн — що дивитись

Спершу картка плеєра в клубі — час останнього звʼязку і версія клієнта. Далі фізично: чи ввімкнений ПК, чи є інтернет у клубі, чи запущений застосунок плеєра (не згорнутий у трей аварійно). Якщо плеєр зовсім не на звʼязку — дистанційно вже нічого не подивитись, треба перевіряти на місці.

Забув пароль або не бачу свій клуб у списку

Це не самообслуговування — зверніться до адміністратора порталу мережі, він скине пароль або додасть потрібний клуб до вашого доступу.

Кампанія не набирає денну квоту показів

Найчастіше — заниженй пріоритет проти сусідніх кампаній того самого слота, або забагато вручну закріплених (pinned) позицій навколо, які фізично не лишають місця. Дивіться банер «Конфлікт плану» на таймлайні розкладу.