🚧

Static integration only

Do not follow this guide if you are dynamically fetching warranties.

Adding Mulberry to inventory

For customers to be able to add Mulberry warranties to your website's cart, they first need to exist as a product in your store catalog. Based on the wholesale rates provided to you by Mulberry, you can configure the retailer price of the extended warranty to meet your margin requirement.

Warranty SKU's are typically created based on price bands. The amount of price bands to create is entirely to you. A simple example using 3 different price bands is shown below.

Example price band setup

SKU

Min Cost

Max Cost

Warranty Cost

WARRANTY-1

0

499

25.00

WARRANTY-2

500

999

50.00

WARRANTY-3

1000

1999

100.00

Determining Which Offer to Display

Let's imagine a customer has landed on the PDP page for a suitcase that costs $700. We can see that based on the Warranty SKU's created above, this would map directly to WARRANTY-2 because the product price is between $500 and $999. You can find a example of how one might find this price band below.

🚧

Important

Keep in mind that with the example below the priceBands array would be output as JSON by your platform so that it can be used by the front end. Depending on your implementation, It's also possible to have this functionality on the back end.

/**
 * This priceBands array is hardcoded for the purpose of this example
 * It would normally be generated based on the SKU's created above
 */
let priceBands = [
  {sku: 'WARRANTY-1', minCost: 0, maxCost: 499, warrantyCost: 25.00},
  {sku: 'WARRANTY-2', minCost: 500, maxCost: 999, warrantyCost: 50.00},
  {sku: 'WARRANTY-3', minCost: 1000, maxCost: 1999, warrantyCost: 100.00}
]

function getPriceBand(product) {
  let band;
  priceBands.forEach(priceBand => {
    if(product.cost > priceBand.min_cost && product.cost < priceBand.max_cost) {
      band = priceBand;
    }
  }
}
 
let productData = {
  name: 'Quality Suitcase',
  cost: 700.00
}

let warrantySKU = getPriceBand(productData);