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, .json — Download template
| Column | Alias | Required | Type / Max Length | Validation | Notes |
|---|---|---|---|---|---|
Replenish Model | ReplenishModel | No | String (200) | Must exist if provided | Replenish order model |
Planogram Name | PlanogramName | Conditional* | String (200) | Must be unique; cannot duplicate existing names | If not provided, auto-generates with versioning |
Asset Serial Number | AssetSerialNumber | Conditional* | String (200) | Must exist if provided | Links planogram to specific asset |
Product SKU | ProductSKU | Yes | String (100) | Must exist | — |
Shelf/Priority | ProductRanking | Yes | Integer | 1–50 | Lower number = higher priority; determines shelf/column placement |
Product Stack Size | ProductStackSize | No | Integer | 1–5 if provided | Number of facings deep. Defaults to 1 |
External Code | ExternalPlanogramCode | No | String (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
| Error | Cause | Fix |
|---|---|---|
Import file is empty | No data provided | Provide valid planogram data |
Either Asset Serial Number or Planogram Name must be provided | Both fields are empty | Provide at least one: Asset Serial Number or Planogram Name |
Asset "[serial]" not found | Asset doesn't exist | Verify asset exists; check spelling |
Product SKU "[sku]" not found | Product doesn't exist | Verify product exists; check spelling |
Planogram name "[name]" already exists | Duplicate planogram name | Use a unique planogram name or omit for auto-generation |
Replenish Model "[model]" not found | Invalid replenish model value | Use a valid replenish model |
Product Ranking must be between 1 and 50 | Invalid ranking value | Use integers between 1 and 50 |
Product StackSize must be between 1 and 5 | Invalid stack size | Use integers between 1 and 5 |
For support, contact support@coolrgroup.com