Landscapt (CRM)

Snow Jobs & Storm Dispatch

Storm events, priority dispatch, and the invoicing flow built specifically for snow.

Storm events, not visits

Snow Jobs lives at CRM > Scheduling > Snow Jobs, and everything on that board is organized around a Storm Event — not individual visits. Instead of scheduling each client's plow separately, you create one event for the storm itself, add every client who needs service during it, and dispatch them together in priority order.

A storm event tracks a name, a date, an optional forecast depth, and an optional temperature. It also carries its own status — Pending → Working → Complete — which reflects the storm's actual life cycle: not yet touched, actively being dispatched and pushed, or wrapped up.

Creating a storm event

  1. From the Snow Jobs board, click + New Storm Event.
  2. The name defaults to Snow Event plus today's date — rename it if you want something more specific (e.g. "Feb 3 Nor'easter").
  3. Set the event date. Optionally set a forecast depth (inches) and a temperature — the forecast depth is used later, when adding jobs, to automatically exclude clients whose contract only triggers at a higher depth than this storm is expected to drop.
  4. The event opens on the board with status Pending until you start dispatching.

Adding jobs and setting priority

Click Add Jobs on an open storm event to bring up the candidate list — every client with a snow job, or just the stops on a chosen master route. Each candidate shows its trigger depth, its client's priority, and its assigned crew, and the list filters itself with three controls:

  • Max Trigger Inches — defaults to the storm's forecast depth. Any client whose own trigger depth (the snowfall needed before their contract kicks in) is higher than this number is highlighted and excluded by default — this storm isn't deep enough to trigger their service.
  • Min Priority — each client has a priority of High, Normal, or Low. Choosing "High and higher" here narrows the list to just your High-priority accounts; "Low and higher" (the default) includes everyone.
  • Default Crew — applied to any selected job that doesn't already have a crew assigned.

Jobs are also excluded automatically if today isn't one of the days their contract authorizes service on. Everything not excluded is pre-checked; uncheck or check individual rows before clicking Add to Dispatch.

Priority lives on the client, not the storm event — set it once on the client record and every future storm respects it. High-priority clients (hospitals, fire lanes, contracts with tight response-time SLAs) sort first wherever priority matters.

Dispatching, logging pushes, closing out

Once jobs are added, each one becomes a visit row on the board with a status you cycle through by clicking its icon: scheduled → dispatched → in progress → completed → skipped. Use Team Assign to move unassigned visits onto crews — drag a card, tap a card and then tap the crew column it should go to, or click a crew's name on the card for a one-tap assign. Then Dispatch Assigned pushes every crewed, scheduled visit to dispatched at once. Print generates a route sheet per crew with checkboxes for weather and site conditions, full plow, and salt bags, for a paper copy on the truck.

Dispatching a storm from a tablet? Tap-to-place is the one that works there — touch devices don't support the drag gesture, so tap the visit, then tap the crew. The card you picked up is outlined and every crew you can drop it on is highlighted.

Snowfall depth is not pulled from a weather feed — it's recorded manually, per visit, when the crew's work is closed out. Select one or more completed visits and click Close Out… to enter the actual depth (in), temperature, asset type used, any material (e.g. salt) with quantity and unit cost, and — for hourly-billed jobs — actual hours on site. This is also how a "push" gets logged: if a crew visits a client twice during one long storm (morning and afternoon), each visit is its own row with its own depth reading, closed out separately.

Once every visit for the event is closed out, move the storm event's status to Complete.

Worked scenario: a 6" storm

  1. A dispatcher sees a storm coming and clicks + New Storm Event, names it, sets the date, and enters a forecast depth of 6".
  2. They click Add Jobs. With Max Trigger Inches defaulted to 6, every client whose contract needs more than 6" to trigger is auto-excluded. Out of the org's full snow client list, 40 clients qualify and get added to the event, each carrying the priority already set on their client record.
  3. The event moves to Working. The dispatcher opens Team Assign, moves the High-priority clients onto the first crews out the door, and dispatches them — hospitals, fire lanes, and SLA accounts get plowed first, before the Normal- and Low-priority stops.
  4. As the storm continues, some clients need a second pass. Crews return, and each return visit is closed out on its own with its own depth reading — a morning push logged at 3", an afternoon push logged at another 3" once the storm finishes dropping its full 6".
  5. Once every crew has closed out every visit, the dispatcher sets the storm event's status to Complete. The event is now ready for Snow Invoicing.

Snow invoicing and the three rate types

CRM > Accounting > Snow Invoicing groups a client's uninvoiced storm visits and computes the amount from the job's own invoice type — a flat rate per storm event, a rate per inch of snowfall (charged once per event, or separately per push), or an hourly rate times actual hours logged. Only completed, non-contract snow visits that don't already have an invoice line item appear in the queue, so generating invoices twice never double-bills.

Invoice typeHow it's computedWorked example (same 6" storm)
Per EventA flat rate charged once per storm, no matter how deep it snows or how many times a crew came back out.$75 flat × 1 storm = $75.00
Per Inch (Event, or Push)A rate per inch of snowfall. “Per Event” prices the storm’s single deepest reading once; “Per Push” prices every visit separately off its own logged depth.Event: $12/in × 6" storm max = $72.00. Push: two 3" pushes × $12/in = $36 + $36 = $72.00.
HourlyActual hours logged at close-out × the job’s hourly rate — for jobs billed on time on site rather than snowfall.1.5 hrs × $150/hr = $225.00

For Per Event and Per Event/Per Inch jobs, every visit on the storm collapses into one charge — a morning push and an afternoon push during the same event are one line, priced off the storm's single deepest reading, not two separate charges. Per Push and Hourly jobs are the opposite: each visit prices and invoices on its own.

Why snow billing has its own screen

A regular Landscapt invoice itemizes a fixed, known job — a monthly mow, a package installment — where the amount is settled the moment the invoice is written. Snow doesn't work that way: a single storm can generate several visits per client over hours or days, and the price isn't knowable until the storm is over and every visit has been closed out with its actual depth or hours. Snow Invoicing exists because that accumulate-then-rate step — grouping a client's visits by storm event, applying the job's own rate type to the group, and only then producing a line item — has no equivalent in the regular Invoicing screen's one-job-one-line model.

Because grouping and pricing both key off the storm event and the job's invoice type, a visit created outside the storm dispatch flow (say, logged directly from the field) still bills correctly — it just falls back to grouping by date instead of by storm event.

See also

Day-to-day, non-snow visit dispatch uses a different screen entirely — see the Dispatch Board guide for how the daily list-view board assigns and dispatches ordinary jobs. Snow storm dispatch is intentionally its own storm-event-centric flow rather than a daily board, since a storm doesn't respect calendar days the way a regular route does.

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.
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.
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.
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.
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.
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.