Door-to-Door Canvassing

Download assigned territories, run a tracked shift, work doors offline, create estimates, collect verified signatures online, and sync results.

Intermediateownermanagersales repUpdated 2026-08-02

Door-to-Door Canvassing

The native Canvass tab is the field workspace for assigned territories. It combines a map and door list, active-shift GPS, offline dispositions, lead and appointment capture, residential estimating, signatures, proposal delivery, scheduling, XP, competitions, and AI guidance.

Owners and managers can create and edit campaigns in the native app, then draw and assign territories from the manager team map. The web command center continues to provide bulk imports, detailed territory editing, settings, and reporting. A representative sees only active territories allowed by the signed-in organization and user scope.

Create or Edit a Campaign

For an owner or manager:

  1. Open Canvass.
  2. Select the Campaigns megaphone in the team-map header, or select

+ Manage in the Active campaign panel.

  1. Select + to create a campaign, or select an existing campaign card to

edit it.

  1. Enter the campaign name, optional offer and description, and optional start

and end dates from the in-app calendars.

  1. Choose Active when territories should be available immediately, or

Draft when setup is not ready for field use.

  1. Select Create campaign or Save campaign changes.

Each campaign card shows its status, date window, territory count, and visited doors. Use the card actions to activate, pause, resume, complete, reopen, archive, or restore a campaign. Pausing or closing is blocked while a representative has an active shift. Completion is blocked until every territory is complete.

Return to the team map and select the active campaign before drawing a new territory. A newly created active campaign is available in that selector even when it does not have a territory yet.

Draw and Assign a Territory

For an owner or manager:

  1. Select the active campaign on the team map.
  2. Select Draw territory.
  3. Tap at least three different points around the work area. Use Undo to

remove the last point or Clear to restart the boundary.

  1. Enter a recognizable territory name.
  2. Select one or more owners, managers, or sales representatives who will work

the territory.

  1. Select Save territory.

The boundary and initial rep assignments save as one workflow. The territory then appears on the manager map and in each selected representative's assigned Canvass workspace. A manager can later select the territory and use Balance doors to replace its assignments.

If saving the initial assignments fails, the server removes the new boundary so a half-created territory does not disappear from the app. Existing unassigned territories remain visible on the manager map with an assigned count of zero.

Review and Disposition Territory Houses

Select a territory on the manager map to load its houses and current field activity. Knocked houses are prioritized when a large territory reaches the map-marker limit. Each marker and activity row shows the address, current disposition, and last-knock time.

Owners and managers can:

  • select Edit boundary, trace a revised shape with one continuous finger

drag, and save it without losing assignments or house history;

  • tap a house marker or Dispo row to open its attempt history and current

disposition;

  • record a new outcome with the same required notes, follow-up, contact,

appointment, and do-not-knock rules used by representatives;

  • change the current status by recording a later append-only attempt; and
  • tap an empty address point inside the selected territory to add a missing

house and open its disposition control immediately.

The territory card summarizes total houses, knocked houses, unvisited houses, and organization-wide do-not-knock properties. Manager-entered visits are recorded under the signed-in manager, remain linked to the territory and property, and do not erase the representative's earlier attempts.

Before You Leave

While connected:

  1. Sign in to the intended organization.
  2. Open Canvass.
  3. Select each territory you expect to work and confirm its boundary and door count load.
  4. Confirm the status bar does not show pending or needs-review work from an earlier session.
  5. Confirm precise and background location access are allowed in the device settings.

Downloaded assignments, boundaries, dispositions, targets, quick-estimate templates, verified goal progress, current competition data, and the XP snapshot remain available if service drops.

Background tracking requires a native Android or iOS development, preview, or production build. Expo Go is not a valid test environment.

If Canvass Says Unauthorized

Canvass is enabled by the organization and role configuration; the app still requires a current authenticated session before it can load live assignments. The mobile app validates its saved session at startup and refreshes one rejected access token automatically. If both the access and refresh credentials have expired or been revoked, the app returns to sign-in instead of leaving Canvassing unavailable — Unauthorized on an otherwise signed-in screen. Sign in again, reopen Canvass, and use Try again only for a temporary connection failure.

Review Canvass HQ

