Integration with eCommerce
While checking out any purchases from eCommerce sites, I hope you have already seen options to select the delivery location, time and other details of convenience. This can be achieved by connecting the delivery platform with eCommerce as a backend integration via an API. If the delivery platform supports connecting to multiple eCommerce sites, it will be much convenient in providing a widget system to select the delivery time slots or implement it as a plugin to popular eCommerce solutions such as¬†WooCommerce.
However, this is not that simple since, when showing the delivery time slots, it needs to connect with the delivery platform and get the slots based on availability or make sure there is enough capacity available for last mile delivery.
Once the information published from the eCommerce site, it can directly connect with a delivery platform after the purchase where;
- The package needs to be picked up from the inventory.
- Sent for international shipping if applicable.
- Long distance domestic transportation or directly picked up by the last mile delivery.
- Deliver it to the customer on time.
One of the transition state which needs to be properly handled by the delivery platform is to keep a tentative reservation as soon as the customer selects the delivery timeslots and directed to the payment gateway for the payment. After the payment completes the state can be changed to ‘ordered’ so that the delivery platform can take over the delivery workflow.
Connecting to Transport Management Systems (TMS)
This is one of the core functionalities of the delivery platform where it needs to integrate with Transport Management Systems (TMS). A delivery platform can either connect to a single last mile delivery TMS or with multiple depending on the business model which needs to be designed appropriately based on the inventory and delivery locations.
If we consider the complex scenario of having multiple TMS where several last mile delivery companies operate within the same region, the platform needs to take care of the fairness of selecting these companies automatically based on delivery availability or present them directly to the end customer (More relevant to domestic shipping where delivery companies are known by end customers) with pricing and details on eCommerce site so that they can make the selection.
For either of these options, the delivery platform requires to connect with the TMS of these companies to find delivery availability and also to pass order information once the reservation is done.
So at high-level, the delivery platform needs to hide the complexities behind the multiple TMS connected and provide a simple interface for eCommerce integration.
Traceability of Delivery and Tracking
Another important function of the delivery platform is to keep track of the delivery status for traceability. This happens in many levels for instance, once the delivery order in place, it needs to forward the order to the TMS and inform the customer (Or either the TMS needs to handle sending the notification).
Also when the last mile delivery happens, these status information needs to be collected by the delivery platform so that it can inform the eCommerce site.
The delivery status tracking with a TMS and delivery platform can be implemented in two approaches.
- The delivery platform exposes an API or a webhook which can be triggered by the TMS which is more suitable when connecting to many TMS.
- The delivery platforms poll the TMS API to get the delivery status for all the deliveries sent for the particular TMS platform which is more suitable when dealing with few TMS.
A similar type of integrations can also take place between the eCommerce platform and delivery platform.
Making the Process Efficient
Across the entire workflow of the delivery, it will require to make sure the process is efficient so that more decisions are taken by the platform while providing specific instructions for the people involved to follow.
For instance, for the last mile delivery person, he/she only needs to know;
- A list of deliveries for a particular day.
- The destination address of a delivery and where to pick them up and the customer preference for the delivery timeslot.
- The system can even assign the set of deliveries to a delivery person matching their working hours, travel route and customer delivery timeslots.
Similar decisions also need to be taken by the delivery platform if it does the prioritization of the delivery mechanisms and present only a subset of delivery options to the eCommerce site where the customer has few choices to made (Maybe only to select the timeslot and see the cost for the delivery).
It is also important that the delivery is being tracked from an efficiency standpoint to see whether it gets delivered on time, where are the bottlenecks so that eventually the entire process can be improved over time.