The Waiting List
Jobs with a date range instead of a date, held for opportunistic scheduling — and how to actually get them dispatched.
On this page
What the Waiting List is
Landscapt → Scheduling → Waiting List holds jobs that don't have a firm date yet — only a date range, like "From May 1" or "May 1 – May 15." Two job types end up here: jobs created with type Waiting List, and Package jobs whose next visit hasn't been given a real date yet (more on that below).
It exists for the case where you know a client needs service sometime in a window, but don't want to commit a crew to a specific day until you have a reason to — usually because a crew has an opening nearby and it makes sense to fill it opportunistically rather than run an extra trip later.
How a job lands here
A job qualifies for the Waiting List page if its job_type is waiting_list or package, it isn't soft-deleted, and its date window overlaps whatever range you've got selected (jobs with no date set at all are always included, on either type). Two things keep the list honest as jobs move through dispatch:
- A Waiting List-type job drops off the page the moment it has an active (non-deleted) visit — once it's dispatched, it's not waiting anymore, so it won't double up between here and the Dispatch Board.
- A Package job's services are often bulk-generated for the whole season up front — one placeholder visit per service, sitting in a plain
scheduledstatus, sometimes with a crew already pre-assigned. That placeholder state doesn't count as "handled" — only a visit that has moved past it (actually dispatched, worked, or resolved) gets filtered out. So a package can keep resurfacing on this page, one service at a time, all season.
Filtering and columns
The Date Window bar at the top (defaults to today through 30 days out) is the primary filter — it's a server-side query, not a client-side narrow, so it also controls which jobs get fetched in the first place. Below that, Select a Filter lets you narrow the fetched set by one field at a time: Client, Service, City, Zip, or Crew. A separate free-text Search box matches client name or service name independent of that filter.
| Column | Shows |
|---|---|
| Client | Client name (linked to the client record) and service address, if set. |
| Service | Service name(s) on the job, or the individual service for a package visit row. |
| Date Range | The job's (or, for a package, that visit's) window — "From X," "X – Y," or "Any time" if unset. |
| City / Zip | Service address city and zip — also the two fields usable for location filtering. |
| Crew | Pre-assigned crew, if any, or "Unassigned." |
| Rate | The job's flat rate, or the service's own rate for a package visit row. |
A package job with more than one active service — or any waiting-list job carrying more than one service — is expanded into one row per service rather than one row for the whole job. That's what lets you dispatch "Mulch" to one crew this week and hold "Spring Clean-up" for another opening, instead of both going out together on whatever date you pick.
Dispatching
Every row has its own Schedule button, and the dark actions bar has an Actions → Dispatch Selected… option for whatever you've checked. Both open the same dialog — pick a Date and, optionally, a Crew, then confirm. Dispatching:
- Creates a real visit for the job (or, for a package row, for that specific service).
- Assigns the crew you picked, or leaves it unassigned if you skip that field — either way the job now has a firm date and behaves like any other scheduled visit on the Dispatch Board.
- Removes it from this page on the next refresh — a waiting-list job because it now has an active visit, a package service because its visit has moved past the placeholder state.
A day in the life
A crew wraps up a job in the 44057 zip code an hour ahead of schedule. Rather than send them back to the shop, the dispatcher opens the Waiting List:
- Clicks the Zip filter under "Select a Filter" and types
44057. Three jobs come back — a one-time mulch job, a waiting-list mowing job, and one service off a fertilizer package. - Checks each row's Date Range and Rate columns. The mulch job's window doesn't open until next week — too early. The package service and the mowing job are both eligible today; the mowing job pays more for less time on site.
- Clicks Schedule on the mowing job's row, sets the date to today, assigns the crew that's already in the area, and confirms.
- The job now has a real visit and shows up on today's Dispatch Board like any other stop — the crew heads there next instead of driving back empty.
Location matching, and its limits
On this page, "find something nearby" means filtering by City or Zip — there's no map or live proximity check built into the list itself, just text matching against those two fields. It's fast and it works, but only as well as the address data behind it.
The Dispatch Board has a separate, more literal proximity tool — a Nearby Waiting List button that geocodes today's scheduled visits and every waiting-list job, then returns matches within a set radius (3 miles by default) using actual distance, not just matching text fields. It's a different feature living on a different page — see the Dispatch Board guide below — but it's the closer equivalent to true geofencing if City/Zip filtering here isn't narrowing things down enough.
See also
- Estimating guide — converting an estimate to a job can set its Job Type to Waiting List directly, skipping a separate step to move it here.
- Dispatch Board guide — once a waiting-list job or package visit is dispatched from this page, it behaves like any other scheduled visit there, including the radius-based Nearby Waiting List lookup described above.