Holiday Lights Estimate Wizard

Use the Holiday Lights Estimate Wizard to design holiday lighting proposals with visual design tools, zone mapping, and contract pricing.

Intermediateownersales repUpdated 2026-03-29

Holiday Lights Estimate Wizard

The Holiday Lights Estimate Wizard combines visual design tools with automated pricing. You trace gutter lines on satellite or street view imagery, assign lighting zones, and generate a proposal with installation, materials, and removal costs.


Step 1 -- Customer & Property

Enter the customer and property information.

Screenshot placeholder
Step 1 showing customer type selector and client details form

Customer Type

Select Residential or Commercial at the top of the form. This determines the pricing tier and proposal template.

Screenshot placeholder
Residential/Commercial toggle at the top of the form

Client Details

Search for an existing client or enter new information.

FieldDescription
Customer NameFull name of the homeowner or business contact
EmailFor proposal delivery
PhoneFor SMS delivery
AddressGoogle Places autocomplete
City / State / ZIPAuto-filled from address selection
Screenshot placeholder
Client details form with address autocomplete dropdown visible

Click Next to continue.


Step 2 -- Design & Quote

This step has three tabs: Design Canvas, Bundle, and Quote Preview.

Screenshot placeholder
Step 2 tab bar showing Design Canvas, Bundle, and Quote Preview tabs

Tab 1 -- Design Canvas

The design canvas is where you trace light lines and define zones on the property.

Screenshot placeholder
Full design canvas view with satellite imagery, drawing tools on the left, and design summary on the right

Canvas Views

The left panel has three canvas tabs:

TabWhat It Shows
SatelliteAerial view of the property from above
Street ViewGround-level view of the front of the property
Property PhotoUpload a customer photo of the home

Switch between tabs to trace lines from different angles.

Screenshot placeholder
Canvas tab switcher showing Satellite, Street View, and Property Photo tabs

Drawing Tools

Use the drawing tools to trace gutter lines, mark zones, and place light positions on the canvas.

  • Gutter Line Tool -- click to place points along the roofline. The system measures the total linear footage.
  • Zone Tool -- draw enclosed areas for accent lighting, bushes, or ground features.
  • Light Placement -- mark individual fixture locations for spotlights or ground stakes.
Screenshot placeholder
Gutter line being traced along a roofline on the satellite view with measurement labels

Color Picker

Select the light color for each line or zone. Options include:

  • Warm white
  • Cool white
  • Multi-color
  • Red
  • Green
  • Blue
  • Custom (enter hex code)
Screenshot placeholder
Color picker expanded showing warm white, cool white, multi-color, and individual color options

AI Measurement

Click Measure with AI to let the system estimate linear footage from a property photo. Upload a clear photo of the home, and the AI traces the gutter lines and returns measurements.

Screenshot placeholder
Measure with AI button and the resulting auto-traced gutter lines on a property photo

AI measurement works best with:

  • Clear, well-lit photos
  • Unobstructed views of the roofline
  • Standard residential architecture

The AI measurement tool is an authenticated office-side action. The signed-in team member needs Holiday Lights manage, Estimates create, or AI access before CE Pro will call the measurement service.

Street View image loading now also runs through authenticated internal map routes. That means the signed-in teammate needs estimate-view access, and CE Pro prefers GOOGLE_MAPS_SERVER_API_KEY for those requests. If the dedicated server key is missing, the office environment falls back to NEXT_PUBLIC_GOOGLE_MAPS_API_KEY. If that public Maps key is browser-only, referrer-restricted, or missing Street View access, the design canvas keeps the plain-language unavailable message instead of falling through to a misleading address or image-load error.

For complex rooflines, trace manually for better accuracy.

Design Summary Panel

The right panel updates in real time as you draw. It shows:

