W Polsce jeden kod nie zawsze oznacza jedną miejscowość, a jedna nazwa nie zawsze jeden punkt.

Wiele nazw miejscowości powtarza się w różnych województwach i powiatach. Z kolei duże miasta mają wiele kodów pocztowych. Dlatego najbezpieczniejszy skrót to miejscowość razem z kodem.

PRZYKŁAD

„Nowa Wieś” może być niejednoznaczna. „Nowa Wieś 59-700” albo nazwa uzupełniona o powiat/gminę daje znacznie lepszy punkt do dalszej weryfikacji.

Kod powinien być sprawdzany w kontekście kraju.

Polska używa formatu 00-000, Holandia łączy cztery cyfry z dwiema literami, a Wielka Brytania ma jeszcze inny układ. Dobry resolver nie powinien stosować jednego prostego regexu do całej Europy.

Jeżeli klient poda Eindhoven i kod wyglądający na Berlin, system powinien zaznaczyć konflikt i poprosić o sprawdzenie — bez kasowania poprawnie rozpoznanej części rozmowy.

Literówka nie powinna kończyć rozmowy.

Wpisy typu „Wrocaw”, „wroclaw” czy brak polskich znaków są normalne. System może używać normalizacji i fuzzy matching, ale powinien zachować ostrożność, gdy istnieje kilka podobnych wyników.

Inaczej należy potraktować literówkę w jednoznacznej nazwie, a inaczej ogólne „Frankfurt”, które może wymagać doprecyzowania konkretnego miasta.

Kolejna wiadomość może być odpowiedzią na poprzednie pytanie.

Jeżeli Assistant pyta o kod dla wcześniej podanej miejscowości, odpowiedź „34-242” nie jest nowym, niezależnym punktem trasy. Powinna zostać połączona z oczekującą lokalizacją i ponownie zweryfikowana jako całość.

To właśnie odróżnia rozmowę z pamięcią kontekstu od formularza, który tylko analizuje każde pole osobno.