Сайт, который ведёт ваша команда, а не подрядчик по каждой правке

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

Получить расчёт проекта

Без звонков. Ответим в мессенджере, расчёт пришлём документом со сметой и сроком

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

Снимок шире экрана — тяните его вбок

На скриншотах показан пример содержимого

01 · Рабочее место

Весь сайт ведётся из одного окна, без переключения между системами

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

/pages
Список страниц сайта в административной панели. Слева боковое меню с группами «Контент», «Доступ», «Общие»; справа таблица страниц со столбцами «ID», «Заголовок», «Тип», «URL», «Шаблон», «Сортировка», «Статус» и закреплённой колонкой кнопок правки и удаления.

Снимок шире экрана — тяните его вбок

  1. 1 Меню по смыслу, а не по алфавиту «Каталог», «Продажи», «Контент», «Доступ», «Общие». Группы сворачиваются, и это состояние запоминается: редактор, который не заходит в продажи, их не видит.
  2. 2 Поиск по всей системе, ⌘K Одно поле ищет по страницам, статьям, товарам, заказам и самим разделам панели. Чтобы поправить текст, не нужно помнить, где он лежит.
  3. 3 Фильтры на каждом списке Статус публикации, родительская страница, показ удалённых. Список из сотни строк сводится к пяти нужным.
  4. 4 Выгрузка в CSV с учётом фильтров Выгружается то, что отобрано, а не вся таблица целиком. Загрузку каталога из файла мы проектируем под структуру ваших данных отдельной строкой сметы.
  5. 5 Колонка действий закреплена Таблицу можно тянуть вбок сколько угодно — правка и удаление остаются на месте, у правого края.

Кадры листаются вбок

  1. /pages
    Окно глобального поиска по панели: результаты сгруппированы по типам — страницы, навигация, заказы.

    Снимок шире экрана — тяните его вбок

    Нужная запись находится за две секунды

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

  2. /pages
    Боковое меню в свёрнутом виде: подписи убраны, остались иконки, таблица занимает всю ширину экрана.

    Снимок шире экрана — тяните его вбок

    Сверните меню — и таблица получит всю ширину

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

02 · Сводка продаж

Открыли панель — и видите деньги, а не приглашение выгрузить отчёт

Выручка по оплаченным заказам, число заказов, средний чек и новые клиенты за выбранный период — на первом экране панели, рядом с каждой цифрой изменение к прошлому периоду такой же длины.

Кадры листаются вбок

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

    Снимок шире экрана — тяните его вбок

    Пять цифр, ради которых обычно открывают отчёты

    Выручка считается по оплаченным заказам — это сказано прямо под цифрой, чтобы её не путали с суммой оформленных. У каждой плитки стоит изменение к предыдущему периоду такой же длины.

  2. /dashboard
    Та же сводка продаж с выбранным периодом в семь дней: пересчитанные плитки, проценты изменения и график.

    Снимок шире экрана — тяните его вбок

    7, 30 или 90 дней — переключатель пересчитывает всё сразу

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

  3. /dashboard
    Нижняя часть сводки: пять товаров с наибольшей выручкой с фотографиями, счётчики товаров, категорий, заказов и пользователей, лента последних заказов.

    Снимок шире экрана — тяните его вбок

    Что продаётся и что происходит прямо сейчас

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

Панель — часть проекта, а не отдельная покупка

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

Без звонков. Ответим в мессенджере, расчёт пришлём документом со сметой и сроком

03 · Содержимое

Страница правится формой с русскими подписями, а не вёрсткой

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

