xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Field Sales/Visit plans
CONCEPT · Last reviewed

Visit plans

Read the visit-plan header

Visit Plan form showing status, route, purpose, task template and assigned resources
The daily visit plan materializes a route into a dated execution container with explicit ownership and template provenance.UI captured
  1. 1

    Name identifies the field day and must remain unique enough for operators to distinguish it.

  2. 2

    Status tracks the plan from preparation through execution, lapse or cancellation.

  3. 3

    Visit Route is the reusable beat from which the day's stops originate.

  4. 4

    Visit Purpose and Task Template determine why each stop exists and what work it receives.

  5. 5

    Assigned and Executed By resources separate planned ownership from actual execution evidence.

The Visit Plan materializes a reusable route into one executable field day. Name identifies the day, Status tracks lifecycle, Partner Account and Branch establish scope, and Visit Route records the source beat. Visit Purpose and Visit Task Template explain why the stops exist and what work each receives. Assigned To Resource is the planned owner, while Executed By Resource preserves who actually completed the day when reality differs.

Before release, confirm the planned timeline, assigned resource, route, template and visit population all belong to the same operating day and timezone. Do not create a duplicate merely because a cancelled plan did not regenerate: the one-plan-per-beat-per-day guard intentionally treats any existing plan as authoritative. For overdue work, inspect auto-cancel margins and individual visit state before changing status; cleanup should lapse only still-open work and must never rewrite visits that already carry execution evidence.

A visit plan is one executive's field day: a dated container holding a visit for each outlet due that day, assigned to the executive who will run it. Plans can be created by hand, created by a van run, or — the usual case at scale — generated automatically from each beat's schedule, so the day's plan simply exists when the executive opens the app in the morning.

Automatic generation from route schedules

Once an administrator enables automatic generation, a background job materializes plans from every active beat. For each date in the generation window it checks the beat's schedule, and when the date matches — and no plan exists yet for that beat and day — it creates a plan named after the route and date, assigns it to the route's executive, and builds the child visits from the route's approved stops, in the route's current stop order, with the visit task template expanded onto each visit.

Schedule elementWhat it does
Days of weekThe beat's weekly rhythm — plans are generated only on its marked days
Week numbersOptional week-of-month filter, e.g. "1,3" = first and third week only; empty means every week
Start timeStamped as the generated plan's start time on the day
Effective windowThe route generates plans only between its effective-from and effective-to dates
Advanced expressionA cron-style expression can replace the day flags for rhythms they cannot express
Lead daysHow many days ahead plans are materialized (0–30); the job covers today through today + lead days

Two rules keep generation predictable. First, one plan per beat per day: any existing plan for that beat and date — generated, manual, even a cancelled one — suppresses regeneration, so deleting or cancelling a day does not summon a replacement. Second, routes whose plans are owned by an external system can be excluded from generation entirely, so the two sides never produce duplicate days.

Stale-plan cleanup

Field reality leaves plans behind — a leave day, a breakdown, a route change. An administrator can set an auto-cancel margin, after which a sweep tidies up: a plan still open past its end date by more than the margin is marked Lapsed and its unfinished visits are Cancelled; a separate margin does the same for individual overdue visits. Both margins are off by default (set to zero), and settled work is never touched — only still-open plans and visits are swept.

Plan types

A plan carries a type that shapes its behavior: an Order Taking plan is the standard visit day, a Van Sales plan is linked to a van load document and adds the stock take-in and settlement flow (see Van sales), and a Field Service plan is the technician variant.

Common questions

Why did no plan appear for my route today?

Check the schedule first: today must match the route's day flags (and week numbers, if set), fall inside its effective window, and the route must be active with at least one approved stop. Then check whether a plan for today already exists — even a cancelled one blocks regeneration. Finally, automatic generation itself is a setting an administrator must have enabled.

I edited the route's stops — do existing plans change?

No. Visits are built from the approved stops at the moment the plan is created; plans already generated keep the day they were built with. Your edits show up in the next generated plan.

Does a generated plan overwrite a plan I created manually?

Never. A manual plan for a beat and day counts as that day's plan and suppresses generation for it.