Перейти к содержимому

SkiMobile · действующее руководство по бренду и стандартам сети.

Цифровые продукты

Шаблоны интерфейсов

Веб-стиль по эталону главной: композиция, иллюстрации, фон, движение и шаблоны страниц.

Открыть главную — эталон веб-стиля

Назначение

Каждый экран начинается с задачи гостя и заканчивается понятным действием. Используйте единую шапку, подвал, настройки и компоненты. Данные локальных демонстрационных сценариев не меняют реальные условия проката.

Главная — эталон веб-стиля

22 октября 2026 года владелец утвердил визуальное направление главной SkiMobile. Это ориентир для новых и обновляемых страниц: выразительная горная среда, крупное снаряжение и иллюстрации, ясная типографика, компактные элементы управления и заметное следующее действие.

Переносим визуальный язык и качество исполнения. Композицию выбираем под задачу: главная знакомит и вовлекает, каталог помогает сравнить, форма — заполнить данные, кабинет — найти бронь. Одинаковый большой баннер или набор карточек не обязателен каждому экрану.

Композиция и ритм

Основные секции используют всю ширину общего контейнера, адаптивные боковые поля и safe areas. Не добавляем центрированные ограничители 1200–1440 px. Длину отдельного абзаца можно ограничить примерно 68ch; сетка карточек занимает доступную ширину и добавляет колонки на широком экране.

Чередуем выразительные сцены, спокойные текстовые участки, списки и карточки по смыслу. Внутри одной группы элементы расположены ближе, между разными задачами оставляем больше воздуха. Размер иллюстрации позволяет рассмотреть предмет; пустая панель с маленькой картинкой не заменяет композицию.

Типографика и плотность

Manrope используется в обеих локалях для заголовков, текста, цен и интерфейса. Размеры и роли берём из общей шкалы. Короткий заголовок сообщает одну мысль; пояснение раскрывает её. Цены имеют единицу тарифа и ровные табличные цифры. Подписи и условия остаются читаемыми, даже когда блок нужно уплотнить.

Компактность получаем сеткой, группировкой и отступами, сохраняя зоны нажатия от 44 px. Не сжимаем текст, чтобы удержать экран в одной высоте. Длинные переводы и увеличение до 200% должны переносить строки и перестраивать колонки без обрезания слов, сумм и действий.

Фон, цвет и глубина

Основа — фирменный тёмно-синий, небесный акцент и семантические поверхности выбранной темы. Холодные световые градиенты, снежные контуры и фотографическая среда связывают секцию с горами. Эффект поддерживает сюжет и ведёт к содержимому; он не конкурирует с текстом и кнопками.

Светлая и тёмная темы равноценны. Текст, поля, границы, фокус и состояния используют общие токены. Глубину создаём тоном, изображением и уместной мягкой тенью; не добавляем свечение, стекло и несколько рамок каждой карточке. Красный сохраняет фирменную роль в логотипе и смысл ошибки в интерфейсе.

Фотографии, иллюстрации и брендинг

Снаряжение показываем крупно и подробно. Для товарных превью и галерей действует единый вертикальный формат: ширина к высоте 3:4, без полей. Горные фотографии и архитектурные иллюстрации выбираем под композицию секции; товарный формат не распространяется на все изображения сайта.

Фотографии точек и отзывы имеют проверяемый источник. Концепции интерьера и иллюстрации услуг подписываем как иллюстрации; вымышленные сцены и люди не подтверждают реальный филиал, сотрудника или отзыв. Для каждой подготовленной картинки сохраняем исходник, версию и происхождение.

Логотип берём из утверждённых файлов брендбука. В сцене он может стать вывеской или маркировкой: сохраняем рисунок, цвета и пропорции, учитываем перспективу и освещение поверхности. Новые буквенные начертания и случайные растянутые наклейки не заменяют фирменный знак. Прозрачные иллюстрации проверяем на обеих темах.

Действия и состояния

У секции есть одно главное действие, соответствующее её задаче. Бронирование, переход к услуге или условиям франшизы видны сразу; второстепенные ссылки выглядят спокойнее. Подпись кнопки объясняет следующий шаг. Важные условия и источник цены находятся рядом с действием.

