Jobs & Scheduling

Jobs & Scheduling Guide

The definitive reference for creating and managing jobs in Klau. Learn how to work with different job types, set priorities and time windows, and master the scheduling workflow that keeps your roll-off operation running smoothly.

1. Understanding Jobs in Roll-Off

In roll-off operations, a job represents a single unit of work involving a container and a customer site. Unlike package delivery where each stop is independent, roll-off jobs are interconnected. A pickup depends on a prior delivery, and a delivery requires an available container.

What Is a Job in Klau?

A job in Klau captures everything needed to execute a container movement:

  • Customer & Site: Who requested the work and where it happens
  • Job Type: What kind of container movement (Delivery, Pickup, Swap, or Dump & Return)
  • Container Size: The size of container involved (10, 15, 20, 30, or 40 yards)
  • Requested Date: When the customer wants the job completed
  • Time Window: Morning, Afternoon, or Anytime preference
  • Priority: Normal, High, or Urgent scheduling importance

The Job Lifecycle

Every job moves through a predictable lifecycle. Understanding these states helps you manage your workload and communicate with customers.

Job Lifecycle Flow

UNASSIGNEDASSIGNEDIN PROGRESSCOMPLETED
Jobs can also be CANCELLED at any point before completion

UNASSIGNED

Job has been created but not assigned to a driver or scheduled for a specific time. These jobs appear in the Unassigned Pool on the dispatch board.

ASSIGNED

Job has been assigned to a driver with a scheduled date and sequence. The driver can see it on their route, but work has not yet started.

IN PROGRESS

Driver has started working on the job. For multi-step jobs like Dump & Return, this means work is actively underway.

COMPLETED

Job has been fully executed. Container is at its new location, and the job is ready for billing and reporting.

Job vs Dispatch Relationship

In Klau, a Dispatch is a collection of jobs assigned to a specific driver for a specific date. Think of it as a driver's daily work order.

Example Structure

Dispatch: Driver Mike, January 15, 2025

Job 1: Delivery to ABC Construction (20yd) - Seq #1

Job 2: Pickup from Smith Residence (30yd) - Seq #2

Job 3: Swap at Downtown Office (20yd) - Seq #3

Job 4: Delivery to Oak Street Project (30yd) - Seq #4

The dispatch also includes the route metadata: estimated start and end times, total drive time, and optimization details like chain opportunities.

2. Job Types Deep Dive

Klau supports four primary job types, each representing a different container movement pattern. Choosing the right job type is essential for accurate scheduling, route optimization, and inventory tracking.

Delivery

~20 min service

Taking an empty container from your yard to a customer site. This is the most common job type when a customer needs a container for a project.

Workflow: Yard → Customer Site (drop container)
When to use: New customer projects, container replacements, any time a customer needs an empty container delivered.
Inventory impact: Decreases available yard stock, increases containers at customer sites.

Pickup

~20 min service

Picking up a full container from a customer site. After pickup, the driver typically takes the container to a dump site before returning to the yard.

Workflow: Customer Site (hook container) → Dump Site → Yard
When to use: Customer project is complete, container is full, scheduled pickup requests.
Inventory impact: Container moves from customer site to staged (full) at yard, then to available after dump.

Swap

~30 min service

Picking up a full container and dropping off an empty one in the same visit. This is common for ongoing construction projects that generate continuous waste.

Workflow: Yard (load empty) → Customer Site (swap) → Dump Site → Yard
When to use: Ongoing projects, customers who fill containers quickly, continuous waste generation.
Inventory impact: Net neutral for that size. One container out, one container in.

Dump & Return

~60 min service

Picking up a full container, emptying it at the dump site, and returning the same empty container back to the customer site. The customer keeps using the same container.

Workflow: Customer Site (pickup) → Dump Site → Customer Site (return)
When to use: Long-term projects, customers with dedicated containers, situations where returning the same container matters.
Inventory impact: No net change. Container stays at customer site.

Job Type Decision Tree

Not sure which job type to choose? Follow this decision tree:

Does the customer currently have a container on-site?

NO → Use DELIVERY

YES → Does the customer need to keep a container after this job?

NO → Use PICKUP

YES → Does the customer need the same container returned?

YES → Use DUMP & RETURN

NO → Use SWAP

Service Time Estimates

Klau uses default service times for each job type. These represent the on-site time (excluding drive time) and are used for route optimization and ETA calculations.

20minDelivery
20minPickup
30minSwap
60minDump & Return

These times can be customized in your company settings. Actual job durations are tracked and used to improve future estimates.