Кадры листаются вбок

  1. /pages
    Дерево страниц сайта с вложенностью, адресами, внутренними номерами и контекстным меню действий у строки.

    Снимок шире экрана — тяните его вбок

    Карта сайта живёт в системе, а не в документе у подрядчика

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

  2. /pages/1/edit
    Вкладка «Секции» в карточке главной страницы: список свёрнутых блоков — «Первый экран», «Разделы каталога», «Подборка товаров», «Условия магазина», «Анонс журнала», «Отзывы покупателей».

    Снимок шире экрана — тяните его вбок

    Главная — это перечень именованных блоков

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

  3. /pages/1/edit
    Раскрытая форма секции «Первый экран»: поля надзаголовка, заголовка и подзаголовка, две кнопки со ссылками и выбор изображения, каждое поле подписано по-русски.

    Снимок шире экрана — тяните его вбок

    Блок изнутри: подписанные поля, а не разметка

    Поля сгруппированы по смыслу — «Текст», «Кнопки», «Изображение», — у каждого свой переключатель языка, у картинки видны имя файла, размеры и вес. Как это будет выглядеть, решает шаблон. Оборотная сторона того же решения: новая секция, которой в проекте не было, проектируется разработчиком и входит в смету отдельной строкой.

  4. /pages/1/edit
    Вкладка настроек публикации страницы: флажок публикации, поля «Опубликовать в» и «Снять с публикации в», сегмент адреса, родительская страница, сортировка и шаблон.

    Снимок шире экрана — тяните его вбок

    Поставьте дату — страница выйдет сама

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

  5. /pages/1/edit
    Вкладка SEO в карточке страницы: поля «Заголовок для поисковых систем», «Описание для поисковых систем» и выбор типа разметки Schema.org.

    Снимок шире экрана — тяните его вбок

    Мета-теги лежат там же, где текст

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

  6. /pages/1/edit
    Вкладка «Места показа» в карточке страницы: отдельные флажки для поиска по сайту, карты сайта и меню витрины.

    Снимок шире экрана — тяните его вбок

    Убрать страницу из поиска, не снимая с публикации

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

04 · Обратимость

Ошибиться безопасно: каждое сохранение остаётся версией, а откат тоже обратим

Главный страх при передаче панели сотрудникам — «сломают и не восстановим». Пять сторон одного ответа на него.

  1. 01 Версии дата, автор, восстановление
  2. 02 Разница поле, было, стало
  3. 03 Откат обратим, как и всё остальное
  4. 04 Редиректы адрес сменился, ссылки живы
  5. 05 Корзина удалённое возвращается целиком

У страницы есть журнал версий, а не одна текущая

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

/pages/1/versions
Журнал версий страницы: список сохранений с датой, временем и автором каждой правки, кнопки просмотра и восстановления.

Снимок шире экрана — тяните его вбок

Перед откатом видно, что именно изменится

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

/pages/1/versions/24
Просмотр версии страницы: таблица различий по полям — название поля, его значение в версии и значение сейчас.

Снимок шире экрана — тяните его вбок

Откат сам сохраняется как версия — передумать можно ещё раз

Система прямо предупреждает: текущее состояние сохранится как новая версия. Это снимает второй страх — «откатили и потеряли то, что было».

/pages/1/versions/24
Предупреждение перед восстановлением версии: текущее состояние будет сохранено как новая версия, действие обратимо.

Снимок шире экрана — тяните его вбок

Смена адреса не обнуляет накопленное

Откуда, куда, код ответа, состояние и счётчик срабатываний. Смена адреса страницы и её поддерева заводит 301-й редирект сама. Для категорий и товаров редирект заводится вручную в этом же разделе — правило мы называем прямо, чтобы оно не стало неожиданностью.

/redirects
Раздел редиректов: таблица со старым адресом, новым адресом, кодом ответа 301 или 302, состоянием и счётчиком срабатываний.

Снимок шире экрана — тяните его вбок

Удалённое не исчезает, а лежит в корзине со сроком

Тип, название, кто удалил, дата и остаток дней до автоматической очистки. Кнопка возвращает запись целиком, соседняя удаляет окончательно. Тип подписан по-русски — товар, статья, категория, отзыв, страница.

/trash
Корзина удалённых записей: тип объекта по-русски, название, кто удалил, дата удаления и остаток дней до автоматической очистки.

Снимок шире экрана — тяните его вбок

05 · Витрина

