import type { Master } from './Master'; import type { MediaFile } from './MediaFile'; import type { ProductOption } from './ProductOption'; import type { Variant } from './Variant'; import type { VariationAttribute } from './VariationAttribute'; import type { VariationGroup } from './VariationGroup'; import type { CatalogCategoryId } from './CatalogCategoryId'; import type { ProductType } from './ProductType'; import type { ImageGroup } from './ImageGroup'; import type { MarkupText } from './MarkupText'; /** * @type Product: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. * * @property assignedCategories: The catalog categories that the product is assigned to. It is read only. * * @property ats: The Available To Sell (ATS) inventory value of the product. This is a calculated value. * * @property brand: The brand of the product. * * @property bundledProducts: The array of bundled products which the product includes. It is read only. * * @property classificationCategory: * * @property creationDate: Returns the value of attribute \'creationDate\'. It is read only. * * @property defaultVariantId: The ID of the product\'s default variant. It is read only. * * @property ean: The European Article Number of the product. * * @property id: The id (SKU) of the product. * - **Min Length:** 1 * - **Max Length:** 100 * * @property image: * * @property imageGroups: The array of product image groups. It is read only. * * @property inStock: The flag that indicates if the product is in stock, or not. This is a calculated value. * * @property lastModified: Returns the value of attribute \'lastModified\'. It is read only. * * @property localizedTaxClassId: The localized tax class identifier of the product. * * @property longDescription: The localized long description of the product. * * @property manufacturerName: The name of the product\'s manufacturer. * * @property manufacturerSku: The SKU of the product\'s manufacturer. * * @property master: * * @property name: The localized name of the product. * * @property online: The flag that indicates if the product is online, or not. This is a calculated value. * * @property onlineFlag: The site-specific online status of the product. * * @property owningCatalogId: The ID of the catalog that owns the product. * * @property owningCatalogName: The localized name of the catalog that owns the product. It is read only. * * @property pageDescription: The localized page description of the product. * * @property pageKeywords: The localized page keywords of the product. * * @property pageTitle: The localized page title of the product. * * @property price: The price of the product. * * @property priceCurrency: The currency code for a product\'s price. * * @property pricePerUnit: The price per unit of the product. This is a read only field. * * @property primaryCategories: The primary catalog categories that the product is assigned to. It is read only. * * @property primaryCategoryId: The ID of the products primary category. This is a read only field. It is read only. * * @property productBundles: The array of product bundles which the product belongs to. It is read only. * * @property productOptions: The array of product options. This is applicable for products of type \"option\". It is read only. * * @property productSets: The array of product sets which the product belongs to. It is read only. * * @property searchable: The site-specific searchable status of the product. * * @property setProducts: The array of set products which the product includes. It is read only. * * @property shortDescription: The localized short description of the product. * * @property taxClassId: The tax class identifier of the product. * * @property type: * * @property unit: The sales unit of the product. * * @property unitMeasure: The unitMeasure of the product. * * @property unitQuantity: The unitQuantity of the product. * * @property upc: The Universal Product Code (UPC) of the product. * * @property validFrom: The valid/online from date of the product. * * @property validTo: The valid/online to date of the product. * * @property variants: The array of variants of the product. This is applicable for product types \"master\" and \"variationGroup\" only. It is read only. * * @property variationAttributes: The sorted array of variation attributes assigned to the product. This is applicable for product types \"master\", \"variationGroup\" and \"variant\" only. It is read only. * * @property variationGroups: The array of variation groups in the product. This is applicable for product type \"master\" only. It is read only. * * @property variationValues: The variation values selected for the product in variation attribute id and value pairs. This is applicable for product types \"Variant\" and \"VariationGroup\" only. It is read only. * */ export type Product = { assignedCategories?: Array; ats?: number; brand?: string; bundledProducts?: Array; classificationCategory?: CatalogCategoryId; creationDate?: string; defaultVariantId?: string; ean?: string; id: string; image?: MediaFile; imageGroups?: Array; inStock?: boolean; lastModified?: string; localizedTaxClassId?: { [key: string]: string; }; longDescription?: { [key: string]: MarkupText; }; manufacturerName?: string; manufacturerSku?: string; master?: Master; name?: { [key: string]: string; }; online?: boolean; onlineFlag?: { [key: string]: boolean; }; owningCatalogId?: string; owningCatalogName?: { [key: string]: string; }; pageDescription?: { [key: string]: string; }; pageKeywords?: { [key: string]: string; }; pageTitle?: { [key: string]: string; }; price?: number; priceCurrency?: string; pricePerUnit?: number; primaryCategories?: Array; primaryCategoryId?: string; productBundles?: Array; productOptions?: Array; productSets?: Array; searchable?: { [key: string]: boolean; }; setProducts?: Array; shortDescription?: { [key: string]: MarkupText; }; taxClassId?: string; type?: ProductType; unit?: string; unitMeasure?: string; unitQuantity?: number; upc?: string; validFrom?: { [key: string]: string; }; validTo?: { [key: string]: string; }; variants?: Array; variationAttributes?: Array; variationGroups?: Array; variationValues?: { [key: string]: string; }; } & { [key: string]: any; };