Глобально: 1) Добавить файлы конфигурации. 2) Перейти на aiogram. Бот водителей: 1) Кнопки "Завершить рабочий день" и "Начать рабочий день". Если рабочий день не начат, то точки не поступают водителю. 2) После того, как придет точка, водитель нажимает "Принять" и менеджер, диспетчер и клиент получают уведомление, что водитель выехал. 3) Создать отдельного бота для клиентов, авторизация по номеру телефона. 4) Кнопка "Временно не выполнено": - Для ТВП будет перемещать маршрут с 1 на 3 место; - Для ВГВ будет давать маршруту статус "Не выполнено" и станет доступным для присвоения другому водителю; - Для ВГВ на полигон не нужна; 5) Кнопка "Поломка", которая освобождает все маршруты, привязанные к этому водителю, и отправляет об этом сообщение менеджеру и диспетчеру. Свободные маршруты будут в боте диспетчера в кнопке "Свободные маршруты". 6) После того, как водитель приехал на точку, он должен передать данные о кубатуре/количестве контейнеров, которые забрал (фото/видео/текст). Функция принятия данных будет работать только до того момента, пока водитель не нажмет "Выполнено", "Не выполнено", "Временно не выполнено" или "Поломка". Данные добавляются в поле "Информация" в таблице и привязываются к маршруту, на который были переданы данные. 7) Если водитель нажал "Не выполнено", то водитель должен отправить текст/фото/видео, почему не выполнено. Данные добавляются в поле "Причина" в таблице и привязываются к маршруту, на который были переданы данные. 8) При добавлении маршрута запрашивать адрес/координаты (сделать, чтобы были доступны 2 варианта) и генерируется ссылка на гугл карты. 9) Сделать отдельные системы для ТВП и ВГП по такой технологии: - Диспетчер при добавлении маршрута выбирает тип - ТВП или ВГВ; - Если тип ТВП, то маршруты идут друг за другом, пока не дойдут до типа ВГВ; - Если тип ВГВ, то бот сразу попросит диспетчера указать маршрут до полигона. После каждого выполнено/не выполнено на ВГВ бот будет кидать точку на полигон; - Полигон будет считаться отдельной точкой маршрута, поэтому будет поддерживать "Выполнено", "Не выполнено" и "Поломка". 9.1) Создать отдельную таблицу "Авто", в которой будет указана полная информация об авто. 9.2) При создании маршрута диспетчер выбирает авто для этого маршрута. 9.3) При отправке отчета по количеству взятых контейнеров нужно указывать сколько из сколько уже загружено 10) На ВГВ маршруте есть 3 этапа - "Выезд", "Прибытие" и "Выполнено"/"Не выполнено"/"Поломка". Если между "Прибытие" и "Выполнено" пройдет более 20 минут, то диспетчер и менеджер получают сообщение, что авто простаивает. 11) На каждом типе маршрута и на каждом этапе маршрута добавить кнопку "Пауза", которая будет менять статус водителя и не отправлять уведомления за простой. Но работать будет максимум 1 час пауза. 12) Если на пути к полигону водитель нажал "Не выполнено", то: - Водитель нажимает "Не выполнено" на маршруте к полигону; - Информация об этом приходит диспетчеру; - Бот просит ввести новый адрес полигона; - Отправляет новый адрес водителю. 13) Кнопку перехода на карту сделать кнопкой. Бот диспетчер: 1) Добавить кнопку просмотра свободных маршрутов и сделать возможность привязать их к водителю. 2) Добавить кнопку, которая будет открывать меню с активными точками и предоставит возможность диспетчеру редактировать точку. 3) Добавить кнопку, которая будет открывать меню с клиентами и их данными. Бот менеджер: 1) Создать гугл таблицу, в которую менеджер будет вносить данные о клиентах. 2) Система хранения клиентов: - Раз в 3 минуты бот будет парсить значения из таблицы и сохранять их в БД (полностью использовать гугл таблицу как БД ненадежный вариант) - У диспетчера будет возможность просмотреть список всех клиентов (и их данные) по кнопке; - При добавлении маршрута диспетчер будет указывать ID клиента или что-то другое (до обсуждения); 3) Система приоритетов (1 - срочно 2- приоритетно 3- по маршруту 4- не срочно)): - Эти цифры менеджер будет добавлять в гугл таблицу в отдельный столбец; - Эти цифры бот не будет обрабатывать автоматически, а лишь сохранит их и будет показывать диспетчеру; - Систему приоритетов для диспетчера не трогаю, она останется как есть; 4) Возможность делать отчеты за определенный промежуток времени. 5) В отчеты добавить все новые данные (почему не выполнено, информация о контейнерах и т.д.). 6) Возможность просматривать распределение маршрутов по клиентам.