Модели данных

Модели данных — это структурированные представления сущностей, которые определяют, какие данные используются в системе, как они связаны между собой и для каких задач применяются.

B

C

D

E

F

I

M

P

R

S

T

U

V

BlogListingModel

Модель списка статей с метаданными.

Свойства

Название

Тип

Описание

Обязательное

total

number

Общее количество статей, соответствующих текущим фильтрам.

Да

items

BlogModel[]

Массив статей на текущей странице.

Да

pagination.current

number

Номер текущей страницы (начинается с 1).

Да

pagination.total

number

Общее количество страниц.

Да

Связанные модели: BlogModel.

BlogModel

Модель статьи блога с контентом, метаданными и мультимедиа.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор статьи блога.

Да

slug

string

ЧПУ идентификатор статьи.

Да

url

string

Относительный канонический URL.

Да

title

string

Заголовок статьи блога.

Да

content

string

Полный текст статьи в формате markdown.

Да

shortDescription

string

Краткое описание/выдержка из статьи. Рекомендуется 120-160 символов.

Нет

pubDate

string

Дата и время публикации статьи. Формат: ISO 8601 строка.

Да

endDate

string

Дата окончания актуальности/снятия с публикации. Формат: ISO 8601 строка.

Нет

tags

string[]

Массив тегов для классификации статьи.

Да

previewMedia

ImageModel

Обложка для сниппетов в списках статей.

Нет

desktopMedia

ImageModel

Обложка для десктопной версии статьи.

Нет

mobileMedia

ImageModel

Обложка для мобильной версии статьи.

Нет

Связанные модели: ImageModel.

Свойства

Название

Тип

Описание

Обязательное

title

string

Заголовок хлебной крошки.

Да

url

string

URL-адрес для навигации при клике на элемент хлебных крошек.

Нет

CategoryModel

Модель категории товаров с поддержкой иерархической структуры (древовидное представление). Используется для навигации по каталогу, построения меню и фильтрации товаров.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор категории.

Да

url

string

Полный URL-адрес страницы категории.

Да

slug

string

URL-friendly идентификатор категории.

Да

title

string

Отображаемое название категории.

Да

Media

ImageModel

Изображение категории.

Нет

children

CategoryModel[]

Массив дочерних (вложенных) категорий.

Да

Примечание

Рекурсивная структура позволяет создавать категории любой глубины вложенности.

Связанные модели: ImageModel.

CollectionModel

Модель коллекции товаров.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор коллекции.

Да

url

string

Полный URL-адрес страницы коллекции.

Да

slug

string

URL-friendly идентификатор коллекции.

Да

title

string

Отображаемое название категории.

Да

media

ImageModel

Изображение коллекции.

Нет

Связанные модели: ImageModel.

CompanyModel

Модель компании, включающая контактные данные и логотип.

Свойства

Название

Тип

Описание

Обязательное

mail

CompanyCharacteristicModel[]

Массив email-адресов компании.

Да

phone

CompanyCharacteristicModel[]

Массив телефонных номеров компании.

Да

address

CompanyCharacteristicModel[]

Массив физических адресов компании.

Да

workingMode

CompanyCharacteristicModel[]

Массив режимов работы компании/отделов

Да

socialNetworks

CompanyCharacteristicModel[]

Массив ссылок на страницы компании в социальных сетях.

Нет

logo

ImageModel

Логотип компании с метаданными изображения.

Нет

Связанные модели: CompanyCharacteristicModel, ImageModel.

CompanyCharacteristicModel

Базовая модель для представления пары «название-значение» характеристики компании.

Свойства

Название

Тип

Описание

Обязательное

name

string

Название характеристики.

Да

value

string

Значение характеристики.

Да

DeliveryOptionModel

Модель опции доставки товара. Содержит информацию о способе доставки, сроках и стоимости. Используется для отображения доступных вариантов доставки на странице оформления заказа или в карточке товара.

Свойства

Название

Тип

Описание

Обязательное

method

COURIER PICKUP_POINT

Способ доставки.

Да

icon

ReactElement

Иконка способа доставки для визуального представления.

Да

serviceType

YANDEX_DELIVERY CDEK META_SHIP_DALLI META_SHIP_RUSSIAN_POST OZON META_SHIP_PECOM META_SHIP_FIVE_POST MERCHANT_SHIP