MetricDescription
Linear FeetTotal length of all traced lines
ZonesNumber of defined lighting zones
Color BreakdownFootage per color selection
Mini Light StrandsNumber of strands needed (calculated from linear feet)
Roof PitchFlat, Standard, or Steep -- affects installation pricing
Unit Price per FootYour configured rate
SubtotalLinear feet multiplied by unit price
Screenshot placeholder
Design summary panel showing linear feet, zones, color breakdown, strands, roof pitch, and subtotal

Tab 2 -- Bundle

Link the holiday lights estimate to an existing power wash estimate for combined pricing.

Screenshot placeholder
Bundle tab showing the option to link a power wash estimate and the calculated bundle savings

How Bundling Works

  1. Select an existing power wash estimate for the same customer. The system searches by customer name and address.
  2. The combined price appears with the bundle discount applied.
  3. Enter the Bundle Discount amount (percentage or dollar value).

Bundling a power wash with holiday lights increases the average ticket value and gives the customer a reason to book both services at once.

Screenshot placeholder
Bundle discount field with percentage applied and the updated combined total

Tab 3 -- Quote Preview

The quote preview shows exactly what the customer will see.

Screenshot placeholder
Quote preview tab showing the full estimate with customer info, design details, and pricing

Customer Info

Name, email, phone, and property address.

Design Details

  • Linear feet
  • Number of zones
  • Colors used
  • Roof pitch

Pricing Breakdown

Line ItemDescription
InstallationPer-foot rate multiplied by total linear feet
Mini LightsCost of light strands
RemovalIncluded if a 3-year contract is selected
SubtotalBefore discount and tax
Bundle DiscountApplied if a power wash is linked
TaxBased on your configured tax rate
TotalFinal price
Screenshot placeholder
Pricing breakdown table showing installation, lights, removal, subtotal, bundle discount, tax, and total

Contract Term

Select between two options:

  • 1-Year Contract -- single-season installation and removal.
  • 3-Year Contract -- locked pricing for three seasons. Removal costs are included in the annual price.

If your office uses the AI estimate-review tools on a holiday lights quote, the nearby-comparison benchmark now follows the first-year annual contract price when it exists. That keeps the review aligned with what the customer would actually pay for the selected contract instead of comparing an annual contract against install-only historical subtotals.

Screenshot placeholder
Contract term radio buttons showing 1-Year and 3-Year options with price comparison

Proposal Media

Attach visual materials to the proposal:

  • Photos -- property photos used during the design.
  • Mockups -- renderings of the home with lights applied.
  • Installation Blueprints -- annotated diagrams for the install crew.

The customer sees these attachments when they open the proposal link.

When the wizard creates the paired holiday-lights sidecar for a bundled residential estimate, CE Pro now keeps the follow-up client-link update scoped to the same workspace that created the quote. That prevents cross-workspace retry or rollback paths from touching the wrong holiday-lights record.

AI Mockup Guardrails

Mockup generation is an authenticated office-side action. The signed-in teammate must have Holiday Lights manage permission before CE Pro will call the AI image editor.

CE Pro also applies two protections before sending a mockup request:

  • Uploaded source images must be 5 MB or smaller.
  • Each teammate is rate-limited to a small burst of mockup generations per minute.

These guardrails help prevent accidental spend spikes and keep the tool available for active estimators.

Screenshot placeholder
Proposal media section showing attached photos, a mockup rendering, and an installation blueprint

Saving and Sending

The same action buttons appear at the bottom of the screen regardless of which tab is active.

ButtonWhat It Does
Save DraftSaves the estimate without sending
Preview PDFOpens a PDF preview of the full proposal
Send EstimateOpens the send modal
Screenshot placeholder
Action buttons at the bottom -- Save Draft, Preview PDF, Send Estimate

Send Modal

Click Send Estimate to open the same shared review-and-send modal used by the other estimate and proposal wizards.

The subject line, email body, and SMS body are pre-filled. Edit them if needed. For SMS, the character counter shows your message length against the 160-character limit.

Screenshot placeholder
Shared send modal with editable email and SMS copy