То, что вы заполнили в форме, ровно так и выходит на сайт

Между полем в панели и строкой на сайте нет прослойки из вёрстки. Вот те же самые данные с другой стороны.

Кадры листаются вбок

  1. /
    Первый экран витрины магазина: надзаголовок, заголовок, подзаголовок, две кнопки и изображение — те же поля, что в форме секции.

    Снимок шире экрана — тяните его вбок

    Надзаголовок, заголовок, две кнопки, картинка

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

  2. /journal/desyat-nedorogih-veshchej
    Страница статьи на витрине: рубрики, заголовок, дата, время чтения, краткое описание и обложка.

    Снимок шире экрана — тяните его вбок

    Статья собирается из полей своей карточки

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

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

    Снимок шире экрана — тяните его вбок

    Что означает каждое место показа — написано в интерфейсе

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

06 · Журнал и справочники

Статьи, рубрики и общие данные компании ведут редакторы

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

Кадры листаются вбок

  1. /articles
    Список статей: обложки, контейнер, рубрика, дата публикации, число просмотров и состояние публикации.

    Снимок шире экрана — тяните его вбок

    Материалы видны списком: рубрика, дата, просмотры, статус

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

  2. /articles/3/edit
    Форма статьи: заголовок, краткое описание и текст с панелью форматирования, рядом вкладки SEO, публикации, мест показа, изображений, таксономий и контейнеров.

    Снимок шире экрана — тяните его вбок

    Статья пишется в редакторе, а не в разметке

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

  3. /taxonomies
    Справочник таксономий: рубрики и теги с названиями, системными именами и порядком, меняемым перетаскиванием.

    Снимок шире экрана — тяните его вбок

    Рубрики правит редактор, а не разработчик

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

  4. /global-sections
    Раздел глобальных секций: телефон, почта, режим работы, адреса шоурумов, социальные сети и реквизиты продавца.

    Снимок шире экрана — тяните его вбок

    Контакты и реквизиты лежат в одном месте, а не на пяти страницах

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

  5. /global-sections/4/edit
    Глобальная секция с пометкой «Несколько записей»: список шоурумов, у каждого свой город, адрес, часы работы, телефон и ссылка на карту.

    Снимок шире экрана — тяните его вбок

    Новый шоурум добавляется как ещё один экземпляр секции

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

07 · Языки, файлы, заявки

Второй язык — не второй проект, а заявка с сайта — не письмо в общей почте

Шесть экранов повседневной работы: переводы, язык самой панели, библиотека файлов, обращения с сайта и параметры проекта.

Кадры листаются вбок

  1. /pages/1/edit
    Вкладка «Содержимое» страницы с переключателями локалей RU и EN у каждого поля и отметкой заполненности рядом с языком.

    Снимок шире экрана — тяните его вбок

    Русская и английская версии живут в одной карточке

    У каждого поля свой переключатель RU и EN, рядом с языком горит отметка о заполненности. Адрес, настройки публикации и мета-теги общие — меняется только текст. Если английская версия не нужна, поля просто остаются пустыми.

  2. /settings
    Переключатель языка интерфейса в подвале бокового меню административной панели.

    Снимок шире экрана — тяните его вбок

    Панелью можно пользоваться на английском

    Язык интерфейса переключается в подвале меню и не связан с языком содержимого сайта. Это важно, когда часть команды не говорит по-русски, а вести сайт всё равно надо.

  3. /media
    Медиа-библиотека: изображения, разложенные по папкам, с фильтрами, в том числе фильтром «не используется».

    Снимок шире экрана — тяните его вбок

    Загруженные файлы собраны в один раздел с папками

    Изображения лежат отдельным разделом, разложены по папкам и отбираются фильтрами — в том числе фильтром «не используется». Файл выбирается прямо в форме, без повторной загрузки того же кадра в третий раз.

  4. /forms
    Список отправок форм с сайта: имя, форма, дата и статусы «Новая» и «Прочитано».

    Снимок шире экрана — тяните его вбок

    Заявки с сайта не теряются в почте

    Все отправки форм — обратная связь, заказ звонка, любые формы проекта — хранятся в панели списком со статусами «Новая» и «Прочитано». Письмо можно не заметить, строку со статусом «Новая» — сложнее.

  5. /forms/12
    Карточка отправки формы: имя, почта, телефон, сообщение и контекст отправки — адрес страницы, язык, адрес IP и устройство.

    Снимок шире экрана — тяните его вбок

    Видно, с какой страницы человек написал

    Кроме имени, почты, телефона и сообщения сохраняется контекст: адрес страницы, язык, адрес IP и устройство. Разговор начинается с понимания, что человек смотрел, а не с вопроса «откуда вы про нас узнали».

  6. /settings
    Раздел настроек сайта: таблица параметров с понятными названиями, группами и датой последнего изменения.

    Снимок шире экрана — тяните его вбок

    Параметры сайта меняются в интерфейсе, а не в коде

    Ключевые параметры вынесены в таблицу с понятными названиями, группами и датой последнего изменения. Видно не только текущее значение, но и когда его трогали в последний раз.