The Canvass tab opens on the Fusion Canvass HQ overview instead of dropping directly onto the map. It uses live organization data and shows:

  • Active campaign and selected territory
  • Shift state and the primary start, resume, or end action
  • Doors, contacts, appointments, sales, and revenue for today
  • Goal pace, current XP, and active competition position
  • GPS permission/tracking state
  • Offline queue and sync state
  • Assigned territories available to the signed-in representative

Select Start shift or Continue canvassing when you are ready to work doors. The overview and live field map are separate workspaces, so performance and team metrics do not cover the property map.

Find the Next Door

Switch between the map and list from the top-right controls.

The field view includes:

  • Search by street address
  • All, New, Not home, Follow-up, Leads, and Sold

filters with live counts for the loaded map area

  • Disposition abbreviations on markers so status is not communicated by color alone
  • Clustered markers and viewport loading for large territories
  • Recenter map
  • Find nearest available door
  • External Apple Maps or Google Maps directions
  • A current-shift route breadcrumb
  • Load more doors in list view when another page is available

Zoom in when the map says that more doors are available in the area. The app intentionally loads bounded pages instead of downloading every organization property.

Add a Missing Property

If a door is missing from the assignment, tap its empty location inside the selected territory map. The app adds the point immediately and opens the new house's disposition control as soon as its address resolves. Use the map-center pin button when you need more deliberate placement.

  • While connected, the server privately reverse-geocodes the point and adds the assigned door.
  • While offline, the map shows Address resolving and Property is pending until sync completes.
  • A pending property cannot record an outcome or start an estimate.
  • The server verifies the active assignment, open campaign and territory, boundary, normalized address, the shared 12-meter nearby-property rule, and client-generated idempotency key before accepting the property.
  • An outside-boundary, duplicate, closed-scope, or conflicting request is rejected instead of silently creating a bad target.

Canvassing reverse geocoding uses the private server Maps key. The mobile app does not contain that credential.

Start a Tracked Shift

You must be connected to start.

  1. Select an assigned territory.
  2. Tap Start.
  3. Read the active-shift location disclosure and select Continue only when

you are ready to request device permission.

  1. Grant precise foreground location.
  2. Grant background location.
  3. Confirm location services are enabled.
  4. Confirm the status bar reports active GPS.

On Android, the Clean Estimate Pro disclosure appears before the operating system permission prompt. It explains that the app collects precise location in the background, including while the app is closed or not in use, only during an active tracked canvassing shift. It also explains that route coordinates, timestamps, accuracy, and the device-reported tracking state are visible to the representative and authorized managers for route and GPS coverage review. The message shows the organization's raw-GPS retention period and makes clear that unusual or missing evidence may be flagged for review rather than treated as an automatic judgment. Select Cancel to leave the shift stopped without requesting location permission.

The app starts the server shift and then the native background task. Android displays a persistent tracking notification. iOS displays the supported location activity. Locking the phone or switching apps does not end the shift.

Tracking runs only for the active shift. A representative cannot record a door outcome in a different territory while another territory's shift is active.

If permission or location service is interrupted, the app shows a persistent warning, records the interruption, and provides a recovery path. The shift is not represented as fully tracked while the required access is missing.

Review Property Context

Tap a downloaded property to open a compact bottom control. Swipe the no-contact outcomes horizontally and tap No Answer, Not Home, Vacant, or another configured non-contact result once to save immediately and advance. Select Conversation / details only when the rep needs the complete field sheet, which shows:

  • Distance from the latest available device location
  • Current disposition, attempt count, and last-visit time
  • Recent append-only attempt details
  • Organization-wide do-not-knock state
  • Existing customer or lead links
  • Recent linked estimates when the signed-in role has both View Clients and View Estimates
  • Prior completed or scheduled services when the signed-in role has both View Clients and View Jobs

Connected devices refresh this context through the assigned-target property-context API. The response includes a fresh projection of the selected target and reusable organization property, not only its history. The app reconciles the current disposition, attempt count, CRM links, and do-not-knock state into the visible target pages and the organization-and-user-scoped offline cache. If another representative or a manager marked that property Do Not Knock after the map page loaded, opening it applies the restriction to every downloaded target for the same property before another normal outcome can be recorded. A refresh never rolls back a newer unsynced visit or offline do-not-knock choice on the device.

