Управляющая компания с 25+ виллами на Бали — это десятки договоров в месяц. Арендаторы, собственники, инвесторы — у каждого свой тип документа, свои условия, свои реквизиты. Раньше каждый договор собирался вручную: менеджер открывал шаблон в Google Docs, заполнял поля, проверял, конвертировал в PDF. На один документ уходило 20-30 минут. Мы решили это автоматизировать.
Задача: от шаблона до готового DOCX за 10 секунд
Нам нужен был инструмент, который умеет: принимать данные о вилле и контрагенте, подставлять их в нужный шаблон (tenant, management, owner или investor), генерировать готовый DOCX-файл и отправлять его прямо в Telegram — менеджеру или собственнику. При этом система должна хранить историю всех сгенерированных договоров и уведомлять об истекающих.
Архитектура решения
В основе — Telegram-бот @event4bosbot на Python (python-telegram-bot). Он работает как единая точка входа для всех юридических документов компании. Шаблоны договоров хранятся в Google Sheets: каждый тип контракта — отдельный лист с полями-переменными. Бот подтягивает актуальный шаблон, заполняет переменные данными из PostgreSQL (таблица villa_contracts, 46 записей) и генерирует финальный DOCX через python-docx.
Данные о виллах берутся из центральной базы: код виллы, адрес, количество спален, стоимость аренды, контактные данные собственника. Всё это уже синхронизировано через eZee channel manager и наш парсер бронирований.
4 типа договоров
Мы реализовали четыре типа документов, покрывающих все операционные потребности управляющей компании:
- Tenant (аренда): Договор краткосрочной или долгосрочной аренды виллы. Включает условия проживания, депозит, правила check-in/check-out, ответственность сторон.
- Management (управление): Договор между владельцем виллы и управляющей компанией. Фиксирует процент комиссии (15%), обязательства по техобслуживанию, маркетинг и отчётность.
- Owner (собственник): Документ для оформления отношений с новым владельцем виллы при подключении к нашей платформе.
- Investor (инвестор): Инвестиционный договор с прописанными условиями доходности, графиком выплат и механизмом выхода.
Мониторинг истекающих договоров
Система автоматически отслеживает даты окончания всех контрактов. Ежедневная проверка выявляет договоры, истекающие в ближайшие 60 дней, и отправляет уведомления в Telegram. Так мы не пропускаем ни одного продления — а раньше это была головная боль менеджеров.
На момент запуска система уже обнаружила два договора, требующих внимания: вилла 26# истекает 2 мая (36 дней), вилла 03# — 24 мая (58 дней). Без автоматического мониторинга эти даты легко бы потерялись в операционной рутине.
Результат
Время создания договора сократилось с 20-30 минут до 10 секунд. Менеджер выбирает тип, указывает виллу — бот генерирует готовый документ. История всех контрактов хранится в PostgreSQL, доступ через бота по коду виллы. Автоматические уведомления об истечении контрактов — ничего не теряется. Вся юридическая документация стала управляемой и прозрачной.