08 · Каталог

Товар описывается целиком: варианты, остатки по складам, галерея

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

  1. 01 Список фото, цена, остаток, поставщик
  2. 02 Карточка вкладки, подсказки под полями
  3. 03 Варианты цвета, размеры, надбавки
  4. 04 Остатки по сочетанию и по складу
  5. 05 Галерея порядок и кадр при наведении
  6. 06 Категории вложенность и счёт товаров

Весь каталог на одном экране, а не в пяти выгрузках

Превью, название, категория, поставщик, цена, остаток, статус публикации. Фильтры по публикации, наличию изображения и категории, поиск и сортировка по любой колонке, выгрузка отобранного в CSV.

/products
Таблица товаров с превью, названием, категорией, поставщиком, ценой, остатком и статусом публикации, фильтрами и сортировкой.

Снимок шире экрана — тяните его вбок

Карточка разложена по вкладкам, а не в одну простыню

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

/products/7/edit
Форма товара с вкладками: основное, изображения, свойства, опции и варианты, учёт остатков, настройки. Под полями подсказки.

Снимок шире экрана — тяните его вбок

Цвета, размеры и надбавки задаются галочками

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

/products/7/edit
Вкладка опций товара: набор значений из категории с отметками доступных и полями надбавки к базовой цене.

Снимок шире экрана — тяните его вбок

Остаток ведётся по конкретному сочетанию и конкретному складу

Каждое сочетание опций — отдельная складская единица со своим артикулом, количеством, порогом и ценой. Остаток выбирается по складу, итог считается тут же. «Синий, 42, на региональном складе» — это конкретное число, а не общая цифра на компанию.

/products/7/edit
Вкладка учёта остатков: складские единицы по сочетаниям опций с артикулом, количеством, порогом и ценой, выбор склада и итог по нему.

Снимок шире экрана — тяните его вбок

Галерея собирается из библиотеки, с отдельным кадром при наведении

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

/products/7/edit
Вкладка «Изображения» товара: список кадров с порядком, именем файла, размером и весом, отдельное поле для кадра при наведении.

Снимок шире экрана — тяните его вбок

Категории вложенные, с количеством товаров в каждой

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

/categories
Дерево категорий с вложенностью, статусом публикации и числом товаров: у родительской категории видно и своё число, и суммарное по ветке.

Снимок шире экрана — тяните его вбок

09 · Заказ

Заказ виден целиком: деньги, состав, адрес, отгрузка, договорённости, история

Семь сторон одной карточки. Ни одна из них не живёт в переписке менеджера и не уходит вместе с ним в отпуск.

  1. 01 Список статус, оплата, сумма, позиции
  2. 02 Карточка статус, контакты, разбор суммы
  3. 03 Состав позиции, вес, остаток
  4. 04 Доставка способ, срок, получатель, адрес
  5. 05 Отгрузка накладная, вес, лента событий
  6. 06 Заметки покупатель их не видит
  7. 07 История переходы статусов, автор, время

