How to create a job with multiple pickups (different vendors) and a single dropoff for food delivery?

Hello,
I’m working on a food delivery flow where a courier should pick up items from multiple vendors and then drop everything at the same customer address.

From the API docs, I see how to create one job with multiple pickups and a single drop, but I’m not sure if this is supported for food delivery use cases, or if I need to instead create separate jobs (Vendor1 → Customer, Vendor2 → Customer) and hope the same courier is assigned.

Could you please clarify:

  • Is there an official way in Stuart API to support multi-pickup single-drop?

  • Or should I stick with the two separate jobs approach?

Thanks in advance!

Hello Jan,

Our API does not currently support a multi-pickup / single drop-off model. What it does support, however, is the opposite case: one pickup with multiple drop-offs.

For your use case, the safest approach would be to create a separate delivery for each pickup point to the final customer. Please note, though, that this does not guarantee the same courier will handle all jobs.

As a workaround, you could create a delivery with one pickup and multiple drop-offs, where the final drop-off is the actual end customer, and the intermediate drop-offs represent your pickup points. In this case, you can use the available fields (comments, package description, company name, etc.) to indicate to the courier that certain drop-offs are in fact pickups.

This approach does come with risks—for example, our system may optimize the route and rearrange stop order. To mitigate this, we can disable route optimization on your account if needed.

I strongly recommend testing both approaches (in Sandbox and in Production with a test order) to determine which best suits your workflow. If you’d like us to adjust the optimization setting, please share your account ID.

Please note that this logic applies to all verticals, including food deliveries.

Thanks,
Tasnim