Release notes
Drivers confirm they've arrived before they work the stop
Highlight
Drivers confirm they've arrived before they work the stop. A stop's arrival time is one of the numbers you plan around: dwell at the dock, how long a store really takes to load, whether a late delivery was late on the road or late at the door. It's only as good as the moment the driver records it, and a driver who completes a stop from the parking lot, or works it before they're there, leaves you with times that describe nothing. Require arrival confirmation asks the driver to say they're at the stop first.
- Choose where it applies. Under My Fleet, Require arrival confirmation takes any mix of Pickup, Dropoff, and Return. It starts empty, so nothing changes until you pick a stop type. A driver group can set its own, for the depot where load times matter more than anywhere else, say.
- Nothing to work until the driver is there. At a stop of a chosen type, the Driver App shows I've Arrived in place of the stop's actions and package list. After the tap, the stop opens as it always has: scan, photo, signature, complete.
- The arrival is the tap. The stop's arrival carries the moment the driver tapped, even when the phone was offline and synced later. Route and stop status history now carries that time as
occurredAt(see Platform API below). - Parking bays keep their check-in. Stops that need a parking bay aren't affected; the driver checks in at the bay as before.
(Opt-in.) Requires Driver App 1.15, which is in the App Store and Google Play.
New & improved
Portal
- The Routes grid picked up more planning tools. (For organizations with Routes turned on and Routing UI set to Grid.) See Plan routes on the Orders map.
- Take off the road. When a truck breaks down or a driver calls out, tick the route and choose Take off the road from Route Actions. Say why, Truck out or Driver out, and the grid lists the day's nearest routes that haven't been dispatched, with the three closest ticked. Nash re-optimizes the stranded orders across them, and you review the result before applying it.
- Routes are listed by route ID until you choose another sort, and Shift-click on a column header adds a second sort. Drag columns into your own order in the column picker; Reset restores it.
- The map draws the route you clicked, outlined, together with the ones you've ticked, and labels each with its name in its own color.
- Drop ticked stops on Unassigned to take them off their routes. Hold a dragged order over the Routes tab to bring up the route rows and drop it on one.
- A route whose orders don't all carry an item count shows its boxes as a lower bound, such as ≥ 6, instead of a blank. Adding orders to a route that's over capacity asks a second time first.
- The Routes map's search, Search customer, order, route, or driver, finds orders as well as routes, on cards and grid alike. Pick a match to open the order with Move to route and Add to route at hand; routes that don't match fade, and a chip steps through the matches. (For organizations with Routes turned on.)
- Hover a status on Deliveries or Execute for Time in status: how long the delivery or route spent in each status, the total, and the failure reason when there is one. Batch and route rows have it too.
- In Execute, a canceled route says who canceled it: Customer, Provider, Merchant, Nash, or Reassigned. Exceptions nobody owns close when their route ends and read Closed when the route ended. (For organizations with Execute turned on.) See Watching routes on the Execute page.
- Canceling routes from Execute or Deliveries uses one dialog. Choose deliveries cancels some of a route's deliveries rather than all of them, and the dialog shows the Estimated cancellation fee. A provider that can only cancel a whole route says so.
- The provider drawer shows the selected contract's Rate: the delivery price and fees, or that the provider prices live, uses custom pricing, or charges whichever is higher.
- Proof-of-delivery photos open larger, and a click takes them full screen, with arrow keys to step through and Open in new tab.
- Create Order has an Address Line 2 field for the apartment, suite, or unit. (For organizations with the Orders page.)
- The optimizer's review labels Total drive time and Total distance, adds Longest route drive time and Longest route distance when a plan has more than one route, and shows durations in your language, in hours past a day.
Orchestration
- Reschedule order has a third method, Set windows: new pickup and dropoff windows that start and end a set time after the workflow runs. It can also run on Order being created, so an order sent for immediate delivery arrives at dispatch with the scheduled windows your provider rates need. The new Current local time field limits it to the hours it matters. See Reschedule an order.
- Workflow conditions can test an order's size: Max Item Length, Max Item Width, Max Item Height (cm), Max Item Weight (kg), and Items Volume (m³), taken from its items and sub-items. Use them to route an order with a 2-meter item to a van. See Fields worth branching on.
Platform API
- Route and stop
statusHistoryentries carryoccurredAt, the time the driver actually took the action, in route responses and route webhooks. When it's empty, usecreatedAt. GET /v1/jobssorts by thesort_byandsort_directionyou send, such ascreated_atordropoff_end_time. It used to sort every call by pickup time, whatever you asked for. An unsupportedsort_byreturns400with the values it accepts, so check any integration that sendsupdated_at.- Job webhooks and job responses include each sub-item's
metadata. - Items and packages can measure up to 1000 cm on each side, up from 500 cm. A dimension error names the side that's too large.
- Store pickup instructions take up to 280 characters. Longer ones are refused with
STORE_LOCATION_PICKUP_INSTRUCTIONS_TOO_LONG. See Store locations. POST /v1/ai/verify-phototakes an optionalimageUrlto check one named photo from the job, of any type.
Nash Agent
- Web access, in the General tab of your Nash Agent settings, turns off web search, web pages, and the browser for every agent in your organization. Connectors you set up keep working. See Turn off web access.
- A confirmation card takes an optional reason, and an answered card says who decided it: a teammate, you, someone in Slack, or the API. See The confirmation flow.
- Chat and custom-agent attachments accept
.zipfiles, within the same size limits. - An agent's Reports tab includes files the agent made in chats, not only in runs. See Review reports and files.
Fleet
Driver App version 1.15 is in the App Store and Google Play. Changes marked 1.15 need that version.
- With Show package description on in My Fleet, the stop sheet on a route shows the Package Description for a stop with one order, as batch deliveries did. (1.15)
- Failing the last item at a dropoff asks for the failure reason first, and backing out sends nothing. (1.15)
- When the truck profile for HERE navigation can't load, the driver gets Retry and Go back instead of navigation without it. (1.15)
Fixes
Portal
- Customers can leave feedback on the public tracking page again, and it saves.
- Canceling an unassigned route from Execute works again.
- The driver chat popup stays put while the driver is typing.
Platform API
- Live ETAs keep refreshing from the driver's last known location when GPS goes quiet. They used to freeze after a few minutes.
- A route whose orders are canceled before a provider is chosen now closes: its stops and the route go to
canceled, withroute.canceledandroute.updatedwebhooks. - A route that fails its checks at dispatch leaves no half-built job behind, and its orders can go on another route. A reorder that puts a pickup after its own dropoffs is refused.
- Resequence returns an error when the re-solve fails, instead of handing back the route unchanged.
- A late update from a provider no longer brings back a delivery attempt Nash canceled to reassign it.
- After a reassignment, the other provider's booking is canceled as soon as one provider assigns a driver, which means fewer drivers sent to the same order.
- A started pickup at a shared pickup location stays in progress, so
route_stop.arrivedandroute_stop.in_progressdon't fire twice. - Updating a job, for a tip or new instructions, keeps the package and order volume you sent.
- Re-sending an order that's already dispatched keeps its pickup and dropoff start times, without a false "time is in the past".
- US ZIP+4 codes match contract and coverage-area ZIP lists written as five digits.
- A provider's proof-of-delivery photos are fetched again over several minutes when they aren't ready yet, so they land on the delivery.
POST /v1/ai/verify-photofinds the photos on a job with one package.- A NashLink merchant route completes when the fleet driver completes the pickup.
Orchestration
- After a reassignment, "time since status" workflow timers fire only for the provider now on the delivery, not with the replaced provider's details.
Nash Agent
- Run now on an entity monitor explains that it needs a delivery, order, or route to check, instead of asking you to retry.
- A custom agent called from chat gets its attached files.
- A custom agent's reply, and the Slack or email message it sends, is its final answer rather than its notes from partway through the run.
- Numbers in an agent's CSV files stay numbers, so
-0.73opens in a spreadsheet as a number. - In the Nash MCP server,
list_store_locationswith a search looks through every store, not just the first page.
Fleet
- After a driver checks in to a route, its card on the home screen stops showing Check In, even offline or after a restart. (1.15)
- Tapping start on a route that's already started no longer shows an error.
- The Earnings screen opens for drivers whose route was picked up on another day or ended on a batch stop with no delivery.
- Changing a Driver App setting, such as the navigation app or language, no longer resets the same user's saved views and columns in the Portal.