How Property Statuses and Customer Statuses Work Together

In SPRAYE, property statuses and customer statuses are closely connected.

Understanding how they interact is important, because:

  • Property statuses often drive the customer status
  • Some actions update both automatically
  • Others only update one

Overview

  • Property statuses represent the state of a specific property (estimate, active service, etc.)
  • Customer status is a summary of all properties under that customer

In most cases, customer status is automatically determined by property statuses


How Customer Status Is Determined

SPRAYE looks at all properties under a customer and assigns a status based on what’s happening across them.

Here’s how it works in plain terms:

  • If any property is Active, the customer will be Active


If there are no Active properties, SPRAYE will look for the next most relevant status:

  • If any property has an estimate sent, the customer will be Estimate Sent
  • If not, but any property is a Prospect, the customer will be Prospect
  • If not, but any property is Sales Call Scheduled, the customer will be Sales Call Scheduled
  • If not, but any property has declined estimates, the customer will be Estimate Declined
  • If not, but any property is in Estimate status, the customer will be Estimate
  • If all properties are non-active or canceled, the customer will be Non-Active
  • Customers set to On-Hold are never changed automatically

Visual Flow

Think of customer status like a checklist:

Is at least one property Active? → YES → Customer = Active → NO → Has any property had an estimate sent? → YES → Customer = Estimate Sent → NO → Is any property a Prospect? → YES → Customer = Prospect → NO → Is any property Sales Call Scheduled? → YES → Customer = Sales Call Scheduled → NO → Does any property have declined estimates? → YES → Customer = Estimate Declined → NO → Is any property in Estimate status? → YES → Customer = Estimate → NO → Are all properties Non-Active or Canceled? → YES → Customer = Non-Active (Customers set to On-Hold are never changed automatically.)

How Property Statuses Change

Property statuses update based on actions in the system:

  • Prospect → Typically set manually
  • Sales Call Scheduled → When the property is a Prospect and a Sales Visit service is scheduled to a technician
  • Estimate Sent → When at least one estimate is marked “Sent” AND the property is not Active (for example "Prospect", "Estimate", "Sales Call Scheduled" or "Estimate Declined")
  • Estimate Declined → When every estimate on the property is declined AND the property is currently in "Estimate Sent" status
  • Active → When at least one program other than the Sales Visit is assigned, or an estimate is accepted
  • Non-Active / Canceled → Typically set manually

Key Behaviors to Understand

Sending an Estimate

Sending an estimate will update a property to Estimate Sent, but only in certain cases:

Exception: a property that was canceled with the Cancel (X) action moves to Estimate Sent if a new estimate is sent after its cancel date. A property set to Non-Active by hand stays Non-Active.

  • ✅ Will update from:
    • Prospect
    • Sales Call Scheduled, Estimate or Estimate Declined
  • ❌ Will NOT update from:
    • Non-Active
    • Active

What Makes a Property Active

A property becomes Active when:

- A program is assigned (either directly or from an accepted estimate). A Sales Visit program on its own doesn't make the property Active.


Moving a Property Out of Active

Even if a property has a program assigned:

  • It can still be manually changed to:
    • Non-Active
    • Canceled

However:

- If another estimate is accepted or a program is assigned again, the property will automatically move back to Active


What Triggers Updates

Property → Customer (Automatic)

Whenever a property status changes:

- SPRAYE automatically updates the customer status


Customer → Property (Limited)

Customer status changes do not usually affect properties.

Only exception:

  • If a customer is set to Non-Active:
    • All properties that aren't already Canceled or Non-Active are canceled with status Non-Active, and their outstanding services are removed
    • Canceled properties remain unchanged

Common Mistakes (and Why They Happen)

❌ “I sent an estimate, but nothing changed”

Why:
The property may already be Active or Non-Active.

Fix:
Sending an estimate only updates certain statuses (like Prospect).


❌ “I sent an estimate, but the customer is still Non-Active”

Why:
Sending an estimate does not override a Non-Active status that was set by hand.

Fix:
Assign a program or manually update the property.


❌ “I changed the customer to Active, but nothing else updated”

Why:
Customer status does not push changes down to properties.

Fix:
Update property statuses individually.


❌ “I have one active property, but others are not active”

This is expected.

Customer status reflects the highest-priority property, not all properties.


❌ “Why is the customer Active when most properties aren’t?”

Why:
Only one Active property is needed.


❌ “I set a property to Non-Active, but it became Active again”

Why:
A program was assigned or an estimate was accepted.


Summary Table

ActionResult
Property status changesCustomer updates automatically
Customer set to Non-ActiveProperties that aren't already Canceled or Non-Active are canceled with status Non-Active, and their outstanding services are removed
Customer set to ActiveNo change to properties
Estimate sentUpdates some statuses (not Active or Non-Active)
Program assignedProperty becomes Active

FAQ

Does customer status update automatically?
Yes — based on property statuses.


Can I still manually change/set statuses?
Yes — you can still manually change statuses in the following ways:

  • You can set ANY customer or property status when creating a new property (as long as you aren't assigning a program to that property immediately).
  • You can change any customer or property status to Active, Non-Active or Canceled at any time.
  • On Edit Property, statuses that the system would immediately change back are greyed out in the Property Status dropdown, and Estimate can't be picked by hand.

What determines the customer status?
The most “active” property status wins (Active → Estimate Sent → Prospect → Sales Call Scheduled → Estimate Declined → Estimate → Non-Active). Customers set to On-Hold are never changed automatically.


Can I create or send an estimate on a Non-Active property?
Yes. If the property was set to Non-Active by hand, sending the estimate won't change its status. If it was canceled with the Cancel (X) action, sending a new estimate moves it to Estimate Sent.


What moves a property out of Non-Active?

  • Assigning a program
  • Accepting an estimate
  • Manual status change

Why didn’t my estimate change the status?
Because estimates only update certain statuses (like Prospect → Estimate Sent).


What happens if I set a customer to Non-Active?
Every property that isn't already Canceled or Non-Active is canceled with status Non-Active, and its outstanding services are removed.


Final Note

This system is designed to:

  • Reflect real activity across properties
  • Prevent unintended status changes
  • Give you control over when properties become active