5.9 KiB
5.9 KiB
Сценарии работы приложения
1. Оператор входит в систему
- Оператор (логист, водитель или админ) открывает
/loginи вводит email. - Система отправляет одноразовый код на почту. На экране подсказка: «Проверьте входящие и папку Спам».
- Если email не найден в системе, показывается: «Email не найден в системе. Обратитесь к администратору.»
- После ввода верного кода оператор попадает в дашборд согласно роли.
2. Логист открывает рабочее пространство доставки
- Логист видит LogisticsReadinessBoard — доску с наборами доставки, сгруппированными по статусам:
- На подходе: не все заказы набора приняты ОТК.
- Готово к запуску: все заказы приняты, можно запускать доставку.
- Ожидает клиента: отправлено приглашение, ждём ответа.
- Нужна ручная работа: передано логисту, платное хранение, проблема.
- Согласовано: клиент подтвердил слот.
- Завершено: все заказы доставлены.
- Клик по набору открывает DeliverySetDetailPanel с:
- Перечнем заказов набора, их 1С-номерами и шагами производства (раскрой, склейка, криволинейные, приёмка ОТК, отгрузка).
- Телефоном и email клиента, городом, связанными счетами.
- Текущим статусом слота.
- Логист может запустить приглашение, назначить водителя или перейти к ручной обработке.
3. Согласование доставки с клиентом
- Когда набор доставки готов, логист запускает отправку приглашения клиенту.
- Клиент получает ссылку на
/delivery/:token. - На странице клиент видит DeliverySlotsPicker с доступными датами и половинами дня.
- Клиент выбирает слот и подтверждает. Статус набора переходит в «Ожидает клиента» → «Согласовано».
- Если клиент не отвечает, система или логист переводит набор в «Нужна ручная работа».
4. Перенос доставки
- Клиент нажимает «Запросить новую ссылку», логист получает уведомление.
- Логист может переназначить слот или отправить новое приглашение.
- Выбранный слот сохраняется в
delivery_slots.
5. Исключение
- Если клиент не отвечает в течение SLA, система создаёт исключение.
- Набор переходит в «Нужна ручная работа».
- Логист может снова отправить приглашение, перевести в платное хранение или отменить.
- Администратор видит инцидент в панели аудита.
6. Водитель выполняет доставку
- Водитель видит назначенные доставки с адресом, городом, интервалом и составом заказа.
- Переводит статус: Загружен → В пути → Доставлен.
- При проблеме переводит в «Проблема доставки».
7. Завершение доставки
- Статус «Доставлен» подтверждает физическую передачу заказа клиенту.
- После закрытия всех заказов набора он переходит в «Завершено».
- В истории появляется финальная запись, а чат закрывается для активных действий.
Demo-скрипт для первого платного milestone
- Зайти под логистом (email:
mk7029953@yandex.ru). - На дашборде увидеть LogisticsReadinessBoard с наборами:
- Волкова М.А. — «На подходе» (кухня готова, столешница ещё в производстве).
- Савин А.П. — «Готово к запуску» (все заказы приняты ОТК).
- Тарасова Е.И. — «Ожидает клиента» (приглашение отправлено).
- Фролова И.Д. — «Нужна ручная работа» (платное хранение).
- Орлова Н.С. — «Завершено».
- Кликнуть по набору Савина — увидеть source-поля, production-шаги, готовность к запуску.
- Перейти на публичную страницу приглашения — увидеть DeliverySlotsPicker с выбором даты и половины дня.
- Зайти под водителем — увидеть назначенные доставки с адресами и быстрыми действиями.
- Зайти под несуществующим email — увидеть «Email не найден в системе. Обратитесь к администратору.»