Delivery Solutions Integration

Kount logo
Platforms: KCCP eCommerce+OMS

Delivery Solutions is a service that provides orchestration for fulfillment needs such as last-mile delivery. If you have a business account with Delivery Solutions, you may want to send your Kibo shipments to them at various points during the order creation and fulfillment flow to control when the order is dispatched. 

For example, you may send shipments to Delivery Solutions when: 

  • The shipment is created and assigned to a location.   
  • Pick & Pack is complete, as that assures that the order is ready to be picked up by Delivery Solutions.
  • Stock has been validated, or anywhere in the fulfillment flow that works best for your processes. 

Delivery Fulfillment Process

After Kibo is integrated with Delivery Solutions and the storefront theme is updated, the usual order creation and fulfillment process is: 

  1. When a product is enabled for delivery fulfillment, the storefront displays an option such as "Instant Delivery" on the product details page and the cart. To proceed with this option, at least one Kibo location must be able to fulfill the items and at least one location must be a Delivery Solutions provider. If multiple qualifying locations are returned,  the location nearest to the shopper will be selected.
  2. Available date and time windows at the Delivery Solutions location are displayed for the shopper to select their desired delivery window. If none is available, then they will not be able to continue with delivery and must choose a different fulfillment option.
  3. Upon checkout, a single delivery fee is charged (regardless of the amount of items in the delivery). A single Kibo order is created that contains all delivery items in one shipment, while non-delivery items are placed in their respective shipment types. 
  4. Delivery Solutions fulfills the shipment and sends a confirmation notification to Kibo, who updates the shipment status to Delivered. If the delivery is unsuccessful, Kibo instead receives an Unable to Deliver notification and changes the shipment status to either Cancelled or Customer Care (depending on the BPM flow). 

Actions from Delivery Solutions, such as Order Dispatched, are sent as events to Kibo that can be consumed and handled as desired. Updates on the shipment in Kibo, such as a change in quantity, are also sent as events that can be consumed and handled as desired by Delivery Solutions.

Once the shipment has been dispatched to Delivery Solutions, you can configure actions that are not allowed on the Kibo shipment such as cancelling or editing it.

Configure Delivery Solutions

For Delivery Solutions to work seamlessly with Kibo, make sure that these are configured in your business account:

  1. Smart Windows
  2. API keys for integration with Kibo 
  3. At least one Kibo location
  4. Providers with rates, fees, and other options

Delivery Solutions supports three configuration options for dispatch timing: Scheduled (in which specific pickup and drop-off times are selected and the order is scheduled, or those times are sent as null and the order is dispatched immediately), Manual (which can dispatch the order at any step in the BPM flow), or Immediate (in which the order is dispatched as soon as it is received).

Configure Kibo and Storefront

Ensure that the details of the Kibo fulfillment location(s) that you want to use match what you set up in Delivery Solutions. Then, configure the following:

  1. Enable Delivery on Existing Products
  2. Create Delivery Product Type
  3. Create Instant Delivery Product
  4. Update Your Storefront
  5. Display Custom Data in Fulfiller UI (Optional)

Enable Delivery on Existing Products

All existing products that you want to support delivery for must have the shipping option enabled:

  1. Go to Main > Catalog > Products.
  2. Click on the product you want to update.
  3. Toggle on Delivery under Shipping settings section. The product shipping options with a callout for the Delivery toggle
  4. Click Save.

Create Delivery Product Type

Create a new product type for Delivery Solutions:

  1. Go to System > Schema > Product Types.
  2. Click Create New Product Type.
  3. Enter the Name as "Delivery Product Type" (or an alternative name, if you prefer).
  4. Set the Supported Usage Type to Standard Product.
  5. In the Advanced options, select This product is for service items.
    The Advanced options with service items selected
  6. Click Save.

Create Instant Delivery Product

Create a new product for the Instant Delivery service:

  1. Go to Main > Catalog > Products.
  2. Click Create New Product and fill out the configurations, ensuring that you set these specific values:
    • Name: Instant Delivery (or an alternative name, if you prefer)
    • Product Type: Delivery Product Type (or the alternative name you configured for the product type)
    • Product Usage: Standard Product
    • Shipping: Delivery
  3. Kibo recommends keeping the price low, since it will be overwritten by Delivery Solutions' rates.
  4. Click Save.

Update Your Storefront

This integration is available for Vercel and Next.js storefronts. You can customize this implementation by forking the Next.js and Vercel repositories as detailed in the headless implementation guides. Update your storefront's environment variables with your new product type name and instant delivery product code, such as: 

DELIVERYSOLUTIONS_PRODUCT_TYPE: Delivery Product Type
DELIVERYSOLUTIONS_PRODUCT_CODE: InstantDelivery

Display Custom Data in Fulfiller UI (Optional)

If desired, you can display shipment-level custom data fields in the Fulfiller UI by customizing the theme. For example, you could display the Dispatch Status that Kibo receives from Delivery Solutions to allow fulfiller users more visibility into the process. These will always be key:value pairs in the shipment.data object.

If custom data exists for the shipment and the theme has been customized to display it, then a Custom Data tab will be displayed when viewing the shipment fulfillment details. If no custom data values exist for that shipment, then the tab will not be displayed.

The custom data tab of an example shipment