spacetab

@spacetab_bot

Экран покупателя и веб-аналитика для АЗС Teboil

Проект завершён, 2023–2025

Для ООО «Директ Вижн»: второй экран на кассе показывает покупку, QR-код для оплаты по СБП и рекламу, а панель веб-аналитики — остатки в резервуарах, продажи топлива и магазина, сбои счётчиков колонок и мобильные заправки по всей сети.

Клиент и задача

ООО «Директ Вижн» работает с сетью АЗС Teboil. Касса станции публикует текущую покупку на локальном сервисе, а в общую базу статистики стекаются замеры уровнемеров в резервуарах, наливы на топливораздаточных колонках, чеки магазина и заказы топлива из мобильных приложений партнёров.

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

Что сделали

Экран покупателя: чек из четырёх позиций — АИ-95 с колонки, кофе, хот-дог, незамерзайка; скидка, начисленные баллы, итог; ниже — реклама кофе

Чек на экране покупателя

Второй экран повторяет покупку по мере того, как её пробивает кассир: позиции с количеством и ценой, скидка, начисленные баллы лояльности и итог. Таблица чека — сверху, под ней продолжает идти реклама. Экран раз в две секунды спрашивает у локального сервиса кассы данные по номеру своего рабочего места.

Покупатель видит, за что платит, ещё до оплаты.

Оплата по СБП: поверх чека QR-код с логотипом СБП и подсказкой «Откройте приложение вашего банка»

Оплата по QR-коду СБП

Когда кассир выбирает оплату через СБП, поверх чека появляется крупный QR-код с логотипом СБП и подсказкой «Откройте приложение вашего банка и отсканируйте QR-код».

Покупатель платит телефоном прямо через кассу, без карты и терминала.

Закрытый чек: списано 100 баллов, внесено и сдача, оплата наличными, QR-код фискального чека; реклама сжалась под чеком

Закрытый чек и фискальный QR-код

После оплаты на экране — списанные баллы, внесённая сумма и сдача, способы оплаты и QR-код фискального чека, который покупатель сканирует телефоном. Потом экран снова уходит в рекламу.

Всё, что есть в бумажном чеке, покупатель видит на экране и может забрать в телефон.

Первый запуск: номер рабочего места с экранной клавиатуры и автопереход в рабочий режим через 56 секунд

Настройка рабочего места с экрана

При первом запуске экран просит номер рабочего места: администратор вводит его кнопками на экране и сохраняет, через 60 секунд экран сам переходит в рабочий режим. Неприметная зона в углу возвращает к настройке, там же — адрес локального сервиса, ссылка на логотип и очистка кэша.

Экран ставится на любую кассу без клавиатуры и отдельной программы.

Панель, «Обзор сети»: остатки по видам топлива с запасом до полного, реализация нефтепродуктов по дням за июнь

Обзор сети

Остатки по каждому виду топлива во всех резервуарах сети с запасом до полного, реализация нефтепродуктов по дням столбцами и таблицей в литрах и рублях с итогом за период. Фильтры — сеть, АЗС и даты.

Продажи и запасы всей сети — на одном экране.

Резервуары АЗС № 101: объём, плотность, температура, масса, время замера; полосы заполнения красная, жёлтые и зелёная

Резервуары станции

Если выбрать АЗС, у каждого резервуара своя карточка: топливо, объём, плотность, температура, масса, время последнего замера и свободный объём. Полоса заполнения желтеет ниже 50 % и краснеет ниже 30 %, карточка ведёт к графику замеров этого резервуара.

Сразу видно, какой резервуар пора пополнять.

«Замеры резервуаров»: объём и плотность резервуара с АИ-95 за июнь — расход и завозы

Замеры резервуаров

График по выбранному резервуару за месяц: объём по уровнемеру и плотность на второй оси. На «пиле» видны расход и каждый завоз.

Расход и завозы топлива проверяются по графику, без выгрузок из базы.

«Расх. топливных счетчиков»: наливы, где показания счётчика не сошлись, дельты в плюс и в минус разными цветами

Расхождения топливных счётчиков

Каждую ночь панель сверяет наливы за последние дни: совпадает ли объём налива с разницей суммарного счётчика колонки и сходится ли начало налива с концом предыдущего на том же кране. Расхождения больше литра попадают в отчёт с подсветкой в плюс и в минус, в карточке — сам налив и предыдущий. Рядом — список всех топливных транзакций с колонкой, краном, дозой, ценой и показаниями счётчиков.

