Theme

Core concepts

Pricing

The HLC API provides multiple price types to support both wholesale dealer costs and retail consumer pricing scenarios.


Overview

Price types are categorized as either wholesale or retail:

  • Wholesale prices determine dealer purchase costs and vary based on promotional programs, closeout status, and dealer agreements
  • Retail prices provide manufacturer guidance for consumer-facing pricing strategies

When multiple wholesale prices are available for a product, the API automatically returns the lowest applicable price for the authenticated dealer.


Price Type Reference

Price Type IDNameDescriptionCategory
0BaseStandard wholesale costwholesale
1SalePromotional wholesale pricingwholesale
2CloseoutDiscounted pricing for discontinued or clearance inventorywholesale
3MAPMinimum Advertised Price - lowest allowable advertised priceretail
4MSRPManufacturer's Suggested Retail Priceretail
5ProgramSpecial pricing for dealers enrolled in manufacturer programswholesale

Wholesale Pricing (Dealer Costs)

Wholesale prices (types 0, 1, 2, 5) determine the dealer's purchase cost:

  • Base (0): Standard wholesale pricing applied to regular inventory orders
  • Sale (1): Time-limited promotional pricing, typically associated with manufacturer sales events
  • Closeout (2): Reduced pricing for end-of-life, discontinued, or overstocked items
  • Program (5): Preferential pricing available to dealers participating in volume commitment programs, loyalty tiers, or exclusive partnerships

Pricing Logic: When multiple wholesale prices exist for a SKU, the system automatically applies the lowest price. Dealers are always charged the most favorable wholesale rate available to their account.

Retail Pricing (Consumer Guidance)

Retail prices (types 3, 4) provide manufacturer recommendations for consumer-facing pricing:

  • MAP (3): The minimum price at which a product may be publicly advertised. Actual transaction prices can be lower but cannot be advertised below this threshold
  • MSRP (4): The manufacturer's recommended selling price to consumers. Dealers may price above or below MSRP at their discretion

Important: Retail prices are informational only and do not affect dealer purchase costs or order totals.


API Implementation

Retrieving Specific Price Types

Filter price results by passing comma-separated price type IDs to the prices query parameter:

const apiUrl = 'https://api.hlc.bike/us/v4.1'
const apiKey = process.env.HLC_API_KEY

// Request wholesale prices only (Base, Sale, Closeout, Program)
const response = await fetch(
  `${apiUrl}/Catalog/Products/Prices?sku=020056-07&prices=0,1,2,5`,
  {
    headers: {
      'ApiKey': apiKey,
      'language': 'en',
    },
  }
)

if (!response.ok) {
  throw new Error(`HTTP ${response.status}: ${response.statusText}`)
}

const wholesalePrices = await response.json()
console.log('Dealer cost:', Math.min(...wholesalePrices.map(p => p.price)))

Retrieving All Price Types

Omit the prices parameter to retrieve all available price types:

const response = await fetch(
  `${apiUrl}/Catalog/Products/Prices?sku=020056-07`,
  {
    headers: {
      'ApiKey': apiKey,
      'language': 'en',
    },
  }
)

const allPrices = await response.json()

// Separate wholesale and retail pricing
const wholesale = allPrices.filter(p => [0, 1, 2, 5].includes(p.priceTypeId))
const retail = allPrices.filter(p => [3, 4].includes(p.priceTypeId))

Price Validation

Always validate final order pricing using the /Orders/Prices endpoint before order submission. This endpoint accounts for cart-level discounts, volume pricing, shipping costs, taxes, and other adjustments not reflected in individual product prices.

Previous
SKU