bpiek/model/product.go

170 lines
11 KiB
Go
Raw Normal View History

package model
type (
ImageVariant struct {
Url string `json:"url"` // Ссылка
Ext string `json:"ext"` // Расширение
Width int `json:"width"` // Ширина
}
Complects struct {
Article string `json:"article"` // Артикул
Name string `json:"name"` // Наименование
Quantity int `json:"quantity"` // Количество
}
LeftPeriod struct {
Name string `json:"name"` // Название характеристики
Value string `json:"value"` // Значение характеристики
}
LeftPeriodRaw struct {
Lifespan struct {
Limit string `json:"limit"` // Предельное значение
Value string `json:"value"` // Значение
Units string `json:"units"` // Единицы измерения
} `json:"lifespan"` // Срок службы
Warranty struct {
Value string `json:"value"` // Значение
Units string `json:"units"` // Единицы измерения
} `json:"warranty"` // Гарантийный срок
}
DesignFeatures struct {
ImageUrl string `json:"imageUrl"` // Ссылка на изображение
Description string `json:"description"` // Описание
}
Video struct {
Name string `json:"name"` // Наименование
Description string `json:"description"` // Описание
Url string `json:"url"` // Ссылка
Type string `json:"type"` // Тип (ссылка на видео-хостинг или прямая ссылка на скачивание); Enum: "url" "file"
}
Software struct {
Name string `json:"name"` // Наименование
Description string `json:"description"` // Описание
Url string `json:"url"` // Ссылка
Size int `json:"size"` // Размер
}
Analog struct {
Article string `json:"article"` // Артикул товара
Name string `json:"name"` // Полное название товара
ShortName string `json:"shortName"` // Краткое название
Description string `json:"description"` // Описание
ImageUrl string `json:"imageUrl"` // Фото товара (основное)
ImageUrls []string `json:"imageUrls"` // Все фото товара
ImageVariants []ImageVariant `json:"imageVariants"` // Вариации изображений
IsArchived bool `json:"isArchived"` // Архивный или нет
Tm string `json:"tm"` // Торговая марка
}
WarehouseData struct {
WarehouseId string `json:"warehouseId"` // Идентификатор склада
WarehouseName string `json:"warehouseName"` // Наименование склада
AvailableAmount int `json:"availableAmount"` // Доступное количество
Incoming []struct {
DateBegan string `json:"dateBegan"` // Дата начала периода поступления на склад
DateEnd string `json:"dateEnd"` // Дата окончания периода поступления на склад
Amount int `json:"amount"` // Ожидаемое количество
Type string `json:"type"` // Тип поступления, production - поступление после производства, shipping - доставка на склад
} // Ближайшие поступления
}
Etim struct {
Features []struct {
Id string `json:"id"` //
Name string `json:"name"` // Название свойства
Sort int `json:"sort"` // Порядок сортировки по умолчанию
Unit string `json:"unit"` // Единицы измерения
Value string `json:"value"` // Значение свойства
ValueUnion string `json:"value_union"` // Код значения
} `json:"features"` // Features represents a list of product features with detailed information.
Class struct {
Id string `json:"id"` //
Name string `json:"name"` // Название класса
} `json:"class"` // ETIM-класс товара
}
LogisticParams struct {
Name string `json:"name"` // Название параметра
NameOrig string `json:"nameOrig"` // Название характеристики (исходное)
Value struct {
Group string `json:"group"` // Значение для группового варианта
Individual string `json:"individual"` // Значение для индивидуального варианта
Transport string `json:"transport"` // Значение для транспортного варианта
} `json:"value"` // Value represents group, individual, and transport logistics values in JSON format.
}
LogisticParamsData struct {
SinglePackage struct {
Multiplicity int `json:"multiplicity"` // Кратность
Unit string `json:"unit"` // Единицы измерения
} `json:"singlePackage"` // Для индивидуальной упаковки
}
ShortProduct struct {
Article string `json:"article"` // Артикул товара
Name string `json:"name"` // Полное наименование товара
Multiplicity int `json:"multiplicity"` // Кратность продажи
PriceBase float64 `json:"priceBase"` // Базовая цена с НДС
PriceRrc float64 `json:"priceRrc"` // Рекомендованная розничная цена (РРЦ) с НДС
Available float64 `json:"available"` // Значение остатка
Units string `json:"units"` // Единицы измерения
WarehouseData []WarehouseData `json:"warehouseData"` // Информация по складам
}
Product struct {
Article string `json:"article"` // Артикул товара
Name string `json:"name"` // Полное наименование товара
ShortName string `json:"shortName"` // Краткое название
Description string `json:"description"` // Описание
CategoryName string `json:"categoryName"` // Название категории
Category string `json:"category"` // Относительный путь до категории в каталоге
Slug string `json:"slug"` // Слаг товара
Tm string `json:"tm"` // Торговая марка
Url string `json:"url"` // Ссылка на товар
IsArchived bool `json:"isArchived"` // Архивный или нет
ImageUrl string `json:"imageUrl"` // Фото товара (основное)
ImageUrls []string `json:"imageUrls"` // Все фото товара
ImageVariants []ImageVariant `json:"imageVariants"` // Вариации изображений
ImageUrlsVariants []interface{} `json:"imageUrlsVariants"` // Все вариации изображений
Advantages string `json:"advantages"` // Преимущества
Etim Etim `json:"etim"` // ETIM характеристики товара
Complects []Complects `json:"complects"` // Комплектация и сопутствующие товары
Complectations string `json:"complectations"` // Комплектация
Files []interface{} `json:"files"` // Список файлов, относящихся к товару (ГЧ, КД, CAD-модели и т.д.)
LeftPeriod []LeftPeriod `json:"leftPeriod"` // Характеристики срока службы
LeftPeriodRaw LeftPeriodRaw `json:"leftPeriodRaw"` // Гарантийные показатели
LogisticParams []LogisticParams `json:"logisticParams"` // Логистические характеристики
LogisticParamsData LogisticParamsData `json:"logisticParamsData"` // Подробные логистические характеристики
Novelty bool `json:"novelty"` // Новинка или нет
DesignFeatures []DesignFeatures `json:"designFeatures"` // Отличительные особенности
Videos []Video `json:"videos"` // Видео по товару
Software []Software `json:"software"` // ПО по товару
Banner string `json:"banner"` // Текст баннера
LastModified string `json:"lastModified"` // Дата последнего изменения
CountryOfProduction string `json:"countryOfProduction"` // Страна производства
FirstSaleDate string `json:"firstSaleDate"` // Дата начала продаж
Feacn string `json:"feacn"` // Код ТН ВЭД
Multiplicity int `json:"multiplicity"` // Кратность продажи
PriceBase float64 `json:"priceBase"` // Базовая цена с НДС
PriceRrc float64 `json:"priceRrc"` // Персональная цена с НДС
PricePersonal float64 `json:"pricePersonal"` // Рекомендованная розничная цена (РРЦ) с НДС
Available int `json:"available"` // Значение остатка
Units string `json:"units"` // Единицы измерения
Family string `json:"family"` // Family specifies the family category of the product.
Series string `json:"series"` // Series is the series of the product.
IndPacking []string `json:"indPacking"` // Ссылки на фото упаковки
Analogs []Analog `json:"analogs"` // Аналоги
Related []Analog `json:"related"` // Совместно применяемые изделия
QrCode string `json:"qrCode"` // QR код со ссылкой на товар в Бизнес платформе
IsOutOfAssortment bool `json:"isOutOfAssortment"` // Выведенный из ассортимента
IsOutOfProduction bool `json:"isOutOfProduction"` // Выводимый из ассортимента
WarehouseData []WarehouseData `json:"warehouseData"` // Информация по складам
}
)