Сбои счётчиков не приходится искать вручную в тысячах наливов.

«Продажи по чекам»: выручка по способам оплаты и реализация товаров по категориям по дням

Продажи по чекам

Выручка магазина по способам оплаты — карта, наличные, СБП, топливная карта, баллы, реализация товаров по категориям по дням и таблица категорий с итогом. Из категории — переход к продажам по товарам с сортировкой и постраничным выводом.

Видно, что продаёт магазин при АЗС и чем за это платят.

Мобильные транзакции: партнёр, АЗС, колонка, статус, топливо, доза в литрах или рублях, цена, объём

Мобильные заправки

Заказы топлива из приложений партнёров: партнёр, АЗС, колонка, доза в литрах или рублях, цена, объём и статус от «Принят» до «Завершён», поиск по внешнему и внутреннему номеру. Статус зависшей транзакции можно поправить вручную. Итоговый отчёт — литры и рубли по каждому партнёру за период.

Расчёты с партнёрами сверяются по одному отчёту.

1 / 10
  • Реклама по расписанию

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

    Пауза между покупателями работает как рекламное место — в нужные дни и часы.

  • Доступы, справочники и остатки на час

    Администратор заводит пользователей сети и открывает им разделы по отдельности, пользователь сети видит только свои станции. В справочниках — АЗС с адресом, координатами и признаком работы и фирменные названия топлива для каждой сети: они подставляются во все отчёты. Раздел «Остатки» показывает первые замеры каждого резервуара в выбранный час и выгружает их файлом.

    Каждый сотрудник видит свою сеть и только нужные ему отчёты.

Как устроено

Экран покупателя — веб-приложение на Vue, которое работает в браузере в режиме киоска на втором мониторе кассы и опрашивает локальный сервис кассы; ролики и расписание ведутся в админке на Yii2. Панель — Laravel и Filament поверх базы статистики заказчика в PostgreSQL. Тяжёлая сверка счётчиков считается ночью отдельной командой, параллельно по станциям, а отчёт читает уже готовую таблицу расхождений.

Сроки и масштаб

  1. Февраль – март 2023 веб-версия экрана покупателя: чек, оплата по СБП, фискальный QR-код, реклама.
  2. Январь 2024 дизайн, вёрстка и публикация сайта заказчика.
  3. Май – июль 2024 первый этап панели веб-аналитики; доработка админки промо и экрана: видео, расписание роликов по датам, дням недели и часам, вход по коду из письма; встраиваемый веб-конфигуратор настроек на JSON Schema.
  4. Сентябрь – ноябрь 2024 второй этап панели: справочники топлива и АЗС, мобильные транзакции и итоговый отчёт, отчёт о расхождениях счётчиков. В ноябре — интерактивный прототип системы и функциональная спецификация.
  5. Март 2025 третий этап: права пользователей по разделам, раздел «Остатки» со списком последних замеров и выгрузкой.
  6. Сентябрь – декабрь 2025 чековые продажи: детализация по категориям и товарам, итоги и сортировки, доработка «Остатков» и отчёта о расхождениях.

Масштаб: три репозитория и 156 коммитов — экран покупателя, админка промо и панель с 11 разделами в трёх группах: отчёты, мобильные транзакции, управление. Ещё три работы — по отдельным договорам и вне этих репозиториев: сайт заказчика, конфигуратор, прототип со спецификацией.

Что это дало

  • Экран покупателя без отдельной программы

    Экран работает в браузере в режиме киоска: на кассу ставится монитор, а не приложение, номер рабочего места вводится с экрана.

  • Оплата по СБП с экрана кассы

    QR-код появляется сам, как только кассир выбирает СБП.

  • Рекламное место на каждой кассе

    Пока покупателя нет, экран показывает рекламу по расписанию — с датами, днями недели и часами показа.

  • Вся сеть в одной панели

    Остатки, продажи топлива и магазина, мобильные заправки и сбои счётчиков — в одном месте, с доступом по разделам для каждого сотрудника.

  • Сбои счётчиков находит система

    Ночная сверка показаний колонок заменяет ручной поиск по транзакциям.

Технологии

Интеграции

Статус

Проект завершён. Работали в 2023–2025 годах: экран покупателя — с февраля 2023 года, панель веб-аналитики — с мая 2024 года до последнего этапа в конце 2025 года.

Есть похожая задача?

Расскажите о ней — ответим в течение рабочего дня и предложим, с чего начать.

Telegram: @spacetab_bot · Почта: bip@spacetab.io