Click Confirm & Send. CE Pro now confirms the holiday-lights email and text send before it reports success back to the office, and the admin quote header uses that same shared modal instead of bypassing the review step with a direct-send button.

  • If the send succeeds, the estimate moves to Sent and the office gets a success confirmation with the destination email address.
  • If the email send fails, the wizard keeps the estimate retriable instead of silently claiming success.
  • After the first successful send, the same header action becomes Resend Proposal so the office can send the holiday-lights email again without rebuilding the quote.

The matching View Public Page action now follows that same live customer-link path too. If the linked estimate already has a shared quote token, the office preview opens the shared /quote/[token] page; otherwise CE Pro falls back to the seasonal portal URL instead of a tokenless estimate link that would open in read-only mode.

  • If the client has no phone number on file, or if SMS delivery is unavailable, the email still sends and the office sees a warning explaining why the text message did not go out.

Holiday-lights sends now stay on the seasonal delivery path inside the shared send module. That keeps the outgoing email and SMS pointed at the holiday-lights workflow instead of falling back to the standard residential estimate sender, while the linked shared estimate workspace records the send history and sent quote event from the same send completion path.

When a linked holiday-lights estimate already has a persisted shared public quote token, the delivered email and SMS now prefer that shared /quote/[token] link first and only fall back to the older holiday-lights portal URL if the shared quote link is unavailable. That keeps seasonal sends aligned to the same durable quote-core public link model the other migrated estimate types already use.

When a customer opens that holiday-lights portal from the delivered quote link, CE Pro now runs the same shared quote-core viewed-event bookkeeping there too. The latest open holiday-lights quote for that customer records the public portal view back into the linked estimate workspace instead of leaving the seasonal portal outside the shared send/view history.

That same seasonal view bridge now also runs when a customer opens the shared /quote/[token] page for a holiday-lights quote. Shared public quote links still render from the linked estimate workspace, but the underlying holiday-lights source quote now records its own viewed timestamp and seasonal pipeline move from that same open instead of only the linked estimate seeing the activity.

The first holiday-lights customer open now also advances the source seasonal quote from Sent to Viewed instead of only stamping viewed_at. That keeps viewed-status filters, dashboard counts, and seasonal reporting aligned with the first actual customer open.

Once a seasonal quote has been viewed, the office can still resend it normally. CE Pro now treats Viewed holiday-lights quotes as resendable proposal records instead of blocking delivery after the first customer open.

Shared /quote/[token] opens now record as shared quote opens in the holiday-lights sales history instead of being mislabeled as portal-only opens, which keeps the seasonal activity trail aligned with the public path the customer actually used.

Holiday-lights draft saves and status changes now run through the same shared quote-core service layer too. Saving or editing a seasonal quote now keeps the linked shared estimate, attached design snapshot, and bundled power-wash link aligned from one save path, and manual Declined or Expired updates now write the matching shared quote event onto the linked estimate instead of stopping at the seasonal source record.

Older workspaces that still had the earlier holiday-lights estimate-list projection function now stay compatible too. Seasonal quote saves now keep the shared estimate-list projection writing delivery_state as JSON, so holiday-lights draft creates no longer fail on production databases that were partially through the quote-core rollout.

When you reopen an existing holiday lights estimate from admin, the header now includes the office-side actions you expect:

  • View Public Page
  • Download PDF
  • Send Proposal or Resend Proposal after the first successful delivery
  • Open Estimate Workspace
  • Convert to Job after the linked estimate exists

Behind that linked estimate workspace, holiday lights quotes now also feed canonical shared quote-core line items instead of only the older compatibility line_items JSON. The holiday-lights save routes still own the source holiday_lights_estimates table for now, but the linked estimate record now carries structured holiday-lights line items and quote snapshots aligned to the same quote-core direction used by generic, residential, fleet, and commercial work.

