Перейти к содержанию

🎯 CJM туриста · мобильное приложение Архыз.CLUB

10 ключевых сценариев — карта переходов между экранами. Все роуты проверены в tourist-app/src/App.tsx и nav('/...') вызовах.


CJM #1 · Турист → бронь отеля

Splash → Onboarding (4 step) → Welcome → Phone-auth → OTP → Profile-setup
   ↓
Dashboard (S02)
   ↓ [клик «Где остановиться» → отельная карточка]
Hotels list (/hotels, S07)
   ↓ [клик карточки]
Hotel detail (/hotels/:id, S08)
   ↓ [клик номера]
Room detail (/hotels/:hotelId/rooms/:roomId, S08)
   ↓ [«Забронировать»]
Booking (/booking, S09) — даты + гости + итог
   ↓ [«Оплатить»]
Pay (/pay/:bookingId, S44) — выбор метода + 3D-Secure
   ↓ [success]
Payment success (/payment-success, S34)
   ↓ [«К моим броням»]
Bookings (/bookings, S12) — новая бронь сверху

Ключевые точки: - Dashboardnav('/hotels') ✅ (DashHotelCard) - HotelsScreennav('/hotels/${id}') ✅ - HotelDetailScreennav('/booking') или /hotels/${hotelId}/rooms/${roomId} ✅ - BookingScreennav('/pay/${bookingId}') ⚠️ — нужно проверить - PayScreennav('/payment-success') ✅ - PaymentSuccessScreennav('/bookings') ⚠️ — нужно проверить


CJM #2 · Турист → катание

Dashboard → Snow (/snow, S04)
   ↓ [«Подъёмники»]
Lifts list (/lifts, S114)
   ↓ [клик карточки]
Lift detail (/lifts/:id, S115/S116)
   ↓ [«Записать день»]
Tracking (/tracking, S117)
   ↓ [«Начать запись»]
Tracking active — live метрики
   ↓ [«Завершить»]
Tracking history (/tracking/history, S118)
   ↓ [клик сессии]
Tracking detail (/tracking/sessions/:id) — таймлайн дня
   ↓ [«Поделиться»]
Story compose (/stories/new, S132)
   ↓ [post]
Ski stories feed (/ski-stories, S131) — пост сверху

CJM #3 · Турист → услуги (тур/трансфер/ресторан/инструктор)

Menu (/menu) или Search (/search) или Dashboard (категории)
   ↓
Catalog: /tours · /restaurants · /transfers · /instructors-market (S36-S39)
   ↓ [клик карточки]
Detail: /tours/:id · /restaurants/:id · /transfers/:id · /instructors/:id (S22-S25)
   ↓ [«Забронировать»]
Booking → Pay → PaymentSuccess → Bookings

CJM #4 · Турист → инструктор (особый flow)

Snow или Menu → InstructorsMarket (/instructors-market, S133)
   ↓ [клик карточки]
InstructorDetail (/instructors-market/:id, S134) — выбор длительности 1/2/3/4ч
   ↓ [«Забронировать урок»]
[модалка confirm] → MyInstructorBookings (/instructors/my, S135)
   ↓ [клик «Чат с инструктором»]
ChatThread (/chats/:id, S19)

CJM #5 · Турист → еда/аренда на склоне

Snow → SlopeFood (/slope-food, S125) или Rentals (/rentals, S123)
   ↓ [добавление в корзину]
Sticky cart bar
   ↓ [«Оформить»]
[создание заказа]
   ↓
MyOrders: /slope-food/my (S126) или /rentals/my (S124)

CJM #6 · Турист → социалка

Dashboard → Stories (/ski-stories, S131)
   ↓ [клик стори]
Story detail (/stories/:id, S49)
   ↓ [клик автора]
User profile (/users/:id, S50)
   ↓ [«Подписаться»] или [«Друзья на склоне»]
Friends-live (/friends-live, S122)
   ↓ [«На карте»]
Map3D (/map3d, S112) с друзьями live

CJM #7 · Турист → коммуникация

Bookings (/bookings) или Detail-экран
   ↓ [«Чат с поставщиком»]
ChatThread (/chats/:id, S19)
   ↓ [«🎤» voice или «🎥» video]
VoiceCall (/call/voice/:id, S20) или VideoCall (/call/video/:id, S21)
   ↓ [«Завершить»]
Назад к ChatThread

Альтернативный вход:
Menu → Chats list (/chats, S18)
   ↓ [клик диалога]
ChatThread

CJM #8 · Провайдер → новая услуга

Menu → «Сменить роль» (/roles, S46)
   ↓ [выбор роли]
Provider Dashboard (/hotelier · /tour-operator · /restaurant-owner · /instructor · /transfer-provider)
   ↓ [«Создать»]
Form: /hotelier/hotels/new · /tour-operator/catalog/new · etc (S83-S88)
   ↓ [«Сохранить»]
Назад к каталогу — новая услуга появилась

CJM #9 · Провайдер → ответ на бронь

Provider Dashboard → Bookings tab (S55, S61, S67, S73, S79)
   ↓ [клик заявки]
Booking detail
   ↓ [«Подтвердить» или «Отклонить»]
Status change → автонотификация туристу
   ↓ [«Чат с гостем»]
Provider chat (S101 → S102)

CJM #10 · SOS / экстренный сценарий

Любой экран (через FAB или TabBar shake)
   ↓
SOS (/sos, S136) — большая красная кнопка
   ↓ [«Звонок спасателям»]
tel:+7-... (system call)
   ↓ Параллельно: SMS с гео-координатами службе курорта

🔧 Проверка переходов (action items)

Откуда Куда Статус
Dashboard.HotelCard /hotels/:id
HotelDetail /booking ⚠️ нужно проверить
BookingScreen /pay/:id ⚠️ сейчас уходит на /payment-success напрямую
PaymentSuccess /bookings ⚠️ может быть «На главную»
Snow /lifts, /tracking, /recommendations
LiftDetail /map3d
Tracking /tracking/history
TrackingHistory /tracking/sessions/:id
InstructorsMarket /instructors-market/:id
InstructorDetail /instructors/my
Friends-live /map3d
Bookings /chats/:id ⚠️ нужна логика chatsApi.startWith
Menu новые: /payments, /payments/history, /pass/history
Roles /hotelier, /tour-operator, etc ✅ (Protected)
SOS tel:+7..., sms:+7...?body=...

Всего ~50 ключевых nav-переходов, 5 нуждаются в проверке/доработке.