У сайта два раздела: публичный и закрытый, видный только авторизованным пользователям - мастерам и администраторам. Закрытый раздел представляет собой список поступающих обращений, которые мастера могут рассмотреть подробно и взять в работу.
В случае, если пользователь решает оставить заявку, он может написать в один из предоставляемых чатов в публичном разделе, где его обращение будет обработано чат-ботом.
Когда пользователь пишет в чат, бот предлагает ему выбрать проблему из списка, а также собирает контактную информацию - адрес, телефон и ФИО заявителя. Из полученной информации создается заявка, которая попадает на рабочий стол к мастерам в закрытом разделе сайта.
В публичном разделе на карте появится отметка с созданным обращением.
В закрытом разделе мастер может перейти на страницу заявки, кликнув на кнопку "Подробнее". Со страницы заявки ему предоставляется возможность присоединиться к чату с клиентом и написать в тот же чат, где заявитель общался с ботом.
Там же мастер может взять заявку в работу. У заявки поменяется статус - "в работе". Как только это произойдет, бот оповестит клиента в чате.
Заявитель может связаться с мастером как через чат, так и по телефону. В последнем случае ему необходимо написать в чат команду "позвонить мастеру", после чего будет осуществлен звонок через Астериск с телефона, указанного клиентом в чате, на телефон мастера. Все разговоры записываются для повышения качества обслуживания.
После того, как все работы будут выполнены, мастер сможет пометить заявку завершенной, нажав кнопку "Завершить". В этот момент бот отправит заявителю сообщение о том, что его заявка была выполнена, в также может предложить дополнительные услуги, если для проблемы, на которую создавалось обращение, были созданы сопутствующие услуги в админке Django.
В чат попадает сообщение от мастера, отправленное через web-приложение. Когда заявка переходит в статус "В работе", бот оповещает об этом.