По-простому, костыльному, можно предполагать, что очередная реплика пользователя, которая не-команда типа
/start
(начать сначала) или какой-нибудь
/edit
(допустим, исправить последний ответ) – это ответ на следующий по порядку вопрос. В базе данных сохраняйте под id пользователя его ответы, заполняя каждый раз следующий пустой вопрос, например. Эт. совсем упрощенно-колхозно.
Для адреса, наверное, можно предлагать не вводить название, а тыкнуть точку на карте — прислать
location, как вариант.
По-крутому, можно сделать нормальное веб-приложение, хороший интерфейс, форму с полями, валидацией и подсказками. См.
WebApp в Telegram.