ТАЙРАЙ — место твоего отдыха

Всероссийская сеть, насчитывающая более 60 массажных салонов по всей стране.
tairai-intro
На данный момент в Москве открыто 57 массажных салонов.
Каждый салон сети — это идеальное место, где в любое время можно отдохнуть , погрузиться в атмосферу спокойствия, расслабить и оздоровить свое тело.

Главная задача

Заказчик обратился к нам за разработкой функционального мобильного приложения для сети массажных салонов с целью повышения лояльности посетителей и внедрения новых фичей.
Наличие мобильного приложения у компании делает ее более надежной и качественной в глазах клиента. Пользователи мобильного приложения чаще выбирают услуги такой компании и более охотно соглашаются на новые предложения, готовы рекомендовать ее знакомым.
Внедрение новых функций объединило бы бизнес-логику сайта и мобильного приложения, привлекая тем самым новых посетителей.

С чего все начиналось?

Изначально клиент хотел новую логику записи, кардинально отличающуюся от существующей на старом сайте. Важным моментом была разработка индивидуального формата записи (без готовых решений).
tairai-start-phone
tairai-start-desktop
tairai-start-phone
tairai-start-desktop-1
tairai-start-desktop-2

Методика работы

DDD

При разработке приложения нами был использован подход DDD. При данном подходе код полностью отражает бизнес-процессы в рамках ограниченного контекста ведения проекта. В процессе разработки взаимодействие ведется в первую очередь, на языке бизнеса, а не технологий.

Event Storming

В связи с тем, что логика онлайн-записи разрабатывалась почти с нуля, нами было принято решение использовать для моделирования предметной области Event storming. Данный метод позволяет не упустить малейшие нюансы логики записи и составить общее представление (между нами и заказчиком) о проекте и его реализации.
tairai-methodology

Интеграция с 1С

Бэк написан на фреймворке Laravel. Главной задачей бэка являлась интеграция с 1С и платёжными системами. Общаются они между собой через REST API.
Основной сложностью было переложение данных из 1С на представление этих данных в приложении. Также, не самая простая оплата при создании онлайн-записи. Несколько методов оплаты, которые могут комбинироваться.
Благодаря проделанной работе была сохранена и объединена логика работы сайта и приложения.
tairai-integration-1
tairai-integration-2
tairai-integration-3

Взаимодействие Приложения и 1С

Наведите на сектор Наведите на сектор
Покупка абонемента, информация о тарифе
Информация об абонементе пользователя, информация о визитах пользователя
Расписание
Предварительная запись, подтвержденная запись
Выгрузка салонов, услуг и мастеров раз в 1 час, данные о пользователе
1C

Личный кабинет

В приложении был реализован личный кабинет с возможностью редактирования своих личных данных. Также, в приложении отображаются прошедшие и запланированные визиты пользователя.
tairai-cabinet-1
tairai-cabinet-2
tairai-cabinet-1
tairai-cabinet-2

Online-запись

В приложении реализовано две логики записи: можно начать создание визита с выбора салона или с выбора даты.

Благодаря гибкой логике онлайн-записи, пользователь может начать запись с приоритетного для него этапа.

Вариант 1

  • tairai-checkin-1-1
  • tairai-checkin-1-2
  • tairai-checkin-1-3
  • tairai-checkin-1-4
  • tairai-checkin-1-5
tairai-checkin-1-1
tairai-checkin-1-2
tairai-checkin-1-3
tairai-checkin-1-4
tairai-checkin-1-5

Вариант 2

  • tairai-checkin-2-1
  • tairai-checkin-2-2
  • tairai-checkin-2-3
  • tairai-checkin-2-4
  • tairai-checkin-2-5