Пустое состояние, загрузка, ошибка, недоступность, выбор и успех оформляются так же внимательно, как основной экран. Сохраняем видимый фокус и доступные названия, сообщаем причину ограничения и способ продолжить. Данные выбранного филиала и введённые гостем сведения не теряются при переходах.

Движение по смыслу

Движение подчёркивает выбор, переход, смену кадра или горную среду. Используем общие длительности и плавное замедление. Текст и основные действия доступны в статичном состоянии; последовательность анимаций не задерживает работу с формой.

Фоновые эффекты и автопрокрутка работают, пока секция и вкладка видимы. Учитываем системное и внутреннее уменьшение движения. Для отзывов на главной утверждена случайная смена без плеера и счётчика: при reduced motion содержимое продолжает меняться, а анимация перехода отключена. Это поведение конкретного блока, а не правило для всех каруселей.

Телефон и невысокий экран

На телефоне сначала идут предложение и действие, затем иллюстрация и подробности. Колонки превращаются в последовательный поток; горизонтальный слайдер может оставаться внутри своей секции. Весь документ не должен требовать горизонтальной прокрутки. Закреплённые шапка, навигация и панели учитывают safe areas и не перекрывают поля, ошибки и фокус.

Для HD проверяем реальную высоту окна с шапкой и нижними панелями. Основное действие не теряется под чрезмерной галереей или вступлением. Большие тексты и раскрытые формы продолжаются обычной прокруткой; требование одного экрана применяется только там, где это отдельно утверждено для сценария.

Приёмка веб-страницы

  1. Сверить страницу с эталоном главной: ясная иерархия, предметная иллюстрация, аккуратный фон, обоснованная плотность и заметное действие. Проверить соседние секции, а не только изолированный блок.
  2. Проверить RU/EN, обе темы, 320 и 390 px, планшет, широкий экран и невысокий HD. Дополнительно — текст 200%, клавиатуру, фокус, контраст, уменьшение движения и все состояния управления. Для новой страницы зафиксировать desktop/mobile кадры.
  3. Переиспользовать токены и публичные экспорты FSD: данные и чистые правила — entities, сценарии — features, композиция — widgets и страницы, связывание источников — _app. Проверить TypeScript, ESLint/FSD, форматирование, production-сборку и затронутые браузерные сценарии.

Правила экранов

Главная: обещание, услуги, получение и контакт. Каталог: категории, фильтры, наличие и цена. Карточка: изображение, характеристики, размер, условия и действие. Выбор точки: название, адрес, часы и способ получения.

Заказ: состав → срок → получение → итоговая стоимость → контакт. Услуга: результат, исполнитель, условия и запись. Кабинет: история, детали и следующий шаг. Уведомление: что произошло и что делать. Сценарии проверяются на телефоне, в RU/EN и обеих темах.

Проверка шаблона

Макеты используют утверждённые компоненты и токены; понятен следующий шаг и есть описание состояний. Данные демонстрационные, без неподтверждённых коммерческих обещаний.

Каталог лыж и предложения точек

Карточка представляет одну модель с ростовками. На детальной странице компактная вертикальная галерея находится слева, ростовки и информация о модели — по центру, тарифы, условия и начало бронирования — справа. Отзывы и рекомендации расположены ниже. Даты, параметры участников, предварительный расчёт и точное время возврата проверяются в форме полного заказа. Минимум и максимум часов, расчётное время и часовой пояс приходят из данных точки и курорта. Цена относится к предложению филиала, а не к общей модели.

На первом этапе ассортимент лыж заполнен только для Лапландии. Другие точки показывают понятное состояние наполнения. Выбранный филиал и фильтры сохраняются в ссылке, корзины точек — раздельно на устройстве. Наличие на даты не изображается как подтверждённое; его проверяет сотрудник. История хранит исходный предварительный расчёт, сервер проверяет предложение и ростовку по своим данным.

Восемь контрактов экранов

