деплоид.

Управление заказами

Заказы и расчёты в одной системе

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

Собственный рабочий проект

Проблема

Файлы, статусы заказов и расчёты приходилось искать в разных переписках.

Что я сделал

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

От заявки до принятого результатаПроцесс BPMN

Нажмите на действие, чтобы посмотреть, что происходит на этом шаге.

От заявки до принятого результатаОдин процесс, две дорожки: система и человек. Круг — событие, скруглённый прямоугольник — действие, ромб с крестом — выбор одного пути. Голубые действия используют ИИ. Решение о приёмке принимает человек. Стрелка «Нет» возвращает работу исполнителю; статусы и расчёты ведёт система.СистемаЧеловекНетДаЗаявка полученаРабота принята?Заказ закрытОт заявки до принятого результатаОдин процесс, две дорожки: система и человек. Круг — событие, скруглённый прямоугольник — действие, ромб с крестом — выбор одного пути. Голубые действия используют ИИ. Решение о приёмке принимает человек. Стрелка «Нет» возвращает работу исполнителю; статусы и расчёты ведёт система.СистемаЧеловекНетДаЗаявка полученаРабота принята?Заказ закрыт
Обозначения на схеме
Начало и завершениеДействиеОдин из путей

Решение о приёмке принимает человек. Стрелка «Нет» возвращает работу исполнителю; статусы и расчёты ведёт система.

Почему сделано так

Разделение доступа

Исполнитель работает со своими задачами. Общая картина заказов и расчётов остаётся у владельца.

Очередь синхронизации

Внутренний учёт не зависит от доступности Notion. Данные для внешнего сервиса сохраняются в очередь.

Проверка начислений

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

Технические подробности+

Учёт хранится в SQLite. Данные для Notion передаются через очередь. Доступы разделены по ролям. Эти решения позволяют отделить внутреннюю работу бота от доступности внешней системы.

  • Telegram
  • Python
  • SQLite
  • Notion

Есть похожая задача?