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.
„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.