Восемь контрактов экранов
ЭкранОбязательные данныеОсновное действие
ГлавнаяОбещание, услуги, точки, условия комплектов, контакт.Начать подбор или выбрать получение.
КаталогКатегория, фильтры, карточки и состояние наличия.Открыть подходящую карточку; сбросить пустой поиск.
КарточкаРеальный предмет, размеры, период, цена и включённые услуги.Выбрать предмет и проверить посадку.
ТочкиНазвание, адрес, вход, часы, контакт, способ получения.Выбрать точку; карта остаётся дополнительным способом.
БронированиеПредметы → период → получение → начисления → итог → контакт.Проверить итог и подтвердить осознанно.
УслугаРезультат, исполнитель, параметры, стоимость, срок.Уточнить или записаться с сохранением ввода.
КабинетЗаказы, детали, статус, получение, возврат и контакт.Открыть заказ и продолжить его сценарий.
УведомлениеСобытие, конкретный заказ, следующий шаг и контакт.Перейти в контекст; не терять выбранную локаль.

Состояния и мобильная композиция

Каждый экран имеет обычное, загрузочное, пустое, ошибочное и офлайн-состояние по необходимости. Заказ сохраняет введённый контекст между шагами; итоговые начисления показаны до подтверждения, включённая доставка привязана к комплекту.

Мобильный порядок — содержание, условия, действие. На широкой области итог может стать второй колонкой; порядок DOM остаётся логичным. Рабочие композиции главной, каталога, бронирования, услуги и кабинета доступны в разделе «Композиция и сетки» и автономном HTML Layout 1.0.

Маски · оправа, линза и совместная примерка

В Лапландии четыре эталонные модели масок: две взрослые и две детские. Одна карточка объединяет посадки оправы и линзы; 16 SKU имеют собственные фотографии, параметры, ручные тарифы и срок эксплуатации. Фото вертикальные 3:4, надписи формируются из данных варианта.

Подбор проверяет ширину лица, возраст, OTG и размеры обычных очков, освещённость и фильтр S1–S3 / VLT. Совпадение размеров не подтверждает совместимость со шлемом: пару примеряем вместе, проверяем нос, лоб, вентиляцию и ремешок. Детские маски примеряем с детскими шлемами и участием взрослого.

Вариант включает одну установленную линзу, без обещания запасной. Известное несовпадение не обходится согласием на подбор. Бронирование сохраняет филиал, предложение и SKU либо запрос подбора; сервер повторяет проверку и расчёт по каталогу. Типизированный снимок и асинхронный репозиторий готовы к API. Происхождение моков и фотографий: docs/goggles.md.

Одежда · размер, цвет и посадка

В Лапландии одежда разделена на куртки, штаны, комбинезоны и перчатки/варежки: по две модели в каждой подкатегории. У каждой модели два цвета и три размера, всего 48 явно предложенных SKU. Перчатки относятся к одежде; защита запястья остаётся отдельным защитным снаряжением. Размер и цвет выбираются совместно, меняют изображение и передаются в бронирование одной ссылкой.

На русском показываем заданный для варианта размер RU вместе с S/M/L; на английском — международный S/M/L. Для перчаток действует собственная размерная таблица. Подбор проверяет рост и нужные обхваты тела, внутреннюю длину ноги либо обхват и длину кисти. Мерки тела отделены от замеров готового изделия: размер не вычисляем из веса или универсальной формулы. Слой под одеждой учитывается отдельно; посадку поверх защиты и длину корпуса комбинезона подтверждают при примерке.

Производитель, критерии SkiMobile и предложение филиала — разные данные. Тариф вводится вручную для конкретного SKU. Характеристики тканей и инвентарные числа сейчас являются моками, без заявлений о сертификации или гарантированной температуре. Полный заказ сохраняет выбранный вариант, мерки, слой и первоначальный расчёт; сервер повторно проверяет филиал, вариант, срок и тариф. Асинхронный репозиторий позволяет заменить источник на API.

