Skip to main content

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

ColumnAliasRequiredType / Max LengthValidationNotes
General Information
CodeOutlet CodeYesStringMust be non-emptyUnique outlet identifier; used to match and update existing records
NameOutletYesStringMust be non-emptyOutlet display name
Street—YesStringMust be non-emptyPrimary address line
Street2—NoString—Address line 2
Street3—NoString—Address line 3
City—NoString——
State—NoStringMust exist for the specified country—
Postal CodePostalCodeNoString——
Country—NoStringMust match a country in CoolR—
Latitude—NoDecimal, -90 to 90-90 to 90Enter as plain decimal in CSV
Longitude—NoDecimal, -180 to 180-180 to 180Enter as plain decimal in CSV
TimeZone—NoStringMust match a timezone in CoolRe.g., Pacific Standard Time
Store OwnerStoreOwnerNoString——
ActiveIsActiveNoBoolean (Yes / No)—Set to No to deactivate. Use instead of deleting — inactive outlets are hidden from workflows but retained for historical data
IsKeyOutletKey?NoBoolean (Yes / No)——
Group Information
Market—NoString—Auto-created if not found
Channel—NoString—Auto-created if not found; e.g., Retail, Wholesale
Classification—NoString—Auto-created if not found; e.g., Tier 1
Route—NoString—Auto-created if not found
Pre Seller RoutePreSellerRouteNoString—Auto-created if not found
Key AccountKeyAccountNoString—Auto-created if not found
Business Information
In-field contact personInFieldContactPersonNoString (email)User must exist in CoolR—
Buyer GTINBuyerGTINNoString——
Outlet GTINOutletGTINNoString——
TD LinxTDLinxNoString——
Distributor—NoString—Auto-created if not found
Customer—NoString—Auto-created if not found
Sales ModelSalesModelNoString—Auto-created if not found
Distributor GTINDistributorGTINNoStringRequires Distributor to be filled—
Order Settings
Outlet Sales RepLocationSalesRepNoString (email)User must exist in CoolR—
Skip OrderIsSkipOrderNoBoolean (Yes / No)——
ASN To SalesRep—NoBoolean (Yes / No)——
SalesRepRoute To Order?IsUseSalesRepRouteToOrderNoBoolean (Yes / No)——
Sales Representatives
Primary Sales RepPrimarySalesRepEmailNoString (email)User must exist in CoolR—
Secondary Sales RepSecondarySalesRepEmailNoString (email)User must exist in CoolR—
Sales RepSalesRepNoString (email)User must exist in CoolR—
Sales Rep Route EmailSalesRepRouteEmailNoString (email)User must exist; required if Delivery Days is providedMust be paired with Delivery Days
Delivery DaysDeliveryDaysNoStringComma-separated day names (Sunday–Saturday); required if Sales Rep Route Email is providede.g., Monday,Wednesday,Friday
Asset NameAssetNameNoString—Asset identifier at this outlet; repeat outlet Code for multiple assets
Asset Information
Asset TypeAssetTypeNoStringAuto-created if not found; requires Asset Manufacturer + Asset Model when creating new—
Asset ManufacturerAssetManufacturerNoStringRequired when creating a new Asset Type—
Asset ModelAssetModelNoStringRequired when creating a new Asset Type—
Door HandleDoorHandleNoStringLeft, Right, Magnet, Shelf, Under Shelf, or Bottom MountCase-insensitive
Planogram—NoStringMust exist in CoolR—
Outlet RouteLocationRouteNoString——
Asset NotesAssetNotesNoString——
Parent Asset NameParentAssetNameNoStringMust exist in CoolRFor hierarchical assets
IsChestCooler—NoBoolean (Yes / No)——
Smart Device & Hub
Vista Serial#SmartDeviceSerialNumberNoStringMust exist in CoolR—
Hub Serial#LinkedHubSerialNoStringMust exist in CoolR—
Hub MacHubMacNoString—Network MAC address
Hub IMEIHubIMEINoString—For cellular hubs
Contact Information
Customer Contact - TypeContactTypeNoString—Auto-created if not found
Customer Contact - NameContactFirstNameNoString——
Customer Contact - PhoneContactCellPhoneNoString——
Customer Contact - EmailContactEmailAddressNoString (email)Valid email format—
Tags & Tracking
TagsLocationTagsNoString—Comma-separated values
Tag NumberTagNumberNoString——
Integration
External CodeExternalLocationCodeNoString, max 150—Your internal system's identifier for this outlet. Used as an alternative match key — see Overview
Note

Updating a Sales Rep Route does not replace the existing assignment. A new Sales Rep Route record is added, and existing records remain unchanged. To maintain a single Sales Rep assignment per route, remove previous Sales Rep Route records manually.

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​

ErrorCauseFix
Missing required field: Name / Code / StreetMandatory field is emptyFill in all three required fields for every row
Country '[name]' not foundCountry doesn't match CoolR databaseUse exact country name as stored in CoolR
State '[name]' not found for Country '[country]'State doesn't exist for that countryVerify state name matches CoolR database
Primary Sales Rep not found: [email]Email doesn't belong to a CoolR userEnsure the user exists in CoolR before importing
Planogram '[name]' not foundPlanogram doesn't existCreate the planogram first
Smart Device (Vista) not found: [serial]Vista serial not registeredRegister the device in CoolR first
Manufacturer and Asset Model required for new Asset TypeCreating new Asset Type without required fieldsProvide both Asset Manufacturer and Asset Model
Both Sales Rep Route Email and Delivery Days must be provided togetherOnly one of the two paired fields is filledProvide both or neither
Distributor required when providing Distributor GTINGTIN provided without distributorFill in Distributor when using Distributor GTIN

For support, contact support@coolrgroup.com