Ввод адреса с подсказками
Возможности
На витрине и в приложении
- Поиск адреса — отдельный экран: строка ввода и список вариантов под ней. На
телефоне он занимает весь экран, на широком — колонку рядом с картой.
- Подсказки запрашиваются с третьего символа, с небольшой паузой после
последнего нажатия. К набранному тексту всегда добавляется выбранный город,
поэтому от города зависит, что вообще найдётся.
- Выбор варианта подставляет адрес и координаты и возвращает к карте с меткой.
По координатам тут же считаются зона, цена и время доставки.
- Адрес можно указать и меткой на карте: гость перетаскивает её, а адрес
подставляется обратным геокодированием точки.
- Если адрес не попал ни в одну зону, подтвердить его нельзя: вместо кнопки
«Да, верно» гость видит «Ввести другой адрес» и погашенное «Сюда пока не
доставляем».
- Город спрашивается отдельным шагом и берётся из списка точек заведения. Один
город выбирается сам. Город может быть предложен по адресу подключения гостя —
тогда заведение показывает вопрос «Ваш город N?».
- После адреса гость заполняет квартиру, подъезд, этаж, домофон и комментарий
курьеру либо отмечает «Частный дом».
В кабинете
- В карточке заказа адресная строка ищет так же: подсказки раскрываются
выпадающим списком, а выбор варианта записывает улицу, тип улицы, дом, корпус
и координаты и подбирает зону доставки.
- Рядом со строкой — адреса этого клиента. В новом заказе список раскрыт сразу,
в заказе с адресом прячется за пиктограммой.
- Кнопка «Определить зону доставки» пересчитывает координаты и зону по тексту
адреса — она нужна, когда адрес поправили руками.
- Если адрес распознан не до дома, рядом появляется предупреждение.
- Тем же поиском вводится адрес точки заведения.
Откуда берутся подсказки
- Варианты и координаты считает сторона заведения, а не браузер гостя: витрина,
приложение и кабинет получают один и тот же ответ.
- Источник выбирается перебором по тому, что подключено заведению: собственный
справочник адресов, затем адресный поиск Яндекса, геокодер Яндекса, 2ГИС,
Google. Если не подключено ничего, работает DaData — она же и запасной вариант
для всех остальных.
- Перебор останавливается на первом источнике, который вернул непустой ответ.
- Выдача ранжируется по зонам доставки заведения: адреса внутри зон поднимаются
выше, но адреса за их пределами из списка не пропадают.
- Варианты уровня улицы, без номера дома, ведут себя по-разному: адресный поиск
Яндекса, 2ГИС и Google их отбрасывают, геокодер Яндекса и DaData оставляют с
пометкой — иначе на «Москва, тверска» не нашлось бы ни одной улицы. Адресом
доставки такой вариант всё равно не станет.
- Для DaData городу можно задать спутники — соседние населённые пункты, по
которым поиск идёт дополнительно и результаты складываются в один список.
- Заведение с собственной адресацией — закрытая территория, посёлок, вахтовый
городок — задаёт свой справочник адресов с координатами, и подсказки берутся
только из него.
Как настроить
- Поиск работает без настройки: заведению, которое ничего не подключало,
адреса ищет DaData.
- Чтобы подсказки шли от Яндекса, 2ГИС или Google, заведение подключает
собственные ключи к этим сервисам. Ключей Яндекса можно задать несколько —
запросы распределяются между ними.
- Отдельными настройками включаются: обязательный выбор адреса только из
подсказки, обязательное заполнение квартиры, подъезда и этажа, запрос города
или адреса сразу при открытии витрины, спутники города для поиска,
собственный справочник адресов, приём адреса в виде пары координат и карта
адреса в карточке заказа в кабинете. Все они переключаются по запросу.
- Список городов и площадь поиска берутся из точек и зон доставки заведения:
отдельного справочника городов нет.
Что должно быть настроено и ограничения
- Нужны точки с заполненными городом и адресом — иначе гостю нечего выбрать на
шаге города.
- Нужны зоны доставки с нарисованным контуром: без них выдача не приоритезируется
по территории, а выбранный адрес не с чем сопоставить.
- Подсказки приходят по сети. Если источник недоступен или ключ исчерпан,
список окажется пустым, а поиск перейдёт к следующему источнику.
- Ключи к картам — на стороне заведения, вместе с их лимитами и оплатой.
Исчерпанный ключ на час выключается, и поиск идёт дальше по списку.
- Качество адресной базы — свойство выбранного источника, а не заведения: чего
нет в базе, того не будет и в подсказке.
- Виджет корзины на чужом сайте — поверхность прежнего поколения, новые
возможности ввода адреса туда не приезжают.
Чего нет
- Не подсказывает квартиру, подъезд, этаж и домофон: их гость и оператор
вводят руками.
- Не ищет без города. Пока город не выбран, поиск на витрине не запускается,
а в кабинете город подставляется в запрос как есть.
- Не подсказывает по первым двум символам: короче трёх символов запрос не
отправляется.
- Не помнит, что искали раньше: подсказки не смешиваются с сохранёнными
адресами гостя, это отдельный список рядом.
- Не выбирает пункт самовывоза: там поиск идёт по названиям и адресам точек
заведения, а не по адресной базе.
- Не показывает ничего, когда все источники промолчали, — вместо списка
«Ничего не найдено».
- Не проверяет адрес, набранный мимо подсказки: на витрине такой адрес просто
не сохранится, в кабинете сохранится, но координаты и зона останутся
прежними, пока не нажать «Определить зону доставки».
Примеры
Гость впервые заказывает доставку
- Гость открывает корзину и попадает на панель адреса.
- Выбирает город (или город выбирается сам, если он у заведения один).
- Нажимает «Улица и дом», набирает первые буквы улицы, видит список вариантов.
- Выбирает свой дом — метка встаёт на карту, под адресом появляются цена и
время доставки.
- Заполняет квартиру, подъезд и этаж, нажимает «Да, верно» — адрес уходит в
заказ и сохраняется в его адресах.
Гость указывает адрес меткой
- Гость открывает панель адреса и попадает на карту своего города.
- Перетаскивает метку на нужный дом — адрес подставляется сам.
- Если строка получилась неточной, открывает поиск и выбирает вариант из
списка; метка переезжает на выбранный дом.
- Подтверждает адрес.
Оператор принимает заказ по телефону
- Оператор открывает карточку заказа и проверяет город.
- Набирает улицу в адресной строке и выбирает вариант из выпадающего списка —
улица, дом, координаты и зона доставки заполняются сами.
- Если гость уже заказывал, оператор берёт адрес из списка адресов клиента.
- При ручной правке адреса нажимает «Определить зону доставки» и убеждается,
что предупреждение о нераспознанном доме исчезло.
Связанные статьи