144 вертикальных кадра 3:4 подготовлены из 16 предметных ImageGen-иллюстраций. Цвет имеет собственный мастер; размеры одного цвета используют тот же иллюстративный мастер с отдельными URI и живой разметкой, без утверждения о фотографии конкретного инвентарного экземпляра. Крупные планы чистые. Происхождение, точные запросы и SHA-256 сохранены; новые отзывы начинаются с нуля и могут храниться локально до подключения API.

Детское снаряжение · подбираем по ребёнку

В каждой из пяти категорий Лапландии добавлены две детские модели с тремя явно заданными размерами: всего десять новых моделей и 30 SKU. Взрослые позиции сохранены. Каждый размер связывает собственные изображения, параметры подбора и ручной тариф филиала.

Подбор использует текущие рост, вес, опыт и измерения стопы ребёнка, без запаса на вырост. Родитель или представитель заполняет и подтверждает анкету; сотрудник проверяет посадку и готовность к занятию перед выдачей.

RU на русском; на английском детская US Kids (C) или подростковая US Youth (Y) из таблицы конкретного варианта. Например, Hawx Kids 2 содержит US C 12, US C 13 и US Y 1. Эти шкалы не соединяем в числовой диапазон и не пересчитываем универсальной формулой.

Горнолыжная подошва ISO 5355 C и BSL проверяются по установленному креплению. Сноубордические XS/S проверяют двухремешковую систему, размерные шкалы и наружную длину ботинка независимо от длины стопы. Неизвестные параметры требуют согласования; несовместимость нельзя скрыть отметкой о проверке.

Сноубордические ботинки · стопа и крепления

Шесть моделей Лапландии объединяют 22 явно заданных сочетания размера и расцветки. Размер RU первичен на русском; US Men, Women, Kids или Youth конкретной модели — на английском. Выбор меняет фото, параметры, ручной тариф и ссылку вместе; недоступное сочетание размера и цвета не создаётся.

Характеристики производителя отделены от критериев проката. Подбор проверяет возраст, вес, опыт, длину, ширину и подъём стопы. Региональный размер остаётся подсказкой. Наружная длина ботинка хранится отдельно от длины стопы и BSL горнолыжного ботинка. Проверка конкретных креплений учитывает систему, размерный диапазон и наружную длину; сама доска дополнительно проверяется по райдеру.

Ботинки и доска одного участника проверяются вместе до оформления. Арендуемые ботинки имеют приоритет над старым указанием своих; чужой SKU и несовместимые крепления сервер отклоняет даже при согласовании с сотрудником. Корзина и история сохраняют полный заказ. Таблицы размеров, измерения, тарифы, примеры отзывов и предметные иллюстрации — типизированные моки с происхождением. Асинхронный репозиторий готов к замене источника через API. Контракт: docs/snowboard-boots.md.

Сноуборды · доска, геометрия и крепления

Четыре модели Лапландии объединяют 12 реальных сочетаний ростовки, ширины и креплений в четырёх карточках. У каждого SKU своя галерея 3:4, геометрия и вручную заданный тариф филиала. Переключение меняет фото, данные, цену и URL вместе; недоступных сочетаний нет.

Вес и опыт проверяются отдельно от ростовки. Региональный размер обуви, наружная длина сноубордического ботинка и размер установленных креплений — независимые поля. Система не превращает RU/US в длину подошвы и не использует BSL горнолыжного ботинка для сноуборда. Step On и жёсткие ботинки не совместимы с нашими демонстрационными ремешковыми креплениями.

Подбор, фильтры и бронирование используют один типизированный каталог. Корзина хранит полный заказ с участниками и выбранным SKU; сервер повторяет проверку предложения, критериев и тарифа. Текущие инвентарные значения и иллюстрации — моки с происхождением; API заменяет асинхронный источник. Данные других филиалов пока не публикуются. Контракт: docs/snowboards.md.

Размеры ботинок · RU и US

Русская версия использует RU, английская — US Men / Women / Youth. Соответствия и их происхождение записаны для каждого SKU в моках regionalSizes; API заменяет источник. Это ориентир выбора, а не формула перевода в Mondo, длину стопы или BSL. Подбор по измерениям и проверка сотрудником остаются обязательными.

