Landscapt (CRM)

Jobs & Packages

The six job types, how a job's status differs from a visit's status, and how a Package template turns into a billed job.

The six job types

Every job in Landscapt's crm_jobs table is exactly one job_type:

TypeWhat it's forHow it's created
RecurringA repeating service on a schedule — mowing every week, fertilizer every 5 weeks. Generates a visit for each occurrence, through an optional End Date.Convert Estimate to Job, or Jobs → Add Job
One TimeA single visit, no recurrence.Convert Estimate to Job, or Jobs → Add Job
ProjectA one-off landscaping job tracked separately from recurring service — the Landscapt equivalent of a cost-tracking bucket, for a job like a patio install or a large cleanup.Convert Estimate to Job, or Jobs → Add Job
Waiting ListNo fixed date — only a date range. Surfaces on the Waiting List page for opportunistic dispatch when a crew is nearby.Convert Estimate to Job, or Jobs → Add Job
PackageA bundled recurring service program (e.g. a 7-Step Fertilizer plan) billed as one fixed monthly amount.Convert Estimate to Job (for packages added to the estimate), or Jobs → Add Job
SnowStorm-based scheduling and service entry — snow/ice events rather than calendar dates.Jobs → Add Job only — not converted from an estimate

Dispatch Board, Waiting List, and Snow Jobs each get their own deep-dive guide — this page covers job types broadly, and goes deep on Packages and Projects specifically. See See also below for the others.

Creating a job

Two paths onto the schedule:

  • Convert to Job — from an accepted estimate, pick a Job Type of One Time, Recurring, Project, or Waiting List. The estimate's services, quantities, pricing (net of any discounts), and crew size carry over onto the job. See the Estimating guide for the full walkthrough.
  • Jobs → Add Job — the direct path for any type. The dialog opens with a Job Type selector (One Time, Recurring, Package, Project, Waiting List, or Snow, as available to your org); switching type swaps in that type's own fields. A Snow job can only be created here. A Package job can be created here, or by converting an estimate that has the package on it (see below).