Estimate and prior-service summaries are permission-gated independently of canvassing access. When the role lacks an underlying permission, the sheet explains that the section is unavailable instead of presenting a false empty history. A previously opened property's allowed context remains available from the scoped cache if service drops, and cached history is labeled so it is not mistaken for a fresh server response.

Record a Door Outcome

Representative and manager territory maps open with satellite imagery. Use the visible Map / Satellite control on either map to switch the base layer without leaving the selected campaign or territory.

Select a property and swipe the compact outcome row. A no-contact result takes one tap: the app records it, gives success feedback, and advances to the closest eligible door without a confirmation screen. This is the normal path for No Answer, Not Home, Vacant, and other configured outcomes that do not represent a conversation or require details.

Select Conversation / details for a real conversation. The expanded sheet keeps its action dock above Android and iOS system navigation areas and shows customer details, notes, services, follow-up, and appointment fields. Open Services discussed and tap every relevant service, such as House Wash, Window Cleaning, Driveway, or Patio. Multiple services can be selected without typing, and the selections prefill the residential estimate handoff. For Interested and Appointment Set, Clean Estimate creates or matches the client and lead with Door Knocking as the lead source and the signed-in canvasser as the assigned sales rep. Choose Save + quote to save the verified visit and open the in-app residential quote immediately, or Save + lead to open the created or matched lead. Non-lead conversations retain Save + next. The configured outcome still controls which fields are required.

Customer inputs retain visible Customer name, Phone, and Email labels even after data is entered. US phone digits format progressively as 555-555-5555 while the representative types, making the saved number easier to verify at the door. Qualified outcomes offer Save + lead, which creates or matches the Door Knocking client and lead and opens that lead inside the app. Save + quote creates the same CRM records and opens the native residential estimate instead.

Common rules include:

  • Follow Up requires a follow-up date and time selected from the in-app

calendar and 15-minute time list.

  • Safety and data-quality outcomes such as Do Not Knock, Bad Address, and Inaccessible require a note when configured that way.
  • Interested requires a contact name and allows phone and email capture.
  • Appointment Set requires a contact name, calendar-selected date,

selectable start time, and at least a phone number or email address.

  • Quote Sent and Sold require a customer name and create or match the

Door Knocking client and lead. They can then open the lead or continue into the native quote workflow.

  • Unvisited and Estimate Created remain calculated states and are not

offered as ordinary door buttons.

The app gives success haptic feedback, updates the marker immediately, and advances to the nearest eligible door. Every saved attempt is append-only: a later attempt changes the current property status without deleting earlier history.

Leads and Appointments

Confirming Interested or Appointment Set sends the supplied contact through the shared CRM intake workflow.

  • A matching customer is reused when possible.
  • The lead and appointment remain linked to the property and visit.
  • The saved CRM identifiers and entered name, phone, and email stay attached to the selected door, so an estimate started immediately afterward is linked and prefilled without re-entering the contact.
  • Appointment details remain editable in the normal pipeline and schedule.
  • The original client-generated request identifier and full request fingerprint prevent a retry with changed organization, representative, target, shift, or submitted details from being treated as the same action.

When offline, the full confirmed door action stays queued and replays after reconnection. The server claims the action before CRM intake or customer communications begin. If another copy is still processing, the app honors the returned retry window and leaves the item pending without spending its normal retry or needs-review budget. Once a durable visit exists, later retries reuse it. If a stale processing claim must be recovered, any durable CRM intake is reused, automatic communications are suppressed, and the visit is marked for manager review.

Do Not Knock

Do-not-knock belongs to the reusable organization property, not one campaign. As soon as the representative confirms it, the mobile app applies the warning to every downloaded target for that property, including targets from another campaign, and prevents a normal disposition from replacing the restriction. The queued offline action preserves that protection while the server update is pending. When connected, opening a property also reconciles a newer organization-wide restriction from the server across the downloaded sibling targets, even when the original map page was stale.

Only an authorized manager can clear the restriction, and the manager must provide a reason.

GPS Verification

Each visit saves the available device location, accuracy, and distance from the property. A visit beyond the organization's review distance is saved and flagged for manager review. The default threshold is 150 meters.

