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 has declined estimates, the customer will be Estimate Declined
  • If all properties are non-active or canceled, the customer will be Non-Active

Visual Flow (Simplified)

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 → Does any property have declined estimates? → YES → Customer = Estimate Declined → NO → Are all properties Non-Active or Canceled? → YES → Customer = Non-Active

How Property Statuses Change

Property statuses update based on actions in the system:

  • Prospect → Typically set manually
  • Estimate Sent → When at least one estimate is marked “Sent”
  • Estimate Declined → When all estimates are declined
  • Active → When at least one program is assigned
  • 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:

  • ✅ Will update from:
    • Prospect
    • Sales Visit Scheduled
  • ❌ 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)


Moving a Property Out of Active

Even if a property has a program assigned:

  • It can still be manually changedto:
    • 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 become Non-Active
    • 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 Non-Active status.

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-ActiveAll properties become Non-Active (except canceled)
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.


What determines the customer status?
The most “active” property status wins (Active → Estimate Sent → Prospect → Estimate Declined → Non-Active).


Can I create or send an estimate on a Non-Active property?
Yes — but it won’t change the status.


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?
All properties become Non-Active (except canceled).


Final Note

This system is designed to:

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