Как настроить приложение skat client
Система СКАТ маркирует трафик на основании распознанных протоколов (которых около 6000), а также по номерам автономных систем или по подсетям (предварительно присвоив их какой-нибудь автономной системе с приватной нумерацией).
Мы будем использовать комбинацию этих методов.
Классификация на основе протоколов
Тут надо не забыть, что cs7 – наименее приоритетный трафик, а cs0 – наиболее приоритетный.
Трафик, который невозможно определить по протоколу, необходимо классифицировать по направлениям (номерам автономных систем – AS) аналогичным образом в текстовом файле:
8987 cs3
15169 cs2
33844 pass
Ключевое слово pass говорит о том, что этот трафик не будет обрабатываться DPI, что может быть полезно для платежных систем и банков – абоненты смогут совершить оплату, имея при этом учетную запись в состоянии блокировки.
В случае явного отсутствия у требуемого сервиса собственной AS реализована возможность присвоения IP-адресам автономных систем с приватной нумерацией путем создания текстового файла aslocal.txt с последующим добавлением в него соответствующих записей:
192.0.2.100/32 65000
Полученные файлы конфигурации необходимо преобразовать во внутренний формат:
cat aslocal.txt|as2bin /etc/dpi/aslocal.bin
cat asnum.txt|as2dscp /etc/dpi/asnum.dscp
Параметр pass используется для пропуска трафика без обработки.
Для этой же цели создаются «белые списки» в виде файлов, в которые заносят данные о URL, IP-адресах, и полей CN сертификатов.
Создаем текстовый файл white_ip.txt:
192.0.2.200
После создания всех файлов необходимо преобразовать их и переместить в папку:
/var/lib/dpi
Преобразование файлов во внутренний формат:
cat white_url.txt|url2dic my_url_list.dic
cat white_ip.txt|ip2bin my_ip_list.bin
cat white_cn.txt|url2dic my_cn_list.dic
Перемещение файлов:
mv my_url_list.dic /var/lib/dpi/whlist.bin
mv my_cn_list.dic /var/lib/dpi/whlistcn.bin
mv my_ip_list.bin /var/lib/dpi/whlistip.bin
Создание тарифных планов
Конфигурация тарифного плана блокировки:
htb_inbound_root=rate 14kbit
htb_inbound_class0=rate 8bit ceil 8bit
htb_inbound_class1=rate 8bit ceil 8bit
htb_inbound_class2=rate 8bit ceil 8bit
htb_inbound_class3=rate 8bit ceil 8bit
htb_inbound_class4=rate 8bit ceil 14kbit
htb_inbound_class5=rate 8bit ceil 8bit
htb_inbound_class6=rate 8bit ceil 8bit
htb_inbound_class7=rate 8bit ceil 8bit
htb_root=rate 14kbit
htb_class0=rate 8bit ceil 8bit
htb_class1=rate 8bit ceil 8bit
htb_class2=rate 8bit ceil 8bit
htb_class3=rate 8bit ceil 8bit
htb_class4=rate 8bit ceil 14kbit
htb_class5=rate 8bit ceil 8bit
htb_class6=rate 8bit ceil 8bit
htb_class7=rate 8bit ceil 8bit
Другие тарифы описываем в виде двух конфигурационных файлов (для дневного и ночного периода). Это позволит с помощью cron изменять тарифные скорости для абонентов в разное время суток.
Покажем пример конфигурации для дневного тарифного плана №10:
htb_inbound_root=rate 95mbit
htb_inbound_class0=rate 8bit ceil 95mbit
htb_inbound_class1=rate 8bit ceil 95mbit
htb_inbound_class2=rate 8bit ceil 95mbit
htb_inbound_class3=rate 8bit ceil 95mbit
htb_inbound_class4=rate 8bit ceil 95mbit
htb_inbound_class5=rate 8bit ceil 95mbit
htb_inbound_class6=rate 8bit ceil 95mbit
htb_inbound_class7=rate 8bit ceil 95mbit
htb_root=rate 95mbit
htb_class0=rate 8bit ceil 95mbit
htb_class1=rate 8bit ceil 95mbit
htb_class2=rate 8bit ceil 95mbit
htb_class3=rate 8bit ceil 95mbit
htb_class4=rate 8bit ceil 95mbit
htb_class5=rate 8bit ceil 95mbit
htb_class6=rate 8bit ceil 95mbit
htb_class7=rate 8bit ceil 95mbit
Конфигурация для ночного ТП №10:
htb_inbound_root=rate 50mbit
htb_inbound_class0=rate 8bit ceil 50mbit
htb_inbound_class1=rate 8bit ceil 50mbit
htb_inbound_class2=rate 8bit ceil 50mbit
htb_inbound_class3=rate 8bit ceil 50mbit
htb_inbound_class4=rate 8bit ceil 50mbit
htb_inbound_class5=rate 8bit ceil 50mbit
htb_inbound_class6=rate 8bit ceil 50mbit
htb_inbound_class7=rate 8bit ceil 50mbit
htb_root=rate 50mbit
htb_class0=rate 8bit ceil 50mbit
htb_class1=rate 8bit ceil 50mbit
htb_class2=rate 8bit ceil 50mbit
htb_class3=rate 8bit ceil 50mbit
htb_class4=rate 8bit ceil 50mbit
htb_class5=rate 8bit ceil 50mbit
htb_class6=rate 8bit ceil 50mbit
htb_class7=rate 8bit ceil 50mbit
Значение 95 Мбит/с выставлено, чтобы ограничить скорость несколько раньше, чем это сделает порт FastEthernet коммутатора доступа.
Теперь мы можем применять тариф к IP-адресам.
Выглядит это примерно таким образом:
fdpi_ctrl load profile --policing /etc/dpi/cfg/rateplans/142_day.cfg –ip 192.0.2.3
Начиная с версии 4.0 в ПО появились профили, которые придали значительную гибкость DPI. Профили дают некую абстракцию, позволяют не привязывать файлы к настройкам абонента, вдобавок они дают возможность использовать разные правила перенаправлений для разных абонентов, а не делать это на один и тот же URL из глобальной конфигурации. Профили можно изменять на лету, и их конфигурация будет применена ко всем абонентам, к которым прикреплен профиль.
Таким образом, мы получаем возможность удобно изменять скорость на тарифе или переключать между дневным и ночным режимами полисинга.
Конфигурация профиля для однократного оповещения абонента:
fdpi_ctrl load profile --service 6 --profile.name notify --profile.json '< "redirect" : "example.org/notify", "check" : false >'
fdpi_ctrl load profile --policing /etc/dpi/cfg/rateplans/block.cfg --profile.name stop
fdpi_ctrl load profile --policing /etc/dpi/cfg/rateplans/10_day.cfg --profile.name 10
Работа с абонентами
В примере ниже мы видим вывод этих команд с профилем №6 для полисинга и отсутствием примененных профилей для перенаправлений:
fdpi_ctrl list --policing --ip 192.0.2.5
Autodetected fastdpi params : dev='lo', port=29000
connecting 127.0.0.1:29000 .
================================
192.0.2.5 HTB dnlnk_rate=0.00mbit dnlnk_ceil=0.00mbit
rrate=11875000(95.00mbit) rburst=5937500(47.50mbit)
rceil=11875000(95.00mbit) rcburst=5937500(47.50mbit) rate0=0.00mbit
ceil0=95.00mbit rate1=0.00mbit ceil1=95.00mbit rate2=0.00mbit
ceil2=95.00mbit rate3=0.00mbit ceil3=95.00mbit rate4=0.00mbit
ceil4=95.00mbit rate5=0.00mbit ceil5=95.00mbit rate6=0.00mbit
ceil6=95.00mbit rate7=0.00mbit ceil7=95.00mbit
HTB_INBOUND rrate=11875000(95.00mbit) rburst=5937500(47.50mbit)
rceil=11875000(95.00mbit) rcburst=5937500(47.50mbit) rate0=0.00mbit
ceil0=95.00mbit rate1=0.00mbit ceil1=95.00mbit rate2=0.00mbit
ceil2=95.00mbit rate3=0.00mbit ceil3=95.00mbit rate4=0.00mbit
ceil4=95.00mbit rate5=0.00mbit ceil5=95.00mbit rate6=0.00mbit
ceil6=95.00mbit rate7=0.00mbit ceil7=95.00mbit 6
---------------------------------
Result processing ip=192.0.2.5 :
------------------
1/1/0
fdpi_ctrl list --service –ip 192.0.2.5
Autodetected fastdpi params : dev='lo', port=29000
connecting 127.0.0.1:29000 .
================================
192.0.2.5 0
---------------------------------
Result processing ip= 192.0.2.5 :
------------------
1/0/1
При включении в кабинете водителя будет отображаться приоритет
При включенной настройке диспетчеры будут видеть статус подключения водителя. Если водитель в сети, он будет выделен в списке:
Интервал отсылки координат водителя на сервер.
Когда водителю поступает заказ, или он сам берет свободный заказ в работу, начинается обратный отсчет таймера принятия решения о времени, за которое водитель сможет приехать на заказ.
В данной настройке можно задать значения для этого таймера. Значение задается в секундах.
В настройке можно задать количество минут, которые водитель будет ждать клиента бесплатно. Обратный отсчет времени начинается в момент прибытия водителя на заказ (нажатие кнопки "На месте" в водительском терминале).
Значение данной настройки может быть переопределено параметром тарифа:
После превышения бесплатного времени ожидания начинает взыматься плата за ожидание, в соответствии с тарифом.
Если настройка активна, при нажатии на кнопку "Стоп" в таксометре, итоговая стоимость заказа будет произнесена голосом.
Стоимость заказа отображается в списке свободных заказов, а так же при поступлении заказа водителю (в момент принятия решения о времени подъезда водителя).
Настройка позволяет скрыть стоимость поездки до того момента, когда водитель возьмет заказ. Чтобы стоимость не влияла на принятие решения.
Сохранение состояния таксометра необходимо для обеспечения восстановления данных по текущему заказу после сбоя (выключение телефона, прекращение работы программы и т.п.). Информация сохраняется в файл на устройстве с заданной в настройке периодичностью. При восстановлении соединения, сохраненные данные таксометра передаются на сервер.
Водитель может работать с заказами напрямую, без участия диспетчера. Например при посадке пассажира на улице. Для этого достаточно запустить таксометр в водительском терминале в главном меню.
Для учета таких заказов в работе службы, необходимо включить эту настройку. Иначе самостоятельные заказы водителей не будут учитываться.
В списках такие заказы будут отображаться с заголовком, заданным в настройке "Заголовок прямого заказа" (Настройки -> Настройки сервера -> Заказы).
Возможность работы с заказами напрямую можно отключить, включив настроку "Запретить запуск таксометра".
Если настройка активна, то на экране с запущенным таксометром будет отображена стоимость километра и стоимость минуты стоянки, в соответствии с текущим тарифом.
Если заказ не прямой, тариф определяется в момент создания заказа. При работе с таким заказом в таксометре по умолчанию выбран тариф "Фиксированный", стоимость километра и минуты стоянки отображаться при этом не будут.
При активной настройке, в водительском терминале будет доступна кнопка для звонка клиенту. Кнопка будет отображена после подтверждения времени подъезда и до момента запуска таксометра. Кнопка позволяет при необходимости связаться с клиентом прямо из приложения.
При включенной настройке, когда водитель остановит таксометр, у него будет отображен диалог для ввода итоговой стоимости заказа. Эта стоимость будет отображена в терминале, а так же озвучена клиенту (если включена настройка "Произносить стоимость поездки").
Указанная стоимость будет учтена как итоговая стоимость заказа.
Если настройка не включена, к заказу применяется стоимость в соответствии с итоговыми показаниями счетчика (включая доп.услуги).
Когда водитель берет заказ в работу, он указывает время, через которое сможет подъехать к клиенту. Это время сообщается клиенту звонком, в СМС или в приложении для заказа такси, в момент когда заказ берется в работу.
Когда водитель прибывает на место, он в терминале нажимает кнопку "На месте". В этот момент клиенту сообщается о том, что водитель подъехал и ожидает его.
Настройка позволяет задать ограничение на разницу в указанном водителем времени подъезда и его фактическим прибытием к клиенту. Чтобы минимизировать ситуации, когда водитель вызывает пассажира раньше, чем обещал.
Если время, оставшееся до указанного клиенту времени, превышает настройку, водитель не сможет установить заказу статус "Ожидание клиента".
Значение указывается в секундах. Если нет необходимости в ограничении, укажите значение 0.
Система СКАТ маркирует трафик на основании распознанных протоколов (которых около 6000), а также по номерам автономных систем или по подсетям (предварительно присвоив их какой-нибудь автономной системе с приватной нумерацией).
Мы будем использовать комбинацию этих методов.
Классификация на основе протоколов
Тут надо не забыть, что cs7 – наименее приоритетный трафик, а cs0 – наиболее приоритетный.
Трафик, который невозможно определить по протоколу, необходимо классифицировать по направлениям (номерам автономных систем – AS) аналогичным образом в текстовом файле:
8987 cs3
15169 cs2
33844 pass
Ключевое слово pass говорит о том, что этот трафик не будет обрабатываться DPI, что может быть полезно для платежных систем и банков – абоненты смогут совершить оплату, имея при этом учетную запись в состоянии блокировки.
В случае явного отсутствия у требуемого сервиса собственной AS реализована возможность присвоения IP-адресам автономных систем с приватной нумерацией путем создания текстового файла aslocal.txt с последующим добавлением в него соответствующих записей:
192.0.2.100/32 65000
Полученные файлы конфигурации необходимо преобразовать во внутренний формат:
cat aslocal.txt|as2bin /etc/dpi/aslocal.bin
cat asnum.txt|as2dscp /etc/dpi/asnum.dscp
Параметр pass используется для пропуска трафика без обработки.
Для этой же цели создаются «белые списки» в виде файлов, в которые заносят данные о URL, IP-адресах, и полей CN сертификатов.
Создаем текстовый файл white_ip.txt:
192.0.2.200 443
После создания всех файлов необходимо преобразовать их и переместить в папку:
/var/lib/dpi
Преобразование файлов во внутренний формат:
cat white_url.txt|url2dic my_url_list.dic
cat white_ip.txt|ip2bin my_ip_list.bin
cat white_cn.txt|url2dic my_cn_list.dic
Перемещение файлов:
mv my_url_list.dic /var/lib/dpi/whlist.bin
mv my_cn_list.dic /var/lib/dpi/whlistcn.bin
mv my_ip_list.bin /var/lib/dpi/whlistip.bin
Создание тарифных планов
Конфигурация тарифного плана блокировки:
htb_inbound_root=rate 14kbit
htb_inbound_class0=rate 8bit ceil 8bit
htb_inbound_class1=rate 8bit ceil 8bit
htb_inbound_class2=rate 8bit ceil 8bit
htb_inbound_class3=rate 8bit ceil 8bit
htb_inbound_class4=rate 8bit ceil 14kbit
htb_inbound_class5=rate 8bit ceil 8bit
htb_inbound_class6=rate 8bit ceil 8bit
htb_inbound_class7=rate 8bit ceil 8bit
htb_root=rate 14kbit
htb_class0=rate 8bit ceil 8bit
htb_class1=rate 8bit ceil 8bit
htb_class2=rate 8bit ceil 8bit
htb_class3=rate 8bit ceil 8bit
htb_class4=rate 8bit ceil 14kbit
htb_class5=rate 8bit ceil 8bit
htb_class6=rate 8bit ceil 8bit
htb_class7=rate 8bit ceil 8bit
Другие тарифы описываем в виде двух конфигурационных файлов (для дневного и ночного периода). Это позволит с помощью cron изменять тарифные скорости для абонентов в разное время суток.
Покажем пример конфигурации для дневного тарифного плана №10:
htb_inbound_root=rate 95mbit
htb_inbound_class0=rate 8bit ceil 95mbit
htb_inbound_class1=rate 8bit ceil 95mbit
htb_inbound_class2=rate 8bit ceil 95mbit
htb_inbound_class3=rate 8bit ceil 95mbit
htb_inbound_class4=rate 8bit ceil 95mbit
htb_inbound_class5=rate 8bit ceil 95mbit
htb_inbound_class6=rate 8bit ceil 95mbit
htb_inbound_class7=rate 8bit ceil 95mbit
htb_root=rate 95mbit
htb_class0=rate 8bit ceil 95mbit
htb_class1=rate 8bit ceil 95mbit
htb_class2=rate 8bit ceil 95mbit
htb_class3=rate 8bit ceil 95mbit
htb_class4=rate 8bit ceil 95mbit
htb_class5=rate 8bit ceil 95mbit
htb_class6=rate 8bit ceil 95mbit
htb_class7=rate 8bit ceil 95mbit
Конфигурация для ночного ТП №10:
htb_inbound_root=rate 50mbit
htb_inbound_class0=rate 8bit ceil 50mbit
htb_inbound_class1=rate 8bit ceil 50mbit
htb_inbound_class2=rate 8bit ceil 50mbit
htb_inbound_class3=rate 8bit ceil 50mbit
htb_inbound_class4=rate 8bit ceil 50mbit
htb_inbound_class5=rate 8bit ceil 50mbit
htb_inbound_class6=rate 8bit ceil 50mbit
htb_inbound_class7=rate 8bit ceil 50mbit
htb_root=rate 50mbit
htb_class0=rate 8bit ceil 50mbit
htb_class1=rate 8bit ceil 50mbit
htb_class2=rate 8bit ceil 50mbit
htb_class3=rate 8bit ceil 50mbit
htb_class4=rate 8bit ceil 50mbit
htb_class5=rate 8bit ceil 50mbit
htb_class6=rate 8bit ceil 50mbit
htb_class7=rate 8bit ceil 50mbit
Значение 95 Мбит/с выставлено, чтобы ограничить скорость несколько раньше, чем это сделает порт FastEthernet коммутатора доступа.
Теперь мы можем применять тариф к IP-адресам.
Выглядит это примерно таким образом:
fdpi_ctrl load profile --policing /etc/dpi/cfg/rateplans/142_day.cfg –ip 192.0.2.3
Начиная с версии 4.0 в ПО появились профили, которые придали значительную гибкость DPI. Профили дают некую абстракцию, позволяют не привязывать файлы к настройкам абонента, вдобавок они дают возможность использовать разные правила перенаправлений для разных абонентов, а не делать это на один и тот же URL из глобальной конфигурации. Профили можно изменять на лету, и их конфигурация будет применена ко всем абонентам, к которым прикреплен профиль.
Таким образом, мы получаем возможность удобно изменять скорость на тарифе или переключать между дневным и ночным режимами полисинга.
fdpi_ctrl load profile --policing /etc/dpi/cfg/rateplans/block.cfg --profile.name stop
fdpi_ctrl load profile --policing /etc/dpi/cfg/rateplans/10_day.cfg --profile.name 10
Работа с абонентами
В примере ниже мы видим вывод этих команд с профилем №6 для полисинга и отсутствием примененных профилей для перенаправлений:
Создаём программное обеспечение для полной автоматизации процессов бизнеса такси.
Бережем время руководителей — со СКАТ управлять процессами и контролировать их можно из любой точки мира.
Заботимся о том, чтобы ваши диспетчеры быстрее обработали заявки, водители моментально приняли заказ, а клиент был доволен.
СКАТ — эффективные решения для службы такси запись закреплена
Спасибо за программу она потрясающая, спасибо менеджеру Алёна зовут убедила меня взять эту программу, спасибо так же техникам отзывчивые все быстро решают если что мне не понятно внятно объясняют, советую преобрести эту программу для Такси не пожалеете.СКАТ — эффективные решения для службы такси запись закреплена
Александр Попов из города Череповец пришел в бизнес такси в 2015 году. Тогда познакомился со СКАТ, автоматизировал таксопарк. Но 3 года назад решил сделать упор на грузотакси, а легковое оставить для корпоративных и постоянных клиентов.
Сейчас Александр развивает грузотакси СТРИЖИ и расширяет бизнес из города в 300 тыс. человек на федеральный уровень.
Служба СТРИЖИ работает в Ярославле, Вологде и Череповце.
Перспективно ли сегодня открывать грузотакси и как стать конкурентоспособным в этой нише, Александр рассказал в интервью.
Интервью с владельцем грузотакси СТРИЖИ Александром ПоповымСКАТ — эффективные решения для службы такси запись закреплена
22 марта — Международный день таксиста. Приятно осознавать, что мы причастны к этому празднику.
Ведь такси — это не просто отвезти человека из одного места в другое. Такси — это возможности: успеть на самолёт, встретить гостей и тысяча других ситуаций, в которых нужна машина.
Сегодня на СКАТ работают более 600 таксопарков. Службы такси создают рабочие места для таксистов, а люди могут комфортно передвигаться по городу.
СКАТ — эффективные решения для службы такси запись закреплена
Адрес клиента не всегда бывает занесен на карту. Например, когда дом новый или место подачи - это перекресток дорог, общественное место. В таких случаях диспетчер может поставить точку нахождения клиента вручную.
Предварительный расчет стоимости поездки в WEB диспетчерской СКАТ 6.0СКАТ — эффективные решения для службы такси запись закреплена
В 2019 году мы активно публиковали интервью с нашей командой. Помните?) Сегодня сдуваем пыль с архивных записей и достаём интервью с Павлом, руководителем отдела разработки СКАТ.
Кроме любви к программированию (еще с 2003 года), Паша играет на барабанах и губной гармошке, увлекается настольными играми. А еще любит отдых в деревне, где нет интернета и трава зелёная.
«Программистом может стать любой. Но жить этим, любить то, что делаешь и постоянно развиваться, к..СКАТ — эффективные решения для службы такси запись закреплена
Поздравление с наступающим 2021 годом от сотрудников СКАТ.СКАТ — эффективные решения для службы такси запись закреплена
Ждём её так же горячо, как спокойное лето за окном: без медицинских масок и плохих новостей.
А сегодня знакомим вас с Олей — нашим специалистом отдела продаж. Оля пришла в компанию в декабре 2019 года.
Показать полностью.
• Чем увлекаешься помимо работы: хобби, развлечения?
Самый лучший вклад — это вклад в самого себя. Поэтому время стараюсь проводить с пользой: читаю литературу по психологии, увлекаюсь фотографией, занимаюсь спортом.
• Самое любимое в работе?
Это общение с нашими потенциальными и действующими партнерами. У каждого свой бизнес, своя специфика работы. Для каждого нужно подобрать индивидуальное предложение, это очень интересно.
1.Индивидуальные графики работы водителя, по дням и по часам.
2.Назначать разные расчётные группы в зависимости от времени работы (К примеру : У нас некоторые водители работают 2 дня в день и потом одну смену в ночь. Вот в ночную смену процент можно увеличить +5% или более.
Я понимаю что это можно делать в ручную но если это делал бы СКАТ было бы вообще огонь.
3.Была бы возможность учёта времени которое водитель проводит на работе за неделю, за месяц. И даже по эти данным можно так же премировать водителя.
Дублирование домов
Столкнулся с такой неприятностью. Навожу порядок на карте, удаляю дублирующиеся объекты типа "дом". Где была маленькая буква "б" в номере дома, переделываю её на большую букву "Б", т.к. маленькая похожа на 6-ку, поправляю положение домов, но спустя некоторое время всё приходится делать по новой. Ад перфекциониста.
Это происходит похоже потому, когда диспетчер создаёт заказ путём двойного клика из предложенных, то заполняются поля и в т.ч. координаты (которые не видны в карточке заказа, но они есть) и создаётся объект типа "дом" с другими координатами или идентичными. Получается такая ситуация, что у одного и того же физического дома может быть много экземпляров с разными координатами или даже абсолютно одинаковыми. Это когда тянешь за дом, а под ним ещё с десяток домов с таким же адресом и координатами. Ааааа.
Такое предложение. Добавить в соответствующий класс такую метод, как "проверка на дублирование" с учётом регистра букв домов (а или А, б или Б и т.д.), а также, чтобы буквы автоматом апперкейсило, т.е. переводило в большой единообразный формат А, Б и т.д. Ещё бы какой скрипт создать, чтобы навести порядок уже в существующем бедламе.
Буду признателен за обратную связь со стороны разработчиков. Спасибо за внимание :)
Предложение по улучшению функции фотоосмотра!
Приветствую Вас разработчики "СКАТА"!
Фотоосмотр функция полезная и упрощает работу по контролю за чистотой автомобиля, но есть НО!
В "СКАТЕ" при настройке фотоосмотра можно выбрать только настройку через какое время должен произойти следующий осмотр то есть выставляем кол-во часов и вот тут то все неудобства и понеслись!
Сразу скажу что мы каждые 5-8 часов не делаем осмотр.
Дело в том что водители выходят в разное время и если заданы часы (как это сейчас происходит то не которым водителям приходится делать осмотр ночью или в час пики!
Вообщем к предложениям.
1. Фотоосмотр проходит водитель который выходит на работу с выходного.(это сейчас есть работает, но в 7 утра темно!)
2. Для фотоосмотра нужно создать периоды времени, чтобы руководители сами установили в какое конкретное время нужен осмотр, даже для того чтобы осмотры не проходили в тёмное время суток или в час пики!
3. Добавить диспетчеру или администратору кнопку, для возможности запроса фотоосмотра к примеру кто то сообщил что в машине грязь и чтобы машину не гнать на базу.
4. И я не увидел и не смог найти возможность удалить архивные осмотры мне кажется сервера не резиновые чтобы хранить осмотры месячной давности! Нужно сделать возможность все эти осмотры периодически удалять!
Читайте также: