Contribution Showcase: Delivery Service Tour

I would like to showcase a possible contribution to see if the community is interested in this feature.

As a company we have some customers for which we don’t sent products by courier (DHL / FedEx) but we deliver the products or pickup raw materials ourselves with our own delivery vehicles.

The basic functionality of this is:

  • Create a new Delivery Service Tour
  • Select Date, Vehicle, Departure Time and Driver
  • Add multiple Delivery Service Tour Stops
  • Notes for delivery driver or customer (what to pay attention to, what to pick up or deliver)
  • Automatic Calculation of arrival time with Google Maps (rounded to full 15 minutes)
  • Adding submitted delivery notes
  • Sending email notification to customer

Here is a GIF that illustrates the basic workflow:

If the community is interested in this, here is what needs to be done:

  • Removal of ESO-specific labeling (Departure Time at ESO –> Departure Time)
  • Central configuration of Google Maps API (currently hard coded)
  • Templating for email notification (currently hard coded)
  • Documentation in ERPNext manual

@Tropicalrambler Here are the details for our Delivery Service Tour you wanted to use.

This looks like generic feature and many will be so happy to see it in the core. Thanks ESO

Is there source code available of this feature?

We also made one android app which track start, stop location and delivery path of Delivery Schedule using android phone app.
Capture images of delivery and send email alert to customer with images.
Offline tracking of delivery location and images in android app.

We would like to help in making generic app for delivery service.



We also were thinking of creating a delivery service app as an android or cross platform mobile application so the driver can navigate to the customer and so the drop-off can be tracked.

I would suggest the following:

  1. We update and merge our code into the core system
  2. You make necessary changes after coordinating with us and frappe and contribute the android app

We are using three doctype.

  1. Driver
  2. Vehicle
  3. Delivery Schedule

I suggest add option on Delivery Note & Sales Invoice to create Delivery Tour.
Rest part of Tracking Location and Making generic app, we will do.

  • Vehicle is an existing DocType.
  • Driver was not necessary for us, we just used employee but we can think of separating that if it makes sense. I don’t care either way.
  • Delivery Schedule doesn’t exist in the core system, we called it Delivery Service Tour instead and I think we should keep that naming.

We thought of creating the Delivery Service Tour from the Delivery Note itself but decided against it because one Delivery Service Tour has multiple stops (we don’t drive individually)


Another option is “Delivery Service Trip”

I think Delivery Service Tour is a better word since Trip means “A Journey” and Tour is “A long journey including the visiting a number of places in sequence”. Which is the case with Delivery Service Tour, it makes multiple stops at various destinations.


More reason for trip maybe? For “tour” we should have an option to set both date and time in the itinerary then

I’m a fan of just “Delivery”


I think you misunderstood a bit, So the main doctype is Delivery Service Tour which holds information about the tour which have multiple trips/stops, the child table is called Delivery Service Stop, which holds information for each trip/stop.

1 Like

So I would also just call it “Delivery” but maybe to distinguish it from other features in ERPNext, we should call it “Delivery Service”. This implies that a special service is being undertaken (e.g. that the goods are being shipped with our delivery truck instead of DHL or UPS). So my vote would be for “Delivery Service.”

1 Like

So the thing is that this is also not a delivery itself, it is a “Delivery Tour” which is on a certain date with certani “Delivery Stops”. So Either “Delivery Service Tour” or “Delivery Tour” and “Delivery Service Tour Stop” or “Delivery Tour Stop” for the child table.

What about “Delivery Service” for the parent with “Delivery Service Stop” for the child?

Yes, we set the date and the time when we will be at that customer.

So when we think about DocType naming we have to think about what the user creates. Does the user really create a “Delivery Service” when he clicks new or does he create a new “Delivery Service Tour”? I think he creates the tour / trip / route of specific “Deliveries” which will be delivered in “Delivery Service Tour Stops”.

Sorry It’s not about the name really, its just to be very clear about what we “create” when we click the “new” button.


Delivery Service Trip/Tour just seems unnecessarily wordy.

Or “Delivery Route” as a parent and “Delivery Stop” as the child.

EDIT: Either way, the feature, whatever it is named, looks good. :+1:
EDIT2: Or “Delivery Schedule” as the parent

For Naming, We don’t have any issues.
In new version of ERPNext we can easily rename any doctype name using custom translation.

There are lots of developers already developed solution for fleet management and delivery tracking, I think pull request/ github issue is best to discuss this, where we will get ideas from other developer.

Can you ask your developer to put initial pull request to discuss this?

1 Like

If we want to keep it short then “Delivery” and “Delivery Stop” seem ok. I don’t think there will be a big conflict because the shipping with a courier would be called “Shipment” I think.