Skip to main content

Schedule

Scheduling & Dispatch (sidebar: Sales → Schedule) turns the service lines on your orders into jobs on a weekly calendar. You drag a service onto a day and time, open the job to assign a worker, then print the week or text your team a link. Three tabs — Schedule Jobs, Job List and Job Route — all work on the same week.

Scheduling & Dispatch

Overview​

The Schedule Jobs tab is laid out in three numbered steps:

  1. Step 1 · Drag & drop to calendar — the Service Requests panel lists your orders that have service lines.
  2. Step 2 · Fine-tune the work assignments — the weekly calendar. Click a job to see or edit it, drag it to move it, drag its edge to change its length.
  3. Step 3 · Print Dispatch — prints every job in the week except cancelled and no-show ones. Online Dispatch next to it texts your team a link instead.

Worth knowing before you start:

  • Dragging from Step 1 is the only way to create a job. There is no "new job" button.
  • New jobs start Unassigned. Click the job → Edit → Worker → Save.
  • One date range drives everything — the calendar, Job List, Job Route, the printout and the dispatch link. It starts as this week (Sunday to Saturday). Jobs outside it are not loaded. Every job inside it is, up to 5,000; past that the Job List says "Showing the first 5,000 jobs. Narrow the dates to see the rest." (The dispatch link lists up to 500, see below. Step 1 has its own Order Date range.)
  • Print and Online Dispatch always cover the whole range. The Worker, Priority, Status and Location filters and Quick search only change what you see on screen. Both the printout and the online list leave out cancelled and no-show jobs, so nobody drives to a job you called off; the calendar and Job List still show them, so you can rebook.
  • Header buttons: Demo opens the page with sample data and a guided tour, whether or not Schedule is in your menu. Team Management opens Settings → Users, where team members and their phone, Active and Field Worker settings live. The button is there for everyone, but Settings opens only for the owner and a one-person store's only member; anyone else lands on Shortcuts. Changing or adding a team member then needs the owner. See Team & Menu Visibility.

Tabs in detail​

Schedule Jobs​

Step 1 — Service Requests panel. One card per order that was created inside the Order Date range, has at least one service line, and isn't a quote, Cancelled or Refunded (completed orders are included). A quote appears here once it is accepted and becomes a sale. The range starts at the last 15 days and goes back to that every time you return to this tab. Each card shows the customer, "Order Info" (last 4 characters of the order number, order date, order status) and each service line with its length in minutes and an Unscheduled or Scheduled + date badge. Only Unscheduled lines can be dragged. Scheduled lines stay on the list, greyed out. Hovering a line highlights its job on the calendar, and hovering a job highlights its line.

Step 2 — the calendar. Always one Sunday–Saturday week, 6:00 AM to 10:00 PM, snapping to 15 minutes. There is no month or day view.

  • Work Week picker, ‹ / › (a week back or forward) and today move the range. today goes to the week your store is in and shows today; the picker goes to the week of the day you click and shows that day. "Today" is your store's day, so the same week comes up wherever you sign in from.
  • Quick search and the Worker, Priority, Status and Store Location filters narrow the jobs you see.
  • Each job shows the customer and the service. Its colour is its status (Scheduled blue, In Progress green, Completed grey, Cancelled red, Rescheduled amber, No Show violet) and the small dot is its priority. Hover for the details.
  • Drag a job to move it (its length stays the same). Drag its top or bottom edge to change its start or end time. When you move a job onto a time where its worker already has an overlapping job that day, you're asked to confirm (resizing doesn't check).
  • A job whose Can Reschedule is off keeps its date and time. Nobody can move it — not on the calendar, not in the job's details, and not from a page left open since before it was switched off. To move it, open the job, turn Can Reschedule on and change the date in the same save. Anyone who can edit the job can do that.
  • Delivery chips (🚚 + customer name) appear when Delivery & Routes is on. They are read-only: teal, or green once the driver has completed the delivery. Click one to open the Routes board on that delivery's day, with the stop highlighted. Deliveries are scheduled and moved there, never here, and the filters don't hide them.

Job List​

