5.6 KiB
5.6 KiB
SuperSam: Обзор системы
SuperSam — это система управления доставкой заказов. В текущем scope она состоит из трёх внутренних ролей и одной публичной страницы для клиента: менеджер, логист, водитель и клиент.
Задачи приложения
- показать менеджеру единый реестр доставочных заказов с поиском и карточкой заказа;
- показать логисту список доставок на сегодня и ближайшие дни с половинами дня;
- показать водителю свои доставки, адрес, состав заказа и базовые статусы;
- дать клиенту публичную ссылку, по которой он выбирает дату и половину дня доставки;
- хранить состояние заказов, приглашений и истории изменений в Supabase.
Роли
Менеджер
- видит список заказов доставки;
- ищет по номеру заказа, клиенту и телефону;
- открывает карточку заказа и смотрит состав, комментарии и историю;
- не работает с созданием заказов и внутренними служебными экранами.
Логист
- видит заказы, готовые к доставке;
- смотрит ближайшие даты: сегодня, завтра и послезавтра;
- смотрит половину дня и текущий статус доставки;
- открывает карточку заказа, чтобы свериться с деталями.
Водитель
- видит только свои доставки;
- открывает адрес, клиента, состав заказа и комментарии;
- меняет базовый статус доставки по маршруту.
Клиент
- получает публичную ссылку вида
/delivery/:token; - видит номер заказа и состав заказа;
- выбирает дату и половину дня:
До обедаилиПосле обеда; - подтверждает выбор без входа во внутренний кабинет.
Основные сценарии
Внутренний сценарий
- Заказ появляется в Supabase.
- Менеджер видит его в реестре и сверяет состав.
- Логист отслеживает готовность и ближайшее окно доставки.
- Водитель получает свою доставку и доводит её до результата.
Сценарий клиента
Клиентская страница работает по token из таблицы public.delivery_invitations.
После загрузки seed можно открыть ссылку:
/delivery/client-flow-1001
Эта ссылка показывает:
- заказ
CD-240031; - состав заказа;
- четыре варианта слота;
- две даты;
- две половины дня:
До обедаиПосле обеда.
После подтверждения выбора:
- invitation переводится в состояние
agreed; - заказ переводится в
Доставка согласована; - в
order_historyпоявляется запись о подтверждении; - в
delivery_slotsфиксируется подтверждённый слот.
Что хранится в Supabase
public.users— пользователи и роли;public.orders— заказы и текущие статусы;public.order_history— история изменений;public.delivery_slots— возможные и подтверждённые слоты доставки;public.delivery_invitations— публичные invitation token и состояние клиентского flow;public.integration_events— технические и интеграционные события.
Как подготовить систему к показу
- Загрузить схему
supabase/schema.sql. - Выполнить
supabase/seed/stage-1-demo.sql. - Убедиться, что развернуты Edge Functions:
get-delivery-invitationconfirm-delivery-choicecreate-delivery-invitation
- Открыть внутренний кабинет и пройти вход под ролью.
- Открыть клиентскую ссылку
/delivery/client-flow-1001.
Что показывать на встрече
- вход менеджера, логиста и водителя;
- реестр заказов и карточку заказа;
- список доставок по датам для логиста;
- карточку доставки водителя;
- клиентскую ссылку с выбором даты и половины дня.