Билеты и отель в одно окно

Уехать не раньше, вернуться до. Спланируй свой уикенд. Купить — на Туту.

Зачем это

Туту ищет сегмент: город, дата, один вид транспорта. Здесь единица — окно жизни. Формула собирает билет туда, обратно и отель так, чтобы они вместе влезли.

Откуда - всегда Москва. Куда — Казань, Нижний Новгород, Ярославль или все три. Пассажиров 1–8, дефолт двое. Оплаты у нас нет.

Собрать заявку

Шапка Погнали!: Москва, все 3 города, 28–30 августа, не раньше 18:00, домой до 21:00, 2 взрослых, Найти
Откуда
Москва, фикс
Куда
Все 3 города или один. «Дешевле» может уехать не туда, куда «быстрее»
Туда / обратно
пт 28 августа → вс 30 августа
Не раньше / домой до
18:00 / 21:00 — жёсткое окно
Пассажиры
2 взрослых (1–8)
Чипы
Вид транспорта, без ночи, без пересадок, завтрак, потолок ₽

Две карточки, не три колонки

На дефолте REPLAY Ярославль выигрывает и «Дешевле», и «Успеть» — теги на одной карточке. Казань — «Быстрее». Модель пакет не выбирает: считает plan().

Карточки Ярославль 7 400 ₽ с тегами Дешевле и Успеть и Казань 16 200 ₽ Быстрее
Цифры — REPLAY, билет + отель на двоих. LIVE подставит цены MCP.
ДешевлеУспеть
7 400 ₽
билет + отель · на двоих

Ярославль

Тудаавтобус18:30 → 22:404 ч 10 м
Обратноавтобус15:00 → 19:104 ч 10 м
Быстрее
16 200 ₽
билет + отель · на двоих

Казань

Тудаавиа20:40 → 22:151 ч 35 м
Обратноавиа17:15 → 18:501 ч 35 м

Как читать карточку

Это пакет под окно, не строка расписания. Сумма сразу «билет + отель». Клик по отелю меняет сумму, теги политик не пересчитывает.

  1. 1Теги политики. Два сразу, если победители совпали.
  2. 2Сумма на двоих, билет + отель.
  3. 3Город. Дешевле может быть другим городом, чем быстрее.
  4. 4Туда и обратно: вид, часы, цена плеча.
  5. 5Салон и «дверь–дверь» — оценка last-mile, не пробки.
  6. 62–3 отеля из той же выдачи. Клик меняет сумму.
  7. 7Соседи: Δ на туда и Δ на обратно отдельно, только билеты.
  8. 8«Найти … на Туту», Telegram, копировать ссылку.

Покупка

Найти туда на Туту, Найти обратно, Найти отель открывают tutu.ru в новой вкладке. Ссылка из MCP. Мы не принимаем карту и не держим место.

Если в окне пусто

Поставьте «не раньше» 21:00, оставьте «Без ночного переезда», нажмите Найти. Последний выезд в REPLAY — 20:40. Это фильтр, не сбой.

Экран «Нет подходящих рейсов»: отсеяли ночные и не попавшие в 21:00, кнопки расширить окно
Текст говорит, сколько кандидатов отсеяло окно и «Без ночи».
Расширить окно ставит 00:00 / 23:59 и собирает заново. В выдаче появляется выезд 16:40 — его при 21:00 быть не могло.
После расширения окна среди пакетов есть выезд 16:40

LIVE и REPLAY

Тумблер в шапке. LIVE — дефолт, зовёт search_multitransport и search_hotels. Пусто или таймаут: честный экран, fixture сам не подмешивается. REPLAY читает каталог — демо без сети, его включают руками.

Внизу выдачи — панель «Что спросили у MCP», свёрнута. В REPLAY к списку добавлена пометка fixture.

Ограничения

  • Оплаты и корзины нет. Касса — Туту.
  • Рейс и отель только из MCP или из fixture.
  • «Дверь–дверь» — оценка last-mile, не live-пробки.
  • Города сверх Казани / Нижнего / Ярославля не ищем.
  • Места в вагоне и тариф — на Туту.

Вопросы

Почему не одна «лучшая» карточка?

Лучший по чему. Дешевле может уехать в другой город. Вы выбираете критерий, формула не прячет его в одну кнопку.

Это фильтр главной Туту?

Фильтр Туту режет один вид транспорта. Здесь одно окно режет туда, обратно и отель вместе.

Где искусственный интеллект?

Диалога нет. Победителя считает plan(). MCP — склад расписания. Если модель появится, она только разложит фразу в те же поля формы.

LIVE горит, карточек нет

Сервер не ответил. «Показать demo-пакеты» или тумблер REPLAY — то же демо без сети.

Демо за минуту

  1. Открыть прототип, включить REPLAY.
  2. Показать 18:00 и 21:00, нажать «Найти».
  3. Ярославль: теги «Дешевле» и «Успеть», 7 400 ₽ на двоих.
  4. «Найти туда на Туту» — вкладка Туту. Прототип не закрывать.
  5. Выезд 21:00, Найти — «Нет подходящих рейсов».
  6. «Расширить окно» — в выдаче есть 16:40.

Прототип: на главную.