This page gives an overview of the Shipping microservice, including core features, for the Infosys Equinox platform.

Overview

The Shipping microservice (“Shipping”) plays an important role in the entire journey of an online consumer trying to purchase a product. Shipping calculates the shipping costs for the items in the cart and returns the possible shipping methods and its rates based on the shipping address. Every online store has its own methods of shipping and associated charges. One can define multiple rates based on the shipment destination, have multiple methods per zone, and add rules under the methods based on products shipping class. Shipping facilitates these through three (3) entities such as Shipping Class, Shipping Method, and Shipping Zone.

  • Shipping Class – identifies the class of the item and is usually derived from the Catalog service through the attribute shippingClass. The shipping classes need to be defined in the shipping service, else, the DEFAULT shipping class would be considered for the calculation of shipping charges. For example, Meltable, Fragile.
  • Shipping Method – helps to define the different methods of shipping supported by the store. Each method will have its own calculation logic based on the shipping class. For example, Economy Shipping, Express Shipping.
  • Shipping Zone – helps to configure the various shipping zones based on country and zip code. Every shipping zone could have one or more shipping methods associated with it. The shipping to specific regions within a country can also be restricted using the zip codes in the shipping address.

See the Shipping glossary for definitions of some key Shipping microservice terms.

Core Features

  • Shipping facilitates through three entities: Class, Method, Zone
  • Options to set flat rate for all products or specific products
  • Ability to define specific rates for specific products.
  • SKUs with special shipping
  • Manage multiple shipping options such as vendors and set rules to minimize shipping expense
  • Flat shipping, discounted shipping, and free shipping can be easily calculated or overridden on a per-SKU basis
  • Ability to provide various options of shipping based on customer location (Ex: Overnight, Standard, 2-day, etc).

Shipping Zones

  • A geographical area to which you ship items. The shipping cost is calculated based on the user’s shipping address. The zones are configured with the country and the zip codes that fall under the zone. Any number of shipping zones can be created in a shipping collection, however, a customer matches only one zone for each item based on the shipping address provided for each item. If there is no matching zone or method for an item in the cart, then that item cannot be shipped to the user’s destination.
  • The shipping zones and methods under it are matched for a given item in the cart only if the following attributes match the details from a consumer’s cart: Country AND Zip code AND Shipping Class AND Currency

Country

  • A country or multiple countries configured in the shipping zone is matched with the shipping address of the consumer.

Zip Code (Optional)

  • Added with the region. Only those configured zip codes are considered as eligible for shipping under this zone. If left optional, then all the zip codes of the configured country/countries are considered as eligible. The zip code in the shipping address of the user is matched with the zip code configured in the zone.

Shipping Class

  • The shipping class is configured as a product attribute which categorizes the product under a class. The class that is configured in the shipping rate calculation is matched against the product attribute for each item.
  • By default, Infosys Equinox Commerce includes Nil and Any.
    • Nil – refers to NO shipping class attribute
    • Any – refers to any value in the shipping class attribute. (i.e., it can be LARGE or MEDIUM or MELTABLE, etc.)
  • A large product which is not allowed to ship in a flight is categorized under Shipping Class = “LARGE” , so that overnight shipping method is not supported.
  • Meltable products which is not allowed to ship for certain hot areas are categorized under shipping class = “Meltable”, so that it can be shipped only to certain zones

Currency

  • Configured in the shipping zone; matched with the locale parameter configured in the store that calls the shipping service.
For example: two (2) zones with different shipping methods in its classes.

      **Shipping Configurations:**
       **Zone US:** (All US zip codes except Hawaii)
       **Shipping Methods:**
                      Standard , Cost = $10 , Product class = Large, Medium
                      Overnight, Cost= $20,   Product class= Small, Medium

      **Zone US:** (ship only to Hawaii)
      **Shipping Methods:**
                      Standard, Cost = $ 10, Product class = Large, Medium, Small

    ** Use Cases:**
     **User 1,** whose zip code = 10005 (New York, falls under zone 1), buys a wardrobe (Class=Large) 
     **Shipping Method** for wardrobe = "Standard Shipping".
     **Shipping Cost** = $10.

    **User 2, **whose zip code = 10005 (New York, falls under zone 1), buys a shoe (Class=small) and a wardrobe(class=large) is eligible for the below shipping methods and charges:
     **Shipping Method** for Shoe, user 2 is eligible for two (2) shipping methods.
     **Standard Shipping Cost** = $10.
     **Overnight Shipping Cost** = $20.

     **Shipping Method** for Wardrobe, user 2 is eligible only for one (1) shipping method 
     **Standard Shipping Cost** = $10

    **User 3,** whose zip code = 96701 (Hawaii, falls under zone 2), item buys a wardrobe (Class=Large) is only eligible for standard shipping
     **Standard Shipping Cost** = $10.

Shipping Methods

  • Shipping methods are where the shipping rates are configured and calculated based on the business logic. Shipping methods are configured as a separate entity and tied to the respective zones. A rule engine is used to calculate rates and to select the respective shipping method. For example: Standard Shipping, cost = 10, Overnight Shipping, cost = 20, etc.
  • Following are the fields that are to be configured for a shipping method:
    1) Name – name for the shipping method e.g. Standard Shipping, Overnight Shipping
    2) Description – description for the shipping method.
    3) Taxable – yes or no (Yes – tax is calculated for the shipping cost / No – tax is not calculated for the shipping cost)
    4) Base fee (Optional) – included in the shipping cost, in addition to the calculated shipping cost
    5) Handling fee (Optional) – included in the shipping cost, in addition to the calculated shipping cost
    6) Expected Delivery – represents the number of days to deliver the product (e.g. “Usually within 3 business days”)
    7) Expected Delivery days – number used to calculate the delivery date (e.g. Order submitted date + 3 days – the expected delivery date for an order submitted on “01/01/2019”, is expected to deliver on “01/04/2019”)
    8) Shipping Rates – shipping rates are calculated based on the shipping class and the calculation type and calculation type can be Per Order or Per Quantity or Per Line

Shipping Rate Calculations

  • Per Order – calculates shipping for the entire cart
    • If there are three (3) items in the cart and the shipping charge = 10, then the calculation is “10 *1 = 10”; a common shipping price is applied to the entire cart irrespective of the number of items in the cart, if ALL the items have a Per Order calculation type.
    • If any one (1) of the items has a different calculation type, then that item will receive the shipping charges specific to it. If there are two (2) items with a Per Order calculation type and one (1) with a Per Line calculation type=”Per Line”, then the two (2) items with a Per Order calculation type will receive a common shipping cost and the item with the Per Line calculation type will receive a separate charge.
  • Per Quantity – calculates the cost per each quantity of an item in the cart
    • If there is one (1) item with a quantity of two (2) and the shipping charge = 10; the calculation is “10 *2 = 20”.
  • Per Line – calculates the cost for each item in the cart
    • If there are three (3) items with any number of quantities each and the shipping charge = 5, then the calculation is “5 *3 = 15”.
Shipping Calculation




Revision History
2020-09-28 | AN – Updated the Core Features section.
2020-03-27 | AN – Minor copyedits.
2019-10-03 | JP – Minor copyedits.
2019-05-22 | Mary – Minor copyedit.
2019-01-23 | PLK – Page created and content uploaded.