Анкета сохраняет номер вместе с shoeSizeSystem. Смена системы очищает число, старые записи без системы остаются EU. Валидатор, фильтры, заказ и уведомления учитывают шкалу. Без измерений совпадение привычного размера не даёт подтверждённую посадку.

Лапландия · данные для подбора райдера

12 моделей и 36 конкретных SKU лыж, ботинок и палок. Геометрия и критерии роста/веса принадлежат ростовке лыж. У ботинок независимо хранятся Mondo, корпус, подошва, BSL и ручные интервалы длины/ширины стопы с подъёмом. Для телескопических палок механический диапазон не заменяет настройку по росту. Фотографии каждого SKU имеют единый портретный формат 3:4.

Подбор показывает конкретные варианты филиала и объясняет, когда нужны измерения или проверка сотрудником. Лыжи проверяются с выбранными ботинками того же участника или маркировкой его собственных ботинок; EU и Mondo не преобразуются в BSL. Неизвестный диапазон установленного крепления требует проверки, известная несовместимость блокирует оформление. Сервер повторяет подбор, проверку версий и тарифов; профиль и полный заказ сохраняются локально.

Сведения производителя, геометрия, критерии SkiMobile и цены филиала разделены в типизированных данных. Текущие инвентарные значения имеют происхождение mock и не подтверждают обмер физического парка. Будущий API заменяет асинхронный адаптер. Версии критериев: ski-fit-2.0, boots-1.1, poles-1.1. Подробный контракт и источники методики — docs/laplandia-fitting.md.

Горнолыжные палки · длина, оснащение и пара

Четыре модели Лапландии показывают две взрослые фиксированные, одну телескопическую и одну детскую конструкцию — 11 конкретных вариантов. Производитель описывает материал, рукоятку, темляк и конструкцию. Длина или диапазон, установленное кольцо, исполнение и фото принадлежат варианту; тариф и сезоны эксплуатации — предложению филиала. Единица проката всегда пара из двух палок.

Длина и цена в фильтрах проверяются совместно по SKU. Выбор обновляет собственный кадр 3:4 с живой разметкой, характеристики, ручной тариф и ссылку. Вкладки содержат описание, сгруппированные факты, подбор по росту с геометрической схемой проверки и отзывы. Ростовые диапазоны — критерии SkiMobile, а не гарантия производителя. Длину проверяют в ботинках, хват — в перчатке, детские палки согласуют с инструктором.

Только полный заказ с данными участников попадает в корзину. Сохраняются SKU пары, диапазон, необязательная настройка телескопической длины и исходный расчёт. Сервер повторно проверяет принадлежность филиалу, размер, диапазон и тариф. 33 кадра из четырёх ImageGen-мастеров — предметные иллюстрации с метаданными запросов; инвентарные значения и вымышленные отзывы остаются моками. Они заменяются через асинхронные репозитории, примеры отзывов не входят в SEO-рейтинг.

Горнолыжные ботинки · модель, размер и крепления

Четыре модели Лапландии имеют 12 конкретных вариантов Mondo. Flex и конструкция относятся к модели; размер, общий корпус, фактическая подошва, BSL и фото — к варианту. Цена и сезоны эксплуатации вводятся вручную в предложении филиала. BSL не вычисляется из EU/Mondo, тип подошвы не определяется возрастом. Длина и ширина стопы проверяются по отдельным критериям SkiMobile; колодка производителя не равна ширине стопы.

Вкладки разделяют описание, характеристики, посадку/крепления и отзывы. Контур стопы связан с измерениями, выбранная подошва и BSL сравниваются с креплениями лыж филиала. Совпадение данных не заменяет примерку и проверку сотрудником; DIN не рассчитывается. В корзину попадает полный заказ с параметрами гостя; выбранный Mondo и исходная подпись BSL сохраняются. Сервер повторяет проверку пары и тарифов.

