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