NOTE: Data Model is still in development stage and might change on upcoming days
GridProduct
Code Block |
---|
interface GridProduct { ProductId: string; Tenant: string; Customers?: string[]; // Main default details ProductShortDescription?: Array<{ CountryId: string; IsoLanguageId: string; ProductShortDescription: string; }>; ProductInternalName?: Array<{ CountryId: string; IsoLanguageId: string; ProductInternalName: string; }>; IntroductionDate?: string; // Start Date (optional) - main date added on RelatedProduct(Variant) PlannedAbandonmentDate?: string; // End Date (optional) - main date added on RelatedProduct(Variant) StorageInstructions?: Array<{ CountryId: string; IsoLanguageId: string; StorageInstructions: string; }>; ShellLifeDays?: number; ConsumerStorageInstruction?: Array<{ CountryId: string; IsoLanguageId: string; ConsumerStorageInstruction: string; }>; ProductShippingInstruction?: Array<{ CountryId: string; IsoLanguageId: string; ProductShippingInstruction: string; }>; EuropeanArticleNumber?: string; UniversalProductCode?: string; // Array of translation ProductName: Array<{ CountryId: string; IsoLanguageId: string; ProductName: string; }>; // Array of translation ProductDescription: Array<{ CountryId: string; IsoLanguageId: string; ProductDescription: string; }>; // Variants Variants: Array<{ Id: string; // Item variant Id ProductId: string; // Parent product Id GlobalTradeItemNumber?: string; GtinName?: string; EuropeanArticleNumber?: string; UniversalProductCode?: string; // Item variant name (optional) ProductName?: Array<{ CountryId: string; IsoLanguageId: string; ProductName: string; }>; PeriodStartDate?: string; PeriodEndDate?: string; // Added custom field for variants Color?: string; Style?: string; Size?: string; }>; Brand?: Array<{ CountryId: string; IsoLanguageId: string; BrandName: string; BrandDescription?: string; BrandMark?: string; BrandTrademark?: string; BrandLogo?: string; }>; // Array of translation ProductStatus: Array<{ ProductStatus: ProductStatusEnum; // Ex. Active OR Inactive CountryId: string; IsoLanguageId: string; StoreId?: string; PeriodStartDate?: string; PeriodEndDate?: string; ProductStatusNote?: string; }>; // Equivalent to productDetails in GPF used for filters and data display ProductFeature?: Array<{ Id: string; // SKU or variant Id ProductFeatureType: string; // Key of productDetails in GPF CountryId: string; IsoLanguageId: string; ProductFeatureValue: string; }>; // Product Price based on type ProductPriceList: Array<{ Id: string; // SKU or variant Id PriceListType: PriceListTypeEnum; // 'Standard' OR 'Promotional' StoreId?: string; CountryId: string; IsoLanguageId: string; IsoCurrencyCode: string; PricingUomId?: string; PeriodStartTimestamp?: string; PeriodEndTimestamp?: string; SuggestedRetailPrice?: number; ListPrice: number; }>; // Images and links CatalogPageLocationProduct: Array<{ Id: string; // SKU or variant Id ProductId: string; // Parent Id CatalogType: string; // Ex. "image/png", "video/mp4" CatalogPage?: string; // Ex. Root URL of client media site CatalogPageLocation?: string; // Ex. Product URL appended to root URL of client page CatalogPageLocationProduct: string; // Entire URL value }>; // Product categories (Converted semi-colon separated into array) ProductType: Array<ProductTypeInterface>; // Product Tags ProductLabel?: Array<{ CountryId: string; IsoLanguageId: string; ProductLabel: string; // Ex. [Online Exclusive] }>; // Product Promotion ProductPromotion?: { PromotionId: string; // Referenced from Promotions Index or external data PeriodStartTimestamp?: string; PeriodEndTimestamp?: string; }; // Product Quantity ProductItemQuantity?: Array<{ Id: string; // SKU or variant Id StoreId?: string; ProductItemQuantityStartDate?: string; ProductItemQuantityEndDate?: string; ProductItemQuantity: number; }>; ProductVendor?: Array<{ VendorId: string; ProductVendor: string; PeriodStartDate?: string; PeriodEndDate?: string; }>; } |
...
Code Block |
---|
enum PriceListTypeEnum { Standard = 'Standard', Promotional = 'Promotional', } enum ProductStatusEnum { Active = 'Active', Inactive = 'Inactive', Discontinued = 'Discontinued', Dormant = 'Dormant', Frozen = 'Frozen', Replaced = 'Replaced', Obsolete = 'Obsolete', Abandoned = 'Abandoned', Blocked = 'Blocked', } interface ProductTypeInterface { Key: string; // Ex. Key1>Key2 CountryId: string; IsoLanguageId: string; ProductType: string; // Ex. Furniture>Living Room } |
Field Definitions (Work in progress):
Field | Description | Required | Example | ||
---|---|---|---|---|---|
| Primary ID of the product | Yes | product1 | ||
| Name of client whom the data belongs | Yes | Kjell | ||
| List of customers associated with the product | Ombori, Kjell |
|
| |
| Date when product is available/added | 2012-05-05 | |||
| Date when product is to be abandoned | 2030-05-05 | |||
| 30 | ||||
| Product Name | Yes | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductName | Translation value of the product name | Yes | |||
| Product Name | Yes | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductDescription | Translation value of the product description | Yes | |||
| Yes | ||||
| Variant ID | Yes | |||
| Product ID where variant belongs to | Yes | |||
| |||||
| |||||
| |||||
| |||||
| Date when variant was added | ||||
| Date when variant will end | ||||
| Variant’s Product Name | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductName | Translation value of the variant’s product name | Yes | |||
| Yes | ||||
ProductStatus | Status value of the product | Yes | Active | Inactive | ||
CountryId | Country ID where status is applicable | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
StoreId | Store ID where product status is applicable | ||||
PeriodStartDate | Status duration start | ||||
PeriodEndDate | Status duration end | ||||
ProductStatusNote | |||||
| Set of features of the product | No | |||
Id | SKU or Variant ID | Yes | |||
ProductFeatureType | Key of the product feature | Yes | |||
ProductFeatureValue | Translated value of the product feature | Yes | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
| List of product prices per variant | Yes | |||
Id | SKU or Variant ID | Yes | |||
PriceListType | Standard or Promotional | Yes | Standard | ||
StoreId | Store where price list is applicable | ||||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
IsoCurrencyCode | Iso Currency Code | Yes | |||
PricingUomId | |||||
PeriodStartTimestamp | Price applicable start date | ||||
PeriodEndTimestamp | Price applicable start date | ||||
SuggestedRetailPrice | |||||
ListPrice | Yes | ||||
| |||||
Id | SKU or Variant ID | Yes | |||
ProductId | Parent Id | Yes | |||
CatalogType | Type of the image/media | image/png | |||
CatalogPage | Root URL where image/media is found | https://media.com | |||
CatalogPageLocation | ID or route where image/media is found | /product/12345 | |||
CatalogPageLocationProduct | Entire URL where image/media is found | Yes | https://media.com/product/12345.img | ||
| Stickers or labels associated with the product | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductLabel | Translation value of Product Label | Yes | |||
| Contains inventory / quantity | No | |||
Id | SKU or variant ID | Yes | |||
StoreId | Store where quantity/inventory is applicable | ||||
ProductItemQuantityStartDate | Quantity start date | ||||
ProductItemQuantityEndDate | Quantity end date | ||||
ProductItemQuantity | Product quantity value | Yes | |||
| Short description of the product | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductShortDescription | Translation value of short description | Yes | |||
| Internal name of the product | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductInternalName | Translation value of internal name | Yes | |||
| Storage instructions | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
StorageInstructions | Translation value of storage instructions | Yes | |||
| Consumer storage instruction | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ConsumerStorageInstruction | Translation value of consumer storage instructions | Yes | |||
| Consumer storage instruction | No | |||
CountryId | Country ID | Yes | 46 | ||
IsoLanguageId | Iso Language ID | Yes | |||
ProductShippingInstruction | Translation value of product shipping instructions | Yes | |||
...