Outlet Import
Bulk create or update outlets (retail locations), along with their associated assets, contacts, sales representatives, and smart devices. Existing outlets are matched by Code and updated in place.
See Overview for authentication, file formats, response structure, and import order.
Endpoint
POST https://portal.coolrgroup.com/Controllers/Import.ashx?type=Outlet
UI access
- Portal: Outlet Management → Import → Select "Outlet"
- Playbook App: Master Data → Outlets → Import
Multi-asset support
To assign multiple assets to a single outlet, repeat the outlet Code across multiple rows with different Asset Name values:
Name,Code,Street,Asset Name,Asset Type,Asset Manufacturer
Downtown Store,STORE-001,123 Main St,Cooler-1,Upright Cooler,Manufacturer A
Downtown Store,STORE-001,123 Main St,Cooler-2,Chest Cooler,Manufacturer B
Result: One outlet STORE-001 with two assets.
Columns
Formats: .csv, .xlsx / .xls, .json — Download template
| Column | Alias | Required | Type / Max Length | Validation | Notes |
|---|---|---|---|---|---|
| General Information | |||||
Code | Outlet Code | Yes | String | Must be non-empty | Unique outlet identifier; used to match and update existing records |
Name | Outlet | Yes | String | Must be non-empty | Outlet display name |
Street | — | Yes | String | Must be non-empty | Primary address line |
Street2 | — | No | String | — | Address line 2 |
Street3 | — | No | String | — | Address line 3 |
City | — | No | String | — | — |
State | — | No | String | Must exist for the specified country | — |
Postal Code | PostalCode | No | String | — | — |
Country | — | No | String | Must match a country in CoolR | — |
Latitude | — | No | Decimal, -90 to 90 | -90 to 90 | Enter as plain decimal in CSV |
Longitude | — | No | Decimal, -180 to 180 | -180 to 180 | Enter as plain decimal in CSV |
TimeZone | — | No | String | Must match a timezone in CoolR | e.g., Pacific Standard Time |
Store Owner | StoreOwner | No | String | — | — |
Active | IsActive | No | Boolean (Yes / No) | — | Set to No to deactivate. Use instead of deleting — inactive outlets are hidden from workflows but retained for historical data |
IsKeyOutlet | Key? | No | Boolean (Yes / No) | — | — |
| Group Information | |||||
Market | — | No | String | — | Auto-created if not found |
Channel | — | No | String | — | Auto-created if not found; e.g., Retail, Wholesale |
Classification | — | No | String | — | Auto-created if not found; e.g., Tier 1 |
Route | — | No | String | — | Auto-created if not found |
Pre Seller Route | PreSellerRoute | No | String | — | Auto-created if not found |
Key Account | KeyAccount | No | String | — | Auto-created if not found |
| Business Information | |||||
In-field contact person | InFieldContactPerson | No | String (email) | User must exist in CoolR | — |
Buyer GTIN | BuyerGTIN | No | String | — | — |
Outlet GTIN | OutletGTIN | No | String | — | — |
TD Linx | TDLinx | No | String | — | — |
Distributor | — | No | String | — | Auto-created if not found |
Customer | — | No | String | — | Auto-created if not found |
Sales Model | SalesModel | No | String | — | Auto-created if not found |
Distributor GTIN | DistributorGTIN | No | String | Requires Distributor to be filled | — |
| Order Settings | |||||
Outlet Sales Rep | LocationSalesRep | No | String (email) | User must exist in CoolR | — |
Skip Order | IsSkipOrder | No | Boolean (Yes / No) | — | — |
ASN To SalesRep | — | No | Boolean (Yes / No) | — | — |
SalesRepRoute To Order? | IsUseSalesRepRouteToOrder | No | Boolean (Yes / No) | — | — |
| Sales Representatives | |||||
Primary Sales Rep | PrimarySalesRepEmail | No | String (email) | User must exist in CoolR | — |
Secondary Sales Rep | SecondarySalesRepEmail | No | String (email) | User must exist in CoolR | — |
Sales Rep | SalesRep | No | String (email) | User must exist in CoolR | — |
Sales Rep Route Email | SalesRepRouteEmail | No | String (email) | User must exist; required if Delivery Days is provided | Must be paired with Delivery Days |
Delivery Days | DeliveryDays | No | String | Comma-separated day names (Sunday–Saturday); required if Sales Rep Route Email is provided | e.g., Monday,Wednesday,Friday |
Asset Name | AssetName | No | String | — | Asset identifier at this outlet; repeat outlet Code for multiple assets |
| Asset Information | |||||
Asset Type | AssetType | No | String | Auto-created if not found; requires Asset Manufacturer + Asset Model when creating new | — |
Asset Manufacturer | AssetManufacturer | No | String | Required when creating a new Asset Type | — |
Asset Model | AssetModel | No | String | Required when creating a new Asset Type | — |
Door Handle | DoorHandle | No | String | Left, Right, Magnet, Shelf, Under Shelf, or Bottom Mount | Case-insensitive |
Planogram | — | No | String | Must exist in CoolR | — |
Outlet Route | LocationRoute | No | String | — | — |
Asset Notes | AssetNotes | No | String | — | — |
Parent Asset Name | ParentAssetName | No | String | Must exist in CoolR | For hierarchical assets |
IsChestCooler | — | No | Boolean (Yes / No) | — | — |
| Smart Device & Hub | |||||
Vista Serial# | SmartDeviceSerialNumber | No | String | Must exist in CoolR | — |
Hub Serial# | LinkedHubSerial | No | String | Must exist in CoolR | — |
Hub Mac | HubMac | No | String | — | Network MAC address |
Hub IMEI | HubIMEI | No | String | — | For cellular hubs |
| Contact Information | |||||
Customer Contact - Type | ContactType | No | String | — | Auto-created if not found |
Customer Contact - Name | ContactFirstName | No | String | — | — |
Customer Contact - Phone | ContactCellPhone | No | String | — | — |
Customer Contact - Email | ContactEmailAddress | No | String (email) | Valid email format | — |
| Tags & Tracking | |||||
Tags | LocationTags | No | String | — | Comma-separated values |
Tag Number | TagNumber | No | String | — | — |
| Integration | |||||
External Code | ExternalLocationCode | No | String, max 150 | — | Your internal system's identifier for this outlet. Used as an alternative match key — see Overview |
Examples
CSV
Name,Code,Country,State,City,Street,Postal Code,Primary Sales Rep,Asset Name,Asset Type,Asset Manufacturer
Downtown Manhattan Store,NYC-001,United States,New York,New York,123 Broadway,10001,john.smith@example.com,Cooler-NYC-001,Vertical Cooler,Manufacturer A
Los Angeles Store,LA-001,United States,California,Los Angeles,456 Sunset Blvd,90028,,,,
JSON
{
"data": [
{
"Code": "NYC-001",
"Name": "Downtown Manhattan Store",
"Street": "123 Broadway",
"City": "New York",
"State": "New York",
"Country": "United States",
"PostalCode": "10001",
"PrimarySalesRepEmail": "john.smith@example.com",
"AssetName": "Cooler-NYC-001",
"AssetType": "Vertical Cooler",
"AssetManufacturer": "Manufacturer A"
}
]
}
API import
curl -X POST 'https://portal.coolrgroup.com/Controllers/Import.ashx?type=Outlet' \
-H 'Cookie: .ASPXAUTH=your-auth-token' \
-F 'file=@outlets.csv'
Replace outlets.csv with outlets.xlsx or outlets.json as needed.
Response
See Overview - Response format for response structure and error handling.
Common errors
| Error | Cause | Fix |
|---|---|---|
Missing required field: Name / Code / Street | Mandatory field is empty | Fill in all three required fields for every row |
Country '[name]' not found | Country doesn't match CoolR database | Use exact country name as stored in CoolR |
State '[name]' not found for Country '[country]' | State doesn't exist for that country | Verify state name matches CoolR database |
Primary Sales Rep not found: [email] | Email doesn't belong to a CoolR user | Ensure the user exists in CoolR before importing |
Planogram '[name]' not found | Planogram doesn't exist | Create the planogram first |
Smart Device (Vista) not found: [serial] | Vista serial not registered | Register the device in CoolR first |
Manufacturer and Asset Model required for new Asset Type | Creating new Asset Type without required fields | Provide both Asset Manufacturer and Asset Model |
Both Sales Rep Route Email and Delivery Days must be provided together | Only one of the two paired fields is filled | Provide both or neither |
Distributor required when providing Distributor GTIN | GTIN provided without distributor | Fill in Distributor when using Distributor GTIN |
For support, contact support@coolrgroup.com