tairai-checkin-2-1
tairai-checkin-2-2
tairai-checkin-2-3
tairai-checkin-2-4
tairai-checkin-2-5
Благодаря удобному интерфейсу, легкости в использовании и интуитивному управлению сокращается время процесса записи на любимые процедуры. Клиенты с помощью приложения могут записаться на массаж и спа-процедуры всего за пару кликов на смартфоне.

Особенности frontend-разработки

Мобильное приложение было разработано при помощи технологии React Native. Это позволило создать качественный продукт для двух мобильных платформ Android и IOS одновременно. Преимущество React Native заключается в том, что разработка ведется на базе хорошо известной библиотеки React, но при этом отображение приложений происходит так, как будто они были разработаны нативно для каждой платформы.
Клиентская часть написана с применением языка программирования TypeScript, так как он расширяет возможности JavaScript. В нашем случае он был использован для повышения качества кода и, тем самым, ускорения времени разработки путем уменьшения количества допущенных ошибок.
tairai-frontend-1
tairai-frontend-2

Автотесты

Во время разработки тестировщику приходиться постоянно испытывать на себе весь функционал приложения, чтобы ошибки не попадали в руки к клиентам. Но по мере добавления фич тестирование всего функционала может занимать очень много времени, а сломаться может все. Для ускорения тестирования на проекте Тайрай мы использовали автотесты.
Автотесты — это тесты, которые выполняет компьютер, а не человек. Этот метод выполняется с использованием специальных программных средств, которые проверяют правильность работы определенной части приложения и фиксируют ошибки в случае, если что-то работает не так.

Подробнее о типах автотестов, которые мы использовали на проекте:

  • 01. Unit-тесты. Unit-тестирование — это разновидность тестирования, которое заключается в проверке работоспособности отдельных функциональных модулей (юнитов), процессов или частей кода приложения. Такое тестирование позволяет избежать ошибок или быстро исправить их при обновлении или дополнении в приложение новых компонентов, не тратя время на проверку программного обеспечения целиком.
  • 02. End-to-end тесты. Сквозное тестирование, или End-to-end тестирование — это процесс тестирования, при котором происходит подробная эмуляция пользовательской среды. При данном тестировании имитируются, например, клики на кнопки, заполнение форм, переходы по ссылкам и другие поведенческие модели пользователей.
Автотесты позволили нам не упустить важные баги и показать заказчику полноценное и функциональное мобильное приложение.
tairai-app-1

Оплата

Для приложения было реализовано 5 вариантов оплаты. Пользователь может выбрать наиболее удобный и подходящий ему:
  • 01. Оплата в салоне
  • 02. Онлайн-оплата
  • 03. Оплата сертификатом
Для приложения были реализованы две новых логики оплаты, которые до этого не использовались заказчиком.
  • 04. Оплата абонементом

    Суть заключается в том, что баланс абонемента измеряется во времени. Пользователь может пополнять абонемент по часам в любое удобное для него время.
  • 05. Оплата бонусами

    Бонусы - кэшбек, который получает пользователь при записи в определенные часы. Первые бонусы пользователь получает при регистрации в приложении(любой новый пользователь для приложения, даже если до этого он уже бывал в салонах сети).
tairai-app-2

Интеграция с Яндекс.картами

Данная интеграция была реализована с помощью системного компонента web view. Это позволило нам открывать карты с отмеченными на них салонами не переходя в приложение Яндекс.Карты или браузер.

Push-уведомления

При подтверждении визита были настроены пуш-уведомления за 3 часа до посещения.
tairai-app-3

Аналитика

В рамках приложения была настроена аналитика использования сервиса на базе консоли Firebase.
Это помогло заказчику проанализировать востребованность функционала, а именно:

Пользователи

более
17 000

Визиты

более
4 000

Сертификаты

около
200

Абонементы

более
1 200

Результат

В результате получили простое и понятное в использовании приложение с гибкой системой онлайн-записи для жителей России. В ходе работ заказчик оказывал всю необходимую помощь для построения эффективной работы по разработке и проектированию сервиса.
tairai-result