3. Creating Jobs

Creating jobs in Klau is straightforward. The job creation form guides you through all required information while Klau validates availability and provides real-time feedback.

Step-by-Step Job Creation

  1. Access the Job Form

    Click the "+ New Job" button from the dispatch board header or navigate to Jobs → Create New.

  2. Select Customer

    Search for an existing customer or create a new one. The customer search includes phone number, email, and company name matching.

  3. Choose Site

    If the customer has multiple sites, select the correct one. For new customers, the site is created automatically.

  4. Select Job Type

    Choose Delivery, Pickup, Swap, or Dump & Return based on what the customer needs.

  5. Choose Container Size

    Select from 10, 15, 20, 30, or 40 yard options. Klau will show current availability for each size.

  6. Set Requested Date

    Pick the date the customer wants the job completed. Klau will warn if inventory is low for that date.

  7. Configure Options

    Set time window, priority, and any special instructions. Add PO numbers if required for billing.

  8. Review and Create

    Confirm all details. The job will be created in UNASSIGNED status, ready for dispatch.

Selecting Customer and Site

Klau maintains a customer database with associated sites. A customer can have multiple sites (e.g., different project locations), and each job is linked to a specific site.

  • Existing Customers: Start typing to search by name, phone, or email. Select from the dropdown to auto-populate customer details.
  • New Customers: Click "Create New Customer" to add a new customer inline. Required fields are name and at least one contact method.
  • Site Selection: After selecting a customer, choose from their existing sites or add a new site address. Site addresses are geocoded for route optimization.

Container Size Selection

Klau tracks inventory by container size. When you select a size, you'll see:

10yard
15yard
20yard
30yard
40yard

Below each size, Klau displays current availability. Green numbers indicate healthy stock. Yellow or red indicate low stock or potential stockout for the requested date.

Adding PO Numbers and Notes

Additional fields help with billing and driver communication:

  • PO Number: Customer's purchase order for invoicing. This appears on weight tickets and invoices.
  • Job Notes: Internal notes visible to dispatchers. Use for special instructions like gate codes or contact information.
  • Driver Instructions: Notes specifically for the driver, visible in their mobile app. Keep these brief and actionable.

Pro Tip: Quick Entry Mode

When creating multiple jobs for the same customer, use the "Create Another" checkbox before saving. This keeps the customer selected and lets you quickly add multiple jobs to different sites.

4. Recurring Job Scheduling

For ongoing projects or service agreements, Klau supports recurring job schedules. Instead of manually creating a job every week, you can define a template that automatically materializes jobs on a set frequency.

Setting Up a Recurring Job

  • Recurrence Patterns: Support for Daily, Weekly, and Weekday (Mon-Fri) patterns.
  • Start & End Dates: Define when the service begins and optionally when it ends. If no end date is set, the job recurs indefinitely.
  • Preferred Time: Optionally set a preferred start time for the recurring instances.

Automatic Materialization

Klau's "Materializer" engine automatically creates concrete job instances from your templates as you view the dispatch board.

How it Handles Rescheduling

Klau uses "Occurrence Anchors" to track each instance. If you move a recurring job from Monday to Tuesday, the system remembers that Monday's slot is fulfilled. Refreshing the board won't create a duplicate job for Monday, even though the original is now on Tuesday's schedule.

5. Time Windows

Time windows let customers specify when they want a job completed. Klau uses these preferences during route optimization to ensure customer expectations are met while maintaining efficient routes.

Morning

Job should be completed before noon. Ideal for customers who need early starts, like construction sites or residential cleanouts.

Typical window: 7:00 AM - 12:00 PM

Afternoon

Job should be completed after noon. Good for customers who need morning work done first or have afternoon access only.

Typical window: 12:00 PM - 5:00 PM

Anytime

Job can be completed at any point during the day. This provides maximum flexibility for route optimization.

Full day flexibility: 7:00 AM - 5:00 PM

How Time Windows Affect Optimization

Klau's optimizer treats time windows as constraints that must be satisfied:

  • Morning jobs are prioritized early in the route sequence, often before any afternoon-constrained jobs.
  • Afternoon jobs are scheduled later in the route, even if they're geographically closer to the yard.
  • Anytime jobs fill in gaps and allow the optimizer to minimize total drive time without constraint conflicts.

Setting Customer Expectations

Time windows are ranges, not guarantees. When promising a "morning" window, explain that the driver will arrive between 7 AM and noon. For more precise timing, use Job Pinning (see Section 6) to lock in specific appointment times.

