When a delivery can't be completed, the driver marks the stop Attempted and selects a reason (customer unavailable, access denied, refused, and more), capturing proof of the attempt. To redeliver, use Send to another route to move the stop onto a new or later route — as a fresh stop, or as a copy that preserves the original's history.
This keeps failed stops from getting lost and lets you batch redeliveries into the next run. Works in both EasyRoutes for Shopify and EasyRoutes for Web.
See: Mark an order as Attempted · Send orders to another route
Yes. Enable automatic dispatch so newly created routes with a scheduled start time are assigned and sent to the chosen driver immediately — no extra clicks. Use this for recurring daily runs or integrations that create routes programmatically. You can still edit or un-dispatch a route before start time if plans change.
EasyRoutes Workflows support a wide variety of actions that cover the full delivery process, from order intake to customer communication. You can automatically generate new routes based on incoming orders, apply filters (such as only including orders tagged with “Priority” or due on a specific date), and dispatch routes directly to the correct driver. This level of automation means you can build a Workflow that matches your exact delivery process, no matter how simple or complex.
See: Workflow Actions
Yes. A single EasyRoutes route can combine deliveries and pickups, so a driver can drop off orders and collect returns, empties, or reusable packaging on one trip. Add pickup stops alongside deliveries from Shopify orders, CSV/API imports, or manual stops; optimization sequences everything together, and each task is labeled for the driver in the app and on printed documents. Available in both EasyRoutes for Shopify and EasyRoutes for Web.
See: Pickup orders · Adding custom stops
Go to Settings > Delivery Zones and click Create zone above the map. Use the polygon tool to click points on the map and trace your area, then click back on your first point to close the shape. Give the zone a title and pick a route colour, then save. Once created, enable the Delivery zones Route Option to limit a route to orders inside that zone. Available in both EasyRoutes for Shopify and EasyRoutes for Web.
See: Delivery Zones
Yes. Enable the Rescheduled template in Customer notifications and customize its message and variables (new date, time window, tracking link). When you reschedule a stop to a new day or route, you can send the updated notification so the customer isn't left guessing — and a Missed Delivery notice can go out automatically when a stop is marked Attempted.
Notifications work over email and SMS for both Shopify orders and imported or manual stops, across EasyRoutes for Shopify and EasyRoutes for Web.
Yes. For long runs or regional routes, create a schedule that spans multiple days. Set a start time/location for each day and include an overnight break so ETAs for day two (and beyond) reflect realistic service times. This works alongside capacity limits and time windows, and customer tracking will display the correct expected dates.
Yes. When creating multiple routes as a group, use the Balance routes feature to spread stops evenly across drivers and routes. Balancing respects your other settings — such as max route duration, max stops/items, custom start/end locations, and time windows — so each route remains feasible. You can also choose to create and auto‑assign routes to selected drivers, then re‑optimize each route to fine‑tune their sequence and ETAs. This feature is available in both EasyRoutes for Shopify and EasyRoutes for Web and is especially helpful for daily batch planning.
See: Balance routes · How many routes?
Yes. EasyRoutes supports Shopify Subscription orders, so recurring deliveries can be filtered and routed with your daily batch. Many subscription and checkout tools are supported out of the box; you can also combine with imported/manual stops for non‑Shopify channels. Tracking, notifications, and proof of delivery function the same as for one‑time orders.
See: How does EasyRoutes work with subscriptions? · Supported third‑party apps
Yes. Drivers can add photos and notes for attempts (e.g., no answer, inaccessible). You can make PoD mandatory for Attempted stops, so drivers document the situation before moving on. Attempt proof appears with the stop’s history for admins and, if enabled, on customer tracking pages/notifications to explain what happened.
See: Proof of Delivery
Yes. You can generate packing slips for each stop from the route’s Print menu. Choose Packing slips to produce slips in route order, then print or save as PDF for digital handoff. Customize content (logo, variables, formatting) from EasyRoutes Settings → Packing Slips & Labels.
EasyRoutes for Shopify: Use the built-in Print Preview, or send orders to Shopify’s Order Printer/Order Printer Pro for custom templates (Order Printer Pro supports route order).
EasyRoutes for Web: Use the same Print Preview and Settings controls directly in the web app.
Yes. The EasyRoutes Routes API accepts imported orders/stops (customer details, address, items, notes) so you can bring orders from non‑Shopify sources into EasyRoutes. After importing, you can create new routes, add the stops to existing routes, assign drivers, and dispatch. This works for both EasyRoutes for Shopify and EasyRoutes for Web and complements CSV import when you need automation.
Yes. While the PoD gallery itself isn’t a single file download, route/stop exports include links to each proof item plus completion timestamps and driver details — suitable for audits, customer service, or further analysis with external tools. Use Analytics for high‑level performance metrics and the Activity Feed to review the exact sequence of events.
See: Exporting proof of delivery · How do I export routes/stops?
Yes. The EasyRoutes Routes API accepts imported stops (customer details, address, items, notes) so you can bring orders from non‑Shopify sources into EasyRoutes. After importing, you can create new routes, add the stops to existing routes, assign drivers, and dispatch. This works for both EasyRoutes for Shopify and EasyRoutes for Web and complements CSV import when you need automation.
Yes. From any route, click Print → select Packing labels. You can output one label per stop or per order item (ideal for multiple packages). Configure label contents and sizing in Settings → Packing Slips & Labels. Use 4×6 thermal, A4/Letter sheets, or another size and scale as needed.
Shopify & Web: The label workflow is the same across products. For advanced templating on Shopify, you can send orders to Order Printer Pro from the Send to app dropdown, which can generate labels in route order.
When exporting orders from Wix, ensure your CSV file contains one row per order line item so EasyRoutes can map details like product name and quantity correctly. Map columns such as name, street address, and phone number to the right EasyRoutes fields during import. This ensures clean, accurate order data for route creation. See: Wix Import Guide
Yes. EasyRoutes prints all slips for the selected route in one batch. From the route page, choose Print → enable Packing slips → print or save as PDF. Slips are ordered to match the route so packing and loading follow the driver’s sequence.
This bulk flow is available in both EasyRoutes for Shopify and EasyRoutes for Web. If you maintain custom slip templates in Shopify, you can also push orders to Order Printer Pro and print them in route order from there.
Yes. The EasyRoutes API enforces rate limits to ensure consistent performance for all users. Most workflows run comfortably within default limits when you batch requests, avoid unnecessary polling, and rely on webhooks to trigger updates rather than frequent reads. If you expect sustained high throughput (e.g., large imports or rapid status updates), our team can help you design an efficient approach and advise on limits for your use case.
Setup is quick: install EasyRoutes (Shopify) or sign in (Web), connect drivers, select orders with filters, and click Create route. Use the defaults for service times and route options, then print or dispatch to the driver app. Most trial users reach a working route within an hour, often faster with our step‑by‑step guide.
If you import orders from outside Shopify, start with a small CSV or a few manual stops to validate the flow before scaling.
Yes. Creating a fulfillment from EasyRoutes writes the EasyRoutes tracking number and URL to the Shopify order, so customers and support teams can track delivery progress. The link also appears in Shopify’s order status page and, when enabled, in Shopify or EasyRoutes notification emails/SMS. Tracking remains accessible even after routes are archived.
Yes. The EasyRoutes API enforces rate limits to ensure consistent performance for all users. Most workflows run comfortably within default limits when you batch requests, avoid unnecessary polling, and rely on webhooks to trigger updates rather than frequent reads. If you expect sustained high throughput (e.g., large imports or rapid status updates), our team can help you design an efficient approach and advise on limits for your use case.
EasyRoutes builds efficient routes by combining your inputs (orders/stops and addresses) with constraints and preferences. It accounts for start and end locations, optional time windows, per‑stop service times, speed factors, and limits such as maximum duration, stops, items, or weight. You can create multiple routes at once, balance stops evenly, or optimize for the fewest routes that still meet your limits. After reviewing the map and stop list, drag‑and‑drop stops to make manual adjustments, then re‑optimize to apply changes.
See: Route Options · EasyRoutes 101: Route Optimization & Route Options
Yes. Configure a start location (e.g., your store, a local warehouse, or a driver's home base) and an end location (e.g., a depot, final stop, or loop back to the route's start location) on each route. These points are included in optimization and time estimates, so drivers see realistic drive times and customers receive accurate ETAs. You can set defaults in Route Options, then override per route as needed. For multi‑warehouse operations, create routes that begin near each inventory location to reduce deadhead driving. In both EasyRoutes for Shopify and EasyRoutes for Web, you can adjust these locations after route creation and re‑optimize to update the sequence and times.
See: Start/End Locations
You can upgrade or downgrade anytime from EasyRoutes Settings. Plan changes take effect immediately and we’ll prorate charges/credits for the remainder of your current cycle. If you also adjust the number of driver seats, those changes are prorated as well. Billing is handled via Shopify (EasyRoutes for Shopify) or Stripe (EasyRoutes for Web), depending on your product.
Instead of paying for individual drivers, with EasyRoutes you just pay for a driver seat and can put any driver in your roster into that seat.For example, you could have a plan with two driver seats, but have four drivers in your driver roster. You can easily change which two drivers are active at any given time. And, if you have a busy delivery weekend, you can add seats for the additional drivers for that weekend, and then remove the seats after you're done with them. We prorate the charges and credits for upgrading and downgrading based on the changes in the number of seats on your plan.
Yes. From any route you can dispatch to a specific driver, or share a route link that allows self‑assignment by your driver pool. Assigned drivers receive the route in the EasyRoutes Delivery Driver app (iOS/Android) with turn‑by‑turn directions via their preferred navigation app. For busy days, combine dispatch with Route Groups to release multiple routes at once and monitor progress on a single screen. This behaviour is consistent across EasyRoutes for Shopify and EasyRoutes for Web.
See: How do I dispatch / share routes? · Route Dispatch Links / Driver Self‑Assign