The client picker in Add Job is searchable — type part of a name or an account number to find the account. It has its own full-width row at the top of the dialog. Once a client is picked, the Service Address picker spells out the actual address for each choice (the client's main address, or each property), and a Service address line under it shows where the crew will be sent, noting when it fell back to the client's billing address. Only clients appear in the picker:

Leads can't have jobs. Leads and lost leads are left out of the picker, and the system refuses to create a job for one no matter where the request comes from (in-app, API, Zapier, or an import) — you'll get an error telling you to convert the lead first. Open the lead, click Convert to Client, confirm, and then create the job. See the Clients guide for what conversion does.

What each type asks for in Add Job:

  • Recurring — a service, a schedule, a Start Date, and an optional End Date (the season end). When a schedule and start date are set, the visits are generated automatically the moment the job is created — no separate step. Later, Generate Visits on the job fills in anything missing through the End Date (or through the end of the year when no End Date is set), up to 60 visits per run; a job whose End Date has already passed generates nothing. If nothing could be generated (for example the schedule can't be read, the start date is past the end or the horizon, or the client or contract is inactive), the button says so instead of reporting that everything is up to date.
  • Schedules need to be set up first. A recurring job's schedule is picked from the templates under Settings → Schedules. If your company has none yet, the dialog shows a text box that only accepts wording the system can read (“Weekly Monday”, “Bi-weekly Thursday even”, “Every 3 weeks Tuesday”); anything else is refused with a pointer to Settings → Schedules, because it would save a job that never gets visits.
  • Package — pick the package program and a Start Date. Each step's date window and rate are seeded from the package template (rates default from the package or the service's own pricing). Changing the Start Date shifts every step window by the same number of days, so a program that starts two weeks late re-anchors as a whole instead of leaving its steps on the template dates. A package whose dates are from an earlier season starts today instead (every step keeps its spacing), and the dialog tells you so. A step with Visits Included above 1 adds that many rows, one per visit, each at the step's rate. The dialog shows the billing summary as Monthly $X · Total $Y — the total is the sum of the step rates, spread evenly over the months the program covers.
  • Snow — service, days authorized, inch trigger, invoice type, and rate. Picking a service fills in its default rate only while the rate is still blank; a rate you've already typed is never overwritten by choosing a service afterward. The invoice type controls the Services table: Per Event, Per Inch and Per Push take one service and price from the depth ranges (the service Rate shows Not used), Hourly takes one service whose Rate is the hourly rate, Monthly Flat Rate bills only through a contract you must choose, and Per Event sums any number of services. Make one snow job per service.
  • One Time, Project, Waiting List — a service line (or several), date or date range, crew, and team size.

The Team / Men count entered in the dialog lands on the job's visits, so the Dispatch Board's Men column shows the right headcount from the first visit.

Where a job's value comes from

A job's dollar value is the sum of its included service lines. That one number is what the Dispatch Board's AMT column, the visit detail sheet's costing, and the Jobs card on the client record all show — so re-pricing a service line on the job updates every one of those places at once, and the three can no longer drift apart.

Removing a service from a job also removes that service's upcoming visits (scheduled or dispatched, not yet started). Completed visits stay, since they're already invoiced.

Job notes

A job has two notes, both on the job's Notes tab and on the Overview: Notes to Crew / Job Notes (instructions the crew reads on the stop) and Internal Notes (office only). Both are rich text, so you can use bold, italic, underline, bulleted and numbered lists, and left, center or right alignment. Use a list for equipment and a numbered list for steps and the crew sees the same layout on their phone.

Formatting shows wherever notes are read in full: the job, the visit sheet banner and the crew app's Job Notes. Anywhere a note has to fit in one line or in plain text, the formatting is dropped and the words are kept: board cells and exports, the waiting list, printed route sheets, and push notifications. Notes you type directly on a visit (Notes to Crew on the visit sheet) are plain text.

Changing a job's crew note resets the crew's "I've read this" acknowledgment, so they have to read it again before they can clock in.

Editing the crew note updates upcoming visits. Each generated visit carries a copy of the job's crew note. When you change the note on the job, the upcoming visits (scheduled or dispatched, not yet started) that still hold the unchanged copy get the new text, so a new gate code reaches the crew on the next stop. A note someone typed on one particular visit is left alone.

Changing the job's crew moves its upcoming visits. Upcoming visits (today onward, not started, completed, skipped or cancelled) that follow the job's crew — ones with no crew of their own or still on the job's old crew — move to the new crew. A visit you moved to a different crew on the Dispatch Board, a visit pinned to “no crew”, and multi-crew stops keep their crews.

Per-service notes. Each service on a job can carry its own crew note, invoice description and internal note (they come over from the estimate line's Notes, or are set on the service). In Add Job, each service line has a Service notes & invoice description section you can expand; on an existing job, edit the service on its Services tab to change all three. A visit for one service shows the job note followed by that service's note; a single visit that does the whole job shows the job note followed by every service's note, so a "use black mulch" line note reaches the crew however the job is scheduled (Add Job, Convert, Waiting List dispatch, Nearby or Add Visit). Editing the job note or a service note updates upcoming visits the same way as above. The service's invoice description is used on that service's invoice line by every invoice button and by auto-invoicing; the job's Invoice Description fills in for services without one. The internal note is office-only: crew logins can't read it, in the app or otherwise.

Adding a visit by hand. On the job's Visits tab, Add Visit lets you pick a crew or choose Unassigned, which pins that visit to no crew instead of falling back to the job's crew. The date defaults to your organization's today.

The Job Costing tab

The Job Costing tab compares what a job was expected to take with what it actually took. Its figures come from the same visit data the Job Costing and COGS reports use, so the tab and the reports agree. Only visits that were worked (completed or in progress) count as actuals. Revenue is the pre-tax amount, so sales tax never inflates profit. Materials include products the crew recorded as used on the job (at their unit cost) as well as materials added on the Costs tab, and the estimated cost includes the estimate's equipment and sub-item costs.

  • Labor Hours — man-hours from the worked visits (people × time, net of breaks), compared with the estimate's budgeted hours.
  • Labor Cost — the crew's real punch cost when they clocked in and out. Visits finished without punches are costed as hours × the crew's average labor rate, and the row says so ("hours × crew avg rate"). "No labor rate configured" means no rate is set up for the crew, so cost shows as $0 rather than a guess. Add labor rates to see it.
  • Labor Hours vs. Schedule — appears when the hours on the job's visits (what the Dispatch Board shows) differ from the estimate, for example an estimate of 20 hours that was later scheduled as 18. You see both numbers and the variance against each.
  • Jobs with no estimate (recurring and one-time jobs created directly) use the worked visits' own budget and revenue as the comparison, and the summary card reads "from worked visits".

The revenue card on the Overview also summarizes visits: completed out of total with a progress bar, counts for in progress, upcoming, overdue, skipped and cancelled, and the next and last-done dates. Click it to open the Visits tab.

On a stop worked by two crews, revenue is counted once (on the lead crew's visit) while the job's hours and labor cost add up both crews, and the budgeted hours are split evenly between them.

Finding jobs on the Jobs list

The Jobs list has three tabs — Active, Unscheduled, and Completed. The Active tab's From / To date range applies to every job, keyed on the job's next pending visit: a job whose next visit falls outside the window isn't listed, including overdue jobs whose next visit is already in the past. The filter means exactly what it shows.

To see overdue work, widen From back past the oldest date you care about. Earlier versions let overdue jobs bypass the window, which made the default 30-day range look broken (March jobs showing up under a September window) — that carve-out is gone.

Job status vs. visit status

These are two separate state machines, tracked at two different levels, and it's easy to conflate them:

  • Job status — one value on the job itself: scheduled, in_progress, completed, cancelled, skipped, or hold. This reflects the job as a whole — is it still active, done, or paused.
  • Visit status — every individual scheduled occurrence of a job (each time a crew is sent out) has its own status: scheduled, dispatched, in_progress, completed, cancelled, or skipped. A recurring job with a season's worth of visits has one row per visit, each cycling through this list independently.
Worked example. A recurring mowing job runs weekly, April through October — 28 visits. The job is created once with status scheduled, flips to in_progress after the first visit goes out, and stays in_progress for the whole season — it doesn't become "completed" until the last visit is done or the job is closed out. Meanwhile visit #14, say, moves on its own from scheduled → dispatched (crew assigned) → in_progress (crew on site) → completed, while visit #15 next week is still sitting at scheduled. A single skipped or cancelled visit doesn't change the job's status — the job only reflects its own state, not a rollup of every visit.

A job in the hold job status pauses future scheduling on that job without cancelling it outright — the CRM Client record itself has a related but separate on_hold value in its own status field, which is about the client relationship, not any one job.

Equipment to bring

Open a job (from the Jobs list, or from a visit on the Dispatch Board) and scroll to Equipment to bring to list what the crew needs on this job — the truck, the trailer, the mower, an aerator. Click Add equipment… and search by name, asset tag, type, make, or model; results are grouped as trucks and vehicles, trailers, and other equipment, with each item's photo. The list stays open so you can add several items in a row, and the × on a chip removes one.

The items come straight from Equipt — vehicles from the Vehicles registry and everything else from Assets — so the truck a crew is told to bring is the same record maintenance tracks. Retired (disposed or sold) equipment isn't offered.

The list rolls up on the Dispatch Board's Crew Board: if a crew is running jobs that need equipment that isn't loaded on it for the day, the board flags it and lets you load it in one click.

Packages, in detail

CRM > Settings > Packages bundles a set of recurring services under one named program — e.g. a "7-Step Fertilizer" plan. A package has a name, an internal code, a description, client-facing wording for how it appears on an estimate, separate wording for how its visits appear on invoices, and a visits_per_season count. The invoice wording is copied onto each package job you create and is what the visit's invoice line says; the estimate wording is the client-facing text for the package when you add it to an estimate (a visit's own invoice description still wins over it on invoices).

The package's Services tab is where each visit in the program is defined, one row per visit. Per visit you set:

  • Which service it uses (e.g. "Fert Application 1"), and an optional display name distinct from the service (e.g. "Visit 1")
  • A date window (start/end) the visit should land inside
  • Minimum days (Min Days) that must elapse between it and the step before it in the sequence
  • Default budgeted hours and a default rate, used to seed the job once a client signs up
  • Visits Included — how many visits the step is. A step with 3 becomes 3 separate visits on the job, each billed at the step's rate. They are spaced Min Days apart when the step sets Min Days, otherwise evenly across the step's date window (or a week apart when it has no end date).
Worked example — "Gold Maintenance," three bundled services. The template defines three rows on the Services tab: Mowing (Visits Included 26, Min Days 7, so 26 weekly visits), Spring Cleanup (one visit, dated window in March–April), and Fall Cleanup (one visit, dated window in October–November) — each with its own default budgeted hours and rate. None of that is a dollar amount a client is billed; it's a cadence and cost template. Only once a client actually signs up does a real package-type job get created from the template, and that job — not the package — is where the fixed monthly billing amount, any discount, and its renewal (see below) actually live. Two different clients signed up to the same "Gold Maintenance" package can end up on different monthly amounts; the package template only guarantees they get the same services on the same cadence.

Packages on estimates. On an estimate, Add Package puts a package's services on the line-item grid, one line per package service, under a section header named after the package. Each line keeps the package's visit count and its per-visit price. When the client accepts, Convert to Job creates a real Package job from those lines: the package, its total steps, each step's date window with the Min Days spacing, the package's invoice description, and one visit per dated step. The convert window's Scheduled Date becomes a Program Start Date that moves every step window by the same number of days. Convert one package at a time, and not together with ordinary lines. A package service with more than one included visit becomes that many steps on the job, one visit each, each billed at the per-visit share of the line. Convert refuses a line that no longer matches a step of the package (the package was edited after the estimate was built), since that visit would never be scheduled or billed. An estimate whose package was later deleted still converts against the package's steps.

Until a package job's recurring dates are actually set, it behaves like a Waiting List job — no fixed date, only a range — and surfaces on the Waiting List page the same way. Each step also has a placeholder visit (created at signup so the step has a date and crew), but a step that hasn't been dispatched yet is only on the Waiting List — it doesn't show on the Dispatch Board, Crew Board or calendar. Nothing dispatches a package step automatically: click Dispatch on the step on the Waiting List (or use Nearby Waiting List on the board), and it moves to the Dispatch Board on the day and crew you choose. A dispatched step that didn't happen (rained out, say) can go back: select it on the Dispatch Board and choose Return to Waiting List. Its visit becomes the step's undispatched placeholder again and the step is listed on the Waiting List, where Dispatch defaults to the placeholder's date (or today, if that has passed). Later steps are re-spaced when it is completed. Deleting a step's visit (the client opted out of that application) is permanent — the step isn't re-created.

Min Days is enforced, not just suggested. Once a package job's visits exist, any manual reschedule — Move to Day, dragging on the Dispatch Board, editing the date on the job, or a bulk move — is checked against the spacing rules. Moving Step 2 to within 14 days of Step 1 on a program that requires 14 is refused with a message like "Step 2 must be at least 14 days after Step 1 (earliest 5/15)", and the visit stays where it was. Moving an earlier step so that a later step ends up too close is blocked the same way, with the message telling you which step to move first. Steps with no Min Days set can be moved freely. When the spacing doesn't apply (the client asked for an early visit, say), the move, the Waiting List dispatch and Nearby Waiting List each ask you to confirm instead — Move anyway / Dispatch anyway — and then go ahead. Anyone who can schedule visits can confirm.

The Package Summary Report tracks progress per package job by counting visits, not jobs: Total Visits is every visit on the job (cancelled ones included), Completed and Cancelled are counted by visit status, and Remaining is Total − Completed − Cancelled — so a cancelled visit reduces what is left to deliver rather than sitting in Remaining forever. Earned revenue is completed visits × the per-visit amount; Pending is the job total minus Earned, which means a package job with no visits generated yet shows as entirely Pending.

Renewing a package for next season

A package job covers one season. When the client signs up again, Renew for next season creates next season's job from last season's instead of building it again with Add Job. Open the package job, click More (…), and choose Renew for next season. The window shows the season it renews from and to, every step with its new date and rate, and the program total. Click Renew for (year) and the new job opens.

The new job is for the same client and property, with the same package, services, rates, quantities, budgets, team size, Min Days and taxable setting, the same crew and sales rep, and the same crew notes, office notes and invoice description, including each service's own crew note, invoice description and internal note. Each service's crew checklist (its sub-items) comes along, and so do planned job materials that were never recorded on a visit, and each step visit gets its own pending materials from those sub-items, the same as on a new job. By default every step date is last season's date on this job moved forward one year (Feb 29 becomes Feb 28), so anything you changed for this client carries over. Tick Use the package's current dates (or Use each package's current dates in Renew Packages) to take each step's window from Settings → Packages instead, moved to the new season — it doesn't matter whether you've updated the package's dates for the new year yet. A step with Visits Included above 1 is spread over its window the same way Add Job spreads it, so each of its visits gets its own date in order. The job's own steps and rates are kept either way: a step the package doesn't have keeps last season's date, a step the package has but the job doesn't is not added (the window lists both), and a package with no step dates keeps last season's dates. Min Days spacing is applied in both cases. Visits are then created exactly as Add Job creates them for a package, one per dated step. The new job's Sale Type is Renewal (for commissions), its Date Sold is today, and it fires the Package renewed automation trigger — not Job created or Package created, so a renewing client doesn't get your new-customer sequence. Build a sequence on Package renewed (optionally for specific packages) for a thank-you-for-renewing message. Last season's job is not changed.

Which season it renews into. Dates move forward as many years as it takes to land on a season that hasn't started yet. A season already under way is used only while most of it is still ahead (a late sign-up in spring renews into this season); once it is past its midpoint, the renewal goes to next season instead. If some steps still land before today, the window (and each Renew Packages row) says how many, so you can move them on the new job.

Renewing many at once. On the Jobs list, click Renew Packages. Pick the season to renew from and every package job from that season is listed with its renewal state. The ones not yet renewed, and not marked Don't renew, are ticked — except cancelled jobs and clients who cancelled or were lost, which are listed but left unticked (tick them by hand to renew anyway). Untick any you want to leave out and click Renew. Several are renewed at once (one client's jobs in order), the button counts progress, and each row shows the new job or why it was skipped. Keep the window open until it finishes — the browser warns you if you try to leave mid-run.

What stops a double renewal. A package job can have only one live renewal — renewing it a second time, from anywhere, is refused with the existing renewal's number. If the client already has the same package at the same property for the new season (say it was added with Add Job), you are warned and have to tick Renew anyway; Renew Packages skips those. Deleting the renewal lets the old job be renewed again.

Contracts. A renewal stays linked to last season's contract only if that contract is still active and covers the whole renewed program, from its first step to its last — a contract-linked package is billed inside the contract and gets no invoices of its own, so a contract ending mid-season would leave the later steps billed nowhere. Otherwise the window says so and the renewal is not linked, which means it bills on its own on the client's invoice frequency — link the renewed contract on the new job if it should bill under one.

Raising prices. Rates are copied as they were unless you fill in Raise rates by __ % (both renew windows) and pick a rounding — exact cent, nearest $0.25, $1 or $5. Every step's rate on the new job goes up by that percent, rounded the same way as a Price Adjustment run; a $0 step stays $0. The single-job window shows each step's old and new rate and the new total. Last season's job is not changed.

Clients who aren't coming back. On the job, More (…) → Mark as not renewing (or Don't renew on its Renew Packages row). Renew Packages leaves it unticked and the report shows it as Don't renew; Renew as usual undoes it. The job header shows Renewal of #… and Renewed as #… links between the seasons.

The Custom Package Renewal Report (Report Center → Service Reports) lists every package job with its season and a Renewal column — Renewed (with the new job's number and season), Not renewed, or Don't renew. Filter by Season and Renewal for a renewal to-do list.

Projects (Landscapt vs. Equipt/PO)

CRM > Scheduling > Projects tracks one-off landscaping jobs — a patio install, a large cleanup — separately from recurring service, for job-level cost tracking and reporting. This is the same project job type described in the table above.

Same name, different table. The Equipt/PO module also has a "Projects" concept — the cost-tracking bucket that Purchase Order line items (categories project_material and stocked_material) get assigned to for procurement-side reporting. These are related in spirit — both exist to answer "what did this job cost" — but they are not the same table, the same record, or automatically linked. A Landscapt project job and an Equipt/PO project are two separate things that happen to share a name.

Setting up a recurring job, step by step

"Recurring schedule" can mean two different things. For recurring client service (weekly mowing, bi-weekly maintenance) in Landscapt, follow these steps. For recurring equipment maintenance in Equipt, see the Preventive Maintenance Schedules guide instead (CMMS > PM Schedules).

  1. Create the schedule template (once). In the sidebar, under Administration, click Schedules, then Add Schedule. Give it a name, a frequency, a day of the week and, if the service is seasonal, a season window. Skip this step if the schedule you need already exists. If the Schedule dropdown on the job is a plain text box, no schedules exist yet.
  2. Add the job. Go to Jobs → Add Job, pick the client, and set the Job Type to Recurring.
  3. Fill in the recurring fields. Choose the service, pick your template in the Schedule dropdown, set Start Recurring, and optionally an End Date. With no End Date, visits are generated through the end of the year.
  4. Check the preview, then save. The Upcoming Dates panel shows the dates the schedule will produce. When you save, the visits are created automatically and appear on the Dispatch Board (CRM > Scheduling > Dispatch Board).

To drop a single date, such as a holiday, use Skip Dates, described below.

Schedule templates

The Schedule dropdown on a recurring job is fed by the Schedules page: in the Landscapt sidebar, under Administration, click Schedules (CRM > Schedules). It is its own sidebar item, not a tab inside the Settings page, so look for it in the sidebar list. Click Add Schedule to create one. Each schedule is a reusable pattern: a name, a frequency (Weekly, Bi-Weekly, Every 3 or 4 Weeks, Monthly, or Custom dates), a day of the week, and an optional season window. The Upcoming Dates panel in the dialog previews the dates it will produce, and those are the same dates the visit generator uses. Managing schedules needs the Scheduling Settings permission (admins always have it); without it the Schedules page and sidebar item are hidden, and schedules can't be edited, switched off or deleted. Anyone who can add jobs can still create a new schedule from a job's Recurring Schedule picker.

Every-other-week, every-3-weeks and every-4-weeks schedules run per job. Unless a bi-weekly schedule is set to Even or Odd weeks with an anchor, each job on one of these schedules counts its own cycle from its Start Recurring date — two jobs on “Every 3 Weeks Tuesday” can land on different Tuesdays. The Upcoming Dates preview then shows one example cycle and says so.

  • Skip Dates. To drop a single date from a recurring schedule — say a holiday Monday on a weekly Monday run — use the Skip Dates calendar in the dialog. Dates the schedule lands on show in green; click one to skip it (it turns red and struck through) and click again to restore it. On a per-job schedule (every other week, every 3 or 4 weeks) every in-season day on the schedule's weekday can be skipped: the example cycle's dates are filled in green and the other weeks are outlined, because some job on the schedule may land on them. Skipped dates are left out of the preview and out of newly generated visits. Visits already created for a date you later skip are removed only if you choose to update visits when you save (see below); otherwise cancel those on the Dispatch Board.
  • Custom dates. Choose the Custom dates frequency to pick the exact service dates from a month calendar — click a day to add it, click it again to remove it, and use the arrows to move between months. Custom schedules ignore the day of week and season window, and need at least one date.
  • Season window. Season Start and Season End each have a Clear link, so you can go back to year-round after setting one.
  • Rescheduling existing visits. After you save a change to a schedule's day, frequency, week pattern, season, custom dates or skip dates (holidays), the app compares each job's upcoming visits with the new rules. Visits on dates the new rules still include are kept exactly as they are — crew, time, notes, priority and multi-crew setup included. If some visits fall on dates the new rules drop, you're asked "Remove N upcoming visits the new schedule drops?" Update visits removes those (only untouched ones: scheduled, not dispatched, not clocked in, not invoiced and not dragged to another day by hand) and adds visits for the new dates. If nothing needs removing, the new dates are simply added. In-progress, completed, dispatched and hand-moved visits are never removed. Choose Keep existing visits to leave them; new visits still follow the new schedule. Editing one job's schedule, start date or end date on its Job Detail works the same way.
  • Names are unique, and Active means active. Two live schedules can't share a name (case doesn't matter) — creating, renaming or importing one that clashes is refused with a message, and a duplicate row in a CSV import is skipped. Switching a schedule off stops any new visits being generated for the jobs on it (including the per-job Generate Visits button); visits that already exist are kept. Renaming a schedule carries every job on it along, so they keep their cadence. A schedule that active jobs still use can't be deleted: the Delete dialog shows how many jobs use it — move them to another schedule first, or switch the schedule off instead.
  • Removing one weekday's visits. On a job's Visits tab, Remove day… removes that job's upcoming (today onward) visits on one weekday that haven't been dispatched or started. It doesn't change the schedule: if the job's schedule still includes that weekday, new visits on it come back as the schedule rolls forward, so change the job's schedule to stop them for good.

See also

  • Dispatch Board — the daily scheduling view (list and calendar) where visits get assigned to crews, plus the Crew Board for crew, equipment, and job assignments
  • Waiting List — the opportunistic-dispatch queue for waiting_list jobs (and unscheduled package jobs)
  • Snow Jobs — storm-based scheduling for the snow job type

Good to know

  • Complete waits for open visits. The job's Complete button refuses while the job still has scheduled, dispatched or in-progress visits, and says how many. Complete, skip or cancel them on the Visits tab first; each completed visit invoices itself, so the job isn't billed for work not done or billed twice.
  • Inactive and lost clients get no new visits. Recurring and package visits stop being generated for a client marked Inactive, Lost or Cancelled (and for deleted clients). Reactivating the client resumes generation on the next run.
  • Visits the crew is working are locked. While a crew is clocked in to a visit you can't move, re-crew, cancel, skip or delete it. A visit the crew skipped after starting can be rescheduled or reopened.
  • Note All Visits. Save to All adds the note to every scheduled visit and tells you if any couldn't be updated.
  • Escape closes the job panel safely. Pressing Escape inside a dialog on the job (a confirmation, Send Email) closes only that dialog, not the whole job panel.

More in Landscapt (CRM)

Clients, Properties & Leads
Client accounts, commercial hierarchies, service properties, and the activity timeline that ties it all together.
Estimates & the Budget Engine
How an estimate is built, how its numbers are actually calculated, and how it becomes a job.
Services & Pricing
The service catalog, bulk catalog price changes, and Price Adjustment runs — which prices seed new work and which ones actually bill.
The Dispatch Board
The daily scheduling screen crews and dispatchers live in — visits, crews, status, and how actual hours get calculated.
The Crew App
What a crew sees on their phone — the day's stops, clocking on and off, breaks, photos, and sending work back to the office.
Sales Meetings
Booking appointments per sales rep, the double-booking warning, and the split between a rep's direct reminder and the client-facing automation trigger.
The Waiting List
Jobs with a date range instead of a date, held for opportunistic scheduling — and how to actually get them dispatched.
Snow Jobs & Storm Dispatch
Storm events, priority dispatch, and the invoicing flow built specifically for snow.
Invoicing & Payments
How an invoice is born, how its status moves, and where the client's own PO number actually goes.
Contracts
Ongoing billing agreements — monthly amounts, seasonal overrides, sub-properties, and how signing and invoicing actually work.
Communication Automations
How sequences, triggers, and events work — and how Automations differ from Sales Campaigns.
Forms & Lead Capture
Building, publishing, and sharing public forms — and what happens to a submission once it lands.
Document & Email Templates
Building the reusable emails and text messages that go out with invoices, estimates, campaigns and automations — blocks, merge tags, buttons, previews and test sends.
Tickets
Support and service tickets — where they come from, how they're worked, and how they connect to the rest of a client's record.
Damage Cases
Tracking property damage and warranty claims tied to a job — what a case captures, how cost rolls up, and a real current limitation in how it connects to a client record.
Warranties
Tracking the warranties you give on walls, walkways, patios and renovations — when each starts and ends, how claims tie back to it, and expiry reminders.
Commissions
Paying sales reps a percentage of what they sell — plans and rules by service and sale type, how earnings are calculated, and locking a quarter into a statement.
Injury & Near-Miss Cases
Reporting injuries, illnesses and near misses from the field, following them up in the office, tracking self-paid costs, supervisor alerts, and the Accident Free Workdays KPI.
Job Photos
Field photo documentation, annotation, and before/after comparisons — attached to a job site, not a person.
Online Payments & Stripe
How a client actually pays an invoice online, how Stripe Connect keeps every org's money in their own account, and how the platform takes zero cut.
Browse all guides
© 2026 Landscapt. All rights reserved.