Сложносоставной товар или как вести курсы в Битрикс24
В данной статье мы рассмотрим возможности нетиповой доработки облачного портала Битрикс24 и обменом данными по API с личным кабинетом на портале Клиента.
Причины
Клиент работает в сфере профессионального образования для психологов и психотерапевтов, поэтому предоставляет образовательные услуги в виде целого набора продуктов, услуг и физических товаров. Некоторые пакеты обучения длятся более года.
Ранее Клиент работал в AmoCRM, но начал расширяться, потребовались новые доработки, интеграции, усложнение бизнес-процессов и т.д. Приняли решение "переехать" в CRM-систему “Битрикс24” с задачей - синхронизировать новые товары/курсы с новыми платёжными сервисами, онлайн-кассами, несколькими 1С и с личным сайтом Клиента, на котором он предоставляет свои услуги.
К сожалению, стандартный функционал Битрикса24, как облачный, так и коробочный, не предусматривает создания и ведения сложностостовных товаров — те товары, которые имеют в своей позиции еще несколько отдельных товаров.
Основные задачи
- Расширить возможности создания товаров внутри облачного Битрикс24;
- Обеспечить возможности контроля менеджерами за посещаемостью курса;
- Обеспечить стабильный обмен данными между Битрикс24 и сайтом Клиента.
Реализация:
По ряду внутренних причин Клиент не захотел переходить в коробочный Битрикс24. Мы приняли решение делать всю работу через встраиваемый блок “iframe”, который мы разбили на два интерфейса, первый - товары, второй - менеджеры.
Первая итерация: товары:
Было проведено несколько встреч с Клиентом, в которых были детально изучены необходимые для интерфейса элементы и для упрощения восприятия был нарисован пример логики интерфейса.
Давайте рассмотрим каждый элемент по отдельности с демонстрацией итогового вида.
Согласно принятым решениям был выбран основной объект как “Курс”, данные из которого отражались в виде списка всех курсов, который был назван “Справочник курсов”:
Давайте рассмотрим подробнее этот интерфейс:
- У Клиента есть несколько направлений: семинары, интервизии, практики, супервизии, ТИНы, и терапии. Все они для интерфейса были упрощены до “модулей”, количество которых определяется из суммы всех элементов в списке;
- Элемент “Действующий” определяет, является ли курс на данный момент рабочим. Это отражается в коде, как возможность интеграции его с личным кабинетом по API, в дальнейшем часто будем кратко описывать возможности такой интеграции;
- Клиент использует сложную систему ведения “Версии курса”, которая зависит от модулей внутри этого курса, например, один и тот же семинар, но разные практики или терапии — будут создавать разные версии курсов;
- “Цена курса” рассчитывается на основании цены каждого модуля внутри списка этого курса, а сумма модулей в курсе записывается в “Количество модулей”;
- Продолжительность модуля записывается в “Академические часы”, а “Тип” используется для передачи данных по API на портал Клиента;
- “Коэффициент” это внутренний для Клиента элемент системы, который отдельно от интерфейса используется для внутреннего расчета прибыли;
Сам модуль состоит из следующих данных:
Как видим, в модуле есть дополнительная информация, которая не отображена в Битрикс24, но она нужна, чтобы передать её через API на портал клиента в личный кабинет пользователя.
Теперь давайте рассмотрим элементы из “Редактировать курс”:
В данном элементе отражены два ранее не встречавшихся элемента “платёж” и “ссылка на товар в Б24”. Рассмотрим их:
Рассрочка (платёж) — отражает возможную рассрочку на данный курс, которая может быть вплоть до 12 месяцев. Сумма рассрочки зависит от суммы курса, разделённой на количество месяцев. Информация в дальнейшем передается через API на портал клиента, а так же отображается у менеджера в отдельном интерфейсе, который ведет этого клиента.
Ссылка на товар в Б24 — товар располагающийся в справочнике Битрикс24, который создается при сохранении курса. Цена этого товара всегда пересчитывается, если были внесены изменения в курс. Данный товар используется в сделках и подгружает информации о рассрочке и цене курса.
Вторая итерация: менеджер:
В AmoCRM менеджер должен был видеть даты, посещения и условия, которые есть у Клиента. Этот интерфейс был очень сильно ограничен и появился только из внешних мучительных стараний самого клиента.
В Битрикс24 мы также через “iframe” ввели данный функционал, рассмотрим его детально:
Опросив менеджеров и РОПа мы пришли к следующему виду, который необходим для клиента:
Нам необходимо было сделать визуально понятный и простой интерфейс, поэтому вместо галочек “пришёл” или “не пришёл” мы решили использовать зелёный и красный цвет.
На портале у Клиента ведётся учёт по возможности выдачи сертификата за пройденные модули, который рассчитывается исходя из количества посещений, например, если модуль рассчитан на 12 часов, значит это 3 дня по 4 часа с перерывами, если Клиент посетил онлайн-встречу, то это учитывается спикером и фиксируется в личном кабинете на портале Клиента. Затем это информация попадает в Битрикс24 через API
Планировалось также использовать iframe “календарь” для ручной записи Клиента или переноса встречи менеджером на определенные дни, доступные под спикера, но в финальной реализации от этого отказались.
Финальный вид данных интерфейсов был упрощен визуально, но оставил всю свою функциональность в карточке сделки в Битрикс24:
- В товарах теперь отражён нужный курс с расчетом Рассрочки, который был описан в первой итерации.
- Данные в блок “Встречи” попадают из личного кабинета в зависимости от выбранного Клиента и “iframe товаров”, которые с учётом рассрочки и формируют доступность определенных модулей для клиента
- “Статус” фиксирует, был ли оплачен данный семинар, если да, то в личном кабинете Клиента становятся доступными ссылки на встречу или возможность оффлайн-посещения. Этап оплаты фиксируется на стороне Битрикс24, а затем через API передается на портал Клиента.
Итог :
Мы разработали и добавили новые возможности в функционал Битрикс24, которые необходимы для ведения учёта курсов, исходя из требований как самого заказчика, так и с точки зрения правильного ведения бизнес-процессов и удобства слушателей.
В итоге наш Клиент получил возможность заносить информацию о сложносоставных товарах, ведению их менеджером, а также полный обмен этими данными с его сайтом.
Если для Вас актуальна такая автоматизация или у Вас есть какая-то другая задача, пишите нам на [email protected] или в наш Телеграм-бот https://t.me/StrategBot
А ещё подписывайтесь на наш Телеграм-канал https://t.me/strateg24, делимся опытом.
Нашим читателям дарим скидку 5% на все наши работы 💜