Все заказы в одной таблице, с фильтрами по статусу и датам

Номер, покупатель, сумма, статус заказа, статус оплаты, число позиций. Фильтры по статусу, по оплате и по диапазону дат, выгрузка отобранного в CSV. Вопрос «что не оплачено за неделю» решается двумя нажатиями, а не выгрузкой в таблицу.

/orders
Список заказов: номер, покупатель, сумма, статус заказа, статус оплаты и количество позиций; фильтры по статусу, по оплате и по диапазону дат.

Снимок шире экрана — тяните его вбок

Почему столько — читается с экрана, а не считается заново

Сумма разложена на подытог, доставку и итог; при промокоде между ними встаёт строка со скидкой и кодом. Примечание покупателя вынесено отдельным блоком: то, что человек написал при оформлении, чаще всего и есть причина будущей претензии. У завершённого заказа система пишет «Статус финальный», а вернуть его в работу может только сотрудник с отдельным правом.

/orders/871
Карточка заказа: номер и дата, селектор статуса, контакты покупателя, разбор суммы на подытог, доставку и итог, способ и статус оплаты, примечание покупателя.

Снимок шире экрана — тяните его вбок

Состав с весом и остатком по каждой позиции

Рядом с артикулом стоит текущее состояние склада: остаток числом или пометка «без ограничений». Вес считается по позициям и суммируется по заказу — его не приходится набирать вручную при оформлении отгрузки. Цена зафиксирована на момент заказа: изменение прайса не переписывает оформленное задним числом.

/orders/871
Таблица позиций заказа с миниатюрами товаров, артикулами, ценой, количеством, весом и суммой; внизу итоговая строка с числом позиций, числом единиц и общим весом.

Снимок шире экрана — тяните его вбок

Адрес разложен по полям, а не свален в строку

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

/orders/871
Вкладка доставки в заказе: выбранный способ, срок и стоимость доставки, поля получателя — имя, телефон, страна, город, индекс, улица и квартира.

Снимок шире экрана — тяните его вбок

Накладная, вес груза и лента движения — и честно о её границах

Накладная получает свой номер, вес считается по позициям, стоимость перевозки хранится рядом, лента событий отвечает на вопрос «где посылка» без звонка в службу. Отгрузить остаток заказа отдельной накладной можно кнопкой.

/orders/871
Вкладка «Отправления» в заказе: обработчик отгрузки, статус, трек-номер, вес груза, стоимость перевозки и развёрнутая лента событий движения.

Снимок шире экрана — тяните его вбок

Договорённости лежат в заказе, а не в переписке менеджера

«Просил позвонить за час», «меняем цвет», «доукомплектовать». Запись подписана автором и датой, пометка «Покупатель не видит» стоит прямо в интерфейсе — это разрешение писать по-рабочему. Счётчик заметок вынесен на вкладку, поэтому наличие договорённостей заметно из любой части карточки.

/orders/871
Вкладка «Заметки менеджера» в заказе с пометкой «Покупатель не видит»: записи с автором и датой и поле для добавления новой заметки.

Снимок шире экрана — тяните его вбок

Не «изменение», а сам переход из статуса в статус

«Новый → В обработке», «В обработке → Оплачен», «Оплачен → Отправлен». Польза — в промежутках: видно, что заказ простоял в обработке ночь, а собрался и уехал за сутки, и разговор «почему так долго» ведётся по датам. История ведётся системой сама.

/orders/871
Вкладка «История» заказа: лента событий от свежего к старому — создание заказа, смены статуса парами «было → стало» цветными метками, оплата; у каждого события автор и время.

Снимок шире экрана — тяните его вбок

10 · Склад, доставка, оплата

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

Семь экранов о том, что вы меняете сами: способы доставки и оплаты, пункты выдачи, склады и поставщики. Здесь же — прямой разговор о том, как подключаются перевозчики.

