Перейти к содержимому

Справочник мест: города, написания и зоны

6 мин чтения

Справочник мест — это список населённых пунктов, из которого оператор выбирает город, а система берёт зону доставки. Он решает две задачи разом: оператор перестаёт придумывать написания, а логист перестаёт находить в своей смене чужие заказы.

Зачем справочник, если есть зоны

Зона доставки узнаёт свой заказ по строгому совпадению города или региона. Это работает ровно до первого живого оператора: «Кара-Балта», «Карабалта» и «Кара Балта» — три разные строки, и две из них уедут в запасную зону. Перечислять все написания в списке зоны можно, но список зоны — это не место для шестидесяти пригородов с вариантами.

Вторая беда серьёзнее и списками зоны не лечится вовсе. Кой-Таш — это отдельное село в двадцати километрах от города, и ни по названию, ни по региону он не похож на Бишкек. А везёт его городская смена. Правила такого не выводят: это знание диспетчера, и записать его можно только рядом с самим названием.

ЛогистикаМеста

Что такое место

Логистика → Места
Поиск по названию или написаниюмест: 64СпискомМесто
МестоДругие написанияОбластьЗона
Бишкекг. Бишкек, Бишкек шаары, Bishkek, ФрунзеЧуйская областьБишкек
Кой-ТашКой Таш, КойташЧуйская областьБишкек
Лебединовкас. ЛебединовкаЧуйская областьБишкек
КантЧуйская областьОбласть
Кара-БалтаКарабалта, Кара БалтаЧуйская областьОбласть
Ошвыключеног. ОшОшская областьОбласть
Колонка «Зона» здесь и есть весь смысл справочника: Кой-Таш ни одним правилом не похож на Бишкек, но везёт его городская смена — узнать об этом система может только отсюда. Другие написания — не синонимы для красоты: каждое из них когда-то приехало в заказе и уводило его в чужую смену. Выключенное место остаётся в подборе зоны для старых заказов, но операторам в подсказках больше не предлагается.
ПолеЧто в нём
НазваниеКаноническое написание: то, что подставится в заказ и попадёт в отчёты. Одно на весь проект.
Другие написанияКак это же место набирают в жизни: «Кой Таш», «Койташ», «с. Кой-Таш». По одному в строке. Нужны и для поиска в подсказке, и для узнавания адреса из чужого источника.
ОбластьПодставится в заказ вместе с городом. Ради неё справочник и заводят: область, набранная руками, расходится с областью из соседнего заказа.
Зона доставкиЧья смена везёт заказы этого места. Пусто — зона подберётся обычным перебором по спискам зон.
ПримечаниеДля своих: «дальше 20 км, но возим городом», «только по вторникам». В заказ не попадает.

Место живёт внутри проекта. Два проекта одного аккаунта возят по-разному, и общий справочник означал бы, что настройка одного клиента меняет раскладку смен другого.

Как место находит себя в заказе

Название и все написания сверяются без учёта регистра, лишних пробелов, знаков препинания и «ё»: «КОЙ ТАШ», «Кой-Таш» и «койташ » — одно и то же место. Слитное написание — «Койташ» — отдельное: система не убирает разделители вовсе, иначе склеились бы и названия, которые склеивать нельзя. Такие варианты добавляют написаниями.

Если целиком строка не опознана, проверяется её начало — до четырёх первых слов. «Бишкек, Ошский базар» и «Кой-Таш, ул. Ынтымак» опознаются городом, потому что название стоит в начале: человек пишет адрес от общего к частному. Из двух подходящих мест побеждает то, чьё название длиннее: «Кара-Суу» важнее «Кары», случись такое место в справочнике. Одна улица без города не опознаётся ничем — и это лучше, чем угаданный не тот город.

Сверяется сначала город заказа, потом регион. Порядок именно такой: в заказе из Оша в городе написано «Ош», а в регионе — «Ошская область», и оба слова есть в справочнике. Побеждает город, потому что он точнее.

Зона у места сильнее списков зоны

Когда подтверждённый заказ доходит до логистики, зона подбирается так:

  1. 1Сначала по справочнику. Если город или регион заказа опознан как место и у места указана зона — берётся она, и перебор на этом заканчивается.
  2. 2Если места нет или у него нет зоны — работает обычный перебор зон по их спискам городов и регионов, по возрастанию порядка.
  3. 3Если не подошла ни одна — запасная зона. Как и раньше.

Такой порядок делает справочник главным местом настройки, а списки зон — подстраховкой. Выключенная зона в этой цепочке пропускается: место, указывающее на выключенную зону, ведёт себя как место без зоны, и заказ уходит по спискам. Иначе выключение зоны тихо выбрасывало бы её заказы из смен вообще.

