Подавайте работы до 20 сентября (вс)19 000 Р,
с 21 сентября (пнд)28 000 Р
Церемония награждения
4 декабря 2026
Крупнейшая digital-премия в Европе

Единое приложение для медиапланов: как мы заменили устаревшую систему для агентства радиорекламы

Заказчик: PWD
Исполнитель: PWD
Share
Share
Единое приложение для медиапланов: как мы заменили устаревшую систему для агентства радиорекламы

Главное о кейсе

Федеральное агентство радиорекламы занимается размещением сетевой и мультилокальной рекламы на радио, а также рекламой в Digital Audio. Для такого бизнеса прайс-лист радиостанции - не просто файл с ценами. В нем хранится город, станция, период действия, стоимость спотов, НДС, скидки, сезонные коэффициенты, наценки и другие параметры, которые влияют на итоговый бюджет рекламной кампании.

До проекта команда работала в старой десктопной системе на Delphi и Firebird. Система была создана примерно 10-15 лет назад: она закрывала базовый процесс, но ее интерфейс, техническая база и внутренняя логика уже не соответствовали текущим задачам. Поддерживать и развивать такое решение было сложно: по системе оставалось мало документации, а часть знаний была завязана на разработчика, который давно не участвовал в проекте.

Нужно было не просто “перерисовать интерфейс”, а заменить старое приложение полноценным рабочим инструментом: сохранить накопленную бизнес-логику, перенести данные, собрать ключевые процессы в одном месте и заложить основу для дальнейшего развития продукта.

Мы спроектировали и разработали модульное веб-приложение на PHP/Symfony и Vue/PrimeVue. Бэкенд отвечает за бизнес-логику, расчеты, работу с данными и REST API. Фронтенд дает пользователям современный интерфейс для управления прайс-листами, медиапланами, письмами и справочниками.

Отдельно мы разработали дизайн приложения с нуля. Бизнес-аналитик подготовил прототипы, дизайнер собрал интерфейсы на UI-ките, а команда разработки реализовала их в продукте.

Как проект изменил жизнь пользователей

После проекта команда работает не с разрозненными файлами и старой системой, а с единым веб-приложением. В нем можно вести базу прайс-листов, связывать прайсы с городами и радиостанциями, хранить исходные письма и вложения, выбирать параметры рекламной кампании и формировать медиаплан в Excel.

Пользователь может создать прайс или черновик, указать период действия, тип прайса, НДС, инфляцию, предоплату, скидки, наценки, сезонные коэффициенты и другие коммерческие условия. Система помогает контролировать актуальность прайсов, подсвечивает статусы, не дает использовать заблокированные прайсы в расчете и проверяет дубли активных прайс-листов в связке “город + радиостанция”.

Генератор медиапланов собирает данные из выбранных прайсов и формирует Excel-файл в нужном формате. В одном медиаплане может быть до 100-200 прайс-листов. По каждому листу доступны расчетные блоки, месяцы, споты, минуты, скидки, НДС и итоговый бюджет.

Excel остался финальным рабочим документом, потому что для рынка это привычный формат согласования с клиентами и контрагентами. Но теперь файл создается из централизованных данных, а не собирается вручную с нуля.

Что изменилось для команды заказчика:

— прайс-листы хранятся как структурированные сущности, а не как набор файлов;
— исходные письма и вложения можно привязать к конкретным прайсам;
— медиаплан формируется из актуальной базы условий;
— Excel остался привычным форматом передачи результата;
— роли разделяют сценарии специалистов по прайс-листам, специалистов по медиапланам и администраторов;
— система стала основой для дальнейших доработок после первого релиза.

Бизнес-задача и ее решение

Бизнес-задача была в том, чтобы перенести ежедневную работу с прайс-листами и медиапланами из устаревшего приложения в современную систему, не потеряв привычную логику процесса.

Решение должно было:

— заменить старую десктопную систему;
— перенести исторические данные;
— сохранить привычный Excel-формат медиапланов;
— централизовать хранение прайс-листов и исходных писем;
— автоматизировать генерацию медиапланов;
— поддержать роли специалистов и администраторов;
— дать заказчику базу для последующего развития системы.

Мы разделили решение на несколько ключевых модулей. Модуль прайс-листов стал единой базой коммерческих условий. Модуль писем помогает хранить источники данных и связывать их с прайсами. Генератор медиапланов собирает условия из базы и формирует Excel-документ. Справочники городов, радиостанций и пользователей поддерживают структуру данных. Ролевая модель разграничивает доступ к функциям системы.