Кадры листаются вбок

  1. /delivery-methods
    Список способов доставки: название для покупателя, системный ключ, обработчик и статус активности.

    Снимок шире экрана — тяните его вбок

    Способ доставки — конструктор, а не пункт из чужого списка

    Название для покупателя, системный ключ, обработчик, который определяет логику, стоимость и доступность. Способ включается и скрывается без удаления — сезонная доставка выключается на зиму и возвращается весной той же кнопкой.

  2. /delivery-methods/2/edit
    Настройка обработчика способа доставки: базовая стоимость и поле перевозчика со значением «Без отгрузки перевозчику».

    Снимок шире экрана — тяните его вбок

    Про перевозчиков сказано прямо

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

  3. /pickup-points
    Справочник пунктов самовывоза: название, город, адрес, привязка к способу доставки и статус.

    Снимок шире экрана — тяните его вбок

    Пункты самовывоза ведёте вы сами

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

  4. /payment-methods
    Список способов оплаты с обработчиком и статусом; у способа доставки отмечено, какими способами оплаты при ней можно расплатиться.

    Снимок шире экрана — тяните его вбок

    Оплата собирается так же и связывается с доставкой

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

  5. /warehouses
    Список складов с кодом, адресом, признаком склада по умолчанию, статусом активности и количеством товаров на каждом.

    Снимок шире экрана — тяните его вбок

    Несколько складов, а не один общий котёл

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

  6. /warehouses
    Форма редактирования склада, открытая боковой панелью поверх списка: название, код, признак склада по умолчанию, адрес отправки, индекс, населённый пункт, контактное лицо и телефон.

    Снимок шире экрана — тяните его вбок

    Форма открывается панелью поверх списка — контекст не теряется

    Список остаётся на месте, панель приходит сбоку. Правка одной строки не выбрасывает человека со страницы и не заставляет заново искать место, на котором он остановился.

  7. /suppliers
    Справочник поставщиков с контактным адресом, статусом и числом привязанных товаров.

    Снимок шире экрана — тяните его вбок

    Поставщики привязаны к товарам, и видно, сколько позиций за каждым

    Контактный адрес, статус и число товаров у каждого. Когда поставщик поднимает цену или уходит, сразу понятно, какая часть каталога это переживёт.

11 · Статусы и скидки

Процесс продажи описывается вашими словами, а скидки считаются сами

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

Кадры листаются вбок

  1. /order-statuses
    Справочник статусов заказов: название, системный ключ, цвет, признак финального статуса и уведомление покупателю.

    Снимок шире экрана — тяните его вбок

    Свой путь заказа, а не чужая схема из семи шагов

    Название, системный ключ, цвет, признак финального статуса и уведомление покупателю. Нужен статус «Ждём поставку» или «Согласование замера» — он добавляется кнопкой и сразу появляется в карточке заказа и в списке.

  2. /promotions
    Список промоакций: тип скидки, значение, период действия, минимальная сумма заказа, счётчик применений с лимитом и статус.

    Снимок шире экрана — тяните его вбок

    Скидки и промокоды с периодом, порогом и лимитом

    Процент или фиксированная сумма, период действия, минимальная сумма заказа, счётчик применений с лимитом. Акция без промокода помечена отдельно. Видно не только то, что акция идёт, но и сколько раз ею уже воспользовались.

  3. /loyalty-tiers
    Уровни лояльности с порогом квалификационной суммы и процентом скидки постоянного покупателя.

    Снимок шире экрана — тяните его вбок

    Скидка постоянного покупателя считается сама

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

12 · Доступ и контроль

У каждого сотрудника ровно те права, что нужны, и видно, кто что менял

Пять экранов, которые обычно решают, отдадут панель команде или оставят её одному человеку «чтобы не сломали».