Выбор города в карточке заказа

Заказ 10547 → Клиент

Город

кой
Кой-ТашЧуйская областьБишкек
Кой-ЖарЧуйская областьБишкек

Область

Чуйская область

Адрес

ул. Ынтымак, 14

Поедет городской сменой — зона «Бишкек»

Оператор набирает то, что услышал, и выбирает строку из подсказки. Вместе с городом подставляется область — руками её больше не пишут, а значит «Чуй» и «Чуйская область» в двух заказах подряд не разойдутся. Серая строка под полем говорит то, чего оператор обычно не знает: этот адрес поедет городской сменой. Справочник не запрет: город можно оставить и своим текстом, просто зону тогда подберут по спискам зоны, как раньше.

Поле Город в карточке заказа и в окне прозвона подсказывает места по мере набора — по названию и по всем написаниям. Выбранная строка подставляет каноническое название и область, а под полем показывает зону, которая повезёт заказ.

Подсказка не запрет. Город можно оставить своим текстом: справочник заводят постепенно, и заказ из посёлка, которого в нём нет, должен приниматься как раньше. Такой заказ просто пойдёт по спискам зон.

Завести справочник списком

Кнопка Списком заводит места пачкой. Строка — одно место, части разделяются вертикальной чертой: название, написания через запятую, область. Написания и область необязательны — половина списков приходит голыми названиями.

  • Кой-Таш | Кой Таш, Койташ | Чуйская область
  • Лебединовка | | Чуйская область
  • Маевка

Зона задаётся один раз на всю пачку — потому что так этот список и приносят: «вот всё, что возим городом». Пригороды загружают одной пачкой с зоной Бишкек, областные центры — второй с зоной Область, и области у них при этом разные, поэтому область стоит в строке, а не в диалоге.

За одну загрузку принимается 500 строк. Больше диалог не отправит и скажет об этом до отправки: отказ по пачке в шестьсот строк не говорит, какие из них успели завестись, — не завелась ни одна.

Повторная загрузка того же списка не ошибка и не удвоит справочник: место, которое нашлось по названию, обновится. Две строки одного места внутри одной вставки тоже не спорят — их написания складываются. Список правят в блокноте и вставляют целиком заново; это нормальный способ им пользоваться.

Кто ведёт справочник

Таблицу мест правит тот, у кого есть Настраивать зоны и тарифы доставки — это та же настройка раскладки смен, что и зоны. Подсказку в карточке заказа видит любой, кто видит заказы: оператору для выбора города не нужны права логиста.

Живой пример: город в двадцати километрах

Компания возит своими курьерами Бишкек и всё, что вокруг него в пределах двадцати километров, а остальное отдаёт областной смене. Это две зоны и один справочник.

  1. 1Зона Бишкек — свой курьер, городской склад. Зона Область — запасная, чтобы ничто не потерялось.
  2. 2Первой пачкой — города и сёла в двадцати километрах: Бишкек, Лебединовка, Новопавловка, Кой-Таш, Военно-Антоновка, Маевка. Область у всех «Чуйская область», зона — Бишкек.
  3. 3Второй пачкой — областные центры и райцентры: Ош, Жалал-Абад, Каракол, Токмок, Кант, Кара-Балта. Область у каждого своя, зона — Область.
  4. 4Кант и Сокулук попали во вторую пачку осознанно: они дальше двадцати километров. Решение записано в примечании места — чтобы через полгода никто не гадал, почему сосед Лебединовки едет областной сменой.

Выключить место

Выключенное место не предлагается в подсказках операторам, но продолжает участвовать в подборе зоны. Так себя ведёт название, которым больше не пользуются, но которое ещё приходит из чужого источника.

Место можно и удалить — в отличие от зоны. За зоной тянутся смены, деньги и расчёты с курьерами, а за местом не тянется ничего: заказ хранит город строкой, и удаление справочной записи его не трогает.

Чего пока нет

  • Справочник заводится руками. Готового списка населённых пунктов страны в системе нет, и координат у места нет тоже — «двадцать километров» вы определяете сами, система расстояний не считает.
  • Место — это город или село целиком. Улиц, районов внутри города и разных зон для разных концов одного города нет.
  • Подсказка ищет по началу слова в названии и написаниях. Опечатку в середине слова она не прощает: «Кара-Бата» ничего не найдёт.
  • Зона у заказа подбирается один раз. Исправленный после этого город справочник не пересчитает — строку переносят руками, смотрите Смену логиста.

Не нашли ответ

Напишите на hello@xe.kg — ответим и дополним статью. Так она и растёт.