Тип службы доставки или конкретного сервиса.

Да

serviceName

string

Название и тип службы доставки в человекочитаемом формате.

Да

formattedDate

string

Отформатированная дата доставки в человекочитаемом формате.

Да

price

number

Стоимость доставки.

Да

DOMBoundaryRectModel

Модель границ и размеров DOM‑элемента.

Свойства

Название

Тип

Описание

Обязательное

width

number

Ширина элемента.

Да

height

number

Высота элемента.

Да

top

number

Расстояние от верхнего края viewport до верхнего края элемента.

Да

left

number

Расстояние от левого края viewport до левого края элемента.

Да

bottom

number

Расстояние от верхнего края viewport до нижнего края элемента.

Да

right

number

Расстояние от левого края viewport до правого края элемента.

Да

x

number

Псевдоним для left.

Да

y

number

Псевдоним для top.

Да

EmailSubscriptionModel

Модель формы подписки на рассылку.

Свойства

Название

Тип

Описание

Обязательное

currentStep

FORM / SUCCESS

Общее количество статей, соответствующих текущим фильтрам.

Значения:

  • FORM - отображается форма для ввода данных.
  • SUCCESS - успешная подписка.

Да

email

string

Введенный пользователем email адрес.

Да

agreement

boolean

Cостояние чекбокса согласия на обработку персональных данных.

errors.email

number

Сообщение об ошибке валидации email.

Да

errors.agreement

number

Сообщение об ошибке согласия.

Да

FavouriteProductsListingModel

Модель списка избранных товаров с метаданными.

Свойства

Название

Тип

Описание

Обязательное

total

number

Общее количество товаров, соответствующих текущим фильтрам.

Да

items

ProductSnippetModel[]

Массив товаров на текущей странице.

Да

Связанные модели: ProductSnippetModel.

ImageModel

Модель для изображений.

Свойства

Название

Тип

Описание

Обязательное

filePath

string

URL-адрес оригинального изображения.

Да

metadata

ImageMetaModel

Мета-информация изображения.

Да

Связанные модели: ImageMetaModel.

ImageMetaModel

Модель для мета-информации изображений.

Свойства

Название

Тип

Описание

Обязательное

thumbHash

string

Компактное представление placeholder-изображения.

Нет

backgroundColors

Dictionary<string / null>

Объект с цветом соответствующей границы, если она однородная.

Нет

Связанные модели: ImageModel.

MediaModel

Универсальную модель медиа-контента, которая может содержать как изображения, так и видео. Используется для единообразной работы с различными типами медиа в компонентах галерей, каруселей и других UI элементов.

Свойства

Название

Тип

Описание

Обязательное

type

IMAGE VIDEO

Тип медиа‑контента.

Да

payload

ImageModel VideoModel

Данные медиа‑контента.

Да

Связанные модели: ImageModel.

Корневая модель меню, содержащая метаданные и список элементов верхнего уровня.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор меню.

Да

title

string

Заголовок меню.

Да

items

MenuItemModel[]

Массив элементов меню. Может быть пустым массивом. Элементы могут иметь вложенные дочерние элементы через свойство children

Да

Связанные модели: MenuItemModel.

Модель отдельного элемента меню с поддержкой иерархической структуры.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор элемента меню.

Да

title

string

Заголовок пункта меню.

Да

url

string

URL‑адрес, на который ведет элемент меню.

Форматы:

  • Относительный путь: /about, /products/123

  • Абсолютный URL: https://example.com/page

  • Mailto: mailto:info@example.com

  • Tel: tel:+1234567890

Да

children

MenuItemModel[]

Рекурсивный массив вложенных дочерних элементов. Может быть пустым массивом [] для элементов без подменю. Глубина вложенности технически не ограничена, но рекомендуется 2–3 уровня для UX.

Да

PointModel

Модель точки на плоскости с координатами x и y.

Свойства

Название

Тип

Описание

Обязательное

x

number

Координата по оси X.

Да

y

number

Координата по оси Y.

Да

PromocodeModel

Используется для представления информации о скидках и специальных предложениях.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор g.

Да

discountType

string

Тип скидки, определяет как применяется discountValue.
Возможные значения:

  • percent - процентная скидка.
  • fixed_amount - фиксированная сумма скидки.