Best Practices

  • Use Anytime when possible: The more flexibility you give the optimizer, the more efficient your routes become.
  • Reserve Morning for high-value: Morning constraints limit route options. Use them for customers who truly need early service.
  • Balance your windows: A day full of morning jobs creates afternoon idle time. Mix windows to keep drivers productive all day.
  • Communicate proactively: If you can't meet a requested window, call the customer before the day of service.

5. Priority Levels

Priority levels help you communicate which jobs matter most when the optimizer is building routes. Use them strategically to ensure your most important customers get served first.

Normal

Standard scheduling priority. Jobs are sequenced for optimal route efficiency without special treatment.

Use for: Regular scheduled work, flexible customers, routine operations.

High

Preferred earlier scheduling. The optimizer will try to place this job earlier in the route when possible.

Use for: Important customers, time-sensitive projects, jobs with penalties for delays.

Urgent

Must be scheduled first. Urgent jobs are placed at the beginning of routes, even if it reduces overall efficiency.

Use for: Emergency calls, same-day requests, jobs that cannot wait.

Impact on Route Optimization

The optimizer considers priority as a soft constraint with escalating weight:

  • Normal: No additional weight. Pure efficiency optimization.
  • High: Adds preference weighting. Will be scheduled earlier unless it significantly hurts overall efficiency.
  • Urgent: Strong constraint. Placed first in sequence, may sacrifice some route efficiency to ensure early completion.

Warning: Priority Overuse

When everything is urgent, nothing is. If you mark too many jobs as High or Urgent, the optimizer has less flexibility and your routes become less efficient. Reserve elevated priorities for jobs that truly need them.

When to Use Each Priority

Priority Decision Guide

URGENT: Customer escalation, same-day emergency, contractual deadline with penalties

HIGH: VIP customers, project deadlines within 24 hours, special requests from sales team

NORMAL: Everything else. Let the optimizer do its job.

6. Job Pinning & Constraints

Sometimes you need precise control over when or how a job is executed. Klau's pinning system lets you lock specific aspects of a job while still allowing the optimizer to work around those constraints.

Types of Pins

Time Commitment Pin

Locks the job to an exact start time. Use when you've promised a customer a specific arrival time (e.g., "We'll be there at 10:00 AM").

Example: Pinned to 10:00 AM

Position Pin

