CJM — Турист (Гость)¶
Persona¶
Дмитрий, 32, начинающий сноубордист. Едет в Архыз на 3–7 дней. Использует mobile-app в 90% сценариев (на курорте), web-app — для предварительного планирования с компьютера и при работе из офиса.
Цели: найти склон/отель/инструктора, забронировать, добраться, заселиться, кататься, получить контент (погода/предупреждения), вернуться домой.
Контекст: ограниченная связь (горы), холод, перчатки → один большой target, минимум полей. Русский язык, оплата ₽.
Stage 1 — Awareness (Узнал о курорте)¶
| Что делает | Screens | Touchpoints |
|---|---|---|
| Видит рекламу / сторис друзей | — (внешний) | Соцсети, push от знакомых |
| Открывает приложение впервые | mobile/app/onboarding.tsx |
App Store / Google Play |
| Просматривает гостевую витрину без регистрации | (tourist)/explore → web /tourist/welcome |
— |
| Смотрит вебкамеры / погоду | web /tourist/webcams, /tourist/weather |
Виджет на сайте курорта |
Pain points:
- На mobile нет аналога Webcams и Weather как отдельных экранов (есть только WeatherCard в дизайн-бандле, не внедрён).
- Onboarding (mobile/app/onboarding.tsx) — единственный, нет вариаций под персону «начинающий vs опытный».
Opportunities: - Внедрить WeatherCard (есть в дизайне) на главной mobile. - Внедрить AlertBanner (ураганный ветер / лавинная опасность) — есть в дизайне, нет в коде. - Добавить вебкамеры в mobile как отдельный таб или раздел Explore.
Stage 2 — Consideration (Рассматривает варианты)¶
| Что делает | Screens | Touchpoints |
|---|---|---|
| Регистрируется (опционально, для бронирования) | mobile (auth)/register → verify → profile-setup → register-success · web /register |
SMS-код |
| Просматривает каталог отелей | mobile (tourist)/hotels · web /tourist/hotels |
Push «новый отель» |
| Открывает детали отеля | mobile (tourist)/hotels/[id] · web /tourist/hotels/:id |
— |
| Просматривает туры/экскурсии | mobile (tourist)/tours · web /tourist/tours, /tourist/top-tours |
— |
| Просматривает рестораны | mobile (tourist)/restaurants · web /tourist/restaurants |
— |
| Применяет фильтры | mobile (tourist)/filter |
— |
| Сохраняет в избранное | mobile (tourist)/favorites · web /tourist/favorites, /tourist/favorites/hotels, /tourist/favorites/tours |
— |
| Читает отзывы / истории | mobile (tourist)/reviews · web /tourist/stories, /tourist/reviews |
— |
| Читает форум | mobile (tourist)/forum |
— (только mobile) |
| Спрашивает в чате с поставщиком | mobile (tourist)/messages, (tourist)/chat · web /tourist/chats |
Push о новом сообщении |
Pain points:
- Web имеет 3 отдельные страницы избранного (FavoritesPage, FavoriteHotelsPage, FavoriteToursPage) — путается navigation.
- Mobile нет отдельного экрана историй (только сторис в Explore?). Нет equivalent web /tourist/stories.
- Forum — только mobile, web-аналога нет.
- Карточки в каталогах не используют дизайн-систему (HCardList из бандла).
Opportunities: - Внедрить HCardList (180×220, r=23, gradient overlay, pill) для всех каталогов на mobile. - Унифицировать избранное в один экран с табами на web. - Добавить Chip компонент для категорийных фильтров на главной — есть в дизайне.
Stage 3 — Booking (Бронирует)¶
| Что делает | Screens | Touchpoints |
|---|---|---|
| Бронирует отель | mobile (tourist)/hotels/[id]/book · web /tourist/book/:hotelId/:roomTypeId |
— |
| Бронирует тур | mobile (tourist)/tours/[id]/book |
— |
| Бронирует ресторан | mobile (tourist)/restaurants/[id]/book · web /tourist/restaurants/:id/booking |
— |
| Бронирует инструктора | mobile (tourist)/instructors/[id]/book · web /tourist/instructors/:id/book |
— |
| Бронирует трансфер | mobile (tourist)/transfers/[id]/book · web /tourist/transfers/book/:scheduleId |
— |
| Покупает ски-пасс | mobile (tourist)/ski-pass/new · web /tourist/ski-passes/purchase |
— |
| Оплачивает | mobile (tourist)/payment/[bookingId] · web /tourist/wallet, /tourist/ski-passes/payment-result |
СБП / банковская карта |
| Видит подтверждение | mobile (tourist)/booking-success · web /booking-success |
Email + push |
Pain points:
- 5 разных booking-flow с разной вёрсткой — нет единого BookingForm компонента.
- BookingSuccessPage есть, но не использует Confirmation overlay из дизайна.
- На mobile нет аналога WalletPage (балансы / история платежей).
Opportunities:
- Унифицировать booking-flow через единый компонент с шагами (выбор → детали → оплата → confirmation).
- Внедрить Confirmation overlay из дизайн-бандла как BookingConfirmation — общий для всех 5 типов.
- Добавить «Забронировать» CTA с иконкой Забронировать · от 3 500 ₽ (есть в дизайне DetailScreen).
Stage 4 — Experience (На курорте, использует)¶
| Что делает | Screens | Touchpoints |
|---|---|---|
| Видит главную с прогнозом + предупреждения | mobile (tourist)/explore |
Push о склонах / погоде |
| Получает уведомления | web /tourist/notifications, /tourist/notifications/:id · mobile profile profile/notifications |
Push, in-app |
| Читает новости курорта | web /tourist/news, /tourist/news/:id |
— (только web) |
| Смотрит события | web /tourist/events, /tourist/events/:id |
— (только web) |
| Запускает ride-tracking | mobile (tourist)/ride, ride/map, ride/stats |
GPS, фоновая локация |
| Смотрит друзей на трассе | mobile (tourist)/ride/friends |
— |
| Использует ски-пасс | mobile (tourist)/ski-pass · web /tourist/ski-passes/my-passes |
QR / NFC |
| Звонит инструктору | mobile call/[sessionId] |
WebRTC |
| Чатится с поставщиком | mobile messages/[sessionId] · web /tourist/chats/:chatId, chats/:chatId/info |
— |
| Создаёт сторис | mobile (tourist)/story/new · web /tourist/profile/stories |
— |
| Просматривает план поездки | web /tourist/trip-plans, /tourist/trip-plans/:id |
AI-генерация |
Pain points:
- AlertBanner про ветер/лавину есть в дизайне, но не подключён к notifications.
- Trip Plans — только web, нет mobile-аналога (хотя AI-планы релевантны на курорте).
- Calendar ((tourist)/calendar) не используется в продуктовых сценариях, мёртвый экран?
Opportunities:
- Внедрить AlertBanner на главной mobile, питать из notifications/system alerts.
- Внести Trip Plans в mobile — добавить в bottom-nav Карта (есть в дизайне) или раздел Explore.
- Внедрить HomeHeader (avatar + имя + sub) из дизайна на главной mobile.
Stage 5 — Post-experience (После поездки)¶
| Что делает | Screens | Touchpoints |
|---|---|---|
| Смотрит историю броней | mobile (tourist)/bookings · web /tourist/booking-history, /tourist/booking-history/:type/:id |
Email-чек |
| Смотрит платежи | web /tourist/payment-history · — (нет mobile) |
— |
| Пишет отзыв | mobile (tourist)/reviews/new · web /tourist/reviews |
Push с просьбой оценить |
| Постит сторис о поездке | mobile (tourist)/story/new |
— |
| Читает свои сторис | mobile (tourist)/story/[id] · web /tourist/stories/:storyId |
— |
| Управляет подписками | web /tourist/subscriptions, /tourist/profile/subscribe |
— |
| Использует промокоды/акции | web /tourist/promotions, /tourist/promotions/:id |
Email-кампания |
| Запрашивает поддержку | web /tourist/support, /support/tickets · mobile profile/help |
— |
| Управляет страховкой | web /tourist/insurance, /tourist/profile/insurance |
— (только web) |
| Использует ride history/stats | mobile (tourist)/ride/history, ride/stats |
— |
Pain points:
- 3 страницы броней на web (BookingHistoryPage, bookings/TransferBookingsHistory, bookings/RestaurantBookingsHistory) — нужна унификация.
- Insurance — только web, нет mobile.
- Mobile нет PaymentHistory как отдельного экрана.
Opportunities:
- Унифицировать BookingHistory через табы (Отели / Туры / Рестораны / Трансферы / Ски-пассы / Инструкторы).
- Добавить «Оставить отзыв» CTA в BookingDetail после завершения брони.
Профиль / настройки (cross-stage)¶
Доступны на всех стадиях. Текущие экраны:
- mobile: profile, edit, settings, notifications, language, privacy, help, about, switch-account
- web: /tourist/profile, /edit, /settings, /login-security, /about, /lang-tz, /support, /profile/password
Также экстренные контакты: web /tourist/emergency — нет mobile.
Opportunity: добавить «SOS» кнопку в mobile (для горного курорта критично).
Cross-role interactions¶
- С отельером: через P2P-чат после бронирования отеля. Отельер отвечает в
(hotelier)/messages. - С инструктором: через
(tourist)/instructors/[id]/bookи видеозвонок. - С ресторатором: через бронь столика и P2P-чат.
- С туроператором: через бронь тура.
- С трансфер-оператором: через бронь маршрута + ride-tracking.
- С админом: через support-tickets и модерацию reviews/историй.
Дизайн-приоритет¶
P0 (внедрять первым):
1. Главная (tourist)/explore — внедрить HomeHeader, AlertBanner, WeatherCard, Chip, SectionHead, HCardList.
2. Detail-экраны (hotels/[id], tours/[id], restaurants/[id], instructors/[id]) — единый шаблон с hero + 3 stat-tile + описание + CTA.
3. Booking-flow → единый BookingConfirmation overlay.
4. Login/Register — desktop уже сделан, перенести на mobile.
P1: 5. BottomNav (4 таба: Главная / Карта / Избранное / Профиль) — есть в дизайне. 6. Profile / Settings — токены + унификация.
P2: 7. Booking history с табами. 8. Forum, Reviews, Stories — применить Card-стиль.