Отдельной частью проекта стала миграция. В новую систему перенесли города, радиостанции, пользователей, медиапланы и прайс-листы. В рабочем списке прайс-листов отображалось 506 страниц по 50 элементов, то есть более 25 тысяч записей с разными статусами: устаревшие, текущие и будущие.

Крафт (мастерство), реализация, технические детали

На старте мы разобрали старую систему, восстановили ключевые пользовательские сценарии и описали будущую архитектуру. Важно было сохранить смысл привычного процесса, но убрать ограничения старого приложения: устаревший интерфейс, сложность поддержки, зависимость от легаси-логики и недостаток документации.

Новое приложение построено как модульная веб-система. Серверная часть реализована на PHP/Symfony, клиентская - на Vue/PrimeVue. Обмен между фронтендом и бэкендом идет через REST API.

В рамках проекта мы:

— разработали новый интерфейс и дизайн приложения;
— реализовали модуль управления прайс-листами;
— добавили создание черновиков прайс-листов;
— настроили поиск, фильтрацию, сортировку и пагинацию списков;
— реализовали детальную карточку прайс-листа с вкладками по смысловым блокам;
— добавили привязку писем и файлов к конкретным прайс-листам;
— реализовали статусы и визуальную подсветку прайсов по актуальности;
— добавили контроль дублей активных прайс-листов в связке “город + радиостанция”;
— реализовали генератор медиапланов с выгрузкой в Excel;
— добавили модуль писем и вложений;
— перенесли исторические данные из старой системы;
— заложили ролевую модель для специалистов и администраторов.

Прайс-листы могут приходить не только по почте. Радиостанция может направить файл менеджеру по любому рабочему каналу, поэтому система не сводит процесс только к email. При этом письма и вложения остаются важным источником исходных данных: приложение может автоматически подгружать письма по настройкам почты, запускать синхронизацию вручную, загружать письма с устройства в форматах OFT, MSG и TXT, исключать повторную загрузку уже существующих писем и привязывать письма к прайс-листам.

После первого релиза появились дополнительные запросы. В медиаплан добавили брендирование, чтобы сохранить авторство документа и снизить риск некорректного использования. Также появилась задача ограничить редактирование файла, чтобы контрагенты не могли произвольно менять суммы и другие расчетные данные.

Для следующего этапа была подготовлена отдельная спецификация по обработке уже заполненного медиаплана. По этой логике администратор загружает Excel-файл обратно в систему, приложение распознает прайс-листы внутри документа, сопоставляет их с базой, предлагает выбрать найденные позиции и генерирует новый корректный медиаплан. Пользовательские изменения из файла должны сохраняться, а ключевые коммерческие данные пересчитываться по актуальным прайс-листам из приложения.

Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком

Главный инсайт проекта: в таких системах нельзя просто заменить интерфейс и назвать это модернизацией. Старая логика может быть неудобной технически, но она часто отражает реальные правила бизнеса. Поэтому сначала нужно понять, какие сценарии действительно должны сохраниться, а какие ограничения появились только из-за старой технологии.

Второй важный вывод - Excel не всегда нужно убирать из процесса. В этом проекте Excel остался нормальным и полезным финальным форматом, потому что через него заказчик взаимодействует с клиентами и контрагентами. Ценность нового приложения не в том, чтобы отменить Excel, а в том, чтобы убрать ручную подготовку данных и сделать генерацию файла управляемой.

Третий вывод связан с миграцией. Для заказчика была важна не только новая система, но и преемственность: накопленная база городов, радиостанций, медиапланов и прайс-листов должна была продолжить жить в новом продукте. Поэтому миграция стала не техническим приложением к проекту, а одной из центральных задач.

Еще один инсайт - источники данных в реальном процессе редко бывают идеально упорядочены. Прайс-листы могут приходить письмами, файлами, через менеджеров и другие рабочие каналы. Поэтому система должна не только хранить структурированные данные, но и помогать быстро находить исходный источник условий.

Результат проекта - не разовая автоматизация отдельной операции, а новая рабочая основа для команды заказчика. Старое приложение заменено, данные перенесены, ежедневные сценарии собраны в одном интерфейсе, а система подготовлена к дальнейшему развитию после запуска.

Скриншоты

Share
Share

Дата запуска

15 июля 2026 года

Авторы

Команда PWD
Фейк (работа не была принята клиентом, не была доведена до запуска или отсутствовал факт заказа работы)

Ссылки

pwd.ru
Крупнейший digital-конкурс в Европе
Подавайте работы до 20 сентября (вс)19 000 Р,
с 21 сентября (пнд)28 000 Р

Церемония награждения — 4 декабря (пт)  •  Москва и онлайн
Купить билет
Количество билетов ограниченно, торопитесь!