Общее описание
Дизайн
Список экранов
8. Экран “Загрузка”
8.1. При активации иконки мобильного приложения на смартфоне
пользователя отображается загрузочное окно с логотипом бренда и
надписью. Логотип динамичный. Анимация - биение. Референс -
“Яндекс.Еда”.
8.2. Если есть активный заказ - осуществляется переход на экран “Статус
заказа”.
8.3. Если есть завершенный в течении последних суток заказ - открывается
окно “Отзыв о заказе”.
8.4. Если в приложении есть незавершенный в течении 1 суток заказ - у
авторизированных пользователей должны сохраняться данные о
выбранных блюдах, модификаторах, их количествах и количестве
приборов. По истечении суток корзина стирается.
8.5. Введённые единожды способ и адрес доставки, комментарий к заказу,
способ оплаты, состояние свитчера бесконтактной доставки сохраняются
в кэше приложения и загружаются при последующих входах в
приложение. Если пользователь разлогинился, то данные в кэше всё
равно сохраняются и применяются, если он залогинился снова по тому
же номеру телефона.
8.6. Если нет активного сеанса и на момент запуска приложения в кэше
сохранён адрес, то пользователю после загрузки приложения
открывается экран “Главный”, а выбранный адрес заполняется из кэша.
8.7. Если нет активного сеанса и на момент запуска приложения существуют
запланированные истории, то пользователю после загрузки приложения
открывается экран “Истории”.
8.8. В остальных случаях - открывается “Экран выбора адреса/бренда”, а
приложение запрашивает следующие разрешения:
8.8.1. Доставка push-уведомлений.
8.8.2. Определение геолокации.
Рис. 1 - Экран “Выбор адреса и бренда” Рис. 2 - Экран “Выбор адреса и бренда”
11.3. Если поиск адреса был совершен из “Мои адреса”, открывается экран с
подробной информацией об адресе. (Рис. 5) Также экран открывается по
нажатию на адрес на экране “Мои адреса”. (Рис. 6)
12. Окно “Ввод адреса”
12.1. Поле “Адрес”. Поле содержит название улицы и номер дома, который
был выбран на предыдущем шаге. Для ориентации о том, что на этом
шаге изменить улицу нельзя, нужно сделать его визуально
нередактируемым.
12.2. Поле “Кв./офис”. Обязательное для ввода поле.
12.3. Поле “Подъезд”. Не обязательное для ввода поле.
12.4. Поле “Этаж”. Не обязательное для ввода поле.
12.5. Поле “Домофон”. Не обязательное для ввода поле.
12.6. Если переход был совершен из экрана “Мои адреса”, в верхнем правом
углу отображается кнопка для удаления адреса с иконкой “корзины”.
12.7. Внизу экрана горизонтальная кнопка “Сохранить адрес”, по которой
совершается добавление адреса или сохранение изменений в адрес.
Возврат к экрану “Мои адреса”.
12.8. Референсы:
36. Push-уведомления
36.1. Приложение должно иметь возможность отправлять push-уведомления.
Уведомления могут быть:
36.1.1. Автоматическими, сформированными на бэкэнде и
отправленными по прописанным на бэкэнде триггерам.
36.1.1.1. Приложение должно автоматически отправлять push-
уведомление, если пользователь положил какие-либо
блюда в корзину и вышел из приложения, не сделав заказ.
Через 10 минут после выхода из приложения ему должно
прийти push-уведомление с напоминанием о завершении
заказа.
36.1.2. Отправленные в ручном режиме с панели администратора.
Триггером служит кнопка “Отправить push-уведомление”.
36.1.3. Отправленными программой лояльности по триггерам, заданными
внутри программы лояльности.
Панель администратора
37. Панель администратора должна включать в себя возможности:
37.1. Возможность вручную изменять рекомендованные блюда для каждой
категории для слайдера с рекомендациями в корзине.
37.2. Возможность вручную редактировать текст с описанием программы
лояльности (на экране “Программа лояльности”).
37.3. Возможность просмотра в реальном времени пользователей
веб-сайта/приложения, которые зашли на платформу, авторизовались,
добавили какие-либо блюда в корзину и вышли, не сделав заказ. По
прошествии 10 минут их данные попадают в отчёт. Данный отчёт
представляет собой журнал, в который пользователи добавляются
сверху, а нижние строки хранятся в качестве истории. Под просмотром
пользователей подразумевается просмотр следующей информации:
37.3.1. Имя.
37.3.2. Дата рождения.
37.3.3. Пол (если пользователь заполнил данный пункт; если поле не
заполнено, выводить “неизвестно”).
37.3.4. Номер телефона.
37.3.5. Электронная почта.
37.3.6. Адрес доставки/ресторана, которые он выбрал.
37.3.7. Какие блюда он добавил в корзину.
37.3.8. Время добавления пользователя в данный отчёт.
37.4. Возможность моментального обновления информации. По нажатию на
кнопку “Обновить информацию” информация из редактируемых полей
административной панели (FastOperator), которые были изменены,
обновляется в базе данных бэкэнда.
37.5. Возможность закрыть доставку из конкретного ресторана по нажатию на
чекбокс (приведение в положение “выключено”) напротив этого
ресторана.
37.6. Возможность добавлять, редактировать, удалять истории в мобильном
приложении:
37.6.1. Через кнопку “Добавление истории” загружать новые истории
(медиа-файлы из памяти устройства). Ограничение для видео:
длительность не более 10 секунд.
37.6.2. Через кнопку “Удаление истории” удалять текущую историю.
37.6.3. Через кнопку “Редактирование истории” удалять медиа-файл
текущей истории и загружать на его место новый медиа-файл из
памяти устройства. Ограничения такие же, как на добавление
историй.
37.6.4. Возможность создавать как истории, привязанные к какому-либо
баннеру акции, на которых будет присутствовать кнопка перехода
к информации об акции, так и историй, не привязанных ни к
какой акции, на которых данная кнопка будет отсутствовать.
37.7. Возможность включать и выключать доступные для заказа бренды
ресторанов, переведя чекбокс бренда в режимы “включен” и “выключен”
соответственно.
37.8. Возможность менять режим работы ресторанов. Время указывается в
стандартном формате (день недели, часы, минуты).
37.9. Возможность добавлять скидки конкретным блюдам. При этом новая
цена работает для всех пользователей без использования промокодов, а
старая (обычная) цена на блюде остаётся перечёркнутой. Рядом
помещается новая цена по скидке.
37.10. Возможность ручной отправки push-уведомлений. При этом с
возможностью отправить уведомления только пользователям,
совершившим когда-либо заказ в конкретном филиале ресторана.
Добавить текстовое редактируемое поле, в которое будет вводиться
сообщение для отправки в push-уведомление, и кнопку “отправить”.
37.11. Отправка push-уведомлений в автоматическом режиме в случаях:
37.11.1. Если пользователь зашёл в приложение, добавил какие-либо
блюда в корзину и вышел, не оформив заказ. Через 15 минут
после выхода из приложения должно прийти push-уведомление с
напоминанием о заказе.
37.11.2. Если у пользователя активна акция “скидка в течение 21 дня” - за
Х дней отправлять ему push-уведомление с напоминанием о
скором окончании данной акции. При этом в панели
администратора должна быть возможность менять количество
дней Х.
37.12. Формирование и просмотр отчётности, основанной на данных заказов с
веб-сайта и мобильного приложения:
37.12.1. Когортный анализ:
37.12.1.1. Представляет из себя таблицу по месяцам. По умолчанию
выводятся 3 строки по 3 последним месяцам, включая
текущий. Возможно загрузить в виде таблицы на странице
браузера и скачать файлом XLS.
37.12.1.2. Доступные для вывода в таблицу опции:
37.12.1.2.1. Отображать:
37.12.1.2.1.1. Месяц в целом (рис. 9):
37.12.1.2.1.1.1. Всего клиентов за месяц.
37.12.1.2.1.1.2. Всего заказов за месяц.
37.12.1.2.1.1.3. Среднее количество заказов на одного
клиента.
37.12.1.2.1.1.4. Общая сумма выручки за месяц.
Интеграции
38. Firebase
38.1. Интеграция с Firebase для реализации аутентификации пользователей.
38.2. Аккаунт предоставляет заказчик.
39. DaData
39.1. Для работы подсказок адреса подключается DaData.
39.2. Аккаунт для подключения предоставляет Заказчик.
42. SMS.ru
42.1. Для работы авторизации подключается сервис sms.ru.
42.2. Материалы https://sms.ru/api
42.3. Аккаунт для подключения предоставляет Заказчик.
43. Maxma
43.1. Для подключения программы лояльности подключается сервис Maxma.
43.2. Программа лояльности должна иметь возможность отправлять push-
уведомления в мобильное приложение.
43.3. Материалы
https://docs.google.com/document/d/1_rYaXF36yyECZPr7zird0s2PzdKP2aV
uKqmgDw85-pE/edit ; https://docs.maxma.com/api/
43.4. Аккаунт для подключения предоставляет Заказчик.
Материалы