13 октября 2026 г.
7 мин

Развиваем и оптимизируем Odoo международного лагеря «Смарт»

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

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

Мы оптимизировали систему, перенесли её на свои серверы и написали множество доработок для менеджеров. За время сопровождения Odoo в лагере заметно вырос — и по возможностям, и по объёму решаемых задач.

Ключевые результаты

Без тормозовчаты и Odoo

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

Telegram + MAXв одном окне

Менеджеры переписываются с родителями в обоих мессенджерах прямо из карточек Odoo, а вся история собирается в одном месте.

Статус доставкиу каждого сообщения

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

Каждый деньбекапы в S3

Перенесли Odoo на наши серверы и настроили ежедневное резервное копирование в защищённое S3-хранилище.

С чем пришёл клиент

1
Odoo перестал загружаться

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

2
Сообщения терялись молча

Интеграция с Telegram не проверяла ответ мессенджера. Если сообщение не доходило до родителя, менеджер этого не видел и считал, что всё отправлено.

3
Ненадёжные рассылки

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

4
Неудобная работа менеджеров

Чтобы найти переписку с родителем конкретного ребёнка, приходилось искать её вручную. Не было видно, в какой смене есть непрочитанные сообщения. Вдобавок родители всё чаще переходили в мессенджер MAX, с которым Odoo не работал.

Что было сделано

1. Оптимизация и перенос на наши серверы

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

После этого перенесли Odoo на наши мощности: настроили защиту сервера, мониторинг и ежедневные бекапы в защищённое S3-хранилище. Подробнее о том, как мы размещаем и обслуживаем Odoo, — на странице размещения и администрирования.

Список чатов с постраничной загрузкой

2. Гарантированная доставка сообщений

Теперь каждое сообщение, отправленное родителю из Odoo, проверяется по ответу мессенджера. Если доставка не удалась — например, к контакту не привязан чат в мессенджере, — сообщение в карточке подсвечивается красным, а рядом указывается причина ошибки. Менеджер сразу видит проблему и может связаться с родителем другим способом.

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

Недоставленное сообщение с причиной ошибки

3. Интеграция с мессенджером MAX

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

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

Если файл ещё не успел обработаться на стороне MAX, Odoo не выдаёт ошибку, а повторяет отправку через несколько секунд.

4. Чаты по сменам

Менеджер работает со сменой, а не с абстрактным списком всех диалогов. На канбане смен появился счётчик непрочитанных диалогов, а в карточке смены — кнопки «Сообщения» и «Все диалоги», которые открывают переписку только с родителями детей этой смены. В списке чатов смены рядом с каждым диалогом видно родителя и ребёнка, а кнопка «Чат» сразу открывает переписку.

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

Счётчик непрочитанных на канбане смен
Все чаты смены: родитель и ребёнок в каждой строке

5. Массовые рассылки

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

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

Мастер массовой рассылки
Журнал рассылок со статусами

6. Интеграция с сайтом

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

7. Порядок в данных и документах

Параллельно исправляли ошибки в сторонних модулях и добавляли то, чего не хватало в ежедневной работе:

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

Итоги проекта

Odoo, который перестал загружаться, снова работает быстро и живёт на наших серверах с ежедневными бекапами в защищённое S3-хранилище.

Менеджеры переписываются с родителями в Telegram и MAX прямо из карточек Odoo, видят непрочитанные диалоги по каждой смене и сразу узнают, если сообщение не дошло.

Система продолжает развиваться вместе с лагерем. Если ваш Odoo внедрял другой подрядчик, а теперь нужно его ускорить или развивать дальше — мы поможем.

Odoo тормозит или работает не так, как нужно? Оставьте заявку — разберёмся.

Мы никому не передаем ваши данные.

Ваши данные надежно защищены

Заказ звонка

Мы никому не передаем ваши данные.

Ваши данные надежно защищены