Routes is part of Planning Studio and is meant for people who drive a van past addresses. You turn a technician's appointments on a day into a day route: each appointment is a stop, with an expected arrival and the travel time from the previous stop.
Making the route (for those who manage the team)
Under Routes you pick a day and make a route per technician from their appointments. You need the right to manage the team for this, because routes show your customers' names and addresses. Without that right you do not see Routes. In the demo you can look along without buttons.
- A proposal is a proposal. With Propose an order we work out a shorter order, taking the promised arrival window of each appointment into account. Without a customer window, the margin applies: how many minutes after the appointment starts the technician may arrive at the latest. An overrun remains visible as late; the calculation does not promise a strict timing guarantee. You see the travel time now and in the proposal side by side. Nothing changes until you choose Adopt proposal.
- Clients' appointments never move. A route only changes the order in which the technician drives them and the expected arrival. The time of an appointment stays as it is.
- Reopening a finished route is possible, for example for an urgent appointment. A route with only skipped stops does not close by itself.
- Moving a stop yourself works with the arrows on every stop that is still open. Arrival times follow.
- Update from the calendar picks up new appointments on that day and drops cancelled stops that were still open.
- A route is a draft until you confirm it. Only then does the technician see it.
- Unknown is not zero. If we do not know an address or a travel time, it says unknown and what we do not know does not count as zero. A stop without a location stays in its own place in a proposal, and totals say plus unknown.
Map service and costs
Travel times come from Google Maps when that connection is set up in the platform, otherwise from an estimate based on the straight-line distance, without traffic. The screen says which one it is (Estimate or Google Maps). On 17 October 2026 that connection is not yet set up in the platform, so routes currently calculate with the estimate. The number of requests to Google has a monthly cap per workspace and for the whole platform. When it is reached, or Google does not answer, we calculate with the estimate and the screen says so. The costs show up in the cost overview.
Technician on the road (on a phone)
Under Day route a technician sees only their own day: today's stops, with the expected arrival. A colleague does not see your route, not even with the address of a stop.
- Open route in Google Maps splits the remaining stops from your confirmed daily route into parts of up to three. Their order is retained; completed and skipped stops are excluded. Each part shows the original stop numbers. Google does not enforce appointment times. If an address is missing or the link is too long, only per-stop navigation remains available.
- Link for the technician: for today's confirmed route a planner can copy the sign-in link. It always opens the signed-in technician's own confirmed route. Denkploeg does not send a message.
- Navigate opens Google Maps, Apple Maps or Waze on your phone, one destination per tap. The app you chose last becomes the button.
- One button per moment: I am on my way, then Arrived, then Done. Done closes the appointment.
- On-the-way message to the client. As soon as you tap I am on my way, the client can get an email that the technician is coming, with the expected arrival if we know it. This happens only if the contact person has an email address and explicitly consented to email, and only for today's route and the next stop. Otherwise nothing is sent and the screen says why. The expected arrival comes from the Google travel time; if we do not know it, you choose an estimate yourself (in 15, 30, 45 or 60 minutes). The client gets the time with ten minutes of margin: around 10:10 (between 10:00 and 10:20), never a time we make up. If you run late, Update the time sends a new time, at most twice; after that you call the client. A sent message cannot be taken back. Every customer message requires a human R3 signature. The status button sends nothing itself. Consent, recipient and source are checked again immediately before sending; a double tap sends nothing twice.
- Client not home or it did not work out: skip the stop and say why. A planner picks a new moment.
- Photo and signature. After you have arrived you add a photo and the client's signature. Every file is first rebuilt by our file sandbox: location data in the photo is dropped and only jpg, png and webp are accepted (at most 8 MB). The proof is kept with the stop (and in no library) and can be seen by the technician and by those who manage the team.
What Routes does not do
- No live tracking. We do not track technicians and the client does not see a dot on a map. The client only gets a message with the expected arrival.
- No AI planning. A proposal calculates a shorter order and you confirm. We do not plan your day ourselves.
Vehicles (read only)
Under Routes there is also a short list of vehicles and their position from the workspace's fleet system. This is read only: we send nothing to the fleet system and store no positions. Webfleet is the first provider; without a connection you see sample data and the screen says so. If we cannot reach the fleet system it says unknown, not no vehicles.
Who sees what
| Team routes | Own day on the road | Someone else's proof | |
|---|---|---|---|
| Owner, administrator | yes | yes (with own route) | yes |
| Maker | no | yes (own route) | no |
| Reader | no | view | no |
| Client (guest) | no | no | no |
Signing in from the general sign-in page takes field staff straight to their own day route. Returning to Overview opens the same route.
Without a connection, first step
Keep your own day route open. When the connection drops, Work without a connection appears. Buttons in this panel save Arrived and Done on the device. Only statuses and internal IDs are stored, scoped to the account and workspace. Once connected, updates are checked again and sent. A lost reply does not repeat the same status; conflicts and failures remain for review. Resume with the same account and do not clear browser storage while updates are pending.
This first step does not support reloading or signing in offline, photos, signatures, on-the-way messages or skipping with a reason. These require a connection. Customer messages are never sent from this queue. Arrival/completion times are recorded by the server when syncing; this is not time tracking.
Close the day, first step
Your own day route shows done, skipped and open stops. Close the day requires a connection, no pending status updates on this device, at least one completed stop and no open stops. The server checks ownership and actual appointment completion again. A double tap closes the same day once, with an audit entry. A planner can reopen the route, which clears the closure marker.
Skipped appointments stay with the planner. Nothing is moved to tomorrow and no customer message is sent. A day with only skipped stops needs a planner first. Materials, time tracking, invoicing and choosing a new appointment time are outside this first closing step.
Appointment record
A released stop assigned to you shows internal appointment notes and recorded On the way, Arrived and Done times. Add a note of up to 2000 characters until the day is explicitly closed. A planner reads the same record in the appointment drawer and adds notes on the appointment page. Internal appointments without a customer also store notes. The first customer link attaches them to that customer and the selected contact.
New notes also appear in that customer's timeline. The linked contact is included in existing personal-data exports and erasure. General customer notes are not shown to the technician. When the customer changes, historical notes stay with the original relationship. No message is sent.
On an already opened stop assigned to you, save notes on this device without a connection. Text stays locally scoped to the account and workspace until the server confirms receipt. Retrying does not create the same note again. Reopen the stop with the same account and do not clear browser storage while notes are pending. Closing the day also waits for these notes. Unknown storage blocks closing. Reloading or signing in offline is not supported yet. Photos and signatures remain under Proof on the stop. The relationship timeline also shows existing status times and that a photo or signature was saved, without copying the file, comment or signer name. Opening leads to the appointment context; files remain behind existing stop access. These moments follow the appointment’s current customer link. The record shows the latest fifty appointment notes; older notes remain in Relationships. The first job sheet below reuses the job checklist and adds material lines; used quantities and time tracking follow separately.
First job sheet: checklist and materials
The appointment page and your own stop show the same job sheet. The checklist comes from the linked job. A technician checks points or reopens them while their day remains open; the planner sees the same state. This does not change the stop status. No separate checklist is created without a linked job. Manage new points on the existing job.
Material lines have a name, a count or quantity as text and a delivery status: In stock, Ordered, Delivered or Missing. Adding, saving status and removing require a connection. Ordered or missing materials need attention but do not block closing the day. This first step does not manage stock, calculate usage or prices, or send anything to a quote or invoice. Used quantities and financial links follow separately.
Via MCP and the director
planning_routes_lezen (planning.beheren) shows the routes of a day per technician: order, arrival, driving time and status, without coordinates and notes. What the map service does not know is unknown, never zero. planning_stops_lezen (right planning.route_eigen) shows the own route of the account behind the key; a draft shows nothing. On the way, arrived, photo and customer signature are only set by the technician on site. planning_route_optimaliseren proposes an order and applies nothing.