Мобильное приложение для бронирования апартаментов
Задача
Компания Leev, специализирующаяся на аренде апартаментов премиум-класса, обратилась к нам с задачей по разработке многофункционального мобильного приложения для iOS и Android. Согласно требованиям клиента оно должно поддерживать:
- поиск столичных апартаментов класса «Люкс» с подробным описанием, местоположением и фото;
- бронирование жилья и заказ дополнительных услуг с возможностью онлайн-оплаты;
- дистанционное управление системой «умный дом» (открытие / закрытие окон и дверей, регулировка температуры, освещения и т. п.);
- голосовое управление;
- работу чат-бота.
Технологические решения
Для продуктов Apple мобильное приложение Leev реализовано на нативном языке программирования Swift, для устройств Android — на фреймворке React Native.
Изначально клиент обратился за разработкой приложения для iPhone или iPad на операционной системе iOS. Однако позже пришёл к решению о необходимости разработки и Android-версии. Так как технология создания приложения для клиента не имела значения, для ускорения процесса разработки мы предложили React Native. Это фреймворк на основе популярного языка программирования JavaScript, который благодаря общей кодовой базе экономит разработчикам часы, а клиенту — деньги.
Из основных технологий мы также использовали Redux Thunk — промежуточное программное обеспечение для сложных JavaScript-приложений. Оно позволяет обрабатывать несколько асинхронных операций, что полезно при использовании магазина Redux и внешних API. Благодаря этому инструменту приложение легко тестируется и связно работает в клиентской, серверной и нативной среде.
Поиск, бронирование и оплата
Поиск апартаментов в отеле осуществляется по дате заезда и отъезда, а также по количеству человек. Дополнительно можно отфильтровать варианты жилья по типу (студия, полулюкс), количеству комнат (1 или 2), площади (44-100 кв. м) и цене. Функция поиска реализована с помощью запросов POST с параметрами апартаментов на сервер. Для этого на стороне приложения мы использовали Axios — библиотеку c открытым кодом, которая ускоряет процесс написания HTTP-запросов.
Бронирование также реализовано методом запроса к серверу и последующей обработки его ответа. Будущие бронирования и история бронирований хранятся в личном кабинете клиента.
Приложение также позволяет осуществлять безопасную оплату брони апартаментов и сопутствующих услуг (трансфер, прачечная, дополнительный клининг), а также сохранять банковские карты для будущих покупок. Онлайн-оплата реализована при помощи сервиса LiqPay от Приватбанк.
Функция управления «Умный дом»
Многие апартаменты Leev оборудованы системой умного дома. Для нашего клиента было крайне важно, чтобы приложение позволяло легко и просто управлять умными устройствами при помощи ползунков «on / off», «open / close».
До сотрудничества с нашей компанией клиент успел провести интеграцию смарт-систем апартаментов с бекэндом готового сайта Leev. Нам нужно было сделать так, чтобы мобильное приложение взаимодействовало со всеми смарт-устройствами. Задача реализована при помощи запросов к API: мы идентифицировали каждый апартамент уникальным id, который генерировал сервер.

Отзывы
Для команды Leev было важно, чтобы отзывы могли оставлять клиенты с реальным опытом проживания. Мы исключили возможность написания неправдивых или недобросовестных отзывов от конкурентов технологическим путём API-метода. Теперь отзывы в приложении могут писать только зарегистрированные пользователи, которые успешно забронировали апартамент, и только после того, как срок проживания истек.
Голосовое управление
С помощью голосовых команд пользователи приложения могут комфортно управлять своим пребыванием в «умных» апартаментах, даже не прикасаясь к смартфону. Для распознавания голоса мы интегрировали голосовой помощник Siri с iOS-приложением. Однако от голосового управления на Android нам пришлось отказаться, поскольку Google-ассистент невозможно заставить выполнять кастомные команды.
Итоги
В целом, у нас получилось создать привлекательное и удобное приложение на Swift и React Native. ТЗ полностью реализовано, за исключением нюанса с голосовым управлением на Android. Процесс мобильной разработки занял 4 месяца, так как со стороны заказчика параллельно вносились правки в дизайн и завершалась работа над бекэндом сайта. Чтобы не затягивать процесс, мы приступили к работе, как только были готовы экраны лендинга.
Комментарии