ADPASS рекомендует материал к прочтению
Qtim
09.07.2025, 07:53

Как мы помогли Alps2Alps превратиться из сервиса трансфера в полноценную туристическую платформу

Меня зовут Антон Фокин. Я — CEO и сооснователь Qtim. Вместе с командой я запускаю и развиваю IT-продукты для бизнеса. Когда к нам в Qtim обратились ребята из Alps2Alps — крупного британского перевозчика, работающего в регионе Альп — у них уже было мобильное приложение. Оно решало одну конкретную задачу: трансферы из аэропортов Франции до горнолыжных курортов и обратно. Но у основателей был куда более амбициозный план — они хотели превратить свой сервис в универсальную платформу для туристов, которая объединит бронирование жилья, заказ еды, аренду инвентаря и другие услуги в одном месте.
И вот с этого запроса всё и началось.

Отправная точка проекта

Первоначальный вариант сервиса работал так: пользователь оформлял заказ, получал подтверждение на почту и ждал машину. Однако этот продукт не позволял отслеживать перемещения водителя, взаимодействовать с местным бизнесом (отелями, ресторанами, гидами) или предлагать какие-либо дополнительные опции, связанные с организацией отдыха.

Идея заказчика — создать единую экосистему: «один сервис вместо десяти приложений». Чтобы турист мог сразу после прилета посмотреть маршруты, например, между отелем и курортом, заказать еду, забронировать ресторан, арендовать горнолыжное снаряжение, купить ски-пасс и обучение катанию на лыжах, выбрать экскурсии — и всё это ориентировано на международный рынок, так как поддерживает английский язык.

Как мы построили цифровую экосистему

Начали с архитектуры — заложили структуру с учетом будущего масштабирования и интеграции новых сервисов. Чтобы не терять фокус и управлять качеством, на каждом этапе были конкретные критерии приемки. Мы договорились об уровне вовлеченности, выбрали каналы коммуникации.

После подготовки архитектуры перешли к backend-разработке. Собрали команду, которая взялась за серверную часть, включая админ-панель и API. Особое внимание уделили модулю управления: он отвечает за регистрацию партнёров, проверку их данных, выдачу доступа в админку и отслеживание активности. Система гибкая — можно задавать индивидуальные условия сотрудничества, настраивать комиссии и расчёты.

Мы решили создать новый комплекс приложений, а не масштабировать старое решение. Оно технически не выдержало бы новых задач. Команда реализовала три отдельных мобильных приложения

Для пассажиров — с возможностью бронировать трансферы, отслеживать водителя, общаться с ним через чат или звонок.

Для водителей — с маршрутами, статусами заказов, статистикой по доходам и офлайн-режимом (актуально из-за плохой связи в горах).

Для внутренних водителей Alps2Alps — почти полная копия предыдущего, но с другой системой авторизации.

Разработка мобильных решений шла поэтапно. Сначала начали верстку интерфейса для приложения пассажира, параллельно backend-команда реализовывала нужные функции. После этого перешли к интеграции и настройке взаимодействия между фронтом и сервером.

Основной стек — Flutter SDK (3.x) на языке Dart. Для нативных модулей использовали Kotlin (Android) и Swift (iOS). Подключили CI/CD в GitLab, настроили окружения в Android Studio и VS Code.

1. Приложение для туристов

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

Интегрированы карты и маршруты, теперь пользователь может заранее посмотреть, как добраться до отеля, ресторана или точки аренды. Маршрут отображается прямо в интерфейсе бронирования — удобно ориентироваться без необходимости переключаться между приложениями.

Чтобы помочь с выбором, встроена система рекомендаций.Она подсказывает популярные места, проверенные партнерские сервисы и учитывает интересы пользователя на основе истории заказов.

Каждый заказ трансфера можно отследить в реальном времени: от момента подтверждения до завершения.

2. Приложения для водителей

Чтобы разгрузить операционные процессы, мы сделали два отдельных приложения — для штатных водителей и внешних исполнителей. Отдельное решение для фрилансеров встроили так, чтобы не нарушить работу основного потока: внутренние процессы для штатных сотрудников остались без изменений. При этом новые водители могли подключаться к системе, авторизовываться и сразу брать заказы. У каждого — своя логика: в одном доступ к постоянным заказам, в другом — к разовым поездкам. Все маршруты видны в личном кабинете, включая детали заказа и клиента.

