🎯 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) — новая бронь сверху
Ключевые точки:
- Dashboard → nav('/hotels') ✅ (DashHotelCard)
- HotelsScreen → nav('/hotels/${id}') ✅
- HotelDetailScreen → nav('/booking') или /hotels/${hotelId}/rooms/${roomId} ✅
- BookingScreen → nav('/pay/${bookingId}') ⚠️ — нужно проверить
- PayScreen → nav('/payment-success') ✅
- PaymentSuccessScreen → nav('/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 нуждаются в проверке/доработке.