«Куда на море» — платформа для аренды гостиниц и отелей на юге России. Владельцы размещают свои объекты по подписке, а пользователи бронируют номера онлайн.
Задача
Несмотря на рост аудитории, отельеры продолжали вести бронирования вручную — в блокнотах или заметках. Это создавало ошибки, мешало оперативно управлять загрузкой и влияло на качество обслуживания клиентов.
Тогда у владельца сервиса появился запрос разработать мобильное приложение. Оно должно было:
- заменить бумажный учет;
- дать возможность управлять бронированиями с телефона;
- обеспечить актуальные статусы номеров;
- упростить взаимодействие с клиентами.
Клиент изначально обратился к команде Flutter-разработчиков, которая запустила демо-версию. Однако при тестировании приложение не справилось с нагрузкой: интерфейс зависал, обработка данных занимала слишком много времени, а главную фичу — шахматку — не удалось реализовать плавной и отзывчивой.
Решение
Мы предложили альтернативный подход: создание нативного приложения на Kotlin Multiplatform.
Технология позволяет:
- сделать интерфейс производительным и стабильным на Android и iOS за счет возможности использования нативных UI-решений;
- повторно использовать бизнес-логику между платформами;
- повторно использовать UI между платформами с применением Compose Multiplatform;
- обеспечить гибкость и масштабируемость системы.
Всего за несколько дней команда KTS разработала прототип «шахматки» — ключевого экрана для работы с номерами. Он поддерживал бесконечный скролл без зависаний и обеспечивал стабильную работу с тысячами бронирований в реальном времени, чего не удалось добиться на Flutter.
Функционал мобильного приложения
Поддержка offline-first.
Приложение работает даже при нестабильном интернете: все изменения сохраняются локально и автоматически синхронизируются, как только появляется связь.
Бесконечная прокрутка и удобный выбор дат
Благодаря возможности использовать нативные UI решения вместе с KMP, удалось реализовать плавный бесконечный календарь — без зависаний, даже при большом объёме данных.
Удобное управление статусами номеров
Все статусы отображаются на шахматке и меняются в пару касаний. Это позволяет легко отслеживать текущую ситуацию и прогнозировать занятость в режиме онлайн.
Добавление новых объектов
Пользователь может создать номер или добавить новую гостиницу прямо в приложении — без необходимости переходить в веб-интерфейс.
Результаты
До внедрения приложения сотрудники фиксировали статусы вручную, данные обновлялись нерегулярно, а взаимодействие с клиентами занимало слишком много времени. Это приводило к ошибкам, потере доверия и снижению доходов.
Приложение оказалось настолько удобным, что отельеры использует его и для учета аренды автомобилей. Вместо гостиничного объекта они создают в личном кабинете автопарк и отмечают в приложении арендованные автомобили.