A door save does not wait indefinitely for GPS beside a building. The app tries briefly for a balanced current fix, falls back to a recent device fix, and completes the disposition without coordinates when neither is available. A no-coordinate visit is preserved and flagged for manager review; it does not freeze Save + next, Save + lead, or Save + quote.

Additional review signals can identify a mocked-location report, an outside or unverifiable territory boundary, implausible travel, unusually rapid doors, repeated doors clustered at one location, low route coverage, or a long location interruption. When a nearby route point exists for the same user and shift, the evidence includes its recorded time, time difference, and distance from the visit.

A flag is a review prompt, not proof of misconduct or an automatic employment decision. Property coordinates, device accuracy, permission interruptions, route evidence, and notes should all be considered.

Work Offline

After a territory has downloaded, the core field workflow remains available without service:

  • Save dispositions and update marker state.
  • Add a missing-property point and keep it pending until its address resolves.
  • Preserve the original visit time and available location.
  • Continue collecting active-shift GPS points locally.
  • Build and save a residential estimate draft.
  • Queue proposal delivery.
  • See pending and needs-review counts.

Visit and GPS identifiers make replay idempotent. Each uploaded GPS identifier is permanently bound to its original coordinates, timestamp, accuracy, mocked-location evidence, shift, organization, and representative. An exact retry is accepted once; a changed payload, wrong actor, or attempt to recreate a retained identifier after its raw point expires is rejected for review.

If an upload of a newly collected background GPS batch receives an authentication or permanent failure, the app saves that batch to the original organization/user's durable queue before it records the interruption and suspends native tracking. Authentication failures can retry after the original account recovers access. Permanently rejected work remains visible for review instead of silently dropping the just-collected points.

Completed visit-request fingerprints remain available for 45 days, beyond the supported 30-day offline replay window, and are then removed in bounded server batches. Active or recoverable request claims are not removed by that cleanup. Canvassing caches, queued writes, and local proposal drafts are access-scoped to the organization and signed-in user. Ambiguous legacy local rows fail closed instead of appearing under a different account.

An expired or revoked session does not silently fall back to cached access. Authentication loss redacts the signed-in workspace immediately. Signing out, changing users, or switching organizations clears downloaded canvassing views for the departed scope, but it does not discard unsynced canvassing work. The durable queue—including pending GPS batches and a queued shift end—is isolated by organization and user and remains quarantined for recovery only by the original account in that organization. Another account or organization cannot read or process it. Unsynced business proposal and delivery work is quarantined the same way. A permanently rejected item moves to Needs review and does not block later valid work.

Local route storage is bounded and pruned, while server raw GPS follows the organization's configured retention period and preserves non-coordinate shift summaries after raw points expire. Native Android configuration disables app backup and excludes files, databases, and preferences from cloud backup and device transfer. The iOS app marks its Documents storage as excluded from backup. Signed-build verification of those generated settings remains a launch requirement.

Tap the status bar to retry pending work. A proposal cannot send while an earlier required visit or proposal write is still pending or needs review.

AI, customer acceptance and signatures, payment links, and schedule writes require a connection. A local proposal must sync and be reopened as the canonical server estimate before a customer can sign. Offline AI unavailability never blocks a disposition or estimate draft. XP remains pending until the server validates the underlying event.

See Working Offline for queue status and recovery guidance.

Build a Residential Estimate

Save a door outcome during the active shift and reopen the property. If managers configured quick-estimate templates, choose a named template to prefill its approved service, package, and customer-note starting values, or choose a custom estimate. The action remains unavailable until that target has a visit from the current shift.

After a connected positive disposition, Save + quote opens this builder as soon as the visit and CRM linkage are confirmed. Background map refresh and one-door manager-shift cleanup do not delay navigation. Save + lead opens the resulting native lead record on the same rule.

The Residential Estimate builder opens with the property, fresh CRM links, entered contact name, phone and email, and canvassing context already attached. A template is only a starting point; the builder still uses the same:

  • Configured services and add-ons
  • Deterministic pricing engine
  • Tax settings
  • Discount authorization
  • Red Line guardrails
  • Suds Club logic