That linked estimate workspace now also carries the source holiday-lights estimate id directly, which lets shared quote-core public links rebuild the seasonal summary from the linked estimate record instead of losing the holiday-lights context when staff or customers open the shared quote page outside the dedicated portal send flow.

Holiday-lights quote-core syncing now follows the saved contract term too. When a quote has zone-based annual pricing, the linked estimate workspace uses the selected 1-Year or 3-Year annual contract total instead of falling back to the older midpoint install range, and reopening the office editor keeps the saved term, premium, and proposal media selections in place instead of snapping back to the default 1-year view.

Editing an existing holiday-lights quote now also keeps the saved Price Guarantee Years value aligned with the latest seasonal pricing config. Traced quotes that start from zone-derived linear footage no longer fail validation just because the office left the manual linear-feet field at 0 while the traced roofline still measures correctly.

That same saved contract-term total now carries through the rest of the workflow too. Holiday-lights send copy, AI review comparisons, client-detail estimate totals, and admin revenue / lead-source reporting now read the saved selected annual contract price before they fall back to the older low/high range fields, which keeps the office-facing numbers aligned with what the customer actually accepted.

The office-side holiday-lights inventory list now follows that same shared catalog direction too. The inventory admin screen and the dashboard low-stock count read from the shared price_book_items bridge when those SKU rows exist, and legacy SKU create/update actions refresh that shared copy after the write so the seasonal inventory catalog stops depending on a separate read-only table path.

Those holiday-lights inventory saves now also fail closed if the shared price-book bridge cannot be updated. If CE Pro cannot persist the matching shared SKU row, the office-side inventory create or edit is rolled back instead of leaving inventory_skus and the shared quote-core catalog out of sync.

Holiday-lights inventory writes now only touch the matching shared SKU rows too. Admin inventory creates and edits update the specific bridged price_book_items record for that SKU instead of rebuilding the whole holiday-lights inventory bridge after every change, which keeps the shared price-book copy aligned with far less write churn.

Accepted holiday-lights quotes now reuse the shared quote-core accepted follow-up helper too. When a customer accepts from the seasonal status flow or the office signs the linked holiday-lights contract, CE Pro re-syncs the linked estimate workspace first and then runs the same accepted-event, pipeline, webhook, gamification, and accepted-job follow-up path used by the newer shared estimate flows instead of keeping a separate seasonal-only acceptance branch.

Holiday-lights contract signing continues to store the captured signature directly on the contract record, and that signature-backed acceptance path is now regression-tested alongside the shared estimate-signature and commercial proposal-signature flows so CE Pro can harden all public signature collection paths together instead of patching them one module at a time.

That acceptance bridge now also owns the source holiday-lights quote update itself. Customer status changes and office-side contract signing both flow through the same helper, so the seasonal sales pipeline records the acceptance from one path, and already-accepted quotes no longer rewrite accepted_at just because the office reapplies a signed contract record later.


Tips

  • Use the satellite view to trace gutter lines accurately. The overhead angle gives the clearest picture of the full roofline.
  • AI measurement works best with clear property photos taken during the day. Avoid photos with heavy shadows or tree cover blocking the roofline.
  • 3-year contracts include removal pricing in the estimate. This simplifies the proposal for the customer and locks in recurring revenue.
  • Bundle with a power wash for a higher ticket value. Customers who are already spending on holiday lights are good candidates for a fall cleaning package.

Troubleshooting

AI measurement returned inaccurate results

The AI works best on standard rooflines with clear photos. For L-shaped homes, complex dormers, or multi-level roofs, trace manually using the gutter line tool. You can combine AI-traced lines with manual adjustments.

Colors do not match the design summary

Make sure you select the color before drawing each line segment. If you need to change a color after drawing, select the line on the canvas and use the color picker to update it.

Bundle discount is not applying

Confirm that the linked power wash estimate belongs to the same customer (matched by name and address). The bundle discount only applies when both estimates are active and not already sent.

Was this article helpful?

Still need help? Contact support