Разработка приложения премиум-сервиса такси Virginia Water Cars на SwiftUI
Клиент и задача
Клиент: Virginia Water Cars — сервис премиальных автомобильных перевозок, ориентированный на высокий уровень обслуживания и комфорт клиентов.
Задача: Разработать современное, быстрое и интуитивно понятное нативное iOS-приложение, которое позволит клиентам бронировать поездку менее чем за 10 секунд, обеспечит прозрачность процесса (видимость автомобилей, отслеживание) и исключит необходимость использования наличных средств.
Целевая аудитория: Жители и гости региона с высоким уровнем дохода, ценящие своё время, комфорт и предсказуемость сервиса.
Основные требования:
- Бронирование за 10 секунд:
- Минималистичный интерфейс с умными подсказками, запоминающий избранные адреса.
- Возможность бронирования прямо на карте — пользователь тапает в нужное место, и адрес подставляется автоматически.
Интерактивная карта в реальном времени:
- На карте в режиме реального времени отображаются доступные поблизости автомобили (их количество и точное местоположение) с помощью кастомных аннотаций MapKit.
- Реализована функция кластеринга — когда машин много, они группируются в кластеры с цифрами для удобства просмотра.
Система предварительного и повторного бронирования:
- Заблаговременное бронирование на часы, дни и недели вперёд.
- Раздел «Избранное» для мгновенного повторного заказа частых поездок.
Полный цикл отслеживания заказа:
- Анимированное отслеживание автомобиля на карте от момента подачи до прибытия.
- Доступ к контактам водителя, когда он рядом.
Безналичный расчёт и прозрачные отмены:
- Бесшовная интеграция с Stripe: пользователь один раз привязывает карту, и все последующие платежи проходят автоматически.
- Простая и понятная процедура отмены заказа в несколько тапов.
Система обратной связи:
- Встроенная форма для оценки поездки и водителя, которая помогает улучшать сервис.
- Frontend: SwiftUI (iOS 13+)
- Архитектура: MVVM+C
- Картография: MapKit + Core Location
- Уведомления: Firebase Cloud Messaging (FCM)
- Сеть: Async/Await (URLSession), iOS 15+
- Локальное хранилище: SwiftData (iOS 17+) / Core Data
- Платежи: Stripe API
- Аналитика: Firebase Analytics & Crashlytics