The builder receives those rules through a verified, organization-and-user scoped residential bundle. It contains the active pricing version, supported price-book services, add-ons and size options, approved custom-item templates, published Suds Club setup, and the signed-in rep's effective Red Line and pricing permissions. A cached bundle can support offline drafting for no more than seven days and is used only after a connectivity failure. Authentication, permission, scope, invalid-configuration, and integrity failures do not fall back to cached authority.

For each selected service, enter the measurement the pricing engine actually uses: house square footage and stories; driveway, deck, patio, or roof square footage; sidewalk, fence, or gutter linear feet; or a whole-number window count. Windows also require exterior-only or interior-and-exterior service and an optional screen-removal choice. Decks, patios, fences, and roofs require one of the types configured by the organization; a roof can also be marked as half-roof work. The builder blocks review when a selected service is missing its required measurement or type instead of inventing a quantity.

Add-ons with size choices require one active choice and use that choice's configured price. Approved custom-item templates keep their canonical name, unit, and price. Only a user with estimate-management authority can add an unapproved ad-hoc custom item or apply a permitted price override. If Suds Club has not been published or is malformed, the app does not synthesize a default plan.

Residential package discounts are automatic pricing-engine results, and the workspace global minimum is applied after that package discount. The builder does not create a separate manual estimate-level discount or customer payment schedule or turn a one-time total into a monthly financing claim. A permitted service-price override is the supported manual pricing adjustment and remains subject to Red Line access, manager override authority, floor review, and server recalculation. The separately priced Suds Club option is the workflow with an actual upfront amount, eight regular monthly payments, and a reconciled final payment.

The first meaningful edit creates an account-scoped local draft before the final step. Changes autosave after a short pause and flush when the app backgrounds or the builder closes, while explicit Save as Draft and send actions continue to own the sync payload.

Review and edit the template's customer note before saving. The final note is stored with the estimate and appears to the customer in the estimate view and generated PDF.

Residential property photos save locally first and upload only after the canonical estimate exists. New uploads use a private organization/estimate/client-bound object path. Customer-token, proposal, job, and PDF readers receive short-lived signed URLs only after authorization. Deleting a photo while it is still queued cancels that upload before removing the local file; deleting a synced photo verifies the same estimate and client scope before removing its private stored object. Unknown bucket values fail closed. Existing rows stored in job-photos now use the same authorized, short-lived signed-read path; switching the bucket to private does not preserve permanent public object links.

Campaign, territory, property, target, assignment, shift, setter, and visit identifiers follow the draft. Offline sync submits the visit before the proposal. The server then rebuilds residential selections and totals from the current canonical price book. A sent proposal must match the exact reviewed bundle revision; pricing or catalog drift stops it for review before any queued delivery can run. This preserves validated attribution through the estimate, accepted sale, job, completed revenue, commission, and XP.

After saving or queuing the estimate, return to Canvass to continue the shift.

Accept, Send, and Resend

Open the saved estimate from Proposals.

In-Person Signature

For an eligible, synced residential estimate, connect to the network, reopen proposal detail, and select Accept & Sign or Capture In-Person Signature. Local-only proposals do not expose a valid acceptance action.

  1. Hand the device to the customer.
  2. Enter the signer's full name.
  3. Ask the customer to review the displayed estimate, scope, price, and terms.
  4. Capture the finger-drawn signature.
  5. Confirm the acceptance statement and select Accept & Sign.

The sheet displays the canonical server estimate number and address, exact scope line items, total, pricing version, and the organization's current terms. The customer confirms that exact summary. Acceptance stores the signature PNG, signer name, signed time, request network address, and a SHA-256 fingerprint of the canonical estimate and terms snapshot with the estimate.

The same contract applies to customer web links. Choosing a residential package first asks the server to stage that exact server-owned option and returns a fresh scope, total, and terms review. Package selection by itself does not accept the estimate or run accepted-estimate automation. The customer must sign the matching review. Turning services off or adding change notes sends a revision request instead of accepting a client-calculated total. Maintenance-plan acceptance likewise requires its matching canonical signature; an agreement cannot be accepted by a direct unsigned status call.