Да

discountValue

string

Числовое значение скидки в виде строки.

Да

firstOrderOnly

boolean

Признак применения только к первому заказу.

Да

ProductDetailModel

Полная модель карточки товара.

Свойства

Название

Тип

Описание

Обязательное

variant

ProductVariantModel

Выбранный вариант карточки товара.

Да

quantity

number

Количество текущего варианта товара в корзине.

Да

groupingCharacteristics

GroupingCharacteristicModel[]

Массив группирующий вариантов карточки товара.

Да

sizeTable

ProductSizeTableModel

Таблица размеров, если она задана.

Да

Связанные модели: ProductSizeTableModel, ProductVariantModel.

ProductBadgeModel

Модель бейджа продукта.

Свойства

Название

Тип

Описание

Обязательное

label

string

Заголовок бейджа.

Да

backgroundColor

string

Цвет фона бейджа.

Нет

ProductCharacteristicModel

Модель характеристики/атрибута продукта для описания его свойств.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор характеристики.

Да

slug

string

ЧПУ‑идентификатор характеристики.

Нет

title

string

Название/метка характеристики.

Да

value

string

Значение характеристики.

Да

isGrouping

boolean

Флаг, указывающий, что характеристика используется для группировки вариантов.

Нет

ProductVariantModel

Модель варианта продукта.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор варианта продукта.

Да

seoId

string

SEO‑идентификатор варианта продукта.

Да

sku

string

Артикул товара.

Да

url

string

Относительный URL страницы продукта.

Да

name

string

Полное название варианта продукта.

Да

model

string

Модель продукта.

Да

brand

string

Бренд/производитель продукта.

Да

slug

string

ЧПУ‑идентификатор варианта продукта.

Да

description

string

Описание продукта в формате Markdown.

Да

price

string

Базовая цена без скидок.

Нет

finalPrice

string

Финальная цена с учетом всех скидок.

Да

characteristics

ProductCharacteristicModel[]

Массив характеристик/атрибутов продукта.

Да

badges

ProductBadgeModel[]

Массив бейджей/меток для продукта.

Да

totalQuantity

number

Общее количество товара на всех складах.

Да

mediaItems

ImageModel[]

Массив изображений и медиа‑контента продукта.

Да

isFavourite

boolean

Признак добавления товара в избранное текущим пользователем.

Нет

Связанные модели: ImageModel, ProductBadgeModel, ProductCharacteristicModel.

ProductsListingModel

Модель списка товаров с метаданными.

Свойства

Название

Тип

Описание

Обязательное

total

number

Общее количество товаров, соответствующих текущим фильтрам.

Да

items

ProductSnippetModel[]

Массив товаров на текущей странице.

Да

categories.selected

CategoryModel, null

Текущая выбранная категория или null, если категория не выбрана.

Да

categories.items

CategoryModel[]

Полный список всех доступных категорий.

Да

pagination.current

number

Номер текущей страницы (начинается с 1).

Да

pagination.total

number

Общее количество страниц.

Да

sorting.option

ProductSortingOptionModel

Выбранная опция сортировки.

Да

sorting.options

ProductSortingOptionModel[]

Список доступных опций сортировок.

Да

filters.values

Dictionary<unknown>

Объект с текущими примененными фильтрами.
Ключи — названия фильтров.
Значения — выбранные значения фильтров.

Да

Примечание

  • Структура значений зависит от типа фильтра.

  • Пустой объект {} означает отсутствие активных фильтров.

  • Используется для восстановления состояния фильтров в UI.

Название

Тип

Описание

Обязательное

filters.schema

ProductFiltersModel

Схема доступных фильтров с их конфигурацией и возможными значениями.

Да

Примечание

Определяет UI компоненты фильтров и правила их валидации.

Связанные модели: ProductSnippetModel, ProductSortingOptionModel, CategoryModel.

ProductSizeTableModel

Модель для таблицы размеров продукта.

Свойства

Название

Тип

Описание

Обязательное

filePath

string

URL-адрес оригинального изображения с таблицей размеров.

Да

enabled

boolean

Признак включения/отключения таблицы размеров.

Да

ProductSnippetModel

Модель варианта продукта для отображения в списках/полках товаров.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор варианта продукта.

