30 Марта

    Разработка сервиса online-остатков оптовой компании

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

    В большинстве случаев для обмена информацией практикуются различные виды email рассылок. Клиент каждое утро на почту получает свежий excel-прайс с остатками и актуальным наличием товара у оптовой компании. Оптовый продавец может либо поддерживать актуальность данного файла вручную, либо делать регулярную выгрузку из 1С (если данное ПО используется на предприятии). В случае с 1С процесс можно автоматизировать и делать выгрузку по расписанию.

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

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

    Обобщенная схема работы сервиса

    • В 1С формируется выгрузка остатков по складу в формате XML.
    • Скрипт обрабатывает выгрузку и строит таблицу с остатками товара.
    • Клиент (оптовый покупатель) просматривает остатки и бронирует (заказывает) интересующего его товары в необходимом количестве.
    • Дабы идентифицировать клиентов реализован механизм регистрации и авторизации пользователей.

    XML выгрузка

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

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

    Таким образом, сначала мы обрабатываем общий файл с остатками и базовыми оптовыми ценами, а потом “читаем” файлы для специальных групп опта и сохраняем из них только привязку к группе и цену на продукцию. Это позволяет не раздувать базу данных и не хранить в ней дубли товаров.

    Остатки автоматически обновляются 2 раза в сутки. Кроме этого реализована опция ручного запуска обновления данных.

    Публикация остатков в web-сервисе

    Для того чтобы выводить для пользователей данные по остаткам товара на складе, необходимо было в первую очередь решить задачу с интерфейсом. Информация должна быть подана в удобном для восприятия и дальнейшей с ней работы виде. Как было указано выше, клиент должен иметь возможность просмотреть текущие остатки по интересующему его товару (или группам товаров), отложить необходимые позиции и выполнить бронирование партии.

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

    Далее на повестке был вопрос дизайна. В этом проекте мы решили отойти от классической схемы и не стали разрабатывать дизайн с нуля. Это бы потребовало много сил и времени и отодвинуло бы сроки запуска проекта. Мы приняли решение использовать готовый html-шаблон верстки интерфейса подобного типа.

    Как это помогает в решении вопроса? Понятно, что никто до этого не создавал интерфейс отвечающий всем требованиям разрабатываемого проекта. Тем не менее, готовая верстка давала нам набор всех необходимых элементов управления, которые нужно было скомпоновать должным образом (переверстать), чтобы в итоге получить требуемый результат. В общем нужно было найти html-“конструктор”, из которого мы построим нужный нам UI. Выдвигались определенные требования, как к набору необходимых элементов управления, так и к дизайну в целом. Если бы таковой шаблон не обнаружился, то пришлось бы вернуться к плану “Б” – разрабатывать дизайн web-приложения с нуля.

    К счастью поиски увенчались успехом и на Themeforest мы нашли подходящий нам “конструктор”, который позволял на его основе создать требуемый интерфейс сервиса.

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

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

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

    Внедрен поиск по коду и наименованию товара.

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

    Начало работы с сервисом

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

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

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

    В дальнейшем нам еще предстоит работа с посадочной страницей в вопросе анализа трафика и оценки ее эффективности. В результате в страницу могут быть внесены какие-либо корректировки с целью ее улучшения (повышения показателя конверсии).

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

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

    Процесс работы с сервисом

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

    • Регистрация;
    • Авторизация;
    • Выбор товаров;
    • Бронирование;
    • Оформление заказа;
    • Получаем счет от оптового отдела. Оплачиваем и ждем поступления товара.

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

    Для крупных магазинов предусмотрены дополнительные возможности – выгрузка остатков в XML-формате. Это позволяет магазину клиента настроить автоматическое обновление информации об остатках товара на собственном сайте. Например, в случае реализации связи товаров сайта с товарами из XML по коду товара.

    Для всех клиентов в зависимости от объемов заказов предусмотрено наличие нескольких ценовых групп (групп опта). В зависимости от принадлежности к той или иной группе будут выводиться разные цены на товар.

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

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

    Обработка заказов

    При оформлении заказа информация по нему отправляется на сервер с 1С для дальнейшей обработки. Копия сохраняется в базу данных сервиса.
    Список всех заказов и детальная информация по отдельному заказу доступны в административной панели приложения.

    Для удобства работы со списком заказов внедрен фильтр. Можно выполнить фильтрацию по параметрам:

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

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

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

    Архив изображений

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

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

    Для тех, кто хочет получить все и сразу, есть опция загрузки полного архива файлов. Если архив из файлов, выбранных в результате фильтрации, мы формируем при активации опции “Скачать”, то полный архив мы формируем заранее (один раз в сутки), чтобы не нагружать ресурсы сервера.

    Обратная связь

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

    Если в процессе работы у клиента возникает вопрос, который он не может решить самостоятельно, мы предлагаем воспользоваться разделом помощи.

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

    Универсальность решения

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

    Скрипт легко поддается масштабированию и работает на быстрой платформе yii 2 framework. Ознакомиться с сервисом можно по адресу www.lullabe.ru

    Если вам требуется внедрение аналогичного сервиса, свяжитесь с нами.