Skip to content
Gallery
Задание для сертификации партнеров JAICP
Share
Explore
Архитектура решения

icon picker
Модуль "Заявка"

В данном модуле идет формирование заявки на тур.
bot Just Tour (1).jpg
При переходе в модуль “Заявка” выполняется проверка: было ли ранее начато оформление заявки.
image.png
Если условие выполняется, то осуществляется мгновенный переход в шаг, на котором было завершено действие.
Если условие не выполняется и начатых заявок нет, то бот информирует пользователя, что впереди его ждет несколько вопросов. В первом шаге идет уточнение имени, если имя известно, осуществляется переход ко второму шагу.
image.png
Если пользователь новый и имя неизвестно, бот предложит представиться. В данном модуле используется modal для ограничения обработки запроса, что бы не сработали глобальные интенты.
image.png
Введенное имя сверяется со справочником имен, если имя совпало, оно сохраняется и осуществляется переход ко второму шагу. Если имя не совпало, бот уточнит правильность у пользователя и после подтверждения сохранит имя и перейдет ко второму шагу.
image.png
image.png
Если пользователь не хочет представляться, бот сообщит, что без данной информации не получится продвинуться дальше и предложит повторить попытку, но если получит повторный отказ, предложит завершить оформление заявки. Данная проверка реализована через счетчик попыток.
image.png
bot Just Tour (2).jpg

Во втором шаге узнаем номер телефона пользователя. Если номер уже известен переходим к третьему шагу. Если номер не известен, просим пользователя его ввести в определенном формате. Введенный номер проверяется с помощью регулярного выражения в паттерне:
$phone = $regexp<((8|[+]?7)[\- ]?)?\(?\d{3}\)?[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}?[\- ]?\d{1}>
Позволяет принять телефонный номер с любой группировкой цифр, это удобно для пользователей “красивых” номеров и номеров с кодами городов не только из 3-х цифр.
Распознанный номер сохраняется и осуществляется переход к третьему шагу.
Если номер не распознан, просим ввести еще раз.
При отказе пользователя вводить номер телефона предупреждаем, что без номера не удастся оформить заявку и повторяем просьбу. При получении повторного отказа предлагаем отменить оформление заявки. Данная проверка реализована через счетчик попыток.
image.png
Реализация запросов пользователя погоды или желания выйти из диалога была осуществлена использованием тега go!
image.png
В ситуации, если пользователь попал в шаг 2 из шага 9 для корректировки номера телефона, после произведенных изменений, он будет возвращен обратно к шагу 9.
image.png
bot Just Tour (3).jpg
С третьего шага действия не являются обязательными и, если пользователь не захочет или не сможет дать ответы на спрашиваемые вопросы, он все равно сможет завершить оформление заявки.
В третьем шаге пользователю предлагается ввести дату начала поездки, если он ее вводит, сохраняем информацию и переходим к следующему шагу.
В четвертом шаге бот уточняет длительность поездки, ответ предлагается выбрать из предложенных на кнопках.
image.png
В пятом шаге спрашиваем количество человек планирующих отправится в поездку, уточняем сколько из них дети. Сохраняем ответ и переходим к шестому шагу.
В 6 шаге спрашиваем бюджет, на который рассчитывает пользователь, на одного человека. Ответ предлагается выбрать из предложенных на кнопках. Сохраняем ответ и переходим к седьмому шагу.
bot Just Tour (4).jpg
В седьмом шаге уточняем у пользователя уровень отеля (количество звезд). Ответ предлагается выбрать из предложенных на кнопках. Сохраняем ответ и переходим к восьмому шагу.
В восьмом шаге у пользователя есть возможность оставить комментарий к своей заявке. В данном стейте так же используется modal.
image.png
Далее осуществляется переход к 9 шагу.
В девятом шаге формируем заявку и подтверждаем у пользователя.
image.png
С помощью кнопок пользователь может подтвердить или перейти к изменению заявки. В зависимости от выбранного параметра пользователь будет перемещен в шаг, отвечающий за выбранное изменение.
В десятом шаге формируем письмо, в котором заявка от пользователя и отправляем на предусмотренную почту
image.png
В случае успешного завершения отправки письма, информируем пользователя об этом и прощаемся. Если произошел сбой и письмо не отправилось, также информируем об этом пользователя и предлагаем для оформления тура связаться по предложенному номеру телефона. Затем прощаемся.



Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.