Да

url

string

Относительный URL страницы продукта.

Да

slug

string

ЧПУ‑идентификатор варианта продукта.

Да

name

string

Полное название варианта продукта.

Да

mediaItems

ImageModel[]

Массив изображений и медиа‑контента продукта.

Да

badges

ProductBadgeModel[]

Массив бейджей/меток для продукта.

Да

price

string

Базовая цена без скидок.

Нет

finalPrice

string

Финальная цена с учетом всех скидок.

Да

currencyCode

RUB

Код валюты.

Да

totalQuantity

number

Общее количество товара на всех складах.

Да

isFavourite

boolean

Признак добавления товара в избранное текущим пользователем.

Нет

Связанные модели: ImageModel, ProductBadgeModel.

ProductSortingOptionModel

Модель опции сортировки товаров.

Свойства

Название

Тип

Описание

Обязательное

value

string

Внутреннее значение опции, используемое для программной обработки.

Да

displayText

ProductSnippetModel[]

Название сортировки, отображаемое в интерфейсе.

Да

RegionModel

Модель региона/города для определения местоположения пользователя.

Свойства

Название

Тип

Описание

Обязательное

id

number

Уникальный числовой идентификатор региона.

Да

name

string

Название региона/города.
Пример: «Москва», «Санкт‑Петербург», «Казань».

Да

ShoppingCartModel

Модель корзины покупок, содержащая все добавленные товары и итоговые расчеты.

Свойства

Название

Тип

Описание

Обязательное

price

number

Общая базовая стоимость всех товаров в корзине без скидок.

Да

finalPrice

number

Итоговая стоимость корзины с учетом всех скидок (без учета доставки).

Да

items

ShoppingCartItem[]

Массив товаров в корзине.

Да

totalQuantity

number

Общее количество единиц товара во всей корзине.

Да

Связанные модели: ShoppingCartItemModel.

ShoppingCartItemModel

Модель корзины покупок, содержащая все добавленные товары и итоговые расчеты.

Свойства

Название

Тип

Описание

Обязательное

variant

ProductVariantModel

Полная информация о варианте продукта в корзине.

Да

quantity

number

Количество единиц товара в корзине.

Да

price

number

Базовая цена за группу товаров без скидок.

Да

finalPrice

number

Финальная цена за группу товаров с учетом всех скидок.

Да

Связанные модели: ShoppingCartModel.

SelfPickupModel

Модель точки самовывоза.

Обязательное: Да

Свойства

Название

Тип

Описание

Обязательное

fullAddress

string

Полный адрес точки самовывоза.

Да.

TimeLeftModel

Модель оставшегося времени до целевой даты.

Свойства

Название

Тип

Описание

Обязательное

days

number

Количество дней до целевой даты.

Да

hours

number

Количество часов до целевой даты.

Да

minutes

number

Количество минут до целевой даты.

Да

seconds

number

Количество секунд до целевой даты.

Да

UserModel

Полная модель пользователя с профильными данными, настройками и информацией о местоположении.

Свойства

Название

Тип

Описание

Обязательное

id

string

Уникальный идентификатор пользователя.

Да

firstName

string

Имя пользователя.

Нет

lastName

string

Фамилия пользователя.

Нет

isRegistered

boolean

Признак, определяющий статус регистрации пользователя.

Значения:

  • true — пользователь прошел полную регистрацию;
  • false — гостевой/анонимный пользователь.

Да

autoCity

RegionModel

Автоматически определенный регион пользователя. Может быть неточным, требует подтверждения.

Нет

manualCity

RegionModel

Город, выбранный пользователем вручную. Имеет приоритет над autoCity.

Нет

avatarUrl

string

Полный URL для отображения аватара.

Нет

email

string

Адрес электронной почты пользователя.

Нет

phone

string

Номер телефона пользователя.

Нет

isSubscribed

boolean

Флаг подписки на Email‑рассылки.

Да

Связанные модели: RegionModel.

VideoModel

Модель для видео.

Свойства

Название

Тип

Описание

Обязательное

filePath

string

URL-адрес видео.

Да

metadata

ImageMetaModel

Мета-информация изображения первого кадра.

Да

video

VideoSourceModel

Мета-информация видео.

Да

Обратиться в службу поддержки

Написать в чат

Написать письмо