The save is atomic and uses the reviewed total, pricing version, contract-only estimate acceptance revision, terms revision, and acceptance fingerprint. If the scope, price, pricing setup, or terms changed after the sheet opened, the signature is rejected and the rep must reopen the current estimate for a new review. Proposal views and delivery activity do not invalidate an otherwise unchanged review. Closing and reopening on a new fingerprint clears the previous signature and consent. If a network response is ambiguous, retry uses the same captured PNG, signer, and timestamp so an exact completed attempt can be recognized safely.

Customer acceptance cannot be captured offline. Sync the local draft, reopen the canonical server estimate, and stay connected through the signature save.

After acceptance, the app can create a hosted deposit link for the canonical 25% target. The target is rounded to cents, subtracts payments already recorded toward it, and cannot exceed the remaining balance. The backend rejects pre-acceptance, stale-amount, or unauthorized deposit requests rather than trusting a percentage or amount supplied by the device.

Initial Delivery

Choose the approved email and/or SMS recipients in the estimate review step and queue delivery. Email/SMS cannot be sent without at least one recipient. The delivery queue keeps a stable idempotency key so retries do not create duplicate sends.

The proposal detail shows the timeline, recipient state, PDF state, link views, and queued/offline state. “Queued” means the request is waiting; it does not mean the provider has delivered it.

The delivery retry ledger retains normalized recipients, provider identifiers, and provider error details for at most 90 days. Its bounded retention job removes the request and recipient rows together, and deletion of the organization, proposal, or requesting user also cascades the related ledger data. This limit applies to delivery idempotency records, not to the proposal's normal business-record retention.

Resend

Select Resend on proposal detail, review the saved email and SMS recipients, and confirm Queue resend. Each intentional resend receives a fresh delivery key, includes the PDF, and enters the durable queue.

  • Connected devices process the queue during sync.
  • Offline devices keep the resend until connectivity returns.
  • Repeated taps cannot queue the same resend twice.
  • If an existing delivery is already pending, finish or retry that delivery before creating another.
  • An estimate without a linked mobile delivery record directs the user to the web estimate detail.

Similar estimate is not a true duplicate. It starts a new estimate with customer and property fields prefilled; services and pricing must be reviewed again.

Schedule the Next Action

From proposal detail, select Schedule Follow-Up and choose:

  • Follow-up
  • Appointment
  • Work

Choose the date from the month calendar, select an optional readable AM/PM time range, and add notes. Follow-up and appointment update the linked customer/lead schedule. Work is available only after acceptance and schedules the linked job, creating the missing job link when the accepted estimate is eligible.

Scheduling requires a synced server proposal and a connection. Dates cannot be in the past.

Use AI Field Coach

Select Pre-knock, Objection, or open the broader AI field coach. Available modes include pre-knock, objection, transcript structuring, estimate guidance, post-conversation coaching, and shift review.

The result separates record-backed facts from recommendations and confirms that no record changed. AI requires connectivity and cannot change a disposition, save extracted contact data, alter pricing, apply a discount, send a proposal, or accept for the customer.

See Canvassing AI for mode details and privacy controls.

XP, Goals, and Competitions

