Как учил клиента правильно писать адрес

При реализации одного из заданий по проекту столкнулся со следующим — установлена ​​отдельная конфигурация для управления транспортной логистикой, которая позволяет создать маршрут доставки заказов. Только вот при загрузке данных из УТ возникала одна проблема — поиск адреса, который ввел клиент на сайте, ставил конфигурацию в ступор, так как клиент вводил разнообразные комбинации, а парсинг адрес в программе мягко говоря — не очень. Было два варианта:

  1. Научить клиента вводить адрес правильно, создав на сайте отдельные поля для страны, области, района, города, улице, дома и т.д. Я его сразу отбросил, так как сайтов было более 50 и их перерабатывать на очень хотелось.
  2. Научить программу логистики правильно парсить адрес.

Я выбрал второй вариант. Для этого решил использовать сервис геокодинга одного из веб-гигантов.

Следовательно, для этого я подменил процедуру поиска на свою собственную. Я отсылал в сервис геокодингу адрес, а получал структуру в формате xml с координатами и распарсенным адресом (дом, улица, город, …). Далее по БД адресов в конфигурации я искал все адреса, координаты которых были в пределах ±0,003 от полученных координат. Полученный массив адресов, я сверял на соответствие улицы, номера дома, номера корпуса с полученными данными через сервис геокодинга. Соответственно так я находил нужный мне адрес. Процент успешного поиска вырос с 70% до 95%, что соответственно для адресов в пределах +300 достаточно хороший показатель. А те адреса, которые не нашли можно обработать вручную. Вот так.