Кадры листаются вбок

  1. /users
    Список пользователей панели с ролью, статусом и датой, фильтрами по роли и по блокировке.

    Снимок шире экрана — тяните его вбок

    Сотрудники заведены поимённо, роль видна в списке

    Роль, статус и дата у каждого, фильтры по роли и по блокировке. Один общий логин «админ на всех» перестаёт быть единственным способом дать доступ — а вместе с ним исчезает вопрос «кто это сделал».

  2. /roles
    Список ролей с системным именем, описанием и числом выданных разрешений.

    Снимок шире экрана — тяните его вбок

    Роли описывают должности, а не абстрактные уровни доступа

    Системное имя, описание и число выданных разрешений. Свои роли создаются кнопкой, системные защищены от удаления. «Контент-менеджер» и «Менеджер заказов» — это разные роли, а не «уровень 2» и «уровень 3».

  3. /roles/3/edit
    Разрешения роли: список флажков, сгруппированных по областям системы, у каждого права человеческое название и пояснение.

    Снимок шире экрана — тяните его вбок

    Права выдаются по одному, с объяснением, что каждое открывает

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

  4. /roles/3/edit
    Разрешения роли в области магазина: управление заказами, возврат заказа в работу, настройка статусов и просмотр всех заказов — отдельными флажками.

    Снимок шире экрана — тяните его вбок

    Внутри заказов и товаров права тоже дробные

    Управление заказами, возврат заказа в работу, настройка статусов и просмотр всех заказов — четыре разных права. Создание товаров и управление товарами — тоже разные. Менеджер работает с заказами, но не выводит их из финального статуса.

  5. /activity-log
    Журнал действий: дата, инициатор, действие и объект; по записи об изменении открывается разбор «поле — было — стало».

    Снимок шире экрана — тяните его вбок

    Видно, кто и что менял, вплоть до конкретного поля

    Журнал фиксирует вход, создание, изменение и удаление. По записи об изменении кнопкой открывается разбор «поле — было — стало». Фильтры по инициатору, действию, типу объекта и дате. Разговор о том, кто уронил цену на витрине, занимает минуту.

13 · Границы

Что проектируется под конкретный проект: говорим об этом до договора

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

  • Набор секций для каждого типа страницы задаёт разработчик, а не свободное перетаскивание блоков мышью. Это осознанное архитектурное решение: оно защищает сайт от развала на телефоне и делает вёрстку предсказуемой. Если вам нужен опыт Tilda, разумнее взять Tilda.
  • Выгрузка списков в CSV работает и учитывает фильтры. Загрузку каталога из файла мы проектируем под структуру ваших данных: у каждой компании свой формат выгрузки, и универсальный загрузчик всё равно пришлось бы переписывать.
  • Службы доставки и онлайн-приём платежей подключаются под конкретного оператора и банк. Архитектурная основа в платформе готова — обработчики, накладные, лента событий, — и у нас есть реализованный опыт интеграций с популярными в России платёжными системами и службами доставки. Само подключение идёт отдельной строкой сметы со своим сроком и бюджетом: у каждого заказчика свой банк и свой набор перевозчиков. Эту строку мы называем до старта, а не в середине проекта.
  • Возврат денег покупателю мы проектируем под вашу финансовую схему. Вернуть заказ из финального статуса в работу можно — это отдельное право, — а движение денег идёт вашими обычными средствами и подключается отдельно.
  • Автоматический редирект заводится при смене адреса страницы и её поддерева. Для категорий и товаров редирект заводится вручную в разделе редиректов — правило мы называем прямо, чтобы оно не стало неожиданностью.
  • Мы не используем массовые коробочные CMS, а пишем чистую архитектуру на Laravel. В ней разберётся любая сильная in-house команда по открытой документации, но это не продукт для потокового подбора исполнителей на бирже: подрядчика вы будете выбирать по квалификации, а не по количеству.

Что дальше

Пришлём расчёт по вашей задаче: что войдёт, сколько это стоит и сколько займёт

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

Куда прислать расчёт

Без звонков. Ответим в мессенджере, расчёт пришлём документом со сметой и сроком

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

До подписания открыты границы платформы, шаблон договора, регламент поддержки и прайс на час доработки.

Получить расчёт проекта