The field screen keeps goals and standings behind one compact Goals & team standings control so the map, property list, and shift actions remain usable on a phone. Opening it presents a full-screen, scrollable panel with Your verified goals, the configured representative leaderboard, and an active eligible competition.

  • Filter standings by Today, Week, or Month, then optionally by an authorized campaign, an authorized territory, and Sales reps only. Representatives see filters from their active live assignments. Owners and managers can select any live campaign or territory in the organization, including an unassigned or completed scope.
  • Each representative card shows rank, representative, verified doors, contacts, qualified leads, appointments, estimates sent, sales, revenue, contact rate, appointment rate, close rate, and period XP. The list returns the top 25 representatives plus your own row when it falls outside the top 25, so a response exposes no more than 26 representative identities.
  • The main rank uses XP when the organization selects XP; every other featured metric keeps the main rank on the balanced scorecard, so raw door volume never becomes the ranking by itself. The selected metric is promoted on every representative card and highlighted again in its detail grid. XP remains the existing signed XP ledger value; the balanced score combines verified activity, conversions, revenue, and non-negative XP contribution.
  • While the panel is open and connected, standings refresh on a staggered interval of about 120–150 seconds. Closing the panel stops leaderboard polling. Refresh requests are also server rate-limited.
  • To absorb a team refresh burst, the server can reuse normalized score rows for up to 30 seconds only when the organization, XP-or-balanced rank mode, filters, and reporting-period bounds match. Authorization, assignment scope, leaderboard privacy, top-25-plus-own selection, and profile-name loading still run for every request. The HTTP response remains private and is not stored by shared browser or edge caches.
  • A compatible offline snapshot is labeled with the time it was downloaded and is usable for at most five minutes. Version 4 separates snapshots by organization, user, period, campaign, territory, and role filter, but persists only the signed-in representative's own row under the private Current user label. Full top-25-plus-own teammate standings are available only from a live response and are never stored on the device.
  • Offline fallback validates the exact filters, echoed period, organization-timezone bounds, download time, and every required row field. A snapshot dated more than 30 seconds in the future, older than five minutes, incomplete, or differently scoped is rejected. Legacy version 3 identity-bearing snapshots never render and are removed when local cache maintenance can write.
  • An authorization failure, disabled gamification, or a change from full standings to rank-only privacy clears incompatible cached standings. If that local purge cannot be written, an in-memory organization-and-user privacy barrier blocks later offline fallback until a safe authoritative response is cached, so stale full teammate identities cannot reappear. Missing settings fail closed as disabled and rank-only.
  • Daily doors and contacts, weekly qualified leads and appointments, and monthly sales and completed revenue use the organization's configured IANA timezone. Day, week, and month boundaries follow daylight-saving changes instead of resetting at UTC midnight.
  • Every featured leaderboard mode, including balanced scorecard and XP, uses the same PostgreSQL-derived organization-local period bounds as the operational metrics.
  • Operational goal and leaderboard values come from validated visits and attributed outcomes; visits awaiting manager review do not increase them. Contact, appointment, and close rates follow the cohort of verified visits in the selected period, so a later conversion can update that cohort's rate. Appointment, estimate, sale, and revenue cards instead credit the period when the downstream activity occurred, so their counts can intentionally differ from the rate numerators.
  • The featured standings metric can be balanced scorecard, XP, doors, contacts, qualified leads, appointments, estimates sent, sales, completed revenue, contact rate, appointment rate, or close rate. Rate features are shown as percentages. Only XP changes the main rank to signed XP; every other choice keeps balanced ranking.
  • Rank-only privacy shows a representative only their own position without teammate identities. Owners and managers retain the oversight needed to administer the team.
  • A competition uses its own selected metric; it remains separate from the organization's featured leaderboard.
  • XP is awarded only after the server validates the source event. If completed work is reopened or cancelled, the period XP value can include a signed negative reversal instead of hiding the correction.

Managers can configure rules, goals, multipliers, privacy, and competitions on the web. Existing gamification achievement rules evaluate the validated events.

End the Shift

Tap End when field work is complete.

The native background task stops immediately. The app submits a final location when available and asks the server to finalize the shift summary. If the phone is offline, native collection still stops and the server-side shift end waits in the queue.

Signing out, changing users, or switching organizations also stops native tracking against the original shift. The app first tries to flush that shift's scoped queue. If GPS, visit, or other canvassing work is still pending—or authentication blocks the flush—the shift end is queued after that work instead of being sent ahead of it. Downloaded canvassing views are cleared, while the scoped durable queue remains quarantined for the original account to recover. Tracking resumes only when the server confirms that the exact user, organization, campaign, territory, and shift are still active.

After ending:

  1. Confirm the status bar no longer says GPS active.
  2. Reconnect if needed.
  3. Retry pending work.
  4. Resolve any Needs review item.
  5. Confirm no new route points appear after the shift end.

Manager Follow-Through

Managers should review the web property history, recovered-request and integrity signals, nearest-route evidence, GPS coverage, follow-ups, CRM links, proposal state, completed revenue attribution, representative conversion, goals, leaderboard, XP, and competition standings.

See Manage Canvassing Campaigns and Canvassing Reporting and Exports.

For production configuration and the required Android/iOS physical-device matrix, use Canvassing Launch Readiness. Documentation and automated checks do not by themselves prove that a native build or store release has been deployed.

Was this article helpful?

Still need help? Contact support