У водителя отображаются все ключевые данные: адреса отправления и прибытия, ФИО и количество пассажиров, необходимое число детских кресел, объем горнолыжного инвентаря и т.д. Также реализована возможность просмотра текущего местоположения пассажира, передача геопозиции водителя. Ему можно позвонить или написать в чате. В личном кабинете водитель может отслеживать статистику по выполненным заказам и километражу совершенных поездок.

Особое внимание было уделено офлайн-функционалу: в горах водители часто пропадает связь. И чтобы это не мешало работе водителей мы реализовали систему, которая сохраняет заказы и маршруты локально, а при восстановлении связи данные синхронизируется с сервером.

3. Админка для партнеров

Серверная часть у клиента уже была — и с этим пришлось считаться. Вся бизнес-логика находилась в их устаревшем фреймворке, и к коду доступа не было: только через API. Мы взяли на себя всё, что касалось мобильных приложений и промежуточного backend’а — создали собственный сервер на Laravel, чтобы ускорить работу, фильтровать данные и кэшировать то, что часто запрашивается. При этом важно было не затронуть ядро существующей системы: старая инфраструктура обслуживала стабильный поток заказов, а новая работала параллельно с ней. Мы встроились в этот процесс аккуратно — новые возможности развивали отдельно, не ломая то, что уже приносило клиенту прибыль.У клиента уже была админка, но она не покрывала те задачи, которые появились с развитием проекта. Мы разработали собственную панель управления — с возможностью работать с заказами, пользователями и партнерами. Все новые заказы сначала фиксировались на нашей стороне, а затем благодаря интеграции переносились в основную админку клиента. Это позволило гибко настраивать систему, оперативно реагировать на изменения и не рушить процессы, которые были ранее.

Alps2Alps начали активно привлекать локальный бизнес: кафе, горнолыжные прокаты, отели. Для этого сделали удобную административную панель, которая предоставляет администраторам платформы полный контроль над сервисами и предложениями партнеров. Они могут добавлять, редактировать и удалять свои услуги и товары.

Система также позволяет легко структурировать предложения в удобный каталог, с категории и подкатегории. Встроенный редактор дает возможность создавать описания и загружать изображения, что повышает привлекательность предложений для пользователей.

Этот функционал стал основой для монетизации, так как размещая предложения от партнеров, Alps2Alps также получает от реализации их товаров и услуг. Когда пользователь делает заказ, партнеру приходит уведомление об оплате через приложение, и он приступает к выполнению заказа. С каждой такой продажи Alps планирует удерживать фиксированный процент в качестве оплаты за публикацию. Чтобы этот процесс работал без сбоев, нужна была надёжная система приёма и обработки платежей для пользователей — и здесь началась отдельная работа с платежной инфраструктурой.

Платёжные системы подключались в два этапа. С Ecommpay всё было стандартно: API, безопасная обработка транзакций, история платежей и уведомления о статусе. С Revolut пришлось сложнее: не было готового SDK, поэтому разработали отдельные плагины под каждую платформу — так обеспечили стабильную работу и отказались от сторонних зависимостей.

Тестирование и релиз

На этапе тестирования пошли гибридным путем. Часть сценариев проверяли вместе с клиентом прямо на продакшене — это было необходимо для отладки взаимодействия с их API. Провели функциональное и нагрузочное тестирование, устранили узкие места. Провели тесты на безопасность (XSS, SQL-инъекции и др.) и регрессионное тестирование — чтобы убедиться, что новые функции не ломают старые.После всех проверок занялись публикацией в App Store и Google Play. Релиз прошёл гладко, все приложение сделали за 2 месяца. Сейчас приложение уже работает автономно, без нашей поддержки, и, насколько известно, команда клиента продолжает развивать платформу своими силами.

Как мы работали с клиентом

Это был один из тех проектов, где важно не просто «написать код», а понять логику бизнеса. Мы работали напрямую с продуктовой командой Alps2Alps, которая базируется в Эстонии. Часть задач приходила на латинице, но по-русски. Часть — на английском. Это периодически усложняло взаимодействие. Тем не менее, все ключевые моменты мы обсуждали напрямую: проводили регулярные созвоны, сверяли задачи и приоритеты. В какой-то момент мы научились понимать друг друга с полуслова.Все новые функции делали мы. Alps2Alps больше фокусировались на улучшении клиентского опыте и усовершенствовании имеющихся возможностей. Это получился хороший баланс.

Результат работы

Сейчас Alps — это не просто трансфер. Это полноценная платформа для туристов в Альпах, которая заменяет десятки отдельных сервисов и экономит время и делает отдых более комфортным.

Сервис уже вышел на рынок, в релизе и продолжает развиваться.

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

Вам понравится

Otclick
13.11.2025