Как читать эту часть
Это полное описание того, что увидит, потрогает и почувствует турист — от первого открытия приложения до момента, когда он через год приводит друга. По каждому экрану три вещи: что человек видит (вплоть до текста на кнопках), что он чувствует (потому что чувство — это и есть продукт) и какие функции за этим стоят. Отдельно размечены моменты восторга — секунды, ради которых люди рассказывают о приложении знакомым, — и мелочи, которые стоят копейки, а влюбляют намертво.
Всё описанное — не «пожелания к дизайну». Это спроектированные экраны, реализуемые в одном веб-ядре (Nuxt + Capacitor) с семью нативными модулями: фоновая геолокация, очередь досылки без сети, живой экран блокировки, надёжное хранилище, чтение звонка-сброса, камера-сканер, касса. Один и тот же код живёт пятью жизнями: приложение в сторах, сайт, PWA, Telegram Mini App и брендированные витрины партнёров.
Всё, что здесь описано, — проектное решение, а не приговор. Экраны собраны из механики отрасли так, как её видит анализ. Но живую физику этого рынка — что действительно работает у дверей автобуса в 7:40 — знает Виталий, и его правка в любом месте этого документа весит больше любого нашего расчёта.
Наш человек и пять законов, под которые построен каждый экран
Сцена, с которой всё начинается
Вечер, 21:40. Отель в Адлере, номер на шестом этаже. Человек лежит на кровати, кондиционер гудит, семья только что решила: «завтра свободный день». Он открывает приложение — не потому что любит приложения, а потому что жена сказала «посмотри, куда можно». Телефон средней руки, отельный Wi-Fi так себе, терпения — секунд десять. Рядом ребёнок шести лет и вопрос «а сколько это на всех?».
Это наш зритель. Не «пользователь сегмента B2C» — вот этот конкретный уставший человек с мороженым в одной руке и телефоном в другой. Каждый экран ниже снят для него.
Три факта рынка, которые определяют всё
| Факт | Число | Что из него следует для каждого экрана |
|---|---|---|
| Глубина бронирования схлопнулась | 1–2 дня | покупка — импульс «вечером на завтра»; любой лишний экран между «хочу» и «оплачено» = потерянные деньги |
| Цена одного места | 430 ₽ средний заказ — 1 300 ₽ на троих |
за 430 ₽ никто не будет придумывать пароль, читать оферту и заполнять анкету |
| Доля туристов, вовсе исключивших экскурсии в кризис | 15% | каждый решившийся — на вес золота; потерять его на форме регистрации — преступление против выручки |
И четвёртый факт, локальный, но решающий: в Сочи регулярно глушат мобильный интернет, а первые автобусы уезжают в 7:40 утра. Приложение, которое живёт только при хорошей сети, в этом городе — не приложение.
Пять законов туристического контура
Экран входа никогда не появляется первым.
Он появляется только когда без него нельзя, и всегда объясняет — зачем. В старой системе каталог требовал регистрации, чтобы просто посмотреть цены; сам Виталий назвал это «мы продаём квартиры, а если хотите узнать сколько стоят — оставьте контакты». Мы делаем ровно наоборот и делаем это витриной.
Паролей не существует.
Ни у туриста, ни у кого-либо ещё. Нечего забыть, нечего украсть, нечего переслать в чате. Вход — телефон и код, дальше биометрия.
Витрина — это расписание, а не полка.
Все агрегаторы устроены как магазин: витрина → товар → корзина. Мы устроены как табло вокзала: «завтра в 7:40 от Магнита в шести минутах от тебя уезжает автобус, осталось 6 мест». Потому что человек не «покупает экскурсию» — он успевает или не успевает на автобус.
Цена — всегда итог за твою компанию.
Не «от 430 ₽». Один раз сказал «2 взрослых + ребёнок 6 лет + малыш на руках» — и все 300 программ показывают итог за твою семью. Восемь тарифных категорий (взрослый, два детских, инфант, два льготных, трансфер, бесплатный) существуют внутри системы; человеку — слова и итоговая сумма.
Ни одного тупика и ни одного вранья.
Нет экрана «ничего не найдено» — всегда есть соседняя дата, соседний район, три похожих и кнопка «напомнить». Нет «осталось 2!!!» и «12 человек смотрят прямо сейчас» — остаток мест берётся из той же кассы мест, что у кассира, и он честный. Нет наценки — и об этом сказано вслух плашкой «цена как у фирмы».
Маршрут эмоций — карта всей части одной таблицей
| Этап пути | Главный страх человека | Чем снимаем | Что он чувствует в итоге |
|---|---|---|---|
| Открыл приложение | «сейчас начнётся: регистрация, спам» | ноль экранов входа, сразу товар | ничего — и это победа |
| Выбирает | «сколько это НА ВСЕХ? а я успею? а найду остановку?» | цена за семью, «6 мин пешком», «домой к 19:10» | «оно про мою улицу и мою семью» |
| Бронирует | «пока плачу — место уйдёт» | место держится с первой секунды, таймер на локскрине | «меня держат за руку» |
| Платит | «а это не развод? куда идут деньги?» | СБП в 8 секунд, экран «куда пойдут ваши деньги», чек | спокойствие банковского уровня |
| Ночь накануне | «а я всё взял? а я встану?» | чек-лист сборов, будильник от точки, брифинг | «обо мне подумали» |
| Утро | «а автобус приедет? а какой он?» | живой автобус на локскрине, «Руслан · Mercedes · А123ВС» | контроль вместо паники |
| В пути | «а что дальше? а хватит налички?» | живой таймлайн, доплата по QR за 15 секунд | «меня ведут» |
| После | «ну всё, про меня забыли» | баллы упали, фото группы, «как съездили?» одним смайлом | «хочу ещё» |
| Через год | — | «в прошлом августе вам понравилось на 5», баллы не сгорели молча | возвращается и приводит друга |
Первые 30 секунд — покадрово
Первые полминуты решают всё: при глубине бронирования в 1–2 дня у нас нет второго свидания. Разберём их кадр за кадром.
Тап по иконке. Экрана загрузки не существует
Никакого сплэша. Никакого логотипа на три секунды. Никакой крутилки. Первый же кадр — живая витрина: текст, цены и даты стоят на экране с первой миллисекунды (закешированный слепок каталога лежит в телефоне — он же и есть офлайн-режим). Фотографии проявляются следом, мягко, из лёгкого блюра в резкость, — но человек уже читает, пока они проявляются.
Это принципиальный кадр. Легаси встречало заставкой, которую партнёры просили убрать полгода. Klook встречает сплэшем с логотипом. Мы встречаем товаром.
Ничего. И это высший пилотаж — он не заметил перехода «открыл → пользуюсь». Порог исчез.
Система уже знает, где он
Сверху тонкая строка:
Геолокация определила не город, а район — не «Сочи» (это 145 километров побережья), а Адлер. Рядом серым: «не тот район? нажмите» — потому что легаси-геолокация умудрялась дважды ошибиться даже в центре Сочи, и мы никогда не делаем вид, что непогрешимы. Ошибка исправляется одним тапом, выбор запоминается навсегда.
Первая карточка. Первое «оу»
Крупная карточка, фото на две трети высоты — живой кадр с телефона, не сток. Поверх нижней кромки:
Каждая строка — удар:
- «завтра, 7:40» — не «доступны даты», а конкретный автобус, который реально уедет через десять часов;
- «Магнит Имеретинка · 6 мин пешком» — приложение посчитало от его геопозиции до ближайшей точки посадки. Он знает этот «Магнит», он ходил мимо него сегодня за водой. Экран внезапно оказался про его улицу;
- «осталось 6 мест» — оранжевым, из живого счётчика, того же, что у кассира. Не выдуманный дефицит — честная цифра.
Палец, летевший к свайпу, останавливается. «Стоп. Оно знает, где я, знает, что уезжает завтра утром у моего дома, и говорит, сколько идти пешком». Витрина перестала быть магазином и стала расписанием его завтрашнего утра.
Он трогает экран
Свайп пальцем по фото — фотографии листаются прямо в ленте, не открывая карточку. Второй кадр — видео 15 секунд, автоплей без звука: автобус, серпантин, бирюзовая вода. Снято на телефон, честно, без глянца.
Скролл вниз — лента едет маслянисто, карточки подгружаются скелетонами (серые призраки формы, никогда — крутилка). Вторая лента: «Сегодня ещё можно успеть» — она появилась только потому, что сейчас 21:40 и на вечернюю морскую прогулку в 23:00 он реально успевает от своей точки. Не успевал бы — ленты бы просто не было. Мы не дразним.
Второе «оу»: цена становится ЕГО ценой
Он замечает в верхней строке мягко пульсирующий чип «кто едет?» и тапает. Снизу выезжает лист — не полноэкранное окно, витрина остаётся видна за верхней кромкой:
Он ставит «2 взрослых, ребёнок», тянет ползунок возраста на шесть — и вся витрина за листом на его глазах перекрашивается: «от 1 400 ₽» на каждой карточке перекатывается счётчиком в «4 850 ₽ за вашу семью». Под ползунком человеческая строка: «6 лет — детский тариф 700 ₽, с 12 будет взрослый».
Закрыл лист — витрина уже другая. Все 300 программ показывают итог за его семью. Навсегда, до следующей смены состава.
Облегчение и лёгкое недоверие — «то есть мне больше не надо умножать в голове?» Ни Airbnb, ни Klook, ни один российский агрегатор не показывают цену за конкретную семью в ленте. Все показывают «от».
Третье «оу»: география завтрашнего утра
Он открывает карточку. Первый экран — галерея, название, три бейджа («Подтверждение сразу», «Отмена бесплатно за 24 ч», «Цена как у фирмы»). Свайп вниз — и блок, который его добивает:
И мини-карта: синяя нитка маршрута сбора, пин «Магнит Имеретинка · 7:40», пульсирующая точка «вы здесь», пунктир пешего пути между ними — 6 минут.
География утра сложилась в голове. «В 7:34 выхожу, в 7:40 сажусь, в 19:10 дома». Тревога «а найду ли я эту остановку» — главный невысказанный страх автобусной экскурсии — умерла до покупки.
Финал
Внизу карточки — закреплённая полоса, которая ехала с ним весь скролл:
Он ещё ничего не купил. Но за 30 секунд он: увидел товар без единого экрана входа, узнал свою улицу, получил цену за свою семью без калькулятора и увидел своё завтрашнее утро на карте. Никто не спросил ни телефон, ни почту.
Он поворачивается к жене: «Смотри, завтра в 7:40 от Магнита, четыре восемьсот на всех». Конверсия произошла в голове на двадцать восьмой секунде — до всякой оплаты.
Вход, которого нет
Обычные сервисы думают так: сначала докажи, кто ты, — потом обслужим. Мы переворачиваем: сначала обслужим — личность соберётся сама, по дороге.
Первое открытие: ноль экранов входа
Приложение открывается — и сразу карточки экскурсий. Никакого «Войти», никакого «Зарегистрируйтесь, чтобы продолжить», никакого запроса пушей на первом экране. В правом верхнем углу — маленький круглый силуэт-аватар. Не кнопка «Войти» — просто силуэт. Нажал — выехала панель: «Ваши билеты», «Баллы», «Войти». Всё.
Ничего не чувствует — просто листает экскурсии, как ленту. Он не заметил, что его не спросили, кто он, а значит ни разу не подумал «а не закрыть ли».
Покупка вообще без входа: два поля
Гость выбрал «Абхазия, озеро Рица, завтра 07:30», нажал «Забронировать». Один экран, без степперов:
Два поля. Не «фамилия-имя-отчество, email, повтор email, придумайте пароль, повторите пароль». Телефон нужен не для регистрации — чтобы диспетчер позвонил, если автобус опаздывает. Так и написано серым под полем: «Позвоним, только если что-то поменяется с поездкой».
«Ого, это заняло десять секунд». Ощущение, будто купил кофе, а не турпродукт.
Что происходит невидимо: в базе рождается теневая личность — телефон + имя + заказ. Это уже полноценный человек в системе, просто он ещё не поставил на себя замок. Он не «незарегистрированный» — он «гость с телефоном», и все механики (баллы, история, поиск диспетчером по четырём цифрам номера) уже работают на него.
Вход по телефону: одно поле и ноль решений
Когда вход всё-таки нужен (посмотреть баллы, историю) — экран почти пустой. Никакой развилки «войти или зарегистрироваться» — её не существует. Система сама разберётся: знает номер — впустит, не знает — заведёт. Клавиатура открыта сразу, код страны определён по SIM, кнопки «Далее» нет — как только номер добран до десяти цифр, экран сам уезжает дальше.
Код: четыре способа, лучший выбирается сам
Мы не спрашиваем, как прислать код. Мы выбираем сами, по убыванию удобства:
| Канал | Как выглядит для человека | Зачем именно он |
|---|---|---|
| Flash Call звонок-сброс, основной |
входящий звонок тут же сбросился; код — последние 4 цифры номера. Android считывает сам: человек видит вспышку «Входящий…» и уже главный экран. На iOS — подсказка «Вам позвонили с …-58-41. Введите 5841» | вход за 3–6 секунд; дешевле SMS в 5–10 раз — при десятках тысяч заказов это живые деньги и живая надёжность |
| Telegram-код | официальное сервисное сообщение в Telegram | бесплатно и мгновенно, если аккаунт связан |
| SMS | классика | запасной путь |
| Голосовой звонок | робот диктует код медленно, дважды; кнопка «Прочитайте код голосом» появляется на 20-й секунде ожидания | для пожилых и мест с плохой связью — на юге это половина рынка, льготные категории Л1/Л2 в тарифной сетке существуют не просто так |
Экран ожидания: шесть крупных клеток, автоподстановка, живой таймер «Отправим ещё раз через 0:23» и маленькая ссылка «Что-то не так?» — за ней честный список («звонок не пришёл», «это чужой номер», «нет доступа к номеру»), каждый пункт ведёт в реальное решение, а не в форму обратной связи. При деградации оператора канал перебрасывается автоматически, без участия человека.
Остальные двери: Telegram, Сбер, Яндекс, Госуслуги, почта
- Внутри Telegram Mini App вход не существует как экран вообще. Человек открыл витрину в Telegram — платформа уже знает его по подписи Telegram. Билеты и баллы видны сразу. В приложении и на сайте — кнопка «Войти через Telegram»: один тап, «Разрешить», готово.
- Sber ID и Яндекс ID — три круглых иконки под полем телефона, узнаются по цвету за 200 миллисекунд. Приносят проверенное ФИО и телефон — профиль заполняется сам.
- Госуслуги — не вход, а инструмент подтверждения, и появляются ровно в трёх местах: льготный тариф («подтвердите льготу — 10 секунд, и цена пересчитается прямо сейчас; или покажите документ на посадке»), паспортные данные всех едущих для Абхазии одним нажатием — вместо ручного ввода серий-номеров на пятерых с телефона в жару, и подключение партнёра. Под кнопкой предельно честная строка: «Мы запросим только ФИО, дату рождения и статус льготы. Мы не увидим ни доходы, ни штрафы, ни налоги».
- Почта — второй ключ, не первый: спрятана за «Другие способы», работает кодом и magic-link, нужна иностранцам и как страховка.
Виталий сам просил Сбер ID и Яндекс ID ещё в старой системе — сделано не было. У нас — с первого дня.
Тихая склейка: момент, ради которого стоит войти
Через день после поездки на экране билета появляется мягкая полоска:
«Вам начислено 130 баллов за поездку. Чтобы они не потерялись — закрепите телефон за собой. Это 5 секунд.»
[ Закрепить ] [ Потом ]
Никаких «Зарегистрируйтесь!». Причина названа честно и в деньгах. Нажал → код → и вот главное: в аккаунт втягиваются все прошлые гостевые заказы с этого номера — за всю историю. Экран после склейки:
Карточки прошлых поездок падают сверху, как фотографии на стол, каждая с еле слышным «тук»; счётчик баллов докручивается от нуля, как табло аэропорта.
Изумление и лёгкая гордость — «оно меня помнит». Вместо пустого свежесозданного профиля он получает собственную забытую историю и 780 баллов, которых не ждал. Это невозможно скопировать без теневых личностей и двух лет честного хранения гостевых заказов.
Технически склейка идёт по подтверждённому телефону, атомарно, идемпотентно (повтор не удвоит баллы), с записью в журнал. Если номер встретился в двух аккаунтах — экран объединения: «Похоже, это тоже вы. Объединить?» — с перечнем того, что сольётся, и возможностью отказаться.
Дальше — биометрия и никаких паролей
После первого входа приложение предлагает Face ID / отпечаток (passkey/WebAuthn: ключ в Secure Enclave, синхронизация через iCloud/Google — новый телефон входит сам, без единого действия). Повторная биометрия спрашивается ровно в двух местах: списание баллов свыше порога и смена номера телефона.
Смена номера — 15 секунд с полным переносом истории. Полная потеря номера — автоматическое восстановление через опрос по собственным поездкам («куда ездили в сентябре? сколько вас было? последние 4 цифры карты») — за минуту, ночью, без человека. Не совпало — заявка в поддержку уходит с уже собранным досье и вердиктом «совпало 2 из 4».
И экран «Где я вошёл»: список устройств с городом и временем, выход по одному, кнопка «выйти везде, кроме этого». О каждом входе на новые устройства прилетает пуш с кнопкой «Нет, это не я» — мгновенный сброс всех сессий.
Расписание, а не полка
Главная — «Уезжает рядом»
Три ленты сверху вниз:
«Уезжает завтра рядом с вами»
Горизонтальная, крупные карточки, отсортированы не по алфавиту и не по «популярности», а по времени ближайшего реального выезда с точки, до которой идти меньше 15 минут. Фото листается пальцем прямо из ленты, итог за твою компанию, честный остаток мест, маленький логотип фирмы.
«Сегодня ещё можно успеть»
То, что уезжает через 2–5 часов. Появляется, только если реально можно успеть: система знает отсечку твоей ближайшей точки и сколько тебе до неё идти. Не успеваешь — лента не показывается, а не дразнит.
Подборки и сторис
«Первый раз в Абхазии», «Если укачивает», «С коляской», «Сочи за 3 дня», «Дождь завтра». Последний кадр каждой истории — всегда конкретная карточка с ценой и датой: вдохновение, из которого есть выход в покупку за один тап.
Не «мне надо выбирать из 300 штук», а «о, вот прямо завтра утром, вот прямо у моего дома, вот столько денег». Решение сжимается с получаса до тридцати секунд.
Экран «Кто едет» — переворот всех цен
В этом бизнесе восемь тарифных позиций с двумя независимыми осями: «платит / не платит» и «занимает место / не занимает». Инфант едет на руках — денег ноль, места ноль. Бесплатная делегация — денег ноль, но места занимает. Это реальная физика, которую раньше знала только админка, а турист видел бессмысленное «от 430 ₽».
Лист состава — живые строки со степперами и ползунком возраста; пока крутишь ползунок, цена внизу пересчитывается на глазах, а рядом человеческая подпись: «Ребёнку 6 лет — детский тариф, 700 ₽. С 12 лет будет взрослый». Ставишь двух малышей на руках — честное предупреждение:
«Двоих на руках физически не увезти. Одному нужно место — это ещё 700 ₽. Добавить?»
Это не выдумка дизайнера. Это реальный скандал у дверей автобуса, из-за которого в системе когда-то родилось правило. Мы перенесли правило туда, где оно нужно, — до покупки, а не в лицо экскурсоводу в 7:40 утра.
Поиск, который прощает всё
Строка сверху, всегда доступна. Тапнул — и ещё до ввода показаны последние запросы, «вы смотрели», популярное в твоём районе. Печатаешь — подсказки не словами, а карточками: плитка с фото, ценой за твою компанию и ближайшей датой. Тапнул подсказку — сразу в карточке, минуя выдачу.
| Ты напечатал | Мы поняли |
|---|---|
| абхазя, абхазии, АБХАЗ | Абхазия |
| рицца, оз рица, ozero rica | озеро Рица |
| на маре, к морю, морская | морские прогулки |
| djipping, джиппенг | джип-туры |
| красная палена | Красная Поляна |
| што нить с детьми | подборка «с детьми» |
Морфология, опечатки, транслит в обе стороны, склеенные и разорванные слова.
Пишешь целой фразой — «завтра с ребёнком недорого на весь день» — система раскладывает её в фильтры и показывает их чипами, которые можно снять пальцем: «завтра ×», «для детей ×», «до 2 000 ₽ ×», «6+ часов ×» — и 11 результатов. Ошиблась в разборе? Снял чип — выдача перестроилась. Не чёрный ящик, а разговор. Голосом — то же самое: сказал «Абхазия завтра на четверых» — получил выдачу.
В ту же строку можно вставить номер брони или свой телефон — и попасть прямо в свою поездку. Вставил 46625 — вот билет, вот остановка, вот время. Без раздела «Мои заказы», без пароля.
В старой системе поиск не работал 13 месяцев и закончился официальным отказом подрядчика «в текущей архитектуре неисправимо». Виталий писал: «Ты ж пользуешься поиском на других ресурсах. Как мне это объяснять партнёрам?» У нас поиск — витринная фича с первого дня.
Фильтры: шторка, а не стена
Под поисковой строкой — липкая лента чипов: «Дата», «Цена», «Длительность», «Тип», «Район», «Сложность», «С детьми», «Успеваю сесть», «Без раннего подъёма». Тапаешь любой — снизу выезжает лист на полэкрана: результаты остаются видны и перестраиваются прямо под пальцем. Внизу листа живая кнопка: «Показать 34 варианта» → двинул ползунок цены → «Показать 18 вариантов». Эффект фильтра виден до его применения.
Два фильтра, которых нет ни у кого:
- «Успеваю сесть» — по геопозиции и времени отсечки твоей точки оставляет только рейсы, на которые ты физически успеваешь дойти;
- «Если укачивает» — убирает серпантины и морские прогулки. Рядом человеческая группа: «Без раннего подъёма» (после 9:00), «Без долгой ходьбы», «С коляской», «Есть туалет по маршруту».
Сортировки: по времени выезда (по умолчанию — это же расписание), дешевле для вашей компании, ближе к вам, выше рейтинг, «скоро уедет».
Карта — не достопримечательности, а твои точки посадки
Половина экрана — карта, половина — список (шторкой). На карте — точки посадки: синие пины «Магнит Имеретинка · 7:40 · 6 мин», «Автовокзал Адлер · 8:10 · 14 мин», твоя пульсирующая позиция. Тянешь карту в сторону Лазаревского — список перестраивается под видимую область. Тапнул пин — мини-карточка: какие рейсы уходят с этой точки завтра. Тапнул карточку в списке — пин подпрыгивает. Синхронно, без задержки.
Второй режим — нитка маршрута внутри карточки экскурсии: где собирают, куда везут, где остановки. Видно, что автобус сначала полчаса собирает людей по Адлеру, — и это честно, потому что человек всё равно это увидит, только уже сидя в автобусе и злясь.
Календарь с ценой в клетках
Сетка месяца, в каждой ячейке — цена мелким шрифтом и полоска заполненности: зелёная — мест полно, жёлтая с цифрой «6» — мало, серая — занято (кликабельна, ведёт в лист ожидания). Внизу живая подпись: «дешевле всего 16 августа — 4 850 ₽». Это приём Aviasales, которого в экскурсиях нет ни у одного игрока в России.
Плюс табло дня: «Всё, что уезжает 12 августа» — весь юг по времени, как расписание вокзала. И погодная подсказка прямо в выдаче: «на 13 августа дождь и море 17°, морские прогулки часто отменяют — вот 5 вариантов под крышей». Платформа перестаёт быть витриной и становится советчиком.
Пустых экранов не бывает
Никогда не пишем «Ничего не найдено». Вместо этого:
Ноль тупиков: из любого экрана есть выход вперёд, а не только назад. Пустые теги и уснувшие на зиму программы исчезают с витрины сами, как только у них не осталось ни одной живой даты, — гость никогда не тыкает в «Морские прогулки» зимой и не получает пустоту.
Карточка экскурсии — экран, на котором принимается решение
Карточка длинная и выстроена ровно в том порядке, в котором человек задаёт себе вопросы.
«Красиво ли?» — первый экран
Галерея на всю ширину: 12–20 фото, листаются пальцем, первое «фото» — живое видео 15 секунд, снятое на телефон. Поверх — плашка «4,8 · 312 отзывов». Под галереей название и три бейджа со смыслом: «Подтверждение сразу» · «Отмена бесплатно за 24 ч» · «Цена как у фирмы, без наценки».
«Сколько это стоит мне и когда?»
Крупный липкий блок — при прокрутке съезжает в нижнюю панель. «Развернуть расчёт» раскрывается по строкам — и вот редкая честность, которой нет ни у одного агрегатора:
Мы показываем, сколько ещё придётся достать из кармана на месте — потому что скандал у кассы дороже потерянной конверсии.
«Что там вообще будет?» — программа по часам
Не абзац текста, а вертикальный таймлайн-лестница:
Выезд, Магнит Имеретинка
собираем группу по Адлеру, ~35 минут
Граница с Абхазией
паспортный контроль, 20–40 мин. Паспорт обязателен!
Смотровая, Юпшарский каньон
25 минут · фото · туалет есть
Озеро Рица
1 ч 20 мин свободного времени · подъём пешком 700 м в гору, средний темп
Обед в кафе у озера
входит в стоимость
Новый Афон, пещера
билет 500 ₽ на месте
Возвращение на ту же остановку
—
«Домой вернётесь около 19:10» — с учётом дороги от остановки до вашего отеля. Не «8 часов». А во сколько ты будешь дома. Потому что человек планирует не длительность, а вечер.
«Что входит и что не входит»
Две колонки иконками: проезд, гид, обед, страховка — против входа в пещеру 500 ₽, парка 350 ₽, катера 700 ₽ и «сувениры и мёд». Внизу серым: «Наличные на месте понадобятся: примерно 1 050 ₽ на человека».
«Что взять с собой» — чек-лист с галочками
Галочки отмечаются и сохраняются. Стоит ноль, а влюбляет намертво — это то, за что приложение цитируют в отзывах.
«Откуда я поеду»
Карта с ниткой + список всех точек посадки — хоть сорока, а не первых девяти (в легаси маршрут на 36–40 точек обрезался на десятой). Со строкой поиска по точкам и блоком «Ближайшая к вам» наверху. Железное правило: при выборе точки отсечка бронирования пересчитывается от времени этой точки, а не от старта маршрута, — и это написано человеческим языком прямо на экране.
«Кто меня везёт» — паспорт рейса и полоса доверия
Прямо под ценой — не звёздочки, а две отдельные цифры:
Впечатление — про вкус (гид, виды). Надёжность — про факты, которые считает робот по событиям системы и которые нельзя написать словами: выполнено рейсов за 12 месяцев — 412; отменено фирмой — 6 (из них 4 — погода, 2 — недобор); уехали позже графика больше 20 минут — 11; деньги за отменённые рейсы возвращены в среднем за 3 часа 40 минут. Это табло вылетов аэропорта, а не отдел маркетинга.
Кнопка «Кто повезёт» открывает три карточки-разворота:
Юрлицо с ИНН
Логотип, «ООО "Ромашка", ИНН 2320…», «работает на площадке с марта 2025», зелёная плашка «Проверена по ЕГРЮЛ», имя и фото ответственного за качество.
Номер в госреестре
Фото, имя и строка, которой нет ни у кого на рынке — «Аттестован. Номер в федеральном реестре экскурсоводов: 23-00417, действует до 18.05.2029». Тап по номеру открывает госреестр: гость проверяет сам за десять секунд.
Полис на пассажира
Марка, госномер, число мест, лицензия перевозчика и страховка пассажиров ОСГОП — страховщик, номер полиса, лимит выплаты 2 025 000 ₽ на человека.
Ниже — карточка фирмы с человеческими фактами: «На платформе с 2024 · 4 812 проведённых рейсов · отвечает на вопросы в среднем за 12 минут · Все программы фирмы (37)». Мы не прячем поставщика — в отличие от Tripster и Sputnik8, где турист до оплаты вообще не знает, кто его повезёт.
Отзывы и живая лента фото
Отзывы фильтруются чипами по темам: «гид», «автобус», «с детьми», «время в пути», «еда» — плюс ответы фирмы. И главное правило, которое делает рейтинг единственным честным в отрасли: отзыв может оставить только тот, кого гид отметил в посадочном листе как реально севшего в автобус. Не купивший — севший. Чтобы накрутить отзыв, нужно купить место за 430 ₽, приехать к 7:40 и физически поехать. Накрутка становится дороже пользы.
Под описанием — «Лента рейса»: горизонтальные квадратные фото живых гостей с подписью «Марина, ехала 28 июля». Счётчик: «312 фото от гостей за последние 30 дней». Фото принимаются только от ездивших и только 48 часов после поездки, с тихой проверкой даты съёмки и геометки. Это одновременно доказательство, что рейс реально был вчера, и лучший продающий контент.
Вокруг карточки
- Сравнение до 4 экскурсий — и сначала человеческий абзац «в чём разница» («на 3 часа дольше и дороже на 1 800 ₽, но входит обед и пещера — реальная разница 250 ₽»), и только под ним таблица;
- Избранное в виде папок-поездок («Наш Сочи 12–16 августа») с итоговой суммой за все дни;
- Шеринг — ссылка ведёт ровно на эту экскурсию с датой и составом (в легаси любая ссылка падала в корень каталога), в мессенджере разворачивается карточкой с фото и ценой; список поездки можно расшарить жене — она ставит сердечки и «не хочу», реакции видны в реальном времени;
- История просмотров с честной пометкой «было 5 200 → стало 4 850» и кнопкой «Следить за ценой»;
- У каждой экскурсии — своя веб-страница с нормальным адресом, которую находят Яндекс и Google (в легаси SPA индексировалась только главная — рекламу было физически невозможно покупать).
Место уже ваше
Главный переворот
Представьте кассу кинотеатра. Вы говорите «два места на 19:40» — кассир отрывает билеты и держит их в руке, пока вы ищете кошелёк. Он не продаёт ваши места другим, пока вы платите.
Место занималось только статусом «Оплачен», который ставил робот с интервалом 30 минут (при отвале — до полутора часов). Пока гость платил, место официально было свободно. Отсюда — двенадцать мусорных дублей от отчаявшегося человека, который жал «оплатить» тринадцать раз.
В секунду нажатия «Бронирую» рождается удержание: «4 места на маршруте №3 на 14 августа зарезервированы до 19:12». Оно живёт 15 минут и умирает само, если оплата не пришла.
И один-единственный счётчик мест на всю платформу: витрина, оформление, админка, оба API-контура и касса продавца спрашивают одну и ту же функцию — число на экране гостя и в своде диспетчера физически не могут разойтись.
Шторка бронирования — не новая страница
Нажатие «Забронировать» — снизу выезжает шторка, экскурсия остаётся видна за полупрозрачным краем. Психологически это разница между «начал заполнять анкету» и «уточняю детали».
Шаг «Когда». Горизонтальная лента дней: число, день недели, цена и цветная полоска (зелёная — много, жёлтая «6 мест» — мало, серая — в лист ожидания). Цена прямо в ячейке: 1400 · 1400 · 1150 · 1400 — вторник дешевле, видно без единого тапа. Переключатель «Гибко»: «в ближайшие 3 дня», «на этих выходных», «когда дешевле». И ключевая починка: смена даты пересчитывает всё дерево целиком — маршруты, точки, времена, цену, остаток. Злой баг легаси, где гость перебирал даты и вечно видел «мест нет», пока не догадался переставить точку посадки, невозможен по конструкции.
Шаг «Кто едет». Строки со степперами и подсказками фирмы под каждой («едет на коленях, отдельное место не занимает», «на посадке попросят документ»). Внизу — две отдельные строки, главная честность экрана:
Деньги и места — разные оси. Добавил больше, чем осталось, — степпер мягко упирается: «На этот рейс осталось 6 мест. Можно взять 6 сейчас, а на остальных встать в лист ожидания». Не красная ошибка — предложение.
Шаг «Откуда поедем». Карта + список, у каждой точки — своё время выезда. Под выбранной точкой: «Забронировать можно до 06:20 сегодня» — живой обратный отсчёт, когда осталось меньше двух часов. Если на дату повешено шесть маршрутов — гость никогда не видит слово «маршрут»: он видит просто варианты времени от своей точки («07:55 · 10:00 · 14:00 · 18:00»). Техническая сущность не протекает в лицо туристу.
Таймер, который держит за руку
Полоска тает, цифры перекатываются. Спокойный синий — до последних двух минут, когда плашка мягко желтеет: «Успеваете? Можно продлить один раз» (одно продление на 10 минут — чтобы удержание не стало вечной блокировкой мест).
При уходе из приложения таймер переезжает на экран блокировки (Live Activity на iOS, постоянное уведомление на Android). Человек пошёл в WhatsApp спросить у жены «едем?» — а на локскрине спокойно тикает: «Вокруг Сочи · места держатся · 11:24». Он не потеряет заказ и не начнёт заново. Так делают Uber и доставка еды; в бронировании экскурсий — никто.
За 3 минуты до конца — тихий пуш «Место ещё ваше». Если таймер всё же истёк — не «заказ отменён», а мягко: «Время вышло. Проверяем, свободны ли места… ✓ Свободны, держим снова». В 95% случаев места никуда не делись, и человек просто продолжает.
Лист ожидания — с честной статистикой
На распроданный рейс — кнопка «Напомнить, когда появятся места». И вместо выдуманной срочности в стиле Booking — реальные цифры: «обычно на этот рейс за сутки освобождается 2–3 места, вы будете пятым в очереди». Кто-то отменил — прилетает пуш особым, чуть более настойчивым звуком: «Освободилось место на завтрашнюю Рицу. Оно ваше на 30 минут» — с кнопкой оплаты прямо в уведомлении. Экран уже собран: твой состав, твоя точка, таймер 29:40. Не успел — место уходит следующему.
Ему придержали билет лично. Утром он смирился, что не едет, — вечером едет.
Сложные составы — без переписки в мессенджерах
- «Еду сам / Бронирую другому»: билет уходит едущему в SMS, квитанция — плательщику;
- Ссылка-приглашение попутчику «впиши себя в поездку»: каждый вносит свои данные сам, места уже удерживаются общим таймером — конец выпытыванию паспортных данных друзей по трём чатам;
- Корзина как план поездки по дням: семья берёт три экскурсии за неделю у трёх разных фирм — «ср 12.08 Красная Поляна · пт 14.08 Рица · вс 16.08 Дельфинарий · итого 8 600 ₽», с независимыми таймерами и предупреждением «12 августа два выезда в одно время. Оставить оба?». Гость платит один раз — а внутри платёж невидимо расщепляется: каждой фирме свои деньги, свой агентский чек с её ИНН, свой список на рейс. Гость получил три чека от трёх компаний, заплатив однажды, и не заметил, что произошло что-то сложное — это высшая похвала;
- Групповая заявка от 10 человек — с обещанным сроком ответа и статусом в «Моих поездках» вместо пустоты; ответ приходит ссылкой на оплату, без звонков.
Три касания и ноль тревоги
⚠️ Открытая гипотеза: «место занимается только после оплаты»
Это решение остаётся в силе, но проверка рынка показала: лидеры продают ровно противоположное как своё преимущество. Sputnik8 — «бронирование без предоплаты», «Туртранс» — «забронируй место бесплатно», YouTravel — «придержать место без оплаты».
При глубине бронирования в один-два дня требование «сначала деньги» может отсекать часть клиентов. Это не значит, что мы неправы: у нас оплата закрывает реальную боль — 30% заказов в старой системе висели неоплаченными и блокировали места.
Что делать: не отменять решение, а проверить его на живых людях в первый же сезон. Запасной ход, если гипотеза не подтвердится: удержание места без оплаты на 30–60 минут с автоснятием — компромисс, который сохраняет живой остаток мест.
Экран, который не заставляет думать
Почти пустой экран. Сверху маленькая строка «Абхазия, 12 августа, 3 гостя». В центре — сумма огромными цифрами, видно с вытянутой руки. Под ней одна широкая кнопка «Оплатить через СБП». Ниже мелким серым — «Другой способ» (карта, часть баллами, «оплачу на месте», если фирма разрешила). Всё.
Никакого выпадающего списка из шести способов, который в легаси «думал 3 секунды», а у части клиентов вообще не грузился. Способ выбран за гостя — СБП быстрее и дешевле для фирмы. Между «хочу» и «оплачено» — два экрана и восемь секунд.
«Куда пойдут ваши деньги» — экран, которого нет ни у кого
Что чувствует гость: спокойствие — он платит не «в интернет», а конкретному юрлицу с проверяемым ИНН. Почему это гениально: карточка буквально рисует то, что по закону обязано попасть в фискальный чек. Пустая карточка = кривой чек = продажа не запускается вообще. Прозрачность для туриста работает живым предохранителем для всей платформы.
Баллы — ползунок, который всё объясняет
Не галочка «списать бонусы», после которой непонятно, что произошло. Три строки, меняющиеся одновременно, пока палец двигает ползунок. Ползунок упирается в потолок и мягко пружинит: «По этой экскурсии баллами можно закрыть до 30%». Не запрет с криком — объяснение. Промокод и сертификат показываются отдельными строчками, а не свалкой, и система сама не даст сложить скидки за границу.
Предоплата слайдером
Половина продаж отрасли — «забронировал, плачу на месте». Фирма задаёт коридор (например, 20–100%), гость двигает ползунок:
Что чувствует гость: контроль. Он не отдаёт тысячу незнакомым людям — он ставит закладку за 300 ₽. Конверсия на этом выше. А под капотом — правильные фискальные признаки: чек «частичная предоплата» сейчас и чек «полный расчёт с зачётом аванса» при доплате. Два чека, как требует закон, — а не ноль, как было в легаси, где доплата в автобусе вообще не порождала чека.
Если что-то пошло не по плану
- Оплата сорвалась — место не отпускается: «Оплата не прошла. Место держим ещё 10 минут». Кнопки: «Попробовать снова», «Другой способ», «Прислать ссылку на оплату в SMS» — выбирает жена, платит муж со своей карты со второго телефона, бронь та же, таймер общий;
- Льготный тариф — заказ уходит в статус «Проверяем льготу» с честным объяснением: «Льготный тариф подтверждает турфирма. Ответ обычно в течение часа, до 20:00. Место мы держим». Подтвердили — пуш «Готово, можно оплатить» с прямой кнопкой. В легаси льготник просто упирался в тупик;
- Одна кнопка = один заказ, физически. У каждой попытки оплаты есть ключ идемпотентности: нажал десять раз, вернулся из банка, обновил страницу — это один и тот же заказ и один чек. Не «мы стараемся отлавливать дубли» — второй раз операция не проходит по конструкции;
- Судьбу заказа решает банк, а не кнопка. Источник правды — вебхук эквайринга (плюс страховочный опрос каждые 20 секунд). Гость может закрыть браузер, потерять сеть, уронить телефон в море — платёж пришёл → билет родился. В легаси статус менялся, только если гость нажал «Вернуться в магазин»; не нажал — заказ висел, письмо не приходило, место не занималось.
Страховка одним тапом — написанная по-человечески
В корзине, между ценой и кнопкой оплаты, одна аккуратная строка с переключателем: «Спокойная поездка — 149 ₽. Вернём 100% денег, если не сможете поехать: заболели, рейс задержали, ребёнок температурит. Без справок, по одной кнопке.»
| Вернём | Не вернём |
|---|---|
| Заболели вы или ребёнок | Просто передумали |
| Задержали ваш самолёт или поезд | Проспали |
| Экскурсию отменила погода | Опоздали на посадку без причины |
| Закрыли дорогу | Не понравилась экскурсия |
Понятно за 4 секунды. При глубине бронирования 1–2 дня и аэропорте, который закрывают ночами, страховка невыезда — не допродажа, а ответ на реальный страх этого лета.
А вот рассрочки на чек в 430 ₽ нет — и это решение. Она включается только порогом (от 15 000 ₽: яхта, многодневка, корпоратив). Ниже порога про неё нет ни слова. Отказ от фичи там, где она вредна, сильнее её наличия.
«Мои чеки»
Список карточек: дата, сумма, экскурсия, зелёная галочка «чек в налоговой». Тап — сам фискальный чек: PDF, ссылка на ОФД, «отправить на почту». Для гостя — ощущение «всё по-настоящему», особенно если покупал у незнакомой фирмы. Для бухгалтера корпоративного клиента — закрывающие документы без выпрашивания по телефону.
Билет-пропуск: вещь, а не запись в базе
Момент рождения — «из принтера»
Палец оторвался от кнопки «Оплатить» — и экран не перещёлкивается на серое «Спасибо, ваш заказ №46625». Фон мягко темнеет, и снизу, с лёгким сопротивлением, как чек из хорошего кассового аппарата, выезжает билет: белая карточка с закруглённой перфорацией по краю, крупный QR проявляется штрих за штрихом. В момент, когда билет «дощёлкивает» на место, телефон отдаёт короткий двойной тактильный тук и звучит тихий бумажный «фррт».
Полсекунды анимации — ради которых хочется покупать ещё. Это фирменная церемония платформы: их всего три на весь продукт — билет, склейка истории, рост уровня — и именно скупость на праздники делает каждый оглушительным.
Что на билете
Кнопки: Добавить в Apple Wallet / Google Кошелёк · «Скинуть в Telegram» · «Сохранить картинкой» · «Позвонить в фирму» · «Перенести» · «Отменить» · «Позвать с собой» (красивая карточка-приглашение в мессенджер).
Одновременно приходит SMS: «Билет на Рицу 08:20 → короткая ссылка». Эта ссылка — и есть вход: открыл её через два дня с другого телефона — сразу видишь билет, без кодов и паролей. Живёт 90 дней после поездки. Билет в Wallet обновляется сам при переносе рейса — как посадочный талон авиакомпании. Экскурсия за 430 ₽ ощущается как перелёт бизнес-классом.
Билет работает без интернета — и это не опция
QR и все данные лежат в надёжном нативном хранилище. Билет криптографически подписан и проверяется на посадке офлайн. В Сочи глушат мобильный интернет; сбор идёт в 7:40 на набережной, где связь — лотерея. Наш билет в этой лотерее не участвует.
Потянув «шторку щита» вниз, человек видит весь паспорт рейса (фирма, гид с аттестатом, автобус с полисом ОСГОП, телефоны) — тоже офлайн.
Мелочи билета, которые запоминают навсегда
- Реальная фотография твоей остановки: «Встаньте у этого входа в "Магнит", автобус останавливается здесь». Снято один раз водителем. Убивает главный звонок диспетчеру — «с какой я остановки?»;
- «Выходите в 7:31» — персональная строка от геопозиции отеля, с пешим маршрутом;
- «Где припарковаться»: бесплатная парковка за «Магнитом», 3 минуты пешком, круглосуточная — для тех, кто приезжает к точке сбора на своей машине;
- «Садитесь справа — море будет по правой стороне» — строка ценой ноль у прибрежных маршрутов, которую потом цитируют в отзывах;
- Кнопка «Показать билет за меня»: короткая ссылка, которую жена открывает со своего телефона, если твой разрядился. Билет — это право сесть, а не устройство.
Между покупкой и поездкой: приложение не спит вместо тебя
Вечер накануне, 20:00 — брифинг одной карточкой
Тихий пуш: «Завтра — Рица. Собираем рюкзак?» Внутри всё, что человек стал бы выяснять тремя звонками:
- время и точка — «в 7:40, Магнит Имеретинка, идти 6 минут»;
- прогноз: «+31 внизу, на Рице около +19 — наверху на 8–10° холоднее, чем на пляже. Возьмите кофту ребёнку» (система знает, что озеро — это 900 метров над морем; раньше это знание жило только в голове у гида);
- живой чек-лист сборов: каждую галочку человек ставит сам — она закрашивается с приятным «чпок» и лёгкой вибрацией; когда отмечен последний пункт, список схлопывается в кружок: «Готовы. Выезд в 08:20, идти от вас 6 минут. Спокойной ночи»;
- если по программе на месте нужны наличные — отдельная строка: «Завтра пригодятся наличные, примерно 1 050 ₽ на человека — в Абхазии карты не везде. Банкомат в 200 м от вашей точки сбора»;
- для трансграничных маршрутов — отдельный, ни с чем не смешанный красный пуш: «Без паспорта не пустят через границу. Проверьте сейчас». Одна забытая книжечка — испорченный день всей семьи;
- кнопка «Разбудить в 6:40» — время рассчитано назад: посадка 7:40 минус 6 минут пешком минус сборы. Один тап — будильник стоит.
«Оно вечером спросило, собрал ли я паспорт и таблетку от укачивания. ТАБЛЕТКУ. Ни один сервис в жизни обо мне так не думал».
Тихие часы — с умным исключением
С 22:00 до 08:00 маркетинг молчит. Но «ваш завтрашний рейс отменён» прилетит и в 23:40 — потому что человеку нужно это знать до будильника на шесть утра. Светофор срочности: красное пробивает тихие часы всегда, жёлтое ждёт до 08:00, белое — только днём и не чаще раза в неделю. И ограничитель спама: не больше 5 сообщений в сутки по одному заказу, лишнее склеивается в одно.
Утро поездки — то, ради чего всё
Билет сам пришёл к человеку
Человек выключает будильник — и прямо под часами на заблокированном экране уже стоит карточка, которую он не вызывал:
Обратный отсчёт живой. Не надо вспоминать, где билет, искать письмо, даже разблокировать телефон. За завтраком карточка тихо обновляется: «Идти 6 минут. Выходите к 08:10 — успеете спокойно».
«Я проснулся — а билет уже лежал на экране блокировки с отсчётом. Приложение само пришло ко мне, я его даже не открывал».
«Автобус выехал» — точка поехала по карте
Водитель нажал у себя одну кнопку «Я выехал» — и у всех гостей рейса карточка на локскрине ожила: тонкая линия маршрута, по ней ползёт точка-автобус с плавным движением, как машинка в такси-приложении. Подпись: «Автобус в пути · будет на вашей остановке ~08:18». Внутри приложения — та же нитка на полэкрана: пройденные точки гаснут, твоя пульсирует.
Звонок «а где вы?» — сегодня ежедневный фон диспетчера — умирает в эту секунду: ответ на экране раньше вопроса.
«Подъедет через 6 минут»
Телефон вздрагивает одним уверенным толчком — не тревожным, а «пора»:
Госномер крупно — не придётся щуриться на пять одинаковых белых автобусов у набережной. Когда автобус в минуте — карточка коротко вспыхивает зелёным ободком и звучит единственный за всё утро звук: мягкий восходящий «динь-дон», как объявление на хорошем вокзале.
Две кнопки прямо в карточке: «Я на остановке» — у сажающего в его приложении напротив фамилии мгновенно загорается зелёная галочка; «Опаздываю на 5 минут» — сажающий видит жёлтую отметку «Иванова, 3 гостя, бежит, +4 минуты», а система, зная нитку маршрута, честно отвечает: «Успеем подождать 3 минуты» или «Садитесь на следующей точке — Адлер, 08:05, вот пешком 12 минут».
Двусторонней связи «турист ↔ человек с планшетом» не существует нигде на рынке. Главный ежедневный скандал у дверей автобуса превращается в спокойное решение.
Тревожная кнопка «Я на месте, автобуса нет»
Появляется в билете автоматически за 10 минут до времени отправления и живёт полчаса после. Широкая, мягко-оранжевая. Нажал — не форма, не выбор темы. Сразу экран:
Под этим — живой таймер и точка автобуса на карте.
Ужас «меня кинули» превращается в «за меня взялись» — за одну секунду. Паника длится ровно до нажатия кнопки. А внутри уже запущен таймер обещания: если через 15 минут посадка не отмечена — возврат уходит сам, без заявления и выяснения виноватых. Деньги сначала, разбор потом. Все конкуренты делают наоборот — и гиды в публичных отзывах о них пишут, что возврат «выбивают больше месяца».
Посадка: зелёная волна
Гость показывает QR — сажающий наводит телефон, и на обоих экранах одновременно происходит маленький праздник: у сажающего строка семьи мягко уезжает вниз со счётчиком «Село 24 из 31», у гостя по билету проходит зелёная волна слева направо, и QR сменяется большой галочкой: «Вы в автобусе. Хорошей дороги!» Одиночный тёплый тук хаптики, короткий стеклянный «тинь». Всё вместе — меньше секунды, очередь не стоит. Как посадка в самолёт, только быстрее.
А если человека нет в списке? Худший страх этого бизнеса — «гость с оплаченной бронью вышел на остановку, а его нет в списке». У нас: билет подписан криптографически и проверяется офлайн; сажающий жмёт «Нет в списке», вбивает четыре цифры телефона — поиск идёт по всем рейсам дня и всем каналам, включая API-партнёров; гость сажается, строка помечается «требует сверки», разбор — потом. Человека не оставляют на обочине. А если срыв случился по вине платформы — гарантия посадки: ближайший рейс плюс компенсация от площадки сразу.
Приложение едет вместе с автобусом
Живой таймлайн
Экран поездки — вертикальная лестница дня, по которой ползёт отметка «вы здесь». «08:15 · Граница с Абхазией — паспорта наготове» подсвечивается заранее, за десять минут, с бережной подсказкой «контроль обычно 20–40 минут». Пройденные пункты складываются с галочками; у будущих — живые времена, пересчитанные по реальному ходу автобуса, а не по бумажному расписанию. На смотровой карточка сама разворачивается: «25 минут · туалет есть · лучшая точка для фото — справа от лестницы».
«Телефон вёл меня по экскурсии по часам: заранее предупредил про границу, сказал, сколько стоим, и даже где фоткать».
Доплата за 15 секунд — вместо пачки наличных
Гид объявляет канатку. На спинке кресла — QR. Гость сканирует камерой — открывается его собственный заказ, уже найденный, с одной кнопкой «Доплатить 730 ₽». Тап → СБП → чек с зелёной печатью «чек в налоговой» расцветает на экране раньше, чем человек убрал телефон. Серпантин, ни одной купюры. Есть и встречный режим: гид вводит сумму и показывает динамический QR со своего экрана — работает, даже если у гостя нет нашего приложения.
Если канатка — от другой фирмы, она уйдёт отдельной позицией со своим ИНН исполнителя. Один платёж гостя — правильные деньги двум юрлицам. Гид перестаёт быть кассиром с пачкой купюр. В легаси доплата картой в автобусе проходила вообще без чека — деньги есть, чека нет.
Свободное время, отставшие и дни рождения
- Гид объявил «свободное время до 14:50» — и это время встаёт таймером на локскрин каждого гостя с точкой сбора группы на карте. «Мы кого-то ждём 20 минут» — самая ненавидимая часть автобусных экскурсий — лечится одним таймером;
- Кнопка «Я отстал от группы»: один тап — гид видит, кто и где (по геопозиции), гость видит точку сбора и телефон гида. Худшие 15 минут отпуска сжимаются до 90 секунд;
- Система знает даты рождения попутчиков: если поездка выпала на день рождения — гид видит пометку в манифесте и поздравляет Мишку в микрофон. Ноль рублей — и семья привязана к платформе навсегда.
Связь без обмена личными номерами
Трубка в билете и в чате набирает подменный номер платформы, который соединяет гостя и гида на время поездки и умирает через 24 часа после. Гид физически не может забрать контакт гостя (отели, которые боятся «левака» своих сотрудников, получают решение своей главной причины отказа), реальные телефоны не покидают платформу, а запись разговора остаётся в карточке заказа — спор «а мне сказали другое» решается за 30 секунд. Гид видит «Звонок по заказу №46625, Иванова Мария, 3 гостя, остановка Известия» ещё до того, как поднял трубку.
Чат, который знает вопрос до того, как его задали
Жмёшь «С какой я остановки?» — через полсекунды, без участия человека: «Ваша посадка — Санаторий "Известия", ул. Виноградная 33. Подъезд автобуса 14 июля в 07:40. [Открыть на карте] [Построить маршрут] [Напомнить за час]». Один тап — и звонок не состоялся. Самый частый звонок отрасли умирает прямо здесь.
Пишешь своими словами («а можно с собаккой?») — сообщение уходит живому оператору фирмы: видно «Марина печатает…», галочки доставлено/прочитано, аватар и имя. Шапка чата честная: «"Вокруг Сочи" отвечает ~2 мин».
Отдельный, второй чат — со службой заботы площадки (деньги списались дважды, фирма молчит). Если фирма не отвечает 30 минут, в чате появляется мягкая плашка: «Хотите, подключим службу заботы?» — площадка входит третьим участником, открыто, видно обеим сторонам. Никакого тайного чтения.
Здесь рождается повторная покупка
«Как съездили?» — один смайл
Пуш приходит не сразу, а через 2–3 часа после окончания — когда впечатление ещё горячее, но человек уже доехал, принял душ и сел. Первый шаг — одна строка и пять больших смайлов. Один тап — отзыв засчитан, +50 баллов упали сразу, до модерации (снимутся с объяснением, только если отзыв уберут за спам). Конфетти не сыплется — мы не казино; вместо этого снизу мягко выплывает «+50 баллов. Спасибо!».
Второй шаг — необязательный, с приманкой: «Добавь фото — ещё +100 баллов». Два-три снимка, поле текста, под ним честная подпись: «Фирма увидит ваш отзыв и сможет ответить. Ваш телефон и фамилия ей не передаются». Окно отзыва — 14 дней, один аккаунт — один отзыв на рейс.
«Отзыв — это один смайлик. Я впервые в жизни оставил отзыв не потому что бесит, а потому что было легко».
Фото группы — подарок, который разносит себя сам
Гид снял группу на смотровой — через час фотографии лежат в поездке у каждого гостя. Люди пересылают их в семейные чаты — с аккуратной ссылкой на платформу. Маркетинг, который выглядит как подарок, потому что он и есть подарок.
«Я что-то забыл в автобусе»
Кнопка в завершённой поездке. Рейс, борт и водитель известны системе — заявка уходит адресно, а не «позвоните на горячую линию и опишите автобус». Забытая кепка ребёнка — крошечная драма, у которой впервые есть кнопка.
«Поехать снова»
У прошлых поездок — кнопка «Повторить»: прошлый состав, твоя остановка и любимое время уже подставлены, остаётся выбрать дату. А ровно через год лента напомнит: «В прошлом августе вы ездили на Рицу — вам понравилось на 5». Экскурсионный гость по природе одноразовый; эта механика — одна из немногих, что возвращают его через 11 месяцев.
Сервис проверяется не в солнечный день
Перенос — два тапа вместо звонка
Из билета: «Перенести» → лента дат с честной подсветкой «бесплатно / +300 ₽ / мест нет» → подтверждение. Старое место освобождается мгновенно (и уходит листу ожидания — отмена превращается в чью-то радость), новое время само обновляется в Wallet и на локскрине, оператор фирмы узнаёт уведомлением, но делать ничего не должен.
В легаси в заказе было буквально написано: «для отмены и переноса обращайтесь по телефону горячей линии» — и единственной доработкой за два года стало сделать этот телефон динамическим. Звонок не убрали — научились маршрутизировать. Мы звонок убираем.
Отмена — шкала вместо мелкого шрифта
«Отменить поездку» → и до подтверждения человек видит визуальную шкалу времени с тремя зонами (100% / 50% / 0) и ползунком «вы здесь», плюс честный расчёт:
Самая частая причина скандала — не удержание, а сюрприз. Мы убираем сюрприз как класс. Дальше всё автоматически: деньги уходят тем же способом, каким пришли; пробивается чек «возврат прихода»; место возвращается в продажу; гостю — пуш «3 700 ₽ вернутся на карту •••4821». Возможна и частичная отмена — убрать одного гостя из заказа с пересчётом и чеком коррекции.
Возврат — деньги видно, пока они летят
Самая мучительная часть возврата — не сумма, а тишина. Мы убираем тишину. И да: если мы сами нарушили свой срок — платим компенсацию, не дожидаясь жалобы. Строка «мы нарушили обещание 7 раз и выплатили 1 400 ₽» из публичного ежемесячного «Экрана честности» платформы вызывает больше доверия, чем безупречные 100%, в которые никто не верит.
Рейс отменила фирма — три минуты вместо ночного обзвона
Сирены, погода, поломка — фирма жмёт красную кнопку, и каждый из 47 гостей получает личное сообщение со своим именем и своей суммой, с кнопками прямо внутри уведомления:
Гость решает, не открывая приложение. Возврат и чек — автоматически; альтернативы тем же днём — одной кнопкой; при отмене по погоде можно выбрать ваучер +10% вместо возврата. Тихие часы такое сообщение пробивает — это тот самый красный уровень срочности.
«Что-то не так» → Дело, где доказательства собирает платформа
Гость не «подаёт жалобу» — он открывает дело. Шесть больших плиток без единого поля ввода: «Автобус не приехал» · «Уехали без меня» · «Не то, что обещали» · «Грубо обошлись» · «Проблема с деньгами» · «Другое». Выбрал — и в карточке дела уже всё лежит:
Таймлайн дела — как трекинг посылки: Открыто → Фирма смотрит → Ответ → Решение → Деньги. В день выезда у фирмы не 24 часа, а 4.
Обычно спор с компанией — это ты один против стены, и ты доказываешь. Здесь наоборот: система уже на твоей стороне и уже собрала папку. «Мне не придётся ничего доказывать — всё записано».
Баллы — это рубли, а не значки
Экран «Мой кошелёк»
Сверху большая цифра баллов, и под ней подпись человеческим языком: «это как 340 ₽ скидки» — потому что «1 700 баллов» не говорит ничего, а «340 рублей» говорит всё. Под цифрой — полоска до следующего уровня с конкретной наградой на конце: «Ещё 2 поездки — и кэшбэк вырастет с 5% до 7%». Полоска живая: когда гость возвращается из поездки, она физически доползает на глазах, с мягким звуком и лёгким толчком в конце; цифры перекатываются 630 → 780 барабанами, как табло аэропорта.
Каждая строка кликается и разворачивается: какой заказ, сколько гостей, по какой ставке. Никакой магии — всё видно, и спор «мне не начислили» умирает за десять секунд.
Сгорание без ловушки
Ничего не сгорает молча. За 7 дней пачка подсвечивается тёплым янтарным, сверху — мягкая строка: «310 баллов сгорят через 6 дней. Посмотреть, на что хватит». Тап — персональная полка из трёх экскурсий, где этими баллами закрывается почти вся цена («доплата 120 ₽»). И кнопка, которой нет ни у кого: «Продлить баллы на 30 дней» — раз в год. Аэрофлот жжёт мили молча и собирает ненависть; мы на том же правиле собираем благодарность.
Уровни — по поездкам, а не по деньгам
| Уровень | Порог | Что даёт |
|---|---|---|
| Гость | — | кэшбэк 3% |
| Свой | 3 поездки за год | кэшбэк 5%, бесплатная отмена за 12 часов вместо 24 |
| Частый | 7 поездок | кэшбэк 7%, ранний доступ к новым программам за сутки |
| Клуб | 15 поездок | кэшбэк 10%, перенос без вопросов, персональный менеджер в чате |
Уровень считается по числу состоявшихся поездок за скользящие 12 месяцев — при среднем чеке 430 ₽ за место уровни «по сумме» превратились бы в издевательство, а поездки человек считает сам, в голове. Статус не отбирается пинком: «Чтобы сохранить "Частого", нужна одна поездка до 3 сентября» — и скидка именно на это. Когда полоска доходит до края, карточка уровня переворачивается, как визитка в бумажнике: «Теперь вы — Свой».
Автовозврат разницы — анти-Booking
Человек купил утром за 430 ₽. Вечером фирма включила «последние места за 340». И вместо надежды, что он не заметит, платформа сама присылает: «Цена на ваш рейс снизилась. Вернули разницу баллами — 90 ₽. Хорошей поездки.»
Это стоит копейки и полностью снимает главный яд динамических скидок — ощущение «меня надули». Booking так не делает. Авиакомпании так не делают. А человек запоминает навсегда и начинает верить на слово: «Прикинь, цена упала ПОСЛЕ моей покупки, и они сами вернули. Сами!»
«Последние места дешевле»
Когда есть недобранный рейс — на главной узкая живая полоска с мягкой пульсацией: «Завтра, 9:00 · Абхазия · осталось 11 мест · 340 ₽ вместо 430 ₽ · цена держится 4 часа 12 минут». Таймер честный, тап — карточка рейса, кнопки «Взять» и «Напомнить за час». Рассылка бьёт точно: только тем, кто смотрел это направление в последние дни и не купил, вечером накануне — в единственное окно, которое осталось при глубине бронирования 1–2 дня.
«Приведи друга» — бонус за посадку, а не за регистрацию
Наверху одна кнопка «Поделиться» и одна строчка, написанная как для человека: «Другу — 15% на первую поездку. Тебе — 300 баллов, когда он реально съездит.»
Бонус приходит не за регистрацию и даже не за оплату — а в момент, когда экскурсовод отметил друга севшим в автобус. Пуш прилетает в 08:25: «Ирина уехала в Абхазию. Тебе +300 баллов» — с маленькой анимацией автобуса, уезжающего за край плашки. Начисление превращается из транзакции в эмоцию, а накрутка умирает физически. В списке приглашённых — никаких чужих фамилий и телефонов: «Ирина — съездила, +300», «Номер …47 — перешёл, ещё не купил».
Подарить экскурсию
Сертификат — не отдельный мир, а способ оплаты внутри той же витрины. Подарить можно сумму (1 000 / 2 000 / 5 000 ₽ / своя) или — сильнее — конкретную экскурсию на двоих: «Абхазия за один день, на двоих» звучит как подарок, а «сертификат номиналом 2 000 ₽» — как чек. Открытка (пять шаблонов), свой текст, дата доставки; получателю в назначенный день падает карточка с кнопкой «Забрать» — и сертификат ложится плиткой в его кошелёк. Экскурсия дешевле — остаток остаётся и виден; дороже — доплата картой в том же окне.
«Мишке скоро 10» — забота, о которой не просили
За две недели до дня рождения ребёнка из карточек-попутчиков приходит единственный в своём роде пуш: «Мишке скоро 10 🎂 С 15 августа его билет станет взрослее на 200 ₽. Успеете съездить по детскому — вот ближайшие даты».
Внутри — мини-календарь с датами до порога и ценами, уже пересчитанными за всю семью. Никакой продажи в лоб: можно закрыть, и система не повторит. Возрастная граница тарифа перестаёт быть скандалом у дверей автобуса и становится поводом для благодарности. «Приложение вспомнило день рождения моего сына раньше некоторых родственников» — это и есть маркетинг, который не купить.
Паспорт путешественника, а не анкета
Попутчики — карточки-люди
«Мама», «Мишка, 9 лет», «Бабушка (пенсионерка)» — круглые карточки с эмодзи и инициалами. Состав заказа на пятерых собирается тремя тапами вместо повторного ввода при каждой покупке (в легаси попутчиков вбивали заново каждый раз, при среднем заказе на троих). Тарифная категория проставляется сама по дате рождения — человек её вообще не видит, он видит «Мишка — детский, 700 ₽».
Семейный доступ
Связанные аккаунты: общие билеты, общие уведомления, общие баллы. Приглашение — ссылкой в один тап; выйти из семьи можно без разрешения «главного». Жена видит купленный мужем билет у себя, и утренняя живая карточка горит у обоих.
Профиль как история, а не форма
Вместо анкеты — паспорт путешественника: баллы, поездки, города, километры. Раз в год — «Год с нами»: семь карточек-сторис («ты проехал 840 км», «вставал раньше 6 утра три раза — уважение», «был в дороге 31 час — это как дважды долететь до Токио») с кнопкой «поделиться». Единственная механика, которая заставит одноразового по природе туриста вспомнить приложение через 11 месяцев, и бесплатная вирусная реклама.
Данные: витрина честности вместо мелкого шрифта
- У каждого поля профиля — обязательная строка «зачем это нужно»; поле без такой строки в продукт не попадает;
- Экран «Зеркало данных»: полный человекочитаемый список того, что платформа знает, с кнопкой «убрать» у необязательного;
- Согласия разделены на обязательные и маркетинговые; маркетинговые выключены по умолчанию; история согласий хранит дату, версию и текст ровно в той редакции, на которую человек соглашался;
- Передача данных конкретной фирме — явное согласие в момент покупки, с названием фирмы;
- Экспорт всех своих данных одной кнопкой;
- Удаление аккаунта за три тапа с честным перечнем последствий — и уже купленный билет при этом продолжает жить. Дальше морозилка 30 дней: при попытке входа — «ваш аккаунт ещё можно вернуть вместе с 780 баллами». После — необратимое обезличивание. Дверь не заперта — и именно поэтому люди остаются.
Приложение, которое работает, когда не работает всё остальное
Сочи-2026 — это регион, где мобильный интернет глушат ежедневно, ночью его «нет никогда», а в Абхазии за границей связи нет как класса. Поэтому офлайн у нас — не деградация, а штатный режим:
| Что работает без сети | Как |
|---|---|
| Билет и QR | лежат в надёжном нативном хранилище, QR проверяется офлайн по криптоподписи |
| Каталог | последний просмотренный район с фото и ценами хранится в телефоне, листается и ищется |
| Бронь без сети | встаёт в очередь и уходит сама при первой связи |
| Посадочный лист у гида | скачан с вечера, отметки копятся и досылаются |
| Честность вместо тишины | жёлтая полоска: «Нет сети. Показываем данные на 19:40. Места могли измениться» — никакого тихого вранья |
| Критичные уведомления | автопереключение на SMS-контур, когда интернет-каналы глушат |
Федеральный агрегатор офлайн под сочинские глушилки строить не будет никогда — ему это не нужно ни в одном другом регионе. Для нас это ров.
Где живёт это приложение: пять лиц одного ядра
| Лицо | Что это для человека | Деталь |
|---|---|---|
| Приложение «ЮГ» | витрина всего юга в RuStore, Google Play, App Store | до 15 МБ, работает на Android 8, первый экран рисуется до ответа сервера, заставки нет |
| Сайт | то же самое в браузере | у каждой экскурсии своя SEO-страница — находят Яндекс и Google |
| PWA | «приложение без стора» | ставится в один тап с сайта, работает офлайн, шлёт веб-пуши |
| Telegram Mini App | магазин внутри Telegram | вход не существует как экран; билет приходит сообщением; бот напоминает накануне с кнопками «Перенести/Отменить» прямо в переписке |
| Брендированный раздел партнёра | отсканировал QR в лифте отеля — приложение «переоделось»: логотип «Ромашка-Тур», её зелёный, только её 40 программ | сверху плашка «Витрина партнёра · вернуться в общий каталог»; отель автоматически получает свою комиссию |
Плюс виджет на домашнем экране: утром перед поездкой, без открытия приложения — «Рица · 8:15 · Магнит на Ленина · через 47 минут». На iPhone — ещё и на экране блокировки.
Уведомления о поездке после связки Telegram уходят в Telegram, а не письмом — с видимой доставкой за секунду. Это лечит боль легаси, где письма-подтверждения доходили примерно 1 раз из 11 (замер самого Виталия: «11 заявок — отбивка пришла единожды»), а журнала доставки не существовало.
Чего в приложении принципиально нет
Совсем, как сущности.
Каталог, цены, карта, отзывы, остаток — всё открыто всем.
Ни «осталось 2!!!», ни «12 человек смотрят сейчас». Остаток — из той же кассы мест, что у кассира, и мы говорим об этом вслух.
Плашка «цена как у фирмы» стоит на каждой карточке.
Всегда есть соседняя дата, соседний район, три похожих и «напомнить».
Скелетоны и мгновенный старт из кеша.
Максимум 5 сообщений в сутки по одному заказу, тихие часы 22:00–08:00, маркетинг выключен по умолчанию.
Она включается только от 15 000 ₽, где имеет смысл.
И ни одной, которую нельзя прервать тапом; при системном reduced motion перекатки цифр заменяются мгновенной сменой.
Каждое обещание гостю (пуш, возврат, чек) имеет журнал доставки; не дошло — эскалация человеку, а не тишина.
Сводная карта экранов туристического контура
| # | Экран | Зачем существует | Несущая деталь |
|---|---|---|---|
| 1 | Главная «Уезжает рядом» | решение за 30 секунд | сортировка по времени реального выезда с точек ближе 15 минут пешком |
| 2 | Лист «Кто едет» | цена за семью на всей витрине | ползунок возраста с живым пересчётом и подписью тарифа |
| 3 | Поиск | найти, как думаешь | опечатки, транслит, фразы-чипы; номер брони в ту же строку |
| 4 | Выдача и фильтры | сузить не теряя | шторка с живым счётчиком «Показать 34 варианта», «Успеваю сесть» |
| 5 | Карта | география утра | пины точек посадки со временем и минутами пешком |
| 6 | Календарь | выбрать дату умом | цена и загрузка в клетках, «дешевле всего 16 августа» |
| 7 | Карточка экскурсии | решение о покупке | «Домой вернётесь около 19:10»; расчёт «онлайн / наличными на месте» |
| 8 | Паспорт рейса | доверие фактами | Впечатление 4,8 и Надёжность 98% · 412 рейсов; гид с номером в госреестре; ОСГОП с лимитом 2 025 000 ₽ |
| 9 | Отзывы и лента фото | честный рейтинг | отзыв только от севшего в автобус; фото гостей с проверкой геометки |
| 10 | Шторка бронирования | не потерять контекст | экскурсия видна за краем; смена даты пересчитывает всё дерево |
| 11 | Таймер удержания | спокойствие при оплате | удержание с первой секунды; таймер живёт на экране блокировки |
| 12 | Оплата | 8 секунд до билета | СБП одной кнопкой; ключ идемпотентности — один заказ навсегда |
| 13 | «Куда пойдут ваши деньги» | прозрачность = предохранитель | исполнитель, ИНН, от кого чек — то же, что уйдёт в налоговую |
| 14 | Билет | вещь в кармане | выезжает «из принтера»; QR офлайн; ссылка из SMS живёт 90 дней |
| 15 | Вечерний брифинг | собранный рюкзак | чек-лист с «чпок», кофта для высоты 900 м, будильник от точки |
| 16 | Живая поездка на локскрине | утро без паники | автобус ползёт по карте; «Руслан · Mercedes А123ВС»; «выходите в 8:09» |
| 17 | «Я на остановке» / «Опаздываю» | двусторонняя связь | зелёная или жёлтая отметка у сажающего в ту же секунду |
| 18 | Тревожная кнопка | худший страх → контроль | «Мы вас видим»; автовозврат через 15 минут без заявления |
| 19 | Посадка | секунда на человека | зелёная волна по билету, «Вы в автобусе. Хорошей дороги!» |
| 20 | Таймлайн в пути | ведут за руку | «граница через 10 минут, паспорта наготове»; таймер стоянки на локскрине |
| 21 | Доплата по QR | деньги без купюр | скан со спинки кресла → СБП → чек за 15 секунд |
| 22 | Чат с фирмой | звонок умирает | три кнопки-предугадывания с мгновенным ответом из данных заказа |
| 23 | Перенос и отмена | самообслуживание | шкала возврата 100/50/0 до подтверждения; трекинг денег; 200 ₽ за просрочку |
| 24 | Дело | спор без борьбы | платформа сама собирает билет, чек, GPS-трек, отметку посадки |
| 25 | Кошелёк | баллы = рубли | «это как 340 ₽»; выписка с причинами и сроками каждой пачки |
| 26 | Уровни | возвращаться выгодно | по поездкам за скользящий год; карточка переворачивается |
| 27 | «Приведи друга» | честная вирусность | +300 в момент посадки друга: «Ирина уехала в Абхазию» |
| 28 | Профиль и данные | честность как витрина | «Зеркало данных», согласия по версиям, удаление за 3 тапа с морозилкой |
| 29 | «Год с нами» | возврат через 11 месяцев | 7 сторис-карточек с кнопкой «поделиться» |
Почему конкуренты так не могут
✅ Проверено фактами: теперь известно точно, чего они не могут
Раздел ниже был написан до сплошной проверки. Она его подтвердила и дала конкретику, которую можно произносить вслух.
Tripster — деньги. Двухуровневая оплата: турист вносит предоплату 22–25%, и это целиком комиссия платформы. Остаток гид получает наличными после тура. То есть Tripster не проводит оборот вообще — он снимает свою долю и оставляет фирме ту самую проблему, ради которой строится наша платформа.
Tripster — удержание. Из их правил для гидов дословно: «Не передавайте контакты путешественникам до оплаты», «Не связывайтесь с путешественником после тура», «Называйте комиссию предоплатой». Они удерживают запретом, а не выгодой.
Готовый контр-оффер, построенный на факте, а не на обещании: «Трипстер берёт четверть вперёд и запрещает вам общаться с вашим клиентом. Мы проводим все деньги и отдаём их в тот же день, а клиент остаётся вашим — с телефоном, историей и правом позвонить».
| Возможность | Tripster / Sputnik8 | GetYourGuide / Klook | Мы |
|---|---|---|---|
| Смотреть и покупать без регистрации | регистрация до оплаты | регистрация до оплаты | два поля: телефон и имя |
| Цена за твою семью в ленте | «от …» | «от …» | итог за состав на всех 300 карточках |
| Физика рейса: точки посадки, минуты пешком, отсечка от твоей точки | нет — у них карточка товара, а не рейс | нет | ядро модели |
| Живой автобус на экране блокировки | после оплаты — тишина и PDF | тишина и ваучер | «подъедет через 6 минут» |
| Честный остаток мест | скрыт или выдуман | выдуманный дефицит | из той же кассы мест, что у кассира |
| Офлайн: билет, каталог, бронь в очередь | нет | нет | штатный режим под глушилки |
| Отзывы | от купивших (накручиваемо) | от купивших | только от физически севших в автобус |
| Возврат при срыве | «выбивают больше месяца» (публичные отзывы гидов) | заявка и ожидание | автоматически через 15 минут, разбор потом |
| Кто тебя везёт | контакты до оплаты запрещены | обезличено | фирма с ИНН, гид с аттестатом, автобус с полисом — до оплаты |
У конкурентов нет физики рейса — точек посадки, борта, манифеста, гида с телефоном в руке. У нас это ядро модели, и все «вау» этой части — проценты с капитала, который им пришлось бы строить годами.
Итоговая сцена
Человек в отеле листает ленту: «завтра в 7:40 от Магнита, 4 850 за всех, осталось 6 мест». Десять секунд — билет выехал из принтера и лёг в Wallet. В 20:00 приложение спросило про паспорт и таблетку от укачивания и поставило будильник на 6:40. Утром билет сам поднялся на заблокированный экран, автобус полз по карте, в 8:09 телефон сказал «пора выходить», в 8:17 по билету прошла зелёная волна — «Вы в автобусе. Хорошей дороги!». На Рице он доплатил за катер со спинки кресла за пятнадцать секунд. В 19:07 он был дома, в 21:30 тапнул смайлик и получил 50 баллов, а через час в поездке лежали фотографии группы со смотровой.
Он ни разу не позвонил. Ни разу не ввёл пароль. Ни разу не испугался. А через две недели ему пришло: «Мишке скоро 10 — успеете съездить по детскому» — и он переслал это жене со словами «нет, ну ты видела вообще».
Всё это — предложенная режиссура, а не окончательное решение. Она собрана из механики отрасли, но проверить её может только тот, кто стоял у дверей автобуса в 7:40 и видел живых людей на посадке.
Виталий, ваш опыт здесь весит больше любого расчёта: если какой-то экран противоречит тому, как оно работает на самом деле, — прав экран, который вы поправите.