The same jobs as a table: Date & Time, Customer, Service, Worker, Priority, Status, Phone, Address, Value. Rows are always in date-and-time order (the headers don't sort). The filters are shared with the calendar, and text left in Quick search on Schedule Jobs still filters this list even though the box isn't shown here. Work Date From/To, ‹ › and today change the shared range.

  • Click a row to open the job.
  • Delete on a row asks first — the same question as the job dialog's Delete, naming the job, the customer and the day — then removes the job and puts its service line back to Unscheduled in Step 1. The column is only there for the owner and managers.

Job Route​

One Work Date at a time (today by default), on a Google Map. The day has to fall inside the range loaded on the other tabs — otherwise nothing shows. The Worker, Priority, Status and Location filters apply here too.

  • Numbered pins are coloured by status. The amber S pin is your store. Click a pin for its details and View Full Details.
  • Optimize Route (N) opens Google Maps in a new tab with driving directions from your store address through every job that day that has an address or a pin. Google works out the best order, unless you have given every job that day a Sequence Number, in which case your order is kept. A job with no address at all is left out, and the line under the toolbar says how many were.
  • SMS Route texts that Google Maps link to a team member or any phone number.
  • The list under the map (headed "Today's Schedule" for today, and "Schedule for" the date on any other day) has one row per job. Click a row to open the job.
  • Jobs with no Service Address get no pin, and neither does one whose address Google can't find. Both are listed in an amber note under the map, by customer and address, so you can fix the Service Address.

The job details dialog​

Opens when you click a job anywhere on the page. It shows the job's name, the work order number and four tabs — Overview, Timing, Customer, Completion. It opens read-only. Click Edit to change fields, then Save (or Cancel). Delete asks you to confirm, then removes the job and puts its service line back to Unscheduled; it only shows for the owner and managers. SMS next to the customer's phone texts the customer from your store's texting number, using the phone on the job (or, if the job has none, the number on their customer record). When a send can't go through, the message names the reason; read it before changing any setup.

Three things to know:

  • Completing a job: set Status to Completed, fill in whatever else the job needs, and save once. Everything in that save is kept — the completion details (Actual Duration (min), Completion Notes, Customer Rating, Customer Feedback, follow-up, Completed By) and every other change (worker, dates, priority, address, warranty, quality, Total Cost, resolution notes and so on). Anything you leave alone keeps the value it already had, including details typed in an earlier save. The Actual Duration is logged as time on the job; leave it blank and the time already recorded is kept, or, if there is none, the job's Duration is logged instead. Completed By is a list of your team: it starts on the person already recorded, else the job's worker, else you, and completing the job records whoever it shows. If the save is refused, nothing in it is saved.
  • Actual Start and Actual End are the clock times the work really began and ended, on the job's own day. Type them as times (for example 14:30) and save — they are read as your store's local time, so everyone sees the same figures whatever time zone they are working in. Clear a field and save to take the time off again, including in the save that sets Status to Completed. A job that runs past midnight is handled: an end time earlier than the start counts as the next morning.
  • Everything you save is shown back the next time you open the job — Work Type, Sequence Number, the actual times, travel, costs, and the whole Customer and Completion tabs. A field only says "Not recorded" or "Not rated" when nothing has been recorded in it.
  • Step 3 · Print Dispatch (Schedule Jobs) and Print Dispatch List (Job List, Job Route) open your browser's print dialog with a "Work Schedule Report" grouped by day.
  • Online Dispatch creates a link that works for 7 days and opens Send Dispatch Link. Tick team members (each needs a phone with at least 10 digits), add other numbers if you like, then send. The texts go from your store's texting number (Pro or Premium plan). Write your own message if you want — the link is added to it, and the box under the message shows exactly what goes out.
  • The link needs no sign-in. It shows the jobs in the range for every worker, with live data, apart from cancelled and no-show ones, and names the worker on each job. It lists up to 500 jobs and says so when the range holds more.
  • The link is fixed to the dates you had chosen when you made it, and to your store. Change the dates and make a new one — editing the address of a link you already sent only stops it working. If nothing is booked in those dates, your team sees "No Jobs Scheduled".
  • To send one worker just their own day, use Job Route: pick the day, choose that worker in the Worker filter, then SMS Route.

Step by step: schedule a service job​

  1. Sell the service on an order (Sales → New).
  2. Open Sales → Schedule. Find the order in Step 1. If it's older than 15 days, move Order Date From back.
  3. Move the calendar to the right week with the Work Week picker or ‹ ›.
  4. Drag the service line onto the day and time. A yellow "Creating assignment..." placeholder appears, and the line's badge turns Scheduled.
  5. Click the new job → Edit → pick a Worker (and adjust priority, times or address) → Save.

If the drop fails, a red Job not created message says why, the placeholder disappears and the line goes back to Unscheduled. That covers a save the server refused and a dragged line the page could no longer match to an order. Put the reason right and drag it again, or click the Step 1 refresh icon.

Step by step: dispatch the week​

  1. Set the week with Work Week (or Work Date From/To on Job List).
  2. To print: Step 3 · Print Dispatch, or Print Dispatch List on Job List / Job Route.
  3. To text a link: Online Dispatch → tick recipients → Send to N recipients.
  4. For one day's driving route: Job Route → pick the Work Date → Optimize Route or SMS Route.

Tips & best practices​

  • Assign a worker straight after dropping a job — new jobs are Unassigned.
  • Filters don't change the printout or the dispatch link. To give each person only their jobs, filter by worker on Job Route and use SMS Route.
  • Keep statuses current so the dashboard and Services Report stay accurate.
  • Complete a job in one save, with its completion details and any other changes together.

Troubleshooting​

IssueFix
An order isn't in Step 1Step 1 only lists orders created in the Order Date range (last 15 days by default) — move From back. Cancelled and Refunded orders never appear, and the line has to be a service. Scheduled lines stay on the list, greyed out
A service line won't dragIt's already Scheduled. Delete its job to free the line
A person isn't in the Worker listThe list shows the store's active team members. The owner opens Team Management and turns the person's Active switch on; adding someone new is the owner's too
Job List or the calendar is emptyJobs load only for the current range — change the week. Clear Quick search on Schedule Jobs and set the filters back to All
Job Route shows no jobs or an empty mapThe Work Date has no jobs, or is outside the loaded week. Move the week on Schedule Jobs or Job List first, then pick the day. Jobs without a Service Address get no pin
A job has no pin, and is named in the amber note under the mapGoogle couldn't find the address, or the job has none. Fix the job's Service Address
Save fails naming a field, such as "Actual Start must be a time like 14:30"The field holds something that isn't a time. Type it as a time (14:30), or clear it, and save again
"Nothing was saved" — "Fix …, then save again. Each box says what it takes."A number box holds something it cannot keep: a decimal in Sequence Number, Duration, Actual Duration, the travel times, Buffer Time, Customer Rating or Warranty, a number below 0 in Duration, Actual Duration, the travel times, Buffer Time or Warranty, a Sequence Number of 0 or less, a rating outside 1 to 5, or a number past 2,147,483,647 in any of them; or a number below 0 in Distance, Labor Rate or Total Cost, or a Quality Rating outside 1 to 5. Nothing in that save was kept and the dialog stays open: fix each box that says so in red (another tab may have one too) and save again. Distance, Labor Rate, Total Cost and Quality Rating take decimals
"Actual Start needs the job's date. Reopen the job and try again."The job on screen is out of date — someone else changed or removed it. Close the dialog, let the page reload, and open the job again
Changes are missing after completing a jobThe save was refused, and a refused save keeps nothing. Read the message it showed, put that right, and save again
A field I saved shows "Not recorded" or "Not rated" when I reopen the jobThe save it was in was refused, so nothing in it was kept. Check the message it showed, then enter the field again and save
SMS in a job says "This job has no customer phone number…"The job has no phone and the linked customer record has none either. Add a phone on the job (Edit → Customer Phone), or add one to the customer in Customers
SMS in a job, or Send SMS on a route, names another reasonRead it: some reasons have nothing to do with texting setup. A number held by another conversation needs Start a new conversation, not a setup change — tick that box in the route text dialog, or turn on that switch in the job's Send SMS dialog, and send again. See Messages you may see
The printout ignores my filtersIt always prints every job in the range, except cancelled and no-show jobs
"Upgrade required" when textingTexting needs a Pro or Premium plan, an active subscription and texts left this month. See Billing
The dispatch link says "Dispatch List Error"Links expire after 7 days, and a link whose address was edited or cut short stops working. Click Online Dispatch again for a new one
The dispatch link says "No Jobs Scheduled"Nothing is booked in the dates that link was made for (cancelled and no-show jobs don't count). Set the dates on the Schedule and click Online Dispatch again

What's next​

Detailed reference​

Every button, icon, field and message on this page, for when you need the exact detail. Each panel starts closed — open the one you need.

Page header and toolbar
ControlWhereWhat it doesNotes
Title Scheduling & Dispatch, subtitle "Plan, assign, and track jobs across your team in one place."HeaderDisplay onlySidebar: Sales → Schedule
Demo (Play icon, amber)Header, rightOpens this page with sample data and a guided tourEveryone, and the demo copy opens even for someone whose menu doesn't include Schedule. Same tab. See Demo mode below and Demo mode
Team Management (people icon + small external-link icon)Header, rightOpens Settings → Users (Menu Visibility), where team members are added and edited: phone, Active, Field Worker ("(Can receive jobs)" / "(Office)"), hourly rateThe button shows for everyone, but Settings only opens for the owner or the store's only active member (people switched off or removed in Team don't count); anyone else is sent to their Shortcuts page. Getting in is not the same as being able to change someone: editing another person — their name, phone, email or default location — takes owner level (the Owner switch or the owner role), and so do their Active switch (never your own) and the Role picker (never your own role or an owner's), while Create User, the Field Worker switch, the hourly and overtime rates, the employee code and a new password appear only for the person whose Owner switch is on. Your own details you can always edit. Opens in the same tab despite the icon. See Team & Menu Visibility
Tab Schedule Jobs (calendar icon)Tab barStep 1 Service Requests panel + Step 2 calendarDefault tab. Blue border. The tab you pick isn't remembered on reload
Tab Job List (list icon)Tab barFilter bar, Work Date bar and jobs tableGreen border. Step 1 panel hidden
Tab Job Route (map icon)Tab barFilter bar, route toolbar, map and day listGrey border
Loading screen "Loading job scheduling with real data..."Whole pageShown while your store, team and jobs loadFirst load and after Retry
Error screen: "Couldn't open scheduling: …" + "Try again. If it keeps happening, sign in again.", or "Authentication required" + "Please log in to access job scheduling"Whole pageReplaces the page only when your store could not be worked out at allA job list that fails to load shows as a banner above a working board instead (see the next row). The first wording names the reason; the second means no session was found
RetryError screenLoads the store and its jobs againThe first button, because a passing problem is the usual cause
Go to LoginError screenOpens the sign-in page, remembering this one. Signing in brings you back to the schedule—
Banner "Couldn't load the jobs: …" with Try againAbove the tabsSays the job list could not be read. The board, the filters, the Service Requests panel and everything else stay usableTry again re-reads the jobs for the dates showing and the banner goes when it works. An empty week is not an error and shows no banner
Link from the dashboard's Recent Activity—Opens this page with that job's details dialog already openOnly if the job falls in the current week; otherwise the page opens normally
Shortcuts Job Scheduling & Dispatch, Service Team Management, Time Tracking LogShortcuts page, Sales groupAll three open this page on Schedule JobsShown when Schedule is in your menu. Team members are managed with Team Management; time is on My Hours and Workforce
Tab: Schedule Jobs — Step 1 Service Requests panel

Lists every order in your store that was created in the Order Date range, isn't Cancelled or Refunded, and has at least one service line. Completed and paid orders are included. Each service line is one row.

ControlWhereWhat it doesNotes
"STEP 1" + "Drag & drop to calendar" / "Service Requests from Sales Orders"Panel headerHeading onlyLeft column on wide screens, below the calendar on narrow ones
Refresh icon (circular arrows, no label)Panel header, rightReloads the listSpins and is disabled while loading
Order Date From (calendar icon, e.g. "Sep 03, 26", placeholder "From")Panel header, second rowShows orders created on or after the chosen dayDefault: 15 days ago. Goes back to 15 days ago every time you return to this tab. Clicking the chosen day again clears it (no lower limit). Filters on the order's date, not the service date
Order Date To (placeholder "To")Panel header, second rowShows orders created on or before the chosen dayDefault: today. Days before From are greyed out. Clicking the chosen day again clears it (no upper limit)
"Loading service requests..."Panel bodyShown while loading—
"No service requests" / "No service requests found for selected date range"Panel bodyNothing matches the Order Date rangeMove From back
Order cardPanel bodyCustomer name, then "Order Info:" with # + last 4 characters of the order number, the order date and the order's status, then "Service Items:"Not clickable. "Unknown Customer" when the order has no customer; "Customer" + 6 characters when the customer record can't be found
Service line rowInside a cardService name, length ("60 min"), and a badgeName comes from the service, else the line description, else "Service". Length is the service's estimated time, 60 minutes if none is set
Badge Unscheduled (amber)Row, rightThe line has no job yetRow has a dashed border and a move cursor — drag it onto the calendar
Badge Scheduled + date (green), grey tickRow, rightThe line already has a job; the date is the job's dateRow greyed out and can't be dragged. Delete the job to free it
Hover a rowRowHighlights the matching job on the calendar with a blue ringWorks the other way too
Drag a row onto the calendarRow → calendarCreates a job at that day and time (see next rows)Only Unscheduled rows. A row being saved fades; a dropped row can't be dragged again
Drop result: yellow "Creating assignment..." placeholderCalendarShown about 2 seconds while the job is created. The row's badge turns Scheduled + dateThe new job: status Scheduled, worker Unassigned, name = the service line's name, work order = the order number, length = the service's estimated time (60 minutes if none), customer name, phone and main address copied from the customer, description "Service for" + customer, your store's main location, priority taken from the order: the Priority Level chosen on the order if it is anything but Normal, otherwise Urgent when the order is marked Rush or Emergency on the sales form, otherwise High if the order total is over $5,000 and Normal below that. A Priority Level is chosen on the Others tab when the order is created, or on the order window's Overview tab afterwards; the Sell tab has no priority box, so a counter sale is Normal unless somebody sets it on the order. A line that isn't linked to a catalog service is filed under a "General Service" service (created if needed), but the job is shown by its own name — the line's — everywhere, so "General Service" isn't what you read on the calendar, Job List or printout
Failed dropCalendarThe placeholder disappears, the row returns to Unscheduled and a red Job not created message gives the reasonTry again, or refresh Step 1 if the panel is out of date. No double-booking check on this path
Tab: Schedule Jobs — Step 2 calendar and Step 3
ControlWhereWhat it doesNotes
"STEP 2" + "Fine-tune the work assignments" / "View or edit details of the work assignments"Calendar card header, leftHeading only—
Step 3 · Print Dispatch (dark "STEP 3" arrow + printer icon)Calendar card header, rightOpens the browser print dialog with the "Work Schedule Report"Prints every job in the range except cancelled and no-show jobs — ignores filters and Quick search. See Printout panel
Online Dispatch (share icon, blue)Calendar card header, far rightCreates a 7-day dispatch link for the range and opens Send Dispatch LinkShows a spinner and "Generating..." and is disabled while working. The link covers every worker's jobs in the range
Work Week picker (calendar icon, e.g. "Sep 13 - Sep 19, 2026", placeholder "Select week")Work Week barClick any day to select its whole Sunday–Saturday week; jobs reload and the calendar moves thereFooter: "Click any day to select the entire week". Selected week shown in blue. Shared with Job List, Job Route, print and dispatch
‹Work Week bar, rightMoves the range back 7 days—
›Work Week bar, rightMoves the range forward 7 days—
todayWork Week bar, rightSets the range to the Sunday–Saturday week your store is in, and moves the grid to today"Today" is the day at your store, not on your own clock, so it is the same week for everyone. Also changes the Job List, print and dispatch range
Quick search... boxFilter row, leftLive filter on service name, customer name, service address and phone (digits match whatever the formatting)Only shown on this tab, but the text keeps filtering Job List and Job Route after you switch. Doesn't affect delivery chips, print or dispatch
Worker filter ("All workers" / All Workers + each person)Filter rowShows only that person's jobsList = the store's active team members (up to 100) plus field workers rostered today. Also applies on Job List and Job Route
Priority filter ("All priorities" / All Priorities, Emergency, High, Low, Normal, Urgent)Filter rowShows only that priorityColoured dots: Emergency red, Urgent orange, High yellow, Normal blue, Low green. All five are reachable: a job takes the order's Priority Level, or Urgent when the order is marked Rush or Emergency
Status filter ("All statuses" / All Statuses, Cancelled, Completed, In Progress, No Show, Rescheduled, Scheduled)Filter rowShows only that statusEach has its status icon
Store Location filter ("All locations" / All Locations + each location)Filter rowShows only jobs recorded at that locationOnly when the store has at least one location. Jobs created by dragging are recorded at your store's main location
Calendar gridCard bodySunday–Saturday week, 6:00 AM to 10:00 PM in 30-minute rows, hour labels. Times outside business hours (Monday–Friday 8 AM–8 PM) are shaded greyNo month or day view, no all-day row. Jobs outside 6 AM–10 PM don't show on the grid. Overlapping jobs are allowed
Job cardGridCustomer name (bold) and a coloured service-name pill; status icon and priority dot at top rightBackground = status: Scheduled blue, In Progress green, Completed grey, Cancelled red, Rescheduled amber, No Show violet. The worker isn't shown on the card
Status icon / priority dot on a cardCard, top rightHover titles "Status: …" and "Priority: …"—
Hover a job cardGridDark box: 📋 Work Order (shows the service name), 👤 Customer, ⏰ Time, 📍 Location, 📊 Status, 🚩 Priority, ⚡ Duration, 💰 Value, 📞 Phone (or "N/A") with a small SMS link when there is a phone, 🔢 QtyLines without a value are left out. Also highlights the job's line in Step 1. The SMS link opens your device's texting app, but the box closes when the pointer leaves the card
Click a job cardGridOpens the job details dialog—
Drag a job cardGridMoves the job to the new day and time, keeping its length, and saves. A job from an order also updates that line's date in Step 1If the same worker has an overlapping Scheduled, In Progress or Rescheduled job that day, a confirm appears (see Messages). Cancel puts the job back. A job whose Can Reschedule is off cannot be dragged at all, and if one is somehow dropped it springs back with "Job not moved — This job is marked as not reschedulable — turn Can Reschedule on in the job's details to move it." The same message appears when someone switched Can Reschedule off after your page loaded: the store's records refuse the move, the job springs back and the calendar reloads. Other failure: "Failed to update job: …" and the job snaps back
Drag a job card's top or bottom edgeGridChanges the start or end time; the length is recalculated and savedNo double-booking check. A job whose Can Reschedule is off cannot be resized: it springs back with "Job not changed — …", including when it was switched off after your page loaded. Other failure: "Failed to update job: …" and it snaps back
Delivery chip "🚚" + customer name (or "🚚 #" + order number)GridRead-only delivery spanning its delivery window. Click opens the Routes board on the delivery's own day — read in your store's time zone, so an evening window lands on the right day — with the delivery highlightedOnly when Delivery & Routes is on. Teal; green once the driver has completed it. Can't be dragged or resized. Not affected by filters or Quick search. No hover box. Covers deliveries from 60 days ago to 90 days ahead, cancelled ones excluded. With no store time zone set, your own is used at both ends. Where the chip sits on the grid is the store's clock too, so a late evening delivery is drawn on the same day it opens however far away you are reading from
Tab: Job List
ControlWhereWhat it doesNotes
Worker, Priority, Status, Store Location filtersGrey filter barSame filters as on Schedule Jobs — a choice made on one tab carries to the othersQuick search isn't shown here, but text typed on Schedule Jobs still filters this list
Print Dispatch List (printer icon, green)Filter bar, rightOpens the browser print dialog with the "Work Schedule Report"Prints every job in the range except cancelled and no-show jobs — ignores filters
Online Dispatch (share icon, blue)Filter bar, rightCreates the 7-day dispatch link and opens Send Dispatch Link"Generating..." with a spinner and disabled while working
Work Date From (placeholder "From date")Work Date barSets the start of the shared range; jobs reloadClicking the chosen day again does nothing. Shared with the calendar, route, print and dispatch
"to"Work Date barText—
Work Date To (placeholder "To date")Work Date barSets the end of the shared rangeDays before From are greyed out
‹ / ›Work Date bar, rightMove the range back or forward 7 daysNeed both From and To
todayWork Date bar, rightSets the range to the Sunday–Saturday week your store is inThe same week as the calendar's today
Amber line "Showing the first 5,000 jobs. Narrow the dates to see the rest."Above the tableThe range holds more than 5,000 jobs; the Job List, the calendar, Job Route and the printout hold the first 5,000 in date-and-time orderPick a shorter Work Date From/To. Only a range of months on a busy store gets here
"No jobs scheduled for the selected filters"Table areaNo jobs in the range after filtersClear filters and Quick search, or change the range
Date & Time columnTableDate in your store's format + 24-hour timeRows always earliest first. Headers don't sort
Customer columnTableCustomer name on the job—
Service columnTableService name—
Worker columnTableAssigned person"Unassigned" when nobody is. A person who is no longer active is still named, as on the printout and the dispatch link
Priority columnTableBadge: Emergency red, Urgent grey, High outlined, Normal and Low solid dark—
Status columnTableIcon + "Scheduled", "In Progress", "Completed", "Cancelled", "Rescheduled" or "No Show"—
Phone columnTableCustomer phone on the job—
Address columnTableService addressCut short; hover for the full text
Value columnTablePrice of the service line, e.g. "$150.00"Blank when none
Click a rowTableOpens the job details dialog—
Delete (outline button)Actions column, each rowOpens Delete <service>? → Delete job removes the job and returns its service line to UnscheduledThe same question as the dialog's Delete. Keep the job backs out and changes nothing. The whole Actions column is only shown to the owner and managers. Can't be undone — drag the line onto the calendar again to recreate it. Refused or failed: a red "Job not deleted" message naming the reason, and the row stays
Tab: Job Route
ControlWhereWhat it doesNotes
Worker, Priority, Status, Store Location filtersGrey filter barNarrow the jobs on the map, the list, Optimize Route and SMS RouteQuick search from Schedule Jobs also applies
Print Dispatch List, Online DispatchFilter bar, rightSame as on Job ListCover the whole range, not just the route day
Work Date picker (placeholder "Select date")Route toolbar, leftPicks one day for the map and routeDefault: your store's today, and back to it whenever you return to this tab. Must be inside the range loaded on Schedule Jobs / Job List, or no jobs appear. Clicking the chosen day again clears it: the map then shows the whole range and the route buttons are disabled
‹ / ›Route toolbarPrevious / next dayDo nothing when no day is chosen
todayRoute toolbarSets the route day to todayYour store's today, not your own clock's
Optimize Route (N) (route icon; N = jobs that day)Route toolbar, rightOpens Google Maps in a new tab: driving directions starting at your store address, through each job's address. Google picks the order; when every job that day has a Sequence Number, your order is sent instead and Google keeps itDisabled with no day or no jobs. Hover titles: "Select a date first to get directions", "No jobs found on selected date", "Open in Google Maps - you can enter your starting location and get directions to this job" (1 job), "Open in Google Maps - you can enter your starting location and get optimized routing to all job locations" (2 or more). Also disabled, with "No job on this date has an address to route to", when no job that day has an address or a pin. Starts from your current location when the store has no address. A job with no Service Address and no pin is left out of the route; "… left out of the directions" beside the job count says how many
SMS RouteRoute toolbar, rightOpens Send Route via SMSDisabled with no day or no jobs. Hover titles: "Select a date first", "No jobs found on selected date", "Send route link via SMS"
Badge "N locations" (navigation icon)Route toolbar, far rightNumber of pins on the map; "(geocoding...)" while addresses are looked upCounts only jobs with a position: one without an address, or with an address Google can't find, is not counted. "0 locations" when the day has no jobs
"Tip: Map all job locations on Google Maps and open a shareable, optimized route. Start is the store address by default."Under the toolbarInfoEnds "…your current location by default." when the store has no address
"Showing N job(s) for …"Under the tipNumber of jobs on the chosen dayAdds " - No jobs scheduled for this date" when there are none
"Loading map..."Map areaShown until Google Maps loadsReload the page if it never finishes
MapMap areaNumbered pins, zoom +/− and full screenCentres and zooms on the pins it has; with no pins at all it centres on the store, and when the store's address can't be found either it opens zoomed out over the whole country, with an amber line above it: "We could not find your store's address on the map, so it opens zoomed out. Check it in Settings → Locations." (or "Your store has no address, so the map can't open on it. Add it in Settings → Locations."). Jobs it can't place are left out of that
Store pin S (amber)MapClick: popup "Store Location" + the store address; × closesOnly when the store address can be found
Job pin (numbered, status colour)MapClick: popup with 📋 job title, 🚩 priority, 📊 status (for example "In Progress" or "No Show"), 👤 Customer, 📞 Phone, ⏰ Time (date "at" time), ⚡ Duration, 📍 Location (or "No address"), 💰 Value, 🔢 Qty and View Full Details; × closesPin colours: Scheduled blue, In Progress green, Completed grey, Cancelled red, Rescheduled amber, No Show violet. A job whose address Google can't find gets no pin — it is named under the map instead
Amber note "N jobs could not be placed on the map"Under the mapLists each job it couldn't place, as customer + address (or "no service address"), and says to correct the job's Service Address. It also says they have no pin and no number here, that one that still has an address is passed to Optimize Route and SMS Route as it is written, and that one with no address is left out of themOnly when there is one. The first 5 are named and the rest counted ("…and N more.")
View Full DetailsJob pin popupOpens the job details dialog—
"Today's Schedule" / "Schedule for …" listUnder the mapOne row per job that day: number (matches the pin), status icon, service, customer, time, phone, address, priority badge and dot. Click a row to open the jobOnly when the day has jobs. A job with no pin shows "–" instead of a number, with the hover "Not on the map — check this job's Service Address". The heading is "Today's Schedule" for the store's today and "Schedule for" the Work Date (e.g. "Schedule for Sep 26, 2026") on any other day. The order follows each job's Sequence Number, lowest first; jobs with no number come after them by their scheduled time
Dialog: Job details — buttons and Overview tab

Opens from a calendar job, a Job List row, a map pin's View Full Details, a "Today's Schedule" row, or a dashboard Recent Activity link. The title is the job's status icon and service name, with "Work Order: …" under it. It opens read-only; Edit makes every tab editable. Any team member who can open the page can edit and complete jobs; Delete is the owner's and managers'.

Every field you save is shown back the next time you open the job, on all four tabs, and edit mode starts from those values. A field shows its empty text ("Not specified", "Not recorded", "Not rated" …) only when nothing has been recorded in it. The two clock fields — Actual Start and Actual End — and Completed At are shown in your store's local time.

Buttons:

ControlWhereWhat it doesNotes
Edit (pencil icon)Header, rightSwitches to edit modeRead mode only
Cancel (X icon)Header, rightThrows away your edits and returns to read modeEdit mode only. Nothing is saved
Save (disk icon; "Saving..." while working)Header, rightSaves only the fields you changed, refreshes the calendar and closes the dialog. Closes without saving if nothing changedChanging Worker, Date, Start/End Time or Duration runs the double-booking check (confirm; Cancel keeps you editing with "Failed to save changes: Scheduling conflict not confirmed"). Setting Status to Completed turns the save into a completion — see the Status row. Failure: "Failed to update job: …" then "Failed to save changes: …", and the dialog stays open
Tabs Overview, Timing, Customer, CompletionUnder the headerSwitch sectionsOpens on Overview each time
Delete (red)Footer, leftOpens Delete <service>? → Delete job removes the job, returns its service line to Unscheduled, refreshes the calendar and Step 1, and closes the dialogRead and edit mode. Only shown to the owner and managers. Keep the job backs out. Refused or failed: "Failed to delete job: …" naming the reason, and the dialog stays open on the job, which is still there
"Saving changes..." (spinner)Footer, rightProgress while saving—
SMS (outline button)Overview, next to Customer PhoneOpens Send SMS to the customerRead mode only. Disabled only when the job has neither a phone of its own nor a linked customer — a job with no phone but a linked customer can still be texted on that customer's number
× (close), clicking outside, EscDialogCloses; unsaved edits are lost—

Overview tab — "Work Assignment Information":

FieldRequiredDefaultRules and error text
Service NameNoThe service name (jobs from an order)Text, placeholder "Enter service name". Empty shows "Not specified". This is the job's own name, and it is what every screen shows: the dialog title, the calendar, the hover box, the Job List, the map popup, the printout, the dispatch link and the dashboard's Recent Activity. Clear it and the catalog service's name is shown instead. Renaming a job changes that job only, never the service in your catalog
Work TypeNoEmptyFree text, placeholder "e.g., REPAIR, MAINTENANCE, INSTALLATION". Shows "Not specified" when empty
WorkerNoUnassignedChoose Unassigned or an active team member (placeholder "Select worker"). Inactive people aren't listed. Read mode shows the name or "Unassigned"
PriorityNoThe order's Priority Level; Urgent when the order is marked Rush or Emergency; otherwise High over $5,000 and Normal below. The order's own Priority Level is set on the Others tab when it is created, or on the order window's Overview tab laterEmergency, Urgent, High, Normal, Low. Read mode shows a badge
StatusNoScheduledScheduled, In Progress, Completed, Cancelled, Rescheduled, No Show. The read-mode badge uses the same words. Choosing Completed and saving completes the job: it records the completion time, who completed it and the Actual Duration (logged as time on the job), plus Completion Notes, Customer Rating, Customer Feedback and follow-up. A detail you don't touch keeps the value it already had, and every other change in the same save — worker, dates, priority, address, warranty, quality, Total Cost, resolution notes — is saved with it. A job that is already Completed can't be completed again: "Service assignment is already completed"
Sequence NumberNoEmptyNumber, placeholder "Job order in schedule". Shows "Not set" when empty. Takes a whole number, 1 or more; anything else (2.5, 0, -1) shows "Use a whole number, 1 or more, or leave it blank" under the box and saves nothing, and a number past 2,147,483,647 shows "Use a whole number up to 2,147,483,647". Clearing the box saves it blank, leaving the job unnumbered again. It sets the stop order on Job Route: the pins, the numbered "Today's Schedule" list and the Optimize Route / SMS Route link all follow it, lowest number first, with unnumbered jobs after them by time. Only when every job that day is numbered is Google asked to keep your order instead of working out its own — one blank job anywhere in the day and Google picks the order. It does not reorder the calendar or the Job List
Customer NameNoFrom the customer recordPlaceholder "Enter customer name". Changes this job only, not the customer. Empty shows "Not specified"
Customer PhoneNoFrom the customer recordPlaceholder "Enter phone number". Empty shows "Not specified"
Service AddressNoThe customer's main addressPlaceholder "Enter service address". Used for the map pin and route. Empty shows "Not specified"
Mark as UrgentNoOffSwitch, edit mode only. Adds a red "Urgent" badge next to Status; doesn't change Priority
Can RescheduleNoOnSwitch, edit mode only. Off locks the job's Date, Start Time, End Time and Duration: no save changes them — not a drag, not this dialog, not a page opened before the switch went off — and the Timing tab says "Can Reschedule is off, on the Overview tab. Turn Can Reschedule on to change the date." To move the job, turn the switch on and change the date in the same save. There is no manager step: anyone who can edit the job can lift it. Everything else on the job, completing it included, saves as normal while it is off
Job DescriptionNo"Service for" + customerText box, placeholder "Enter job description". Empty shows "No description"
Dialog: Job details — Timing, Customer and Completion tabs

Everything on these three tabs is shown back when you reopen a job, and edit mode starts from those values. Actual Start, Actual End and Completed At are stored as moments in time and shown in your store's local time; the rest are shown exactly as they were typed.

Timing tab — "Timing Information":

FieldRequiredDefaultRules and error text
Scheduled Times → DateNoThe day you dropped it onDate. Changing it moves the job (double-booking check). While Can Reschedule is off, this and the three fields below cannot change unless the same save turns it on. Empty shows "Not set"
Start TimeNoThe time you dropped it onTime, shown 24-hour. Empty shows "Not set"
End TimeNoStart + lengthTime. Not recalculated when you change Start Time or Duration here
Duration (minutes)NoThe service's estimated timeNumber, steps of 15, placeholder "60". Shown as "N minutes". A whole number, 0 or more: a decimal or a number below 0 shows "Use a whole number, 0 or more" under the box and saves nothing, and a number past 2,147,483,647 shows "Use a whole number up to 2,147,483,647"
Actual Times → Actual StartNoEmptyTime, shown 24-hour. Read as that time on the job's Date, in your store's time zone. Moving the job to another day carries the recorded times to the new day, whether or not you touch them in that save. Clear it and save to take it off, in any save — including one that also sets Status to Completed. A field you do not touch is left exactly as it was. Empty shows "Not recorded". A value that isn't a time is refused with "Actual Start must be a time like 14:30, not …" and nothing in the save is kept
Actual EndNoEmptySame as Actual Start. An end earlier than the start is taken as the next morning, so an overnight job gets a positive length
Actual Duration (min)NoEmptyNumber. The time logged when the job is completed. Left empty, a duration recorded by an earlier save is kept; with none, the job's Duration is logged instead — including the Duration you change in the same save. Empty shows "Not recorded". A whole number, like Duration
Labour cost——Read-only: "$…" and "… h at the technician's hourly rate. The duration is the one entered when the job was completed." Only shown when Workforce is on for the store (Premium plan), you are the owner or a manager with See pay rates and dollar amounts, the job's worker has an hourly rate and time was logged. Otherwise the line is absent (never $0)
Travel & Buffer → Est. Travel (min)NoEmptyNumber. Shows "N min" or "N/A min". A whole number, like Duration
Actual Travel (min)NoEmptyNumber. Shows "N min" or "N/A min". A whole number, like Duration
Distance (km)NoEmptyNumber, one decimal. Shows "N km" or "N/A km". 0 or more: a number below 0 shows "Use a number, 0 or more" under the box and saves nothing
Buffer Time (min)NoEmptyNumber. Shows "N min" or "N/A min". A whole number, like Duration
Cost Information → Labor Rate ($/hour)NoEmptyTyped by hand; separate from the worker's pay rate. Shows "$N/hour" or "Not set". 0 or more, like Distance
Total CostNoEmptyTyped by hand; not calculated. Shows "$N" or "Not calculated". 0 or more, like Distance. Kept by a completing save, so the Services Report shows it for a job completed in one go

Customer tab — "Customer Information":

FieldRequiredDefaultRules and error text
Customer PresentNoOffSwitch. Read mode shows "Yes" or "No"
Customer Rating (1-5)NoEmptyNumber 1 to 5. Shows "N/5 ⭐" or "Not rated". A decimal such as 4.5, or a number outside 1 to 5, shows "Use a whole number from 1 to 5" under the box and saves nothing. Kept whether it was entered in the completing save or an earlier one, and cleared by emptying it and saving — in any save, including the one that completes the job
Customer FeedbackNoEmptyText box, placeholder "Customer comments and feedback". Shows "No feedback provided" when empty. Kept the same way

Completion tab — "Completion Information":

FieldRequiredDefaultRules and error text
Quality & Inspection → Quality Rating (1-5)NoEmptyNumber 1 to 5, decimals allowed (4.5). Shows "N/5 ⭐" or "Not rated". A number outside 1 to 5, such as 7.5 or -1, shows "Use a number from 1 to 5" under the box and saves nothing; emptying the box clears the rating. Saved in a completing save too
Inspection RequiredNoOffSwitch. Shows "Yes" or "No". Saved in a completing save too
Inspected ByNoEmptyText. Shows "Not inspected" when empty. Saved in a completing save too
Follow-up & Warranty → Follow-up RequiredNoOffSwitch. Shows "Yes" or "No". Saved with a completion
Follow-up DateNoEmptyDate. Shows the day, or "Not set" when empty. Saved with a completion
Warranty (days)NoEmptyNumber. Shows "N days" or "No warranty". Saved in a completing save too. A whole number, like Duration
Completion Details → Completion NotesNoEmptyText box, placeholder "Notes about work completion". Shows "No completion notes". Saved with a completion
Resolution NotesNoEmptyText box, placeholder "How problems were resolved". Shows "No resolution notes". Saved in a completing save too
Completed ByNoThe person already recorded; otherwise the job's Worker; otherwise youA list of the store's active team members, like Worker (placeholder "Select person"). The save that completes the job records the person the list shows; any other save changes Completed By only when you pick someone. Read mode shows the person's name, "Former user" for someone who is no longer an active team member, and "Not completed" when nothing is recorded. A name that was typed in rather than picked from the list still shows as typed, greyed out in the list: it is kept until someone picks a person or the job is completed, and it can't be picked again
Completed AtNoEmptyDate and time, in your store's time zone. Shows "Not completed" when empty. Completing a job sets it to the moment of completion, whatever you type here; on a job that is already completed, what you type is saved
Dialog: Send SMS (text the customer from a job)
ControlWhereWhat it doesNotes
Title "Send SMS", "To:" + the customer's phoneHeaderDisplayOpened by SMS in the job details dialog. When the job has no phone but is linked to a customer it reads "the number on <name>'s record"; "No phone available" when there is neither
Message box (placeholder "Type your message...")BodyYour text. Helper: "Plain text only. Carrier rates may apply."—
Start a new conversation (switch)Body, under the messageOn: closes the customer's current text conversation and sends this text in a new one. The closed conversation keeps its messages in MessagesOff every time the dialog opens. Turn it on when a send is refused because the customer's number is held by another conversation
CancelFooterCloses without sendingYour text stays if you reopen it
SendFooterTexts the customer from your store's texting number, in their existing Messages conversation if there is one. Success: the "Message sent" toast, and the dialog closes and clearsDisabled until you type something. The number used is the job's own Customer Phone; when the job has none, the linked customer's mobile, then main, then business number. Needs Pro or Premium and a connected texting number, and a customer not opted in to texts brings up Confirm SMS consent. Every refusal is shown as a "Message not sent" toast naming the reason — no phone anywhere, no texting number, texting not set up, the monthly allowance used up, or a number held by another conversation. See Messages you may see
× / clicking outsideDialogCloses—
Dialog: Confirm SMS consent
ControlWhereWhat it doesNotes
Title "Confirm SMS consent"; "This customer isn’t marked as opted in to SMS."; note "Only continue if this customer has agreed to receive text messages from you. Confirming sends this message and, once it has gone out, records their SMS opt-in. If they previously texted STOP, the carrier will still block delivery until they text START."DialogDisplayAppears when you text a customer who isn't opted in
CancelFooterCloses; nothing is sentDisabled while sending
Confirm opt-in & send ("Sending…" while working)FooterSends the message, then marks the customer as opted in to textsOnly confirm if the customer agreed to texts. The opt-in is only recorded once the text has actually gone out; a refused send leaves it as it was
Dialog: Send Dispatch Link

Opens after Online Dispatch has created the link. The texts go out from your store's texting number, one per recipient.

ControlWhereWhat it doesNotes
Title "Send Dispatch Link" (send icon), "Send the dispatch list link to your team members via SMS"HeaderDisplay—
Message boxBodyOptional custom text. The placeholder shows the default: store name + "Dispatch List for" + the date range + ". View your assignments here:" + the link"Leave empty for the default message. Whatever you write, the dispatch link is added at the end if it isn't already in your text." Paste the link in yourself and it stays where you put it; a link kept from an earlier Online Dispatch is replaced by the current one
"This is what each person receives:" boxUnder the Message boxThe finished text, link includedUpdates as you type, so you can see the link is in it before sending
"Recipients (N selected)"BodyCounts ticked recipients whose phone has at least 10 digits—
Team member row: tick box, name, phone box (placeholder "Enter phone number")Recipients listTick to include. The phone is filled from the person's mobile or business phone; you can change it here for this send onlyThe tick box is disabled until the phone has at least 10 digits. Lists every active team member. Nobody is ticked at first
Trash icon (red)Rows you added by handRemoves that recipientNot on team member rows
"Name (optional)" (placeholder "Team member name")Add rowName for a one-off recipientBlank → "Phone" + last 4 digits
"Phone Number" (placeholder "+1 (555) 123-4567")Add rowPhone for a one-off recipient. Enter adds it—
Plus iconAdd row, rightAdds the one-off recipient, already tickedDisabled while the phone box is empty. Fewer than 10 digits → "Please enter a valid phone number"
"Add team members above to send the dispatch link"Recipients areaShown when there are no recipients—
"Dispatch Link:" boxBodyThe full linkWorks for 7 days
Preview (external-link icon)Footer, leftOpens the link in a new tab—
CancelFooterClosesA message you typed and your ticks are kept for next time. Each Online Dispatch makes a new link, and a typed message carrying the old one has it swapped for the new one
Send to N recipient(s) (send icon; "Sending..." with spinner)Footer, rightTexts the message to every ticked recipient and shows the resultDisabled while sending or with no valid recipient. Needs Pro or Premium; each text counts against your monthly allowance. Needs texting set up for your store (Settings → SMS)
Result: green tick "Messages Sent!", amber "Some texts did not go out", or red X "Nothing was sent"; "N sent, N failed"; red error linesBodyOutcomeThe heading and the counts follow what the send produced. Failures are named underneath ("Failed to send to …: …"). "Nothing was sent" adds "Nobody received the dispatch link. Check the reasons below, fix the numbers or your texting setup, then send again."
CloseResult footerCloses; next time the dialog opens on the form againYour message and ticks are kept
× / clicking outsideDialogClosesSame as Cancel
Dialog: Send Route via SMS

Opened by SMS Route on Job Route. Sends the Google Maps route for the chosen day.

ControlWhereWhat it doesNotes
Title "Send Route via SMS"HeaderDisplay—
Send to staff (placeholder "Choose a staff member")Body, leftPick a team member; their phone digits fill the phone boxOptions read "Name - phone" or "Name (no phone)". People with fewer than 10 phone digits can't be picked
Or enter phone (placeholder "e.g., +1 555 123 4567")Body, rightType any numberTyping clears the staff choice
'We will send a message like: "This is the service route for … ..."'BodyPreview. The full text is "This is the service route for" + date + ". Open the directions here:" + the Google Maps link—
"To: … (…) | Start a new conversation: On/Off"BodyExactly where the text will goA 10-digit number gets +1 (US)
CancelFooterClosesDisabled while sending
Send SMS ("Sending…")FooterSends the route link through Messages. Success toast "Route sent" / "SMS sent successfully.", the dialog closes and resetsDisabled while sending, or with no staff member or phone. Needs Pro or Premium. Failure toast "Send failed" + the reason, e.g. "This customer isn’t opted in to SMS." (no consent prompt here), "Business phone not configured", "Messaging is not configured for your organization" or "No phone number or message was given."
Start a new conversation tick boxUnder the footerCloses the current text conversation with that number and starts a new one with this text. The closed conversation keeps its messages in MessagesOff every time the dialog opens, including after a send that failed. If the old conversation can't be closed, nothing is sent
× / clicking outsideDialogCloses without sendingYour staff choice and phone stay until a send succeeds
Printout: Work Schedule Report

Printed by Step 3 · Print Dispatch or Print Dispatch List. Only the report prints; the rest of the app is hidden.

PartWhat it showsNotes
Header"Work Schedule Report", store name, "Location:" + your main location, "Generated on:" date "at" time, "Showing assignments for" the range (or "from" / "up to" a date when only one end is set) + total—
Day sectionsWeekday and date + "(N jobs)", jobs in time orderCancelled and no-show jobs are left off, and are not counted here or in the header total
Each jobCustomer, service, time "(N min) • Order #" work order, priority ("🚨 EMERGENCY", "⚡ URGENT", "🔴 HIGH", "🟡 NORMAL", "🟢 LOW"), status, Phone, Address, Work (description), Value, "Assigned Worker:" name or Unassigned (a person no longer active is still named)Every job in the range except cancelled and no-show jobs — filters and Quick search are ignored
Empty text"No work assignments scheduled for 9/20/2026 to 9/27/2026." — the range you pickedWhen the range has no jobs. "No upcoming work assignments scheduled for the next 7 days." only when no range is set
Sub-page: Dispatch list link (what your team sees)
PartWhat it showsNotes
Opening itThe link from Send Dispatch Link (or Preview)No sign-in needed. Works for 7 days. Shows live data each time it's opened, not a snapshot. Each link is tied to one store and one date range: an address that was edited or cut short shows the error page instead
HeaderStore name and logo, main location, "Dispatch List" and the date rangeThe dates shown are the ones the list actually covers
Counters"Total Jobs", "Scheduled", "In Progress", "Completed"—
Jobs, grouped by dayCustomer, service, priority and status badges, time (or "TBD") and length, "Assigned To", phone (tap to call), address (tap to open Google Maps), "Work Order" (#…), "Value", "Notes"Every worker's jobs in the range, not one person's — scheduled, in progress, rescheduled and completed. Cancelled and no-show jobs are left out, as on the printout. "Assigned To" shows the person's name ("Technician" + 4 characters for someone no longer in your team list). Stops at 500 jobs, with a line saying so
FooterStore phone (tap to call), email, address (tap for Google Maps) and when the page was generatedLines without a value are left out
"No Jobs Scheduled" / "There are no jobs scheduled for the selected date range."Nothing is booked in the days the link coversChoose different dates on the Schedule and make a new link
"Dispatch List Error" / "Unable to load dispatch list. The link may be invalid or expired. Ask your dispatcher for a new one."Expired (over 7 days), cut short, or an address that was edited after it was sentNothing technical is shown with the message. Create a new link with Online Dispatch. If a brand-new link shows this, contact support
Messages you may see
MessageWhen it appearsWhat to do
"Loading job scheduling with real data..."Page loadingWait
"Couldn't open scheduling: …" (with Retry and Go to Login)Your store could not be worked out — usually a passing connection problemClick Retry. The red line gives the reason. If it keeps happening, sign out and in
"Authentication required" / "Please log in to access job scheduling"No session was foundSign in again with Go to Login
"Couldn't load the jobs: …" (banner, with Try again)The job list failed to read. Everything else on the page still worksClick Try again. The jobs on screen may be from an earlier read until it succeeds
"User has no organization assigned. Ask the store owner to add you to the store."Your account isn't attached to a storeThe owner adds you to the store
"Loading service requests..."Step 1 loadingWait
"No service requests" / "No service requests found for selected date range"No orders with service lines in the Order Date rangeMove Order Date From back (default is only 15 days). Check the order isn't a quote, Cancelled or Refunded, and has a service line
"Creating assignment..." (yellow placeholder)Right after dropping a service lineWait about 2 seconds
"Job created, but the order item could not be flagged as scheduled — it may still appear in Service Requests. Please refresh."The job was made but its service line wasn't marked as scheduled (rare)Click the Step 1 refresh icon. Don't drag the line again, or you'll get a second job
"Job not created" with the reasonA drop failedRead the reason and drag it again
"Job not created — That service line could not be read — refresh the panel and try again."The dragged line could not be matched to an order, usually because Step 1 is out of dateClick the Step 1 refresh icon and drag it again
"Click any day to select the entire week"Work Week picker footer—
"… already has "…" …–… that day. Schedule anyway?" ("This worker" when the name is unknown)Moving a job, or saving a changed worker, date, time or duration, onto a time that overlaps another Scheduled, In Progress or Rescheduled job of the same worker that dayOK saves anyway. Cancel puts the job back (or keeps the dialog open). Only jobs loaded for the current range are checked
"No jobs scheduled for the selected filters"Job List emptyClear filters and Quick search, or change the range
"Failed to update job: …"Moving, resizing or saving a job failedRead the reason. When it names a field — "Actual Start must be a time like 14:30, not …" — put that field right and save again. "Actual Start needs the job's date. Reopen the job and try again." means the job on screen is out of date
"Failed to save changes: …"Follows the message above when saving the dialogSame
"Failed to save changes: Scheduling conflict not confirmed"You clicked Cancel on the double-booking question while savingPick another time or worker, or save again and click OK
"This job is set not to be rescheduled" — "Turn Can Reschedule on to change the date." (red message)Saving the job details dialog changed the date, time or duration of a job whose Can Reschedule is off — including when it was switched off after you opened the page. Nothing in that save is keptThe dialog stays in edit mode, and Can Reschedule now shows off even if it read on when you opened the job. Turn it on (Overview tab) and save again, or put the date back
"Delete <service>?" with the customer and the day, then "The job comes off the calendar, with everything recorded on it." / "Its service line goes back to Unscheduled in Step 1…" / "This cannot be undone."Delete, in the job details dialog or on a Job List rowDelete job removes it; Keep the job changes nothing
"Failed to delete job: …"A delete from the job details dialog was refused or failedRead the reason. The dialog stays open and the job is still there
"Job not deleted" (red message)A delete from a Job List row was refused or failedSame reason text, and the row stays
"This job was not deleted. Deleting is limited to managers and the store owner, and it may also have been removed by someone else already. Reload the page to see what is there now."The store's records refused the delete, or the job had already goneAsk a manager or the owner to remove it — or reload, in case it is already gone
"Dispatch link not created" — "Organization not found. Please try again." (red message)Online Dispatch clicked before the page finished loadingWait a moment and click again
"Dispatch link not created" — "Unauthorized" / "No organization for this user" (red message)Creating the dispatch link failed — your session or store wasn't recognisedSign in again
"Dispatch link not created" — "Mint failed" / "Failed to create link" / "Failed to generate dispatch link" (or a server set-up message) (red message)Creating the dispatch link failed on our sideContact support
"Generating..."Online Dispatch creating the linkWait
"Please enter a valid phone number"Adding a one-off recipient with fewer than 10 digitsEnter the full number
"Please select at least one recipient with a valid phone number"Sending with no ticked recipient that has a 10-digit phone (normally the send button is disabled instead)Tick someone with a full phone number
"Messages Sent!" / "Some texts did not go out" / "Nothing was sent", "N sent, N failed", "Failed to send to …: …"Dispatch send result"Messages Sent!" only when every text went out; otherwise read the named lines
"Failed to send SMS"Red line on the dispatch result when the send failed without a reasonTry again; contact support if it repeats
"Messaging is not configured for your organization. Contact UpChannels support to set up texting." / "From number … is not owned by this account."Dispatch send: texting isn't fully set upAsk UpChannels to connect your texting number (the Contact Sales form on SMS Campaigns Setup)
"Failed to send dispatch SMS"Dispatch send failed unexpectedlyTry again; contact support if it repeats
"Upgrade required" — "Your plan does not include SMS. Upgrade to Pro or Premium to send messages." + UpgradeAny text from this page on the Basic planUpgrade opens Billing
"Upgrade required" — "Your subscription is inactive or your trial has expired. Update billing to send SMS." + UpgradeTexting with an inactive subscription or expired trialUpdate billing (Upgrade opens Billing)
"Upgrade required" — "No active subscription. Subscribe to Pro or Premium to send SMS." + UpgradeTexting with no subscriptionSubscribe (Upgrade opens Billing)
"Upgrade required" — "Monthly SMS limit reached (…/…). Upgrade your plan or wait for the next billing cycle to send more." + UpgradeThis month's texts are used up (Pro 500, Premium 2,000, plus any credits bought)Upgrade, buy more credits, or wait for the next billing cycle
"Message sent"Customer text from a job sent—
"Message not sent" + "This job has no customer phone number. Add one on the job, or text the customer from Customers."Job text where neither the job nor the linked customer record holds a numberAdd a phone on the job, or to the customer in Customers
"Message not sent" + "Business phone not configured" / "Messaging is not configured for your organization"Job text before the store's texting number is connectedSee SMS Campaigns Setup
"Failed to send message"Only when the browser could not reach the app at all — every refusal from the app itself names its own reasonCheck your connection and try again
"Couldn't add this customer to this conversation, so nothing was sent. Their number is still held by another conversation. Use 'Start a new conversation' on the customer to move them over."A job or route text where the customer's number is tied to a different conversation. Nothing was sentTick Start a new conversation (route text) or turn on its switch (job text) and send again. Their earlier messages stay in Messages. This is not a texting-setup problem
"This conversation can't reach the customer, so nothing was sent. Open their newest conversation, or use 'Start a new conversation' on the customer."The conversation no longer holds the customer, and the app could not tell why. Nothing was sentTry once more first — a brief problem at the texting service shows the same thing. If it repeats, tick Start a new conversation (route text) or turn on its switch (job text) and send again
"Couldn't close the current conversation with this customer, so nothing was sent. Try again." or "Couldn't start a new conversation with this customer, so nothing was sent. Try again."A job or route text with Start a new conversation on, where the texting service couldn't close the old conversation or open the new one. Nothing was sent and the old conversation is unchangedTry again, or turn the switch off
"Couldn't add this customer to the new conversation, so nothing was sent. The earlier conversation is closed and its messages stay in Messages. Try again."A job or route text with Start a new conversation on. The old conversation was closed, but the customer couldn't be added to the new one. Nothing was sentTry again with the switch on. The earlier messages stay in Messages
"Confirm SMS consent"Texting a customer who isn't opted inConfirm only if they agreed to texts
"Route sent" / "SMS sent successfully."Route text sent—
"Send failed" + reason (e.g. "This customer isn’t opted in to SMS.") or "Please try again."Route text failedFor an opted-out number, use another number; otherwise check texting setup
"Select a date first to get directions" / "Select a date first" / "No jobs found on selected date" / "Send route link via SMS" / "Open in Google Maps - …"Hover titles on Optimize Route and SMS RoutePick a day with jobs, inside the loaded week
"Showing N job(s) for … - No jobs scheduled for this date"Route day with no jobsPick another day, or move the week on Schedule Jobs / Job List first
"N locations (geocoding...)"Map looking up addressesWait
"Loading map..."Google Maps loadingWait, or reload
"Store Location"Store pin popup—
"No address"Map popup for a job with no addressAdd a Service Address in the job
"Dispatch List Error" / "Unable to load dispatch list. The link may be invalid or expired."Opening an expired or broken dispatch linkCreate a new link with Online Dispatch
"No Jobs Scheduled" / "There are no jobs scheduled for the selected date range."Dispatch link page with no jobs at all—
Who can use what
CapabilityWho
Open Scheduling & Dispatch; create jobs by dragging; move, resize, edit, complete jobs; print; create dispatch linksAny signed-in team member of the store who has Schedule in their sidebar menu. There's no owner, manager or staff check on these, and no plan tier or add-on for the page itself. The demo copy opens either way
Delete a job (in the job details dialog and on a Job List row)The owner, and anyone with the Manager role. Everyone else doesn't see the button, and the store's records are protected even if they reach it another way: the attempt is refused and says so. Staff can still edit and complete jobs
Team Management (Settings → Users)The button shows for everyone; the page it opens is for the owner or the store's only active member (people switched off or removed in Team don't count). Anyone else is sent to their Shortcuts page. Changing someone else there — their details, their Active switch or their Role — takes owner level (the Owner switch or the owner role); Create User, the Field Worker switch, pay rates, the employee code and a new password are for the Owner switch alone. Your own details you can always edit
Labour cost line in the job details dialogStores with Workforce on (Premium plan), for the owner and managers with See pay rates and dollar amounts. Hidden for everyone else
Customer SMS, Send Dispatch Link, SMS RouteStores on Pro or Premium (a free trial counts) with an active subscription, texts left this month, and a connected texting number. Customer SMS also needs a phone on the job or on the linked customer record
Delivery chips on the calendarStores with Delivery & Routes switched on (it's on unless the owner turns it off)
Being picked as a WorkerActive team members of the store (up to 100), plus field workers rostered today. Inactive people are hidden in the job's Worker list
Demo mode (/schedule/demo)
  • Open it: Demo (Play icon, amber) at the top right of Scheduling & Dispatch.
  • Header: "Scheduling & Dispatch — Demo" / "Sample schedule populated with demo data. All actions are disabled."
  • Banner: "Demo mode — schedule is populated with sample data. All actions are disabled." with Take a Tour, which restarts the tour from step 1.
  • Tour: starts by itself the first time you open the demo. Each step switches to its tab first; a step whose target isn't on screen is skipped.
  • Tour controls: dots and "N of 8"; Back (not on step 1); Skip ends the tour; Next / Got it! on the last step; clicking the dark backdrop ends it. Keys: → or Enter next, ← back, Esc ends.
  • Still works: the three tabs, Exit Demo Mode, Take a Tour and the tour controls.
  • Disabled: everything inside the tabs — Step 1 refresh, Order Date pickers and dragging, Print Dispatch, Online Dispatch, Work Week and Work Date pickers, ‹ › today, Quick search, all filters, clicking, dragging or resizing jobs, hover boxes, Job List rows and Delete, the route buttons and the map. No dialogs open.
  • Sample data: jobs for this Sunday–Saturday week matched to your industry, 4 sample workers (Marco Rivera, Sarah Chen, James Wilson, Ana Morales), 2 locations (Main Store, Warehouse), 3 sample service requests, addresses around Dallas–Fort Worth.
  • Leave: Exit Demo Mode (top right) returns to the live page.
#TabTour stepWhat it points at
1Schedule JobsView Tabs — "Switch between three views: Schedule Jobs shows the calendar with drag-and-drop scheduling, Job List lays every job out as a table, and Job Route plots locations on a map. This tour walks through each one."The tab bar
2Schedule JobsService Requests Panel — "Pending service orders from sales appear here. Drag an item onto the calendar to schedule it — that is how a job is booked from this panel."Step 1 panel
3Schedule JobsCalendar Filters — "Filter the calendar by worker, priority level, job status, or store location to focus on specific technicians or urgent jobs."Worker, Priority, Status and Location filters
4Schedule JobsCalendar View — "The main scheduling calendar. Drag a job to move it, click one to open its details, and drop a service request here to book a new job. A job whose Can Reschedule switch is off stays where it is."Step 2 calendar
5Job ListDispatch Actions — "Print a dispatch list, or generate a shareable online dispatch link your technicians can open in the field. Both cover the dates showing, not just one day."Print Dispatch List and Online Dispatch
6Job ListJob List — "Every assignment in one table — customer, service, technician, schedule, and status — in date and time order. The headings do not sort; the filters above narrow what it shows."The jobs table
7Job RouteRoute Toolbar — "Pick a work date, open the day’s route in Google Maps, and text that same map link straight to a chosen technician. Number the jobs with Sequence Number and the route follows your order."Work Date, Optimize Route, SMS Route
8Job RouteJob Route Map — "All of the day’s jobs plotted on a Google Map, color-coded by status with the store as the starting point — followed by the ordered route schedule below."The map area

Differences from the live page:

  • Header has only Exit Demo Mode (no Demo or Team Management).
  • Step 1 shows 3 sample orders regardless of Order Date. No delivery chips, no hover boxes, no job details dialog.
  • Job Route shows all of the week's sample jobs at once ("Showing N job(s) for the current week"), the Work Date is fixed to today, there's an extra "Send route to staff" picker beside SMS Route, the list below the map is headed "Route Schedule" (with dates, not clickable) and pins have no popups.
Common questions

How do I create a new job? Drag a service line from Step 1 (Service Requests) onto a day and time on the calendar. That's the only way — there's no "new job" button, and a job can't be made without an order that has a service line.

I dropped a job but nobody is assigned. How do I assign a worker? New jobs always start Unassigned. Click the job → Edit → Worker → pick the person → Save. The list shows the store's active team members; the owner turns a person active in Team Management, and adding someone new is the owner's too.

I renamed a job. Where does the new name show? Everywhere. Service Name in the job details dialog is the job's own name, and every screen shows it: the dialog, the calendar and its hover box, the Job List, the map popup, the printout, the dispatch link and the dashboard's Recent Activity. Clear the field and the catalog service's name comes back. Renaming a job never touches the service in your catalog, so other jobs of that service keep their own names.

Why isn't my order in the Service Requests panel? The panel only shows orders created in the Order Date range, which starts at the last 15 days and resets whenever you come back to the tab. Move From back. Quotes, Cancelled and Refunded orders never show, and only service lines appear. A quote's services arrive here as soon as you accept the quote and it becomes a sale.

Can I print or send just one worker's jobs? The printout and the dispatch link always include every job in the range (except cancelled and no-show jobs), whatever the filters say. To send one worker their day, go to Job Route, pick the day, choose the worker in the Worker filter, then SMS Route (or Optimize Route to open it yourself).

Does completing a job keep my other changes? Yes. One save is one change: the completion details and everything else you edited — worker, dates, priority, address, warranty, quality, Total Cost, resolution notes — are saved together, or, if the save is refused, none of them is. Details you didn't touch keep the values they already had, so notes, ratings and follow-up typed earlier stay. Reopen the job and every one of them is there.

How do I record when the work actually started and finished? Open the job, click Edit, and fill in Actual Start and Actual End on the Timing tab as clock times (for example 14:30 and 16:45). They belong to the job's own Date and are read in your store's time zone, so a job at 2 pm is 2 pm where the work happens. An end earlier than the start is taken as the next morning, and moving the job to another day carries the times with it. The Services Report's on-time figure is worked out from completed jobs that have an Actual Start; with none recorded it reads 0.0%. Clear a field and save to take the time off again — the save that completes the job can do it too, and a time you do not touch is left exactly as it was.

Why is the Job Route map empty, or a job missing from it? Job Route only shows jobs on the chosen Work Date, and only if that day is inside the week loaded on Schedule Jobs or Job List — move the week there first, then pick the day. A job with no Service Address, or with one Google can't find, gets no pin at all: look for it in the amber note under the map and fix its Service Address in its details dialog.

Why does the dispatch link show "Technician" and some letters instead of a name? The shared dispatch page names the person each job is assigned to. It falls back to "Technician" plus the last 4 characters of their account only when that person is no longer in your team list. Reassign the job and send a new link.