Locks the job to a specific position in the route sequence. Use when a job must be first (e.g., before dump site opens) or last (e.g., ends near driver's home).

Options: First, Last

Driver-Required Pin

Locks the job to a specific driver. Use when the customer requested a particular driver or the site requires specialized equipment/knowledge.

Example: Must be Driver Mike

Sequence Lock

Prevents the optimizer from moving this job in the sequence. Use after manual override when you want to preserve your specific ordering.

Optimizer will work around this position

When to Pin vs Let Optimizer Decide

Pinning is powerful but should be used sparingly. Each pin reduces the optimizer's flexibility and can lead to less efficient routes.

Good Reasons to Pin

  • Customer-confirmed appointment time
  • Site has specific access hours
  • Driver knows difficult site access
  • Equipment requirements
  • Contractual obligations

Avoid Pinning For

  • General preference ("morning is better")
  • Habit ("we always do Smith first")
  • Approximate timing needs
  • Non-critical customer requests

Pro Tip: Use Time Windows First

Before reaching for a time pin, try using the appropriate time window. If a customer needs service "in the morning," use the Morning window instead of pinning to 8:00 AM. Time windows give the optimizer flexibility within the constraint, leading to better overall routes.

7. The Schedule View

The Schedule View provides a calendar-based overview of all jobs across your operation. Use it to see the big picture, identify scheduling conflicts, and plan capacity.

Calendar Overview

The calendar displays jobs by their requested date, color-coded by status:

Unassigned
Assigned
In Progress
Completed
Cancelled

Filtering Options

Quickly find the jobs you're looking for with these filter options:

  • By Status: Show only unassigned, assigned, or completed jobs.
  • By Driver: See jobs for a specific driver or unassigned jobs only.
  • By Customer: Find all jobs for a specific customer across dates.
  • By Container Size: Filter by 10, 15, 20, 30, or 40 yard jobs.
  • By Job Type: Show only deliveries, pickups, swaps, or dump & returns.

Week View vs Day View

Week View

Shows 7 days at a glance. Best for capacity planning, identifying busy days, and spotting gaps in the schedule. Each day shows job counts by status.

Day View

Shows all jobs for a single day with full details. Best for reviewing a specific day's workload, checking job details, and making last-minute changes.

Identifying Scheduling Conflicts

The Schedule View highlights potential issues:

  • Overbooked Days: Days with more jobs than driver capacity are highlighted in red.
  • Container Shortages: Days where scheduled deliveries exceed projected inventory show a warning indicator.
  • Unassigned Jobs: Jobs still unassigned for today or past dates are flagged for immediate attention.
  • Time Window Conflicts: Multiple morning-pinned jobs on the same driver are highlighted as potential issues.

8. Managing Jobs

Jobs often need modifications after creation. Klau makes it easy to edit, reschedule, or cancel jobs while maintaining data integrity and audit trails.

Editing Job Details

Most job fields can be edited until the job is completed:

  • Always Editable: Notes, PO number, driver instructions, priority, time window.
  • Editable Until Assigned: Customer, site, job type, container size.
  • Requires Unassign First: Changing core job details on an assigned job requires unassigning first to prevent driver confusion.

Changing Job Dates

Rescheduling a job is straightforward:

  1. Open the job details panel.
  2. Click the date field or "Reschedule" button.
  3. Select the new requested date.
  4. Klau will check inventory availability and warn of any conflicts.
  5. Confirm the change. If the job was assigned, it will become unassigned.

Rescheduling Assigned Jobs

When you reschedule an assigned job to a different date, it automatically becomes unassigned. The driver's route for the original date will be updated, and the job will appear in the Unassigned Pool for the new date.

Cancelling Jobs

To cancel a job:

  1. Open the job details panel.
  2. Click "Cancel Job" in the actions menu.
  3. Optionally add a cancellation reason.
  4. Confirm. The job status changes to CANCELLED.

Cancelled jobs are preserved for historical records and reporting. They no longer affect inventory projections or route optimization.

Deleting vs Cancelling

Delete

Permanently removes the job. Use only for data entry errors where the job should never have existed. Cannot be undone.

Only available for UNASSIGNED jobs.

Cancel

Marks the job as cancelled but preserves the record. Use when a customer cancels or the job is no longer needed. Preserved for reporting.

Preferred approach for most situations.

9. Job Status Tracking

Klau provides real-time visibility into job progress. Understanding status transitions helps you manage customer expectations and respond quickly to issues.

Understanding Status Transitions

Valid Status Transitions

UNASSIGNED → ASSIGNED (dispatcher assigns to driver)

ASSIGNED → IN_PROGRESS (driver starts job)

ASSIGNED → UNASSIGNED (dispatcher unassigns)

IN_PROGRESS → COMPLETED (driver completes job)

Any except COMPLETED → CANCELLED (job cancelled)

Monitoring Completion

Track job progress in real-time:

  • Dispatch Board: Jobs change color as status updates. Completed jobs move to the bottom or hide based on your view settings.
  • Driver Location: See where each driver is and which job they're working on.
  • ETA Updates: As drivers progress, ETAs for remaining jobs update automatically.
  • Notifications: Get alerts for job completions, delays, or issues.

Handling Delays and Issues

When things don't go as planned:

  • Automatic ETA Updates: If a job runs long, Klau recalculates ETAs for all subsequent jobs and can notify affected customers.
  • Job Reassignment: If a driver falls behind, you can reassign later jobs to other drivers.
  • Issue Logging: Drivers can flag issues (site access problems, customer not ready, etc.) that appear on the dispatch board.
  • Incomplete Jobs: If a job can't be completed, it can be marked as such with notes for follow-up.

Pro Tip: The Living Engine

Klau's "Living Engine" continuously monitors job progress and automatically adjusts schedules. You don't need to manually update ETAs or notify customers of minor delays. The system handles routine adjustments, freeing you to focus on exceptions that need human judgment.

Quick Reference: Daily Job Management Workflow

  1. Morning Review: Check the Unassigned Pool for jobs needing attention. Review any overnight job requests.
  2. Job Creation: Enter new jobs as customer calls come in. Set appropriate job types, time windows, and priorities.
  3. Capacity Check: Use the Schedule View to ensure you're not overbooked. Watch for inventory warnings on delivery jobs.
  4. Optimize & Assign: Run optimization to assign unassigned jobs. Review suggested routes and make manual adjustments as needed.
  5. Monitor Progress: Watch the Dispatch Board as drivers complete jobs. Address any issues or delays as they arise.
  6. End of Day: Review completed jobs. Follow up on any incomplete work. Plan for tomorrow's unassigned jobs.

Related Documentation