Skip to main content

Planogram Import

Bulk import planogram configurations for coolers/assets. The system creates planogram records with automatic versioning, organizes products by shelf and priority ranking, and generates facing layouts. Supports both asset-based planograms (linked to specific assets) and standalone planogram templates.

See Overview for authentication, file formats, response structure, and import order.

Endpoint

POST https://portal.coolrgroup.com/Controllers/Import.ashx?type=Planogram

UI access

  • Portal: Planogram Management → Location Screen → Select Import Type: "Planogram"
  • Playbook App: Master Data → Planograms → Import

Columns

Formats: .csv, .xlsx / .xls, .jsonDownload template

ColumnAliasRequiredType / Max LengthValidationNotes
Replenish ModelReplenishModelNoString (200)Must exist if providedReplenish order model
Planogram NamePlanogramNameConditional*String (200)Must be unique; cannot duplicate existing namesIf not provided, auto-generates with versioning
Asset Serial NumberAssetSerialNumberConditional*String (200)Must exist if providedLinks planogram to specific asset
Product SKUProductSKUYesString (100)Must exist
Shelf/PriorityProductRankingYesInteger1–50Lower number = higher priority; determines shelf/column placement
Product Stack SizeProductStackSizeNoInteger1–5 if providedNumber of facings deep. Defaults to 1
External CodeExternalPlanogramCodeNoString (200)External planogram code

* Either Asset Serial Number OR Planogram Name must be provided (at least one is required).

Planogram types and naming

Asset-based planograms

When Asset Serial Number is provided, the planogram is linked to a specific asset. If Planogram Name is not provided, the system auto-generates:

Format: [Asset Serial Number]_[MM-DD]_v[Version]

Example: SN123456789_03-17_v1

Each import for the same asset on the same day increments the version number. Previous versions are retained in the system.

Standalone planograms

When only Planogram Name is provided (without Asset Serial Number), the planogram is created as a standalone template not linked to any specific asset. The provided name must be unique and not already exist in the system.

Examples

CSV

Planogram Name,Asset Serial Number,Product SKU,Shelf/Priority,Product Stack Size,External Code
SN123456789_Planogram_v1,SN123456789,COKE-12OZ-001,1,3,POG-001
SN123456789_Planogram_v1,SN123456789,SPRITE-12OZ-001,2,2,POG-001
SN123456789_Planogram_v1,SN123456789,FANTA-12OZ-001,3,1,POG-001

JSON

{
"data": [
{ "PlanogramName": "SN123456789_Planogram_v1", "AssetSerialNumber": "SN123456789", "ProductSKU": "COKE-12OZ-001", "ProductRanking": 1, "ProductStackSize": 3, "ExternalPlanogramCode": "POG-001" },
{ "PlanogramName": "SN123456789_Planogram_v1", "AssetSerialNumber": "SN123456789", "ProductSKU": "SPRITE-12OZ-001", "ProductRanking": 2, "ProductStackSize": 2, "ExternalPlanogramCode": "POG-001" },
{ "PlanogramName": "SN123456789_Planogram_v1", "AssetSerialNumber": "SN123456789", "ProductSKU": "FANTA-12OZ-001", "ProductRanking": 3, "ProductStackSize": 1, "ExternalPlanogramCode": "POG-001" }
]
}

API import

curl -X POST 'https://portal.coolrgroup.com/Controllers/Import.ashx?type=Planogram' \
-H 'Cookie: .ASPXAUTH=your-auth-token' \
-F 'file=@planograms.csv'

Replace planograms.csv with planograms.xlsx or planograms.json as needed.

Response

See Overview - Response format for response structure and error handling.

Common errors

ErrorCauseFix
Import file is emptyNo data providedProvide valid planogram data
Either Asset Serial Number or Planogram Name must be providedBoth fields are emptyProvide at least one: Asset Serial Number or Planogram Name
Asset "[serial]" not foundAsset doesn't existVerify asset exists; check spelling
Product SKU "[sku]" not foundProduct doesn't existVerify product exists; check spelling
Planogram name "[name]" already existsDuplicate planogram nameUse a unique planogram name or omit for auto-generation
Replenish Model "[model]" not foundInvalid replenish model valueUse a valid replenish model
Product Ranking must be between 1 and 50Invalid ranking valueUse integers between 1 and 50
Product StackSize must be between 1 and 5Invalid stack sizeUse integers between 1 and 5

For support, contact support@coolrgroup.com