You can find all configuration for the shipping subsystem in the Sitecore.Commerce.Shipping.config file. Here you will find all details for the entities, pipelines, and repositories used by the shipping system.

The default shipping entities for Commerce Connect only assume some of the basic shipping information that will be used across all commerce systems; it is expected that you will need to extend these entities.

You can extend the following four entities that are defined in the Connect system for shipping:

  • ShippingOption - represents detailed information about a shipping option (also known as a shipping category); contains information such as description and ShippingOptionType.

  • ShippingMethod - represents information about a shipping method, where a shipping method is an implementation of a shipping option, for example, if the shipping option is ShipToAddress then a shipping method for that would be FedEx or UPS.

  • ShippingOptionType - extensible enum class used to contain the different types of shipping options, the default choices are None, ShipToAddress, PickupFromStore, and ElectronicDelivery.

  • LineShippingOption - represents the selected shipping option for each line item, this enables the support of split shipments.

To extend any of these default entities, you create a new class that inherits from the appropriate type, and then patch the appropriate entity under <commerce.Entities> in the Sitecore.Commerce.Shipping.config file.

There are two pipelines for shipments that allow most basic functionality.

For example:

  • The getShippingOptions pipeline - used to retrieve shipping options.

  • The getShippingMethods pipeline -  used to retrieve shipping methods.

  • The getShippingMethod pipleline -  used to retrieve shipping method details.

  • The getPricesForShipments pipeline -  used to get the cost of using a particular shipping option and method.


For more information, see the Commerce Connect Developer Reference.