36 кадров 3:4 происходят из четырёх предметных иллюстраций: каждому варианту задано собственное кадрирование и два детальных фрагмента. Живые RU/EN-подписи используют данные, крупные планы чистые. Иллюстрации и инвентарные числа являются моками; происхождение, запросы и SHA-256 сохранены. Отзывы-примеры подписаны и не участвуют в SEO-рейтинге. Асинхронный репозиторий заменяется API без данных в компонентах.

Фотографии товаров · вертикальный 3:4

Все фотографии товара — вертикальные, ширина к высоте 3:4: обложки каталога, крупные планы, миниатюры и кадры детальной страницы. Фото заполняет рамку целиком без добавленных полей, подложек и растяжения. На обложке предмет показан целиком; запас по краям — 5–7%. Детальные кадры сохраняют тот же формат, цвет и свет.

Для серии используем единый спокойный холодный студийный фон, мягкий свет и естественную контактную тень. Внутри растрового файла нет текста, цен, бейджей и водяных знаков. На первом кадре карточки и детали живой слой RU/EN показывает модель, назначение, уровень, выбранную длину или фактический диапазон и включённые крепления из тех же данных. Факты доступны и обычным текстом вне фото. Крупные планы и увеличение остаются чистыми. Для лыж видны обе лыжи и крепления; форму, рисунок и конструкцию не меняем ради красивого кадра.

Галерея: вертикальная лента миниатюр слева, основной кадр справа, подпись и счётчик под ним. На широком экране галерея выровнена по левому краю и помещается по высоте HD-экрана; в центре — варианты и краткие факты, справа — цена, условия и бронирование. Четыре вкладки лыж занимают ширину под обзором; затем идут рекомендации. На телефоне бронирование следует за фото и вариантами, до информации. Навигация кнопками, клавиатурой и свайпом, без автопрокрутки. Увеличение показывает исходные пиксели с прокруткой, без апскейла. Формат и размеры передаются в данных. У четырёх моделей Лапландии 13 конкретных вариантов, каждый со своим непрозрачным мастером и двумя фрагментами из него: всего 39 кадров 3:4. Это предметные иллюстрации мок-каталога; запросы, референсы и SHA-256 сохранены. Будущий API сохраняет связи SKU с медиа. Фотоотносительная графика остаётся локальным оформлением; резерв галереи отделяет нижнюю подпись от кнопки увеличения при тексте 200%.

Лыжи · описание, факты, подбор и отзывы

У каждой из четырёх моделей собственное RU/EN описание, характер катания и сценарий выбора. Четыре левые вкладки используют доступную ширину под обзором: описание, характеристики, кому подойдёт, отзывы. Группированная таблица разделяет модель, геометрию, выбранный SKU и прокат. Фото, ростовка, исполнение, крепления и срок эксплуатации согласованы с вариантом; сезон модели не подменяет возраст пары.

Контурная фигура связывает рост, вес и обувь с доступными полями. Предварительный результат использует checkEquipmentFit и те же вручную заданные критерии SkiMobile, что бронирование: пустое состояние, ошибка ввода, совпадение, подбор с сотрудником или другая модель. Неизвестное ограничение обуви обозначается прямо. Виджет не рассчитывает DIN, ростовку или наличие на даты и не заменяет полный подбор участника.

Примеры отзывов — отдельные типизированные моки модели и филиала, с явной отметкой вымышленного содержания. Доступны звёзды, распределение оценок, фильтры, сортировка, продолжение списка и ответы команды. Форма проверяет оценку, имя и текст. Отзывы и голоса сохраняются только после успешной записи на этом устройстве; ошибка хранилища оставляет черновик. Асинхронный адаптер заменяется API отдельно. Примеры и локальные записи не попадают в SEO aggregateRating и не получают подтверждение реального проката.

Крепления лыж и совместимость ботинок

Вариант лыж ссылается на конкретную установленную конфигурацию креплений: бренд, модель, идентификатор оборудования, поддерживаемые подошвы и известный диапазон BSL. В карточке показаны название и основные параметры, в характеристиках — полные сведения. Одно крепление показывается описанием; выбор появляется при нескольких конфигурациях. Название из тех же данных попадает в бронирование и исходный снимок заявки.

BSL — внешняя длина подошвы в миллиметрах на корпусе ботинка. Она не вычисляется из EU или Mondo. Взрослые и детские подошвы Alpine / GripWalk задаются отдельно, Touring, WTR и пиновые интерфейсы не считаются взаимозаменяемыми. Проверка использует явные данные установленного крепления; неизвестная подошва или монтаж требуют проверки сотрудника. Ход регулировки пятки не является абсолютным диапазоном BSL. Даже совпадение данных не заменяет физическую проверку и настройку сотрудником; значения срабатывания автоматически не рассчитываются.

Четыре конфигурации Лапландии сейчас являются моками, а не инвентаризацией реального парка. Ссылки производителей описывают примеры креплений; иллюстрации товара не подтверждают марку оборудования. При подключении API заменяются записи и диапазоны конкретных установок. Будущий каталог ботинок передаёт фактические стандарт подошвы и BSL своего варианта в тот же расчёт совместимости.

Подбор и оформленные заказы

Одна карточка объединяет модель и её явные варианты по ростовке, косметической графике и установленным совместимым креплениям. Сочетания не создаются автоматически. Выбор меняет собственную фотографию SKU, факты и ручной тариф филиала; непредлагаемая комбинация объясняется текстом. Одна конфигурация креплений показывается описанием, несколько реальных — выбором. По умолчанию действие «В подбор» начинает бронирование с помощью сотрудника в филиале из шапки. В фильтрованной карточке фото, длины, цена и переход согласованы по одному набору SKU. Нет выдуманных рейтингов, скидок, официальных расцветок или обещаний наличия на даты.

Форма проходит три этапа: даты и число гостей, данные участников и подбор, контакты и проверка заказа. Для проката нужны возраст, рост, вес, обувь, уровень, дисциплина и желаемая категория. Характеристики производителя отделены от заполненных SkiMobile критериев подбора. Совпадение проверяется по явным диапазонам; ростовка и крепления подтверждаются сотрудником. Несовпадения уровня, роста или веса требуют явного обращения на подбор; несовместимая дисциплина или возраст не принимаются как подходящий вариант.

В корзине находятся только полностью оформленные заказы на прокат, занятия или мастерскую. Каждый имеет собственные контакты, получение, согласие и состав; счётчик показывает заказы. Черновики сохраняются отдельно по филиалу, поздние правки варианта не перезаписываются исходной ссылкой после перезагрузки. Прежние отдельные позиции доступны как незавершённый подбор. Необязательные ID лыжного варианта, графики и креплений сохраняют совместимость со старыми ростовками. Клиент и сервер проверяют SKU, длину, предпочтения и критерии подбора; сервер пересчитывает ручной тариф. История сохраняет исходную цену, подпись и фото варианта вместе с результатами каналов; форма возврата использует сохранённый расчёт и подпись исходного заказа.

Данные и архитектура хедера

Снимок сети содержит курорты, филиалы, общие и локальные контакты, навигацию и ссылки на фирменные ресурсы. Сейчас это типизированные локальные моки; компоненты получают их через единый провайдер. Выбор филиала, способ получения, корзина и настройки сохраняются на устройстве. При подключении API заменяется источник снимка.

Хедер компонует самостоятельные части навигации. Контакты и выбор актуальной точки принадлежат сущности сети, счётчик — сущности корзины; сценарии выбора, поиска и настройки вынесены в features. Профиль анимации задаётся в данных логотипа. Неизвестный профиль показывает статичный логотип из того же снимка.

Курорт и выбор точки проката

Выбор начинается с курорта: в шапке и окне указываются Шерегеш, регион и название точки. В окне видны все точки выбранного курорта. При расширении сети список курортов появляется из данных; структура компонентов остаётся общей. Выбранная точка и способ получения сохраняются на устройстве.

Лапландию, Ласку и Малку обозначают авторские векторные иллюстрации фасадов по фотографиям официальных сайтов гостиниц. Это ориентиры для узнавания здания. Точка на Снежной, 22 обозначена адресным знаком; иллюстрация павильона создаётся по фотографии владельца. Источники и дата сверки хранятся рядом с SVG.

Курорты, точки, адреса, телефон, мессенджеры, навигация и ссылки на фирменные материалы поступают из типизированных моков. Точка наследует контакты компании, если собственные контакты не заданы. Подключение будущего API заменяет источник данных через контракт репозитория. Компоненты не содержат отдельные списки точек или номеров телефонов.

Выбор точки закрывает окно и возвращает фокус. Карта доступна отдельной кнопкой; ближайшая точка определяется только по действию «Рядом со мной». Обычная компоновка помещается на HD и мобильном экране; при увеличении текста сохраняются читаемость и доступная прокрутка. Небольшие иллюстрации и значки контактов доступны офлайн после первого посещения.

Шапка и навигация

На компьютере шапка состоит из двух строк. В верхней слева расположены способ получения, филиал и адрес; по центру — акции, доставка, корпоративные заказы, карьера и франшиза; справа — общие телефон и мессенджеры. При недостатке места дополнительные ссылки доступны в «Ещё». Увеличенный текст переносит меню в отдельную строку по центру. Основная строка: логотип в высоту поиска, категории и поиск с фильтрами, бронирование, корзина, кабинет и шестерёнка настроек. При увеличении текста поиск получает собственную строку. Основная строка закрепляется при прокрутке. При обычном размере текста её высота около 62 px, элементы управления — от 44 px. Тонкие градиентные переходы мягко разделяют строки и контент; режим повышенного контраста и forced colors используют чёткие линии.

Логотип один раз появляется при первом посещении в текущей вкладке, затем постоянно воспроизводит исходный шестисекундный цикл со сноубордистом. После перезагрузки сразу показывается цикл. Контур бронирования плавно движется по периметру; акцентные детали иконок получают небольшие связанные движения с паузами и отклик на наведение или фокус. Анимации останавливаются вне экрана и в скрытой вкладке. Уменьшенное движение показывает статичный логотип и отключает декоративные циклы. Звука нет.

Мобильная панель всегда содержит пять пунктов: Меню, Поиск, Бронь, Корзина, Кабинет. Поиск открывает отдельный экран. Ни один пункт не скрывается на 320 px; safe areas и фактическая высота панели учитываются в контенте и уведомлениях.

Верхняя строка использует компактный переключатель получения с областью нажатия от 44 px. WhatsApp, Telegram и MAX представлены статичными монохромными 3D-знаками: графит, мягкие светлые грани и прозрачный фон. Размер изображения — 24 px, экспорт WebP — 256 × 256; тёмная тема осветляет материал. Названия доступны скринридеру. WhatsApp и Telegram открываются напрямую, без промежуточного меню. MAX использует действующую ссылку профиля или приглашения сети, заданную в NEXT_PUBLIC_MAX_CHAT_URL; после изменения нужна пересборка. До подключения ссылки знак MAX сообщает общий номер в подсказке и не имитирует переход в чат. Геометка филиала мягко появляется при открытии страницы и смене точки, акцентная деталь откликается на наведение, фокус и открытие окна. Анимация конечная и учитывает уменьшенное движение. Окно филиалов показывает четыре точки в сетке на компьютере и компактным списком на телефоне; адреса, карты и общие контакты находятся рядом.

Корзина, заявка и история

Корзина объединяет оформленные заказы на прокат, занятия и мастерскую. Каждый заказ хранит собственные даты, контакты, получение и состав; незавершённый подбор находится отдельно. Комплекты имеют суточный тариф; почасовой тариф доступен только для отдельного снаряжения с такой ценой в каталоге. Занятия и мастерская используют собственные варианты услуг.

Регистрация не нужна. Заявка сохраняется на устройстве. Передачу команде проверяйте по статусу отправки. Корзина, профиль и история хранятся в этом браузере. На другом устройстве они не появятся.

Сохранение на устройстве, передача команды и подтверждение сотрудником — разные события. Интерфейс показывает фактический результат отправки по email и Telegram. Офлайн можно сохранить заявку и позднее явно повторить отправку.