{"id":"hvac-dispatch","title":"HVAC Dispatch","archetype":"A2","tenant":{"packageName":"CoolRoute Dispatch Launch Kit","defaultTenant":"Evergreen Mechanical","configuredDomain":"hvac-dispatch.ideas-realized.com","productName":"CoolRoute Command","companyName":"Evergreen Mechanical","industry":"HVAC dispatch operations","brandTokens":[{"label":"Primary color","value":"#0891b2"},{"label":"Secondary color","value":"#2563eb"},{"label":"Logo mark","value":"CR"},{"label":"Voice","value":"Urgent, clear, dispatcher-first"}]},"positioning":{"marketTitle":"HVAC dispatch software for same-day service boards and technician routing","buyerIntent":"HVAC service teams looking for a clearer same-day board that combines work orders, technician capacity, recurring plans, status updates, and route context.","rebrandFit":"The app can be rebranded for HVAC, plumbing service, electrical service, appliance repair, landscaping crews, mobile maintenance, and any field team with technician scheduling.","launchReadiness":"The current app already has board/calendar views, technician assignment, route context, customer message queues, parts exception holds, recurring plans, and job detail. A production version would add technician mobile views, SMS/email notifications, customer records, forms, and service platform integrations.","primaryKeyword":"HVAC dispatch software","supportingKeywords":["HVAC scheduling app","technician dispatch board","field service route management","same day service scheduling software"],"answerEngineSummary":"HVAC dispatch software helps service companies schedule jobs, assign technicians, monitor work order status, sequence routes, and manage recurring maintenance visits.","localServiceAngles":["custom dispatch software for HVAC companies","field service scheduling app development","technician routing workflow automation"]},"industrySolution":{"positioningHeadline":"Help dispatchers protect the day when jobs, technicians, and routes keep changing.","operatingPain":"HVAC teams often coordinate same-day work through a dispatch board, phone calls, texts, and platform notes that do not line up cleanly. A focused command surface helps dispatchers see priority, capacity, technician movement, and customer communication in one place.","buyerRoles":["HVAC company owners","Dispatch managers","Service managers","Operations coordinators"],"conversionTriggers":["Dispatchers are double-entering updates between tools and technician texts.","Customer ETA calls consume too much of the dispatch desk.","Recurring maintenance work gets squeezed by emergency calls.","Managers need utilization and status visibility without waiting for end-of-day reports."],"livePilotScope":["Authenticated dispatch board with job statuses, priority, and technician assignment.","Calendar and route views that share the same work order data.","Technician detail panel with load, next stop, skill context, and open exceptions.","Customer ETA, delay, approval, and completion message queue tied to work order status.","Inbound service request triage that qualifies urgency, SLA, technician fit, and scheduling impact.","Parts-needed exception workflow for quote, approval, order, ETA, and truck-stock resolution.","Maintenance agreement conversion desk that turns closeout recommendations into recurring-plan coverage.","Customer ETA message templates and CSV or service-platform export path."],"seoAeoPlan":{"pillarTitle":"HVAC dispatch software","answerTargets":["What should HVAC dispatch software include?","How do HVAC companies manage same-day technician schedules?","How can dispatchers reduce customer ETA phone calls?"],"comparisonAngles":["HVAC dispatch software vs field service management platform","Technician scheduling board vs shared calendar","Custom dispatch app vs ServiceTitan companion workflow"],"internalLinkTargets":["field service software development","dispatch workflow automation","SMS notification automation"]}},"commercialization":{"priorityScore":86,"priorityLabel":"High-demand operations demo","buildEffort":"Medium-high","sellablePackage":"Same-day dispatch command center for HVAC teams with 5-30 technicians","pricingHypothesis":"$28k-$55k pilot build, then $1.5k-$5k/month for hosting, support, messaging, and service-platform handoff work","firstBuyerProfile":"A service company with enough technician volume to feel dispatch friction but enough flexibility to pilot a focused workflow beside its current field-service tool.","validationQuestions":["Which dispatch status updates cause the most calls or texts today?","How many technicians need mobile status access in the first version?","What customer ETA message would reduce dispatcher workload immediately?","Which platform, spreadsheet, or calendar owns work orders at launch?"],"demoCloseScript":["Move a work order between statuses and ask which update should trigger a customer message.","Open the assignment view and confirm how dispatchers choose the next technician.","Frame the pilot around one dispatch desk, one technician cohort, and one message workflow."],"riskFlags":["Native mobile requirements can expand the pilot if not scoped tightly.","Route optimization should start as route visibility unless live optimization is required.","ServiceTitan, Jobber, or Housecall Pro sync needs client-specific API access and field mapping."]},"goToMarket":{"launchHeadline":"Launch as a same-day dispatch companion for one service desk.","salesNarrative":"Sell the pilot beside the customer’s current field-service tool by focusing on dispatcher visibility, ETA messages, parts exceptions, and technician assignment clarity before replacing the system of record.","nichePageAngles":["HVAC dispatch software with customer ETA messages","Same-day technician scheduling board for service companies","Parts-needed workflow for HVAC dispatch teams","Field service route and exception dashboard"],"proofAssets":["Board and calendar views sharing the same work order state","Customer communication queue for ETA, delay, approval, and completion messages","Parts hold workflow with vendor, ETA, and job impact","Inbound request triage desk that turns calls and web forms into scheduled work orders","Rescue dispatch panel that rebalances technician load and queues the customer promise","Maintenance agreement conversion workflow with recurring coverage handoff","Implementation JSON for work orders, technician roles, and service platform handoff"],"outreachHooks":["Dispatchers are still reconciling board updates with technician texts.","Customer ETA calls are consuming too much of the dispatch desk.","Needs-part jobs do not have a clear approval and return-visit workflow."],"activationChecklist":["Pick one dispatcher and a 5-10 technician cohort.","Map current work order statuses and ETA message triggers.","Define parts-hold statuses and approval language.","Start with CSV or manual import before API integration."]},"salesEnablement":{"oneLiner":"A rebrandable dispatch command center for HVAC teams that need same-day scheduling, technician capacity, ETA messaging, and parts hold visibility.","idealCustomerFilters":["Runs multiple technicians with same-day service pressure.","Dispatchers manually juggle route order, technician skills, and customer ETA updates.","Parts availability changes whether jobs can be completed today.","Wants a focused dispatch layer before replacing scheduling or field service software."],"disqualifiers":["Only needs calendar booking without technician operations.","Cannot export jobs, technician roster, or service categories.","Requires full mobile technician app replacement in the first pilot."],"discoveryQuestions":["How are same-day jobs assigned and rebalanced today?","Which skills, zones, or equipment tags drive technician assignment?","How do customers receive ETA or delay updates?","How often do parts holds change the schedule?"],"objectionHandlers":[{"objection":"We already have field service software.","response":"This works as a dispatch command layer when existing field service screens are too slow for same-day decisions, ETA messages, or parts exceptions."},{"objection":"Technician routes change too often.","response":"That is the point of the pilot: route context, capacity, and exception states need to stay visible while dispatchers make changes."},{"objection":"Messaging customers has compliance risk.","response":"The first release can use approved message drafts and manual send review before adding direct SMS automation."}],"offerTiers":[{"name":"Same-day dispatch pilot","priceRange":"$24k-$42k","bestFor":"One dispatcher team proving live board, route context, comms queue, and parts holds","scope":["Technician and job import","Dispatch board and route sequencing","Customer ETA message queue","Parts hold workflow and launch readiness export"],"proofPoint":"Show fewer blind spots across assignments, ETA communication, and parts-driven blockers."},{"name":"Service command rollout","priceRange":"$65k-$120k","bestFor":"Multi-team HVAC operators that need deeper scheduling, messaging, and field workflow support","scope":["Role-based dispatcher, manager, and technician views","Calendar or field service integration path","SMS provider and approved template workflow","Parts exception and escalation reporting"],"proofPoint":"Create a dispatch layer that helps managers see capacity, customer risk, and parts constraints in real time."}],"outreachSequence":[{"day":"Day 1","channel":"Email","subject":"Dispatch board for same-day HVAC pressure","message":"Lead with route changes, customer ETA updates, and parts blockers, then offer to show the live dispatch command demo."},{"day":"Day 4","channel":"Phone","subject":"Two-tech pilot","message":"Ask whether two technicians and one dispatcher could pilot same-day jobs before deeper field-service sync."},{"day":"Day 8","channel":"Email","subject":"ETA drafts before SMS automation","message":"Reduce risk by proposing approved message drafts and manual review before direct SMS integration."}],"demoScript":[{"step":"Open the live dispatch board","talkTrack":"Show technician load, priority, route context, and same-day pressure in one view."},{"step":"Open comms and parts","talkTrack":"Show how ETA messages and parts holds change dispatch decisions before customers get frustrated."},{"step":"Open Go-live readiness","talkTrack":"Frame the pilot around technician roster import, job export, message templates, and parts exceptions."}]},"whiteLabelRebrandKit":{"rebrandHeadline":"White-label the dispatch demo into a service command center for field teams.","rebrandSummary":"This kit adapts the HVAC dispatch app for service businesses by packaging technician language, route board copy, ETA messaging, parts-hold labels, and launch variants for trades with mobile crews.","launchNamePattern":"[Company name] Dispatch Desk, [Service line] Command, or [Market name] RouteBoard.","domainStrategy":"Use dispatch.clientdomain.com or service.clientdomain.com for production and keep hvac-dispatch.ideas-realized.com as the sales preview.","brandVoice":"Calm, urgent when needed, field-aware, and customer-service focused for dispatchers and technicians.","productCategory":"Field service dispatch software","variants":[{"label":"HVAC service dispatch","buyerProfile":"HVAC contractor balancing same-day jobs, technicians, ETA updates, and parts availability.","positioning":"A dispatch command desk that keeps routes, technician load, customer updates, and parts holds aligned.","domainIdea":"dispatch.[hvacdomain].com"},{"label":"Plumbing service routing","buyerProfile":"Residential plumbing service company with emergency calls and technician capacity pressure.","positioning":"A route and communication board for urgent service windows, tech assignments, and customer ETAs.","domainIdea":"service.[plumbingdomain].com"},{"label":"Facilities maintenance desk","buyerProfile":"Maintenance team coordinating mobile technicians, work orders, and site communications.","positioning":"A work order dispatch center that shows assignment risk, route pressure, and parts blockers.","domainIdea":"workdesk.[facilitydomain].com"}],"terminologySwaps":[{"current":"Technician","replacement":"Field tech, installer, plumber, mechanic, crew, or maintenance lead","note":"Choose the role label before mobile views and notifications are finalized."},{"current":"Job","replacement":"Call, work order, appointment, ticket, or service visit","note":"Use the buyer system vocabulary so imports and messages match customer records."},{"current":"Parts hold","replacement":"Material hold, supply blocker, equipment hold, or warehouse check","note":"Align the label with dispatch escalation and warehouse responsibility."}],"brandAssets":[{"label":"Service command identity","owner":"Client marketing lead","status":"needs-client","detail":"Logo, fleet-safe color accents, dispatcher screen mark, and customer-message footer."},{"label":"ETA message tone set","owner":"Service manager","status":"template","detail":"Approved arrival-window, delay, and parts-delay copy for dispatch review."},{"label":"Route board labels","owner":"Dispatcher","status":"template","detail":"Capacity states, priority names, skill tags, and service territory labels."}],"launchCopyBlocks":[{"label":"Hero promise","copy":"See technician capacity, route risk, ETA messages, and parts blockers before the day slips."},{"label":"Buyer proof line","copy":"Give dispatchers a single command board for assignment changes, customer updates, and service-manager approvals."},{"label":"Activation email","copy":"Your dispatch workspace is ready. Review today’s route risk and queued ETA messages before the first call."}],"implementationChecklist":[{"label":"Confirm field-service vocabulary","owner":"Service manager","status":"ready","detail":"Role, job, ETA, and parts language can be applied before service-system mapping."},{"label":"Approve customer-message copy","owner":"Client sponsor","status":"needs-client","detail":"Buyer must approve live ETA, delay, and parts-message language before notifications are enabled."},{"label":"Configure dispatch domain","owner":"Technical lead","status":"template","detail":"Production domain and app-subdomain routing are ready after the client chooses the service URL."}]},"pilotOnboardingPlan":{"intakeHeadline":"Qualify technician capacity, route board rules, ETA messages, and parts-hold workflow.","intakeSummary":"The dispatch pilot needs a real service-day model: technician rosters, service territories, job priority rules, message templates, and parts-hold escalation ownership.","buyerCommitment":"One service manager, one dispatcher, technician roster, sample work orders, and customer-message approval.","kickoffDuration":"One dispatch workflow kickoff, one technician/territory mapping session, and one notification review.","qualificationSignals":["Dispatchers rebalance same-day work using calls, whiteboards, or multiple service systems.","Technician capacity, skill, or route risk is visible too late in the day.","ETA and parts-delay messages already create customer-service pressure."],"disqualifiers":["No dispatcher or service manager can own priority and assignment rules.","Buyer cannot provide realistic work-order examples.","Customer notifications are legally or operationally blocked for the pilot."],"intakeQuestions":[{"question":"Which technician skills, territories, and capacity rules drive assignments?","whyItMatters":"This configures dispatch filters, route risk, and technician load views.","owner":"Service manager"},{"question":"Which ETA, delay, and parts-hold messages are approved for customers?","whyItMatters":"This determines notification templates and automation boundaries.","owner":"Client sponsor"},{"question":"What parts hold or warehouse blocker should escalate to a manager?","whyItMatters":"This defines the parts workflow and service-manager approval queue.","owner":"Dispatcher"}],"requiredAssets":[{"asset":"Technician roster and territories","owner":"Service manager","status":"needs-client","detail":"Technician names, skills, service areas, shift windows, and capacity assumptions."},{"asset":"Sample work orders","owner":"Dispatcher","status":"needs-client","detail":"Recent calls with status, priority, location, time window, customer note, and parts need."},{"asset":"Customer message templates","owner":"Client sponsor","status":"template","detail":"ETA, delay, technician assigned, and parts-hold message templates ready for approval."}],"approvalGates":[{"gate":"Dispatch rule approval","owner":"Service manager","acceptanceSignal":"Route and assignment rules correctly flag overloaded or skill-mismatched work."},{"gate":"Customer message approval","owner":"Client sponsor","acceptanceSignal":"ETA and delay templates are approved before live notification workflow is enabled."},{"gate":"Parts-hold escalation approval","owner":"Dispatcher","acceptanceSignal":"Parts blocker creates visible manager escalation and audit evidence."}],"firstWeekAgenda":["Day 1: map technician roster, territories, capacity, and priority rules.","Day 2: load sample work orders and configure route risk states.","Day 3: test ETA messages, delay messages, and parts-hold escalation.","Day 5: review dispatcher dashboard, technician view, and customer communication queue."],"handoffOutputs":["Technician and territory import sheet","Dispatch rule matrix","Customer message approval pack","Parts-hold escalation checklist"]},"pilotRunbook":{"runbookHeadline":"Pilot kickoff runbook for CoolRoute Command","runbookSummary":"A day-by-day launch operating plan that turns HVAC Dispatch from sales demo into a buyer-specific pilot with owners, artifacts, evidence, and exit criteria attached.","kickoffCall":"One dispatch workflow kickoff, one technician/territory mapping session, and one notification review.","launchWindow":"Weeks 2-6","buyerTeam":["Dispatch manager: approves the pilot offer, success criteria, and weekly launch decisions.","Dispatch manager: provides source data, validates import exceptions, and confirms cutover readiness.","Dispatcher: tests the workflow against real records before broader rollout.","Dispatcher users: verify role access, restricted fields, and day-one permissions."],"deliveryTeam":["Implementation lead: owns kickoff agenda, decisions, data review, and launch readiness board.","Product engineer: configures tenant settings, workflow rules, permissions, and export behavior.","Growth lead: aligns landing copy, proof assets, answer-engine content, and pilot reporting.","Support owner: runs the shared launch thread, weekly review, and post-pilot handoff backlog."],"days":[{"day":"Day 1","theme":"map technician roster","objective":"map technician roster, territories, capacity, and priority rules.","steps":[{"label":"Run kickoff block: map technician roster, territories, capacity, and priority rules.","owner":"Dispatch manager","duration":"60-minute working session","artifact":"Technician and territory import sheet","acceptanceSignal":"Route and assignment rules correctly flag overloaded or skill-mismatched work."},{"label":"Configure daily job import","owner":"Implementation lead","duration":"2 days","artifact":"Confirm job ID, customer, address, priority, service type, window, and current assignment fields.","acceptanceSignal":"Import one day of jobs and technician capacity with urgent unassigned work visible."},{"label":"Close readiness task: Pick pilot dispatch window","owner":"Service manager","duration":"15-minute checkpoint","artifact":"Start with weekday same-day calls before after-hours workflows.","acceptanceSignal":"Dispatch board and route panel show technician load and sequence changes."}]},{"day":"Day 2","theme":"load sample work orders and configure route risk states","objective":"load sample work orders and configure route risk states.","steps":[{"label":"Run kickoff block: load sample work orders and configure route risk states.","owner":"Implementation lead","duration":"Half-day configuration block","artifact":"Dispatch rule matrix","acceptanceSignal":"ETA and delay templates are approved before live notification workflow is enabled."},{"label":"Configure technician capacity model","owner":"Product engineer","duration":"3 days","artifact":"Persist tech skills, availability, current load, zone, and blocked status.","acceptanceSignal":"Assign 12 jobs and verify route/order changes are reflected on the board."},{"label":"Close readiness task: Approve ETA message templates","owner":"Operations lead","duration":"15-minute checkpoint","artifact":"Customer-facing SMS copy needs final tone and compliance approval.","acceptanceSignal":"Message queue data is present; SMS provider not selected."}]},{"day":"Day 3","theme":"test ETA messages","objective":"test ETA messages, delay messages, and parts-hold escalation.","steps":[{"label":"Run kickoff block: test ETA messages, delay messages, and parts-hold escalation.","owner":"Dispatcher","duration":"45-minute validation review","artifact":"Customer message approval pack","acceptanceSignal":"Parts blocker creates visible manager escalation and audit evidence."},{"label":"Configure eta message approval state","owner":"Product engineer","duration":"2 days","artifact":"Track drafted, approved, sent outside app, and blocked message states without sending live SMS.","acceptanceSignal":"Prepare ETA messages for 10 jobs without sending live customer messages."},{"label":"Close readiness task: Clean technician skills","owner":"Dispatcher","duration":"15-minute checkpoint","artifact":"Normalize install, service, warranty, and refrigeration certifications.","acceptanceSignal":"Parts hold workflow shows ETA, risk, and owner."}]},{"day":"Day 5","theme":"review dispatcher dashboard","objective":"review dispatcher dashboard, technician view, and customer communication queue.","steps":[{"label":"Run kickoff block: review dispatcher dashboard, technician view, and customer communication queue.","owner":"Dispatch manager","duration":"30-minute launch decision","artifact":"Parts-hold escalation checklist","acceptanceSignal":"Route and assignment rules correctly flag overloaded or skill-mismatched work."},{"label":"Configure field-service writeback boundary","owner":"Client sponsor","duration":"Workshop","artifact":"Decide whether assignment updates are export-only, manual copy, or API writeback after pilot.","acceptanceSignal":"Surface parts holds and customer-risk blockers in the app and export report."},{"label":"Close readiness task: Pick pilot dispatch window","owner":"Service manager","duration":"15-minute checkpoint","artifact":"Start with weekday same-day calls before after-hours workflows.","acceptanceSignal":"Dispatch board and route panel show technician load and sequence changes."}]}],"checkpoints":[{"label":"Reassign same-day job and preserve route context","owner":"Dispatcher","status":"complete","evidence":"Dispatch board and route panel show technician load and sequence changes."},{"label":"Send ETA message draft from comms queue","owner":"Service manager","status":"queued","evidence":"Message queue data is present; SMS provider not selected."},{"label":"Hold a job for unavailable parts","owner":"Parts coordinator","status":"complete","evidence":"Parts hold workflow shows ETA, risk, and owner."}],"meetingCadence":["One dispatch workflow kickoff, one technician/territory mapping session, and one notification review. before configuration begins.","Dispatch launch thread with Same or next business day for schedule-blocking issues response during setup.","Weekly dispatch review for KPI review, blocker triage, and adoption notes.","Customer ETA exceptions reviewed within 30 minutes; parts holds escalated before route commitment. once the first pilot cohort is live."],"decisionLog":["Scope decision: 5-week dispatch overlay pilot for one dispatch team, daily job import, technician roster, and prepare-only ETA workflow.","Data decision: Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record.","Access decision: Staff email login for pilot dispatch, with SSO and technician mobile auth added after field-service ownership is confirmed.; Service-zone sessions with dispatcher, technician, and manager role claims.","Launch decision: Package one-territory dispatch board pilot with job import, technician load rules, ETA message review, and parts-hold report."],"exitCriteria":["Daily job import shows all unassigned urgent jobs and technician capacity.","Dispatcher can assign at least 12 jobs and review route/order changes.","ETA messages remain prepare-only unless client approves send workflow.","Import one day of jobs and technician capacity with urgent unassigned work visible.","Assign 12 jobs and verify route/order changes are reflected on the board.","Final pilot review produces an expand, pause, or backlog decision tied to Package one-territory dispatch board pilot with job import, technician load rules, ETA message review, and parts-hold report.."]},"dealDeskPackage":{"orderFormHeadline":"Order form for a dispatch command pilot with route, technician, and customer communication control.","orderFormSummary":"Frames the HVAC dispatch demo as a paid service operations pilot: job import, dispatch board setup, technician capacity rules, route sequencing, customer ETA messaging, parts hold workflow, and field-service-system boundaries.","recommendedTier":"Dispatch board pilot","setupFeeRange":"$24k-$42k","recurringFeeRange":"$1.2k-$4k/month","grossMarginModel":"Target 58-68 percent implementation margin after job import, dispatcher training, route workflow tuning, and customer message review.","closeAssumption":"Buyer can provide one dispatch territory, technician schedule data, job status export, and approved customer message templates.","paymentMilestones":["45 percent due at signature for territory setup, job import mapping, and dispatcher workflow design.","35 percent due after dispatch board, route sequence, and customer ETA queue pass live review.","20 percent due after parts-hold report, dispatcher acceptance notes, and expansion plan are delivered."],"includedLineItems":[{"label":"Dispatch command workspace","feeType":"setup","priceBand":"$7k-$12k","scope":"Brand tokens, dispatch roles, territory filters, technician cards, schedule states, and command board shell.","status":"template"},{"label":"Job and technician import","feeType":"setup","priceBand":"$7k-$13k","scope":"Map jobs, technicians, skills, windows, equipment flags, and status fields for one territory.","status":"needs-client"},{"label":"Route and communication workflow","feeType":"setup","priceBand":"$8k-$15k","scope":"Configure route sequencing, ETA messages, dispatch exceptions, parts holds, and manual system export.","status":"template"},{"label":"Pilot hosting and dispatch support","feeType":"recurring","priceBand":"$1.2k-$4k/month","scope":"Hosting, weekly dispatch review, customer copy tuning, route rule adjustments, and blocker triage.","status":"ready"}],"optionalAddOns":[{"name":"Field service system writeback","trigger":"Buyer wants job status, technician notes, or ETA updates posted to ServiceTitan, Housecall Pro, or another FSM.","priceBand":"$18k-$45k","implementationNote":"Requires API review, field ownership, auth model, and a posting rollback plan."},{"name":"SMS delivery integration","trigger":"Buyer wants live SMS ETA and delay messages rather than demo-mode message queues.","priceBand":"$8k-$18k plus carrier fees","implementationNote":"Requires consent language, sender setup, opt-out handling, and message audit logs."},{"name":"Parts inventory sync","trigger":"Buyer wants dispatch to reserve parts or check truck stock automatically.","priceBand":"$14k-$32k","implementationNote":"Requires inventory source, reservation rules, and technician exception handling."}],"scopeBoundaries":["No live customer SMS without approved consent language and sender setup.","No field-service-system writeback unless the integration add-on is signed.","Route optimization remains dispatcher-assisted in the base pilot, not autonomous dispatching."],"approvalChecklist":[{"gate":"Territory and schedule accepted","owner":"Dispatch manager","requiredEvidence":"Pilot territory, technician roster, skill tags, and schedule windows validated."},{"gate":"Customer message copy approved","owner":"Client sponsor","requiredEvidence":"ETA, delay, and parts-hold templates approved with opt-out/compliance notes."},{"gate":"Dispatcher workflow accepted","owner":"Implementation lead","requiredEvidence":"Dispatcher completes reschedule, route review, and parts-hold scenarios in the pilot workspace."}],"redlines":["Do not promise autonomous route optimization as part of the base pilot.","Do not send live SMS from the app until consent and sender setup are approved.","Do not commit to FSM writeback before API and field-ownership review."]},"clientProposal":{"proposalTitle":"CoolRoute Command pilot proposal","proposalSummary":"A client-ready proposal for turning the HVAC Dispatch demo into a scoped, rebrandable field service dispatch software pilot with clear launch owners, commercial terms, acceptance criteria, and follow-on SEO/AEO expansion.","prospectFit":["Runs multiple technicians with same-day service pressure.","Dispatchers manually juggle route order, technician skills, and customer ETA updates.","Parts availability changes whether jobs can be completed today.","HVAC company owners and Dispatch managers can validate the pilot without replacing their core system."],"recommendedOffer":"Field service dispatch software pilot package","investmentSummary":"$24k-$42k setup, $1.2k-$4k/month recurring, $1.5k-$5k/month hosting, support, messaging review, and service-platform handoff work.","targetLaunchWindow":"Weeks 2-6; 1 week job import, 2 weeks board and notification workflow, 2 weeks same-day dispatch pilot.","executiveNarrative":"A rebrandable dispatch command center for HVAC teams that need same-day scheduling, technician capacity, ETA messaging, and parts hold visibility. The paid pilot keeps scope tight: prove cleaner dispatch decisions, fewer surprise delays, and better customer communication during peak service windows. while deferring custom integrations, advanced automation, and unsupported workflow expansion until the buyer validates adoption.","buyerOutcome":"Cleaner dispatch decisions, fewer surprise delays, and better customer communication during peak service windows.","proofPoints":["Assignment completeness: 95% of active pilot jobs have technician, priority, and route status.. Evidence: Dispatch board and route detail view.","Parts hold visibility: 100% of blocked pilot jobs have part, owner, and resolution note.. Evidence: Parts hold list.","ETA message readiness: 80% of urgent or delayed pilot jobs have a prepared customer message.. Evidence: Message queue and template status.","Recovered dispatch capacity: Reduce same-day coordination loops for urgent and blocked jobs. modeled lift.","Delay prevention: Expose route-impacting blockers before final assignment. modeled lift."],"scope":[{"label":"Tenant setup","detail":"Configure service zones, technician roles, priority labels, dispatch stages, subdomain, and brand tokens.","deliverables":["Dispatch command workspace","Unassigned urgent-job queue and assignment workflow","Daily job import template","Service jobs export import map"],"acceptanceSignal":"Dispatch board and route panel show technician load and sequence changes."},{"label":"Data onboarding","detail":"Map field-service export, technician capacity, route order, customer risk, and parts hold data.","deliverables":["Jobs, technicians, routes, and parts blockers","Technician capacity, route order, skill match, and status board","Technician roster and skill map","Technician roster import map"],"acceptanceSignal":"Message queue data is present; SMS provider not selected."},{"label":"Workflow configuration","detail":"Configure urgent-job escalation, ETA message prep, parts hold route blocks, and daily dispatch review.","deliverables":["Assignment and ETA preparation","Parts hold and customer-risk blockers","ETA message templates","Parts holds import map"],"acceptanceSignal":"Parts hold workflow shows ETA, risk, and owner."},{"label":"Pilot review","detail":"Deliver assignment report, ETA readiness summary, parts blocker list, and field-service writeback recommendation.","deliverables":["Dispatch performance and writeback decision","ETA message preparation and dispatch escalation summary","Dispatch escalation report"],"acceptanceSignal":"Surface parts holds and customer-risk blockers in the app and export report."}],"timeline":[{"phase":"Kickoff","timing":"Week 1","owner":"Dispatch manager","buyerAction":"Dispatch manager: approves the pilot offer, success criteria, and weekly launch decisions.","deliverable":"map technician roster, territories, capacity, and priority rules.","exitSignal":"Daily job import template and technician skill map are accepted."},{"phase":"Configuration","timing":"Weeks 2-3","owner":"Implementation lead","buyerAction":"Dispatch manager: provides source data, validates import exceptions, and confirms cutover readiness.","deliverable":"load sample work orders and configure route risk states.","exitSignal":"Dispatcher can assign sample jobs and prepare ETA messages."},{"phase":"Pilot","timing":"Weeks 4-5","owner":"Dispatcher","buyerAction":"Dispatcher: tests the workflow against real records before broader rollout.","deliverable":"test ETA messages, delay messages, and parts-hold escalation.","exitSignal":"Assignment clarity, ETA readiness, and parts blocker report are accepted."}],"commercialTerms":[{"label":"Recommended tier","value":"Dispatch board pilot","detail":"Buyer can provide one dispatch territory, technician schedule data, job status export, and approved customer message templates."},{"label":"Pilot setup","value":"$24k-$42k","detail":"Brand tokens, dispatch roles, territory filters, technician cards, schedule states, and command board shell."},{"label":"Recurring support","value":"$1.2k-$4k/month","detail":"Dispatch launch thread: Business days during pilot; Weekly dispatch review: One 45-minute session per week"},{"label":"Job and technician import","value":"$7k-$13k","detail":"Map jobs, technicians, skills, windows, equipment flags, and status fields for one territory."},{"label":"Route and communication workflow","value":"$8k-$15k","detail":"Configure route sequencing, ETA messages, dispatch exceptions, parts holds, and manual system export."},{"label":"Pilot hosting and dispatch support","value":"$1.2k-$4k/month","detail":"Hosting, weekly dispatch review, customer copy tuning, route rule adjustments, and blocker triage."}],"buyerCommitments":["Daily job export with customer, address, priority, service type, window, status, and assignment fields.","Technician roster with skills, service zones, availability, and current dispatch policy.","Approved ETA message language and customer communication policy.","Parts hold categories, escalation thresholds, and dispatch owner assigned.","One dispatch workflow kickoff, one technician/territory mapping session, and one notification review. before configuration begins.","Dispatch launch thread with Same or next business day for schedule-blocking issues response during setup."],"assumptions":[{"label":"Data path","value":"Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record.","detail":"Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record."},{"label":"Identity model","value":"Staff email login for pilot dispatch, with SSO and technician mobile auth added after field-service ownership is confirmed.","detail":"Staff email login for pilot dispatch, with SSO and technician mobile auth added after field-service ownership is confirmed."},{"label":"Session model","value":"Service-zone sessions with dispatcher, technician, and manager role claims.","detail":"Service-zone sessions with dispatcher, technician, and manager role claims."},{"label":"Domain strategy","value":"Use dispatch.clientdomain.com or service.clientdomain.com for production and keep hvac-dispatch.ideas-realized.com as the sales preview.","detail":"Use dispatch.clientdomain.com or service.clientdomain.com for production and keep hvac-dispatch.ideas-realized.com as the sales preview."},{"label":"Payment milestone","value":"45 percent due at signature for territory setup, job import mapping, and dispatcher workflow design.","detail":"45 percent due at signature for territory setup, job import mapping, and dispatcher workflow design."}],"outOfScope":["No live customer SMS without approved consent language and sender setup.","No field-service-system writeback unless the integration add-on is signed.","Route optimization remains dispatcher-assisted in the base pilot, not autonomous dispatching.","Do not promise autonomous route optimization as part of the base pilot.","Do not send live SMS from the app until consent and sender setup are approved.","Do not commit to FSM writeback before API and field-ownership review.","Deferred module: Native technician mobile app","Deferred module: Payment capture and invoice posting","Deferred module: Full two-way field-service platform sync"],"acceptanceCriteria":["Daily job import shows all unassigned urgent jobs and technician capacity.","Dispatcher can assign at least 12 jobs and review route/order changes.","ETA messages remain prepare-only unless client approves send workflow.","Parts holds and customer-risk blockers appear in the board and export report.","Reassign same-day job and preserve route context: Dispatch board and route panel show technician load and sequence changes.","Send ETA message draft from comms queue: Message queue data is present; SMS provider not selected.","Hold a job for unavailable parts: Parts hold workflow shows ETA, risk, and owner.","Daily job import shows all unassigned urgent jobs and technician capacity.","Dispatcher can assign at least 12 jobs and review route/order changes."],"riskControls":[{"label":"Pilot risk control 1","owner":"Implementation lead","detail":"Live SMS, autonomous routing, and FSM writeback must stay add-ons until consent, API, and rollback rules are approved."},{"label":"Pilot risk control 2","owner":"Product engineer","detail":"No live customer SMS without approved consent language and sender setup."},{"label":"Pilot risk control 3","owner":"Growth lead","detail":"No field-service-system writeback unless the integration add-on is signed."},{"label":"Dispatchers may not trust a board that is stale against the field-service system.","owner":"Implementation lead","detail":"Set a visible import timestamp and start with short daily refresh cadence."},{"label":"Live customer messaging requires compliance and sender approval.","owner":"Client sponsor","detail":"Keep first release in prepare-only mode until the client approves messaging policy."}],"seoAeoExpansion":["HVAC dispatch software: /industries/hvac-dispatch-software","What should HVAC dispatch scheduling software show? (SoftwareApplication)","How can dispatchers manage parts delays without losing the route? (HowTo)","Dispatch overlay vs field-service platform customization","HVAC dispatch board vs shared calendar"],"nextSteps":["Approve Dispatch board pilot and confirm $24k-$42k setup band.","Send required assets: Technician roster and territories, Sample work orders, Customer message templates.","Schedule One dispatch workflow kickoff, one technician/territory mapping session, and one notification review..","Choose launch domain: hvac-dispatch.ideas-realized.com preview now, then hvac-dispatch.ideas-realized.com for production.","Use Reassign same-day job and preserve route context as the first go/no-go decision."],"signatureBlocks":[{"role":"Client sponsor","responsibility":"Approves budget, pilot scope, and launch decision."},{"role":"Buyer operations owner","responsibility":"Provides source data, validates workflow language, and accepts launch criteria."},{"role":"Ideas Realized implementation lead","responsibility":"Owns configuration, runbook, QA evidence, and post-pilot backlog recommendation."}]},"customerSuccessPlan":{"supportHeadline":"Customer success desk for CoolRoute Command","supportSummary":"A buyer-ready support model for launching HVAC Dispatch with triaged tickets, service levels, training artifacts, success milestones, and renewal proof tied to the first pilot cohort.","successOwner":"Dispatch launch thread","launchChannel":"Dispatch launch thread: Business days during pilot","renewalSignal":"Dispatch scheduling inquiry: 2 qualified HVAC service inquiries per quarter","tickets":[{"id":"HVAC-SUP-417","label":"Approve ETA delay message for Lakeside Market","requester":"Dispatcher","owner":"Dispatcher","priority":"urgent","status":"open","due":"Next 20 minutes","detail":"Technician is running 28 minutes behind and customer copy is staged for review."},{"id":"HVAC-SUP-422","label":"Resolve condenser fan motor parts hold","requester":"Dispatcher","owner":"Parts coordinator","priority":"watch","status":"open","due":"Today 1:00 PM","detail":"Job cannot be routed to completion until branch pickup or truck stock is confirmed."},{"id":"HVAC-SUP-431","label":"Balance afternoon emergency load","requester":"Dispatcher","owner":"Service manager","priority":"normal","status":"in-review","due":"Today 3:30 PM","detail":"One technician is above target utilization and has a low-margin callback queued."},{"id":"HVACDISPATCH-SUP-700","label":"Demo app availability","requester":"Launch monitor","owner":"Technical lead","priority":"urgent","status":"scheduled","due":"Homepage and app route return 200 from production domain after DNS cutover.","detail":"Rollback DNS alias to preview or pause launch announcement until the route passes."},{"id":"HVACDISPATCH-SUP-701","label":"Urgent jobs assigned with approved ETA or parts status before service window risk","requester":"Launch monitor","owner":"Growth lead","priority":"watch","status":"scheduled","due":"Pilot usage is visible in the buyer dashboard within the first review cycle.","detail":"Review analytics key, event mapping, and privacy guardrails before widening access."}],"serviceLevels":[{"channel":"Dispatch launch thread","coverage":"Business days during pilot","response":"Same or next business day for schedule-blocking issues","included":"Import triage, board tuning, message template review, and parts blocker workflow changes."},{"channel":"Weekly dispatch review","coverage":"One 45-minute session per week","response":"Scheduled","included":"Assignment review, ETA readiness review, blocker report, and writeback scope decision."}],"knowledgeBase":[{"title":"Daily job import template","audience":"Dispatcher","status":"ready","detail":"Import one day of jobs and technician capacity with urgent unassigned work visible."},{"title":"Technician roster and skill map","audience":"Service manager","status":"template","detail":"Assign 12 jobs and verify route/order changes are reflected on the board."},{"title":"ETA message templates","audience":"Technician","status":"template","detail":"Prepare ETA messages for 10 jobs without sending live customer messages."},{"title":"Dispatch status map","audience":"Dispatcher","status":"ready","detail":"Scheduled, en route, on site, needs part, and complete states are defined."},{"title":"Technician role matrix","audience":"Dispatcher","status":"template","detail":"Skills, territory, capacity, and assignment rules are ready to tailor."},{"title":"SEO landing page","audience":"Dispatcher","status":"ready","detail":"Canonical page targets HVAC dispatch and scheduling searches."}],"successMilestones":[{"label":"Kickoff","owner":"Dispatch manager","timing":"Week 1","proof":"Daily job import template and technician skill map are accepted. Review 1 client-owned integration decisions before production cutover."},{"label":"Configuration","owner":"Implementation lead","timing":"Weeks 2-3","proof":"Dispatcher can assign sample jobs and prepare ETA messages. Confirm 2 notification templates before enabling outbound automation."},{"label":"Pilot","owner":"Dispatcher","timing":"Weeks 4-5","proof":"Assignment clarity, ETA readiness, and parts blocker report are accepted. Export implementation spec after 3 acceptance checks are reviewed."}],"escalationRules":["Demo app availability: Rollback DNS alias to preview or pause launch announcement until the route passes.","Urgent jobs assigned with approved ETA or parts status before service window risk: Review analytics key, event mapping, and privacy guardrails before widening access.","Confirm scheduling source of truth and technician calendar rules.: Hold go-live and keep the app in preview mode until the blocker has owner-approved evidence.","Kickoff: Daily job import template and technician skill map are accepted.","Renewal review uses Urgent jobs assigned with approved ETA or parts status before service window risk and Tenant setup."]},"liveOpsCommandCenter":{"headline":"Live dispatch operations command center","summary":"Keeps dispatchers focused on route pressure, customer ETA messages, parts holds, and technician load exceptions during the service day.","operatingMode":"Dispatcher triage with reviewed customer communication","serviceLevel":"Customer ETA exceptions reviewed within 30 minutes; parts holds escalated before route commitment.","tasks":[{"id":"HVAC-OPS-417","label":"Approve ETA delay message for Lakeside Market","owner":"Dispatcher","priority":"urgent","status":"open","due":"Next 20 minutes","detail":"Technician is running 28 minutes behind and customer copy is staged for review."},{"id":"HVAC-OPS-422","label":"Resolve condenser fan motor parts hold","owner":"Parts coordinator","priority":"watch","status":"blocked","due":"Today 1:00 PM","detail":"Job cannot be routed to completion until branch pickup or truck stock is confirmed."},{"id":"HVAC-OPS-431","label":"Balance afternoon emergency load","owner":"Service manager","priority":"normal","status":"in-review","due":"Today 3:30 PM","detail":"One technician is above target utilization and has a low-margin callback queued."}],"signals":[{"label":"ETA message queue","value":"5","tone":"warn","detail":"Three are ready to send after dispatcher approval."},{"label":"Parts holds","value":"3","tone":"warn","detail":"One hold blocks completion today."},{"label":"Tech utilization","value":"87%","tone":"warn","detail":"Target is under 82 percent before adding emergency calls."}],"automations":[{"trigger":"Technician ETA slips by more than 15 minutes","nextRun":"Every 15 minutes","fallback":"Queue customer message for dispatcher review instead of auto-send."},{"trigger":"Parts hold blocks same-day completion","nextRun":"Hourly","fallback":"Escalate to parts coordinator with supplier and truck-stock options."}],"escalationRunbook":["Do not send live SMS until customer copy and consent language are approved.","Call the customer before rerouting emergency jobs after the appointment window starts.","Hold route optimization if technician load exceeds service-manager threshold."]},"buildoutRoadmap":{"readinessScore":85,"readinessLabel":"Launch first: needs one build sprint","readinessSummary":"A dispatcher can see unassigned work, technician capacity, route order, parts blockers, and customer ETA message readiness from one daily board. Package one-territory dispatch board pilot with job import, technician load rules, ETA message review, and parts-hold report.","liveProductSpine":["Dispatch board: Job cards, technician load, route sequencing, map-style panel, and urgent-status actions.","ETA messaging workflow: Trigger rules, templates, escalation paths, and owner assignments.","Readiness cockpit: Import dry-runs, permission groups, acceptance tests, and blocker list."],"demoVisibleProof":["Service intake: Inbound service requests can be triaged, escalated, and scheduled onto the live dispatch board.","Job board and calendar: Status columns and technician calendar lanes stay aligned around the same seeded work orders.","Technician assignment: Dispatchers can select a job, compare technician load, apply rescue dispatch moves, and reassign the call in the client UI.","Customer communications: ETA, delay, approval, and completion messages are grouped with same-day parts exceptions.","Territory pilot console: Pilot controls, FSM writeback queue, and launch workbook evidence for territory readiness, route promises, parts exceptions, and closeout quality.","Plans and agreements: Service agreements surface cadence, next visit, contract value, dispatch readiness, and closeout conversion status."],"productionGaps":["Technician capacity model: Persist tech skills, availability, current load, zone, and blocked status.","ETA message approval state: Track drafted, approved, sent outside app, and blocked message states without sending live SMS.","Deferred after pilot: Native technician mobile app","Deferred after pilot: Payment capture and invoice posting","Risk to control: Dispatchers may not trust a board that is stale against the field-service system."],"nextBuildSprint":[{"label":"Daily job import","owner":"Implementation lead","effort":"2 days","status":"ready","detail":"Confirm job ID, customer, address, priority, service type, window, and current assignment fields."},{"label":"Technician capacity model","owner":"Product engineer","effort":"3 days","status":"template","detail":"Persist tech skills, availability, current load, zone, and blocked status."},{"label":"ETA message approval state","owner":"Product engineer","effort":"2 days","status":"template","detail":"Track drafted, approved, sent outside app, and blocked message states without sending live SMS."},{"label":"Field-service writeback boundary","owner":"Client sponsor","effort":"Workshop","status":"needs-client","detail":"Decide whether assignment updates are export-only, manual copy, or API writeback after pilot."}],"seoAeoCluster":{"pillarTitle":"HVAC dispatch software","pillarPath":"/industries/hvac-dispatch-software","primaryKeyword":"HVAC dispatch software","supportPages":["HVAC dispatch software with customer ETA messages","Same-day technician scheduling board for service companies","What should HVAC dispatch scheduling software show?"],"comparisonPage":"Dispatch overlay vs field-service platform customization"},"rebrandReadiness":"The app can be rebranded for HVAC, plumbing service, electrical service, appliance repair, landscaping crews, mobile maintenance, and any field team with technician scheduling. Production domain: hvac-dispatch.ideas-realized.com.","sellableOffer":"Field service dispatch software pilot package","firstBuyer":"A service company with enough technician volume to feel dispatch friction but enough flexibility to pilot a focused workflow beside its current field-service tool."},"portfolioPriority":{"rank":2,"launchLane":"Launch first","launchWindow":"Weeks 2-6","scoreBreakdown":{"commercialPull":91,"implementationLift":78,"seoAeoWedge":90,"rebrandRepeatability":88,"demoDepth":89},"totalScore":87,"whyNow":"Dispatch pain is immediate, the demo shows day-of-service pressure clearly, and the buyer can start with reviewed communication queues before live SMS or FSM writeback.","nextMilestone":"Package one-territory dispatch board pilot with job import, technician load rules, ETA message review, and parts-hold report.","productizationMove":"Persist job board state, customer message approvals, route notes, and parts-hold escalation logs.","seoAeoMove":"Publish HVAC dispatch software, service technician scheduling, and ServiceTitan dispatch overlay pages.","salesMove":"Lead with dispatcher overload, ETA exceptions, and same-day parts holds for service companies running too much from the FSM.","riskToWatch":"Live SMS, autonomous routing, and FSM writeback must stay add-ons until consent, API, and rollback rules are approved."},"sellablePilotPackage":{"offerName":"Field service dispatch software pilot package","buyerOutcome":"Cleaner dispatch decisions, fewer surprise delays, and better customer communication during peak service windows.","commercialPosition":"Same-day dispatch command center for HVAC teams with 5-30 technicians","productCategory":"Field service dispatch software","launchDomain":"hvac-dispatch.ideas-realized.com","launchLane":"Launch first","launchWindow":"Weeks 2-6","portfolioRank":2,"portfolioScore":87,"setupFeeRange":"$24k-$42k","recurringFeeRange":"$1.2k-$4k/month","pilotTimeline":"1 week job import, 2 weeks board and notification workflow, 2 weeks same-day dispatch pilot.","buildMode":"Dispatch overlay with daily job import and message template preparation before field-service writeback.","buyerCommitment":"One service manager, one dispatcher, technician roster, sample work orders, and customer-message approval.","kickoffDuration":"One dispatch workflow kickoff, one technician/territory mapping session, and one notification review.","closeTrigger":"Buyer can provide one dispatch territory, technician schedule data, job status export, and approved customer message templates.","nextCloseAction":"Package one-territory dispatch board pilot with job import, technician load rules, ETA message review, and parts-hold report.","acceptanceGates":[{"label":"Reassign same-day job and preserve route context","owner":"Dispatcher","status":"complete","evidence":"Dispatch board and route panel show technician load and sequence changes."},{"label":"Send ETA message draft from comms queue","owner":"Service manager","status":"queued","evidence":"Message queue data is present; SMS provider not selected."},{"label":"Hold a job for unavailable parts","owner":"Parts coordinator","status":"complete","evidence":"Parts hold workflow shows ETA, risk, and owner."}],"includedLineItems":[{"label":"Dispatch command workspace","feeType":"setup","priceBand":"$7k-$12k","status":"template","scope":"Brand tokens, dispatch roles, territory filters, technician cards, schedule states, and command board shell."},{"label":"Job and technician import","feeType":"setup","priceBand":"$7k-$13k","status":"needs-client","scope":"Map jobs, technicians, skills, windows, equipment flags, and status fields for one territory."},{"label":"Route and communication workflow","feeType":"setup","priceBand":"$8k-$15k","status":"template","scope":"Configure route sequencing, ETA messages, dispatch exceptions, parts holds, and manual system export."},{"label":"Pilot hosting and dispatch support","feeType":"recurring","priceBand":"$1.2k-$4k/month","status":"ready","scope":"Hosting, weekly dispatch review, customer copy tuning, route rule adjustments, and blocker triage."}],"requiredAssets":[{"label":"Technician roster and territories","owner":"Service manager","status":"needs-client","detail":"Technician names, skills, service areas, shift windows, and capacity assumptions."},{"label":"Sample work orders","owner":"Dispatcher","status":"needs-client","detail":"Recent calls with status, priority, location, time window, customer note, and parts need."},{"label":"Customer message templates","owner":"Client sponsor","status":"template","detail":"ETA, delay, technician assigned, and parts-hold message templates ready for approval."}],"handoffPacket":["Tenant setup","Daily job import template","Technician roster and skill map","ETA message templates","Dispatch escalation report","Dispatch status map","Technician role matrix"],"riskControls":["Live SMS, autonomous routing, and FSM writeback must stay add-ons until consent, API, and rollback rules are approved.","No live customer SMS without approved consent language and sender setup.","No field-service-system writeback unless the integration add-on is signed.","Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record.","Message approval: Customer ETA and delay messages stay queued until a dispatcher approves the template."],"seoAeoRoute":{"pillarTitle":"HVAC dispatch software","pillarPath":"/industries/hvac-dispatch-software","answerBrief":"What should HVAC dispatch scheduling software show?","comparisonPage":"Dispatch overlay vs field-service platform customization","internalLink":"HVAC Dispatch demo: /demo-library/hvac-dispatch"}},"tenantClonePackage":{"headline":"CoolRoute Command tenant clone package","summary":"A rebrand-and-launch packet for turning HVAC Dispatch into a client-specific tenant: brand, workflow spine, import plan, permissions, procurement, SEO/AEO routes, deployment, and support cutover.","packageName":"CoolRoute Dispatch Launch Kit","productName":"CoolRoute Command","tenantName":"Evergreen Mechanical","previewUrl":"https://hvac-dispatch.ideas-realized.com?screen=route","previewScreen":{"id":"route","label":"Route","proof":"dispatch route board and technician schedule proof","url":"https://hvac-dispatch.ideas-realized.com?screen=route"},"productionDomain":"hvac-dispatch.ideas-realized.com","canonicalPage":"https://ideas-realized.com/demo-library/hvac-dispatch","industryPage":"/industries/hvac-dispatch-software","pilotOffer":"Field service dispatch software pilot package","commercialSnapshot":"$24k-$42k setup / $1.2k-$4k/month recurring / 1 week job import, 2 weeks board and notification workflow, 2 weeks same-day dispatch pilot..","clonePackageScore":81,"buyerDecision":"Ready for buyer review once brand, tenant, and domain receives client input.","nextImplementationMove":"Buyer must approve live ETA, delay, and parts-message language before notifications are enabled.","primaryRisk":"Confirm scheduling source of truth and technician calendar rules.","lanes":[{"id":"brand-domain","label":"Brand, tenant, and domain","owner":"Implementation lead","status":"buyer-input","score":67,"summary":"This kit adapts the HVAC dispatch app for service businesses by packaging technician language, route board copy, ETA messaging, parts-hold labels, and launch variants for trades with mobile crews.","proof":"Evergreen Mechanical is configured for hvac-dispatch.ideas-realized.com; 3 white-label variants are mapped.","nextAction":"Buyer must approve live ETA, delay, and parts-message language before notifications are enabled.","assets":["[Company name] Dispatch Desk, [Service line] Command, or [Market name] RouteBoard.","Use dispatch.clientdomain.com or service.clientdomain.com for production and keep hvac-dispatch.ideas-realized.com as the sales preview.","Service command identity: Logo, fleet-safe color accents, dispatcher screen mark, and customer-message footer.","ETA message tone set: Approved arrival-window, delay, and parts-delay copy for dispatch review.","Route board labels: Capacity states, priority names, skill tags, and service territory labels."]},{"id":"workflow-data","label":"Workflow spine and data import","owner":"Implementation lead","status":"buyer-input","score":86,"summary":"The first pilot can sit beside the field-service platform. Import jobs and technician capacity, then use the board to expose assignment risk, parts blockers, and ETA message readiness.","proof":"3 reusable product-spine modules and 3 data sources are mapped for first-tenant launch.","nextAction":"Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record.","assets":["Dispatch board: Job cards, technician load, route sequencing, map-style panel, and urgent-status actions.","ETA messaging workflow: Trigger rules, templates, escalation paths, and owner assignments.","Readiness cockpit: Import dry-runs, permission groups, acceptance tests, and blocker list.","Service jobs export: 40 to 160 open jobs","Technician roster: 8 to 60 technician records","Parts holds: 10 to 80 parts-held job rows"]},{"id":"access-procurement","label":"Access, procurement, and buyer approval","owner":"Dispatch manager","status":"buyer-input","score":85,"summary":"A buyer-facing approval packet for turning HVAC Dispatch into a paid pilot: commercial scope, data boundaries, access model, hosting plan, support coverage, automation limits, and sign-off evidence.","proof":"8 procurement sections, 3 roles, and 3 permission scopes are documented.","nextAction":"Territory and schedule accepted: Pilot territory, technician roster, skill tags, and schedule windows validated.","assets":["Identity: Staff email login for pilot dispatch, with SSO and technician mobile auth added after field-service ownership is confirmed.","Session model: Service-zone sessions with dispatcher, technician, and manager role claims.","Commercial approval: ready","Data handling and import: needs-client","Access and role boundaries: scoped","Hosting and domain launch: scoped"]},{"id":"integrations-automation","label":"Integrations and automation boundaries","owner":"Product lead","status":"buyer-input","score":74,"summary":"The pilot should keep urgent jobs moving by turning schedule risk, route blockers, and parts holds into visible dispatcher actions.","proof":"4 setup integrations, 3 automation rules, and 5 environment variables are scoped.","nextAction":"Depends on ServiceTitan, Housecall Pro, Jobber, or custom records.","assets":["Customer ETA messages: SMS/email wording and triggers are scoped for same-day dispatch.","Service platform sync: Depends on ServiceTitan, Housecall Pro, Jobber, or custom records.","Map routing: Can be connected after technician and address data are live.","CSV job import: Work order fields map cleanly to a pilot import.","Unassigned urgent job alert: ready","ETA message preparation: needs-client","Parts hold route block: template"]},{"id":"seo-aeo-routes","label":"SEO/AEO demand capture","owner":"Growth lead","status":"ready","score":88,"summary":"The HVAC dispatch demo can anchor pages for service companies that need job boards, ETA messages, route risk, parts holds, and field-service handoff controls.","proof":"/industries/hvac-dispatch-software anchors 3 content briefs, 3 answer blocks, and 2 comparison pages.","nextAction":"Publish the highest-intent route for HVAC dispatch software, then link it to /demo-library/hvac-dispatch and the pilot package.","assets":["Primary intent: HVAC dispatch scheduling software","HVAC dispatch scheduling software for same-day service teams: /industries/hvac-dispatch-scheduling-software","HVAC parts hold workflow for dispatch teams: /resources/hvac-parts-hold-workflow","HVAC dispatch board vs field service software customization: /compare/hvac-dispatch-board-vs-field-service-customization","What should HVAC dispatch scheduling software show?","How can dispatchers manage parts delays without losing the route?"]},{"id":"deployment-support","label":"Deployment, support, and cutover","owner":"Dispatch launch thread","status":"buyer-input","score":83,"summary":"A production handoff plan for taking HVAC Dispatch from sales preview to a client-owned launch domain with Netlify hosting, environment gates, monitoring, rollback, and canonical SEO/AEO checks.","proof":"3 environments, 5 release gates, and 2 support levels are ready for cutover planning.","nextAction":"Merge the reviewed branch after typecheck, lint, build, schema validation, and browser QA pass.","assets":["Preview: https://hvac-dispatch.ideas-realized.com","Production: https://hvac-dispatch.ideas-realized.com","Dispatch launch thread: Same or next business day for schedule-blocking issues","Weekly dispatch review: Scheduled"]}],"cloneTargets":[{"label":"Plumbing service dispatch board","segment":"Residential plumbing service companies","targetKeyword":"plumbing dispatch software","launchPath":"/industries/plumbing-dispatch-software","fitScore":92,"launchEffort":"Low","rebrandMoves":["Swap HVAC equipment terms for plumbing fixtures","Adjust job types and SLA labels","Load plumber skill tags and territory names"],"riskControl":"Confirm emergency-call triage and after-hours escalation rules before pilot launch."},{"label":"Appliance repair scheduling desk","segment":"Appliance repair operators","targetKeyword":"appliance repair dispatch software","launchPath":"/industries/appliance-repair-dispatch-software","fitScore":85,"launchEffort":"Medium","rebrandMoves":["Swap systems for appliance categories","Add model/serial fields","Add parts-needed and return-visit labels"],"riskControl":"Separate parts availability from appointment readiness before enabling customer notices."},{"label":"Pool and spa service route board","segment":"Pool and spa maintenance teams","targetKeyword":"pool service route scheduling software","launchPath":"/industries/pool-service-route-scheduling-software","fitScore":79,"launchEffort":"Medium","rebrandMoves":["Rename technicians as route techs","Add recurring service frequency fields","Swap closeout details for service log and chemistry notes"],"riskControl":"Add recurring-route templates before promising automated schedule generation."}],"seoAeoRoutes":["/industries/hvac-dispatch-software","/industries/hvac-dispatch-software","/industries/hvac-dispatch-scheduling-software","/resources/hvac-parts-hold-workflow","/compare/hvac-dispatch-board-vs-field-service-customization","plumbing dispatch software: /industries/plumbing-dispatch-software","What should HVAC dispatch scheduling software show? Proof source: Assignment change history and ETA message approval queue","How can dispatchers manage parts delays without losing the route? Proof source: Parts hold blocker report"],"rebrandMoves":["Technician -> Field tech, installer, plumber, mechanic, crew, or maintenance lead","Job -> Call, work order, appointment, ticket, or service visit","Parts hold -> Material hold, supply blocker, equipment hold, or warehouse check","Swap HVAC equipment terms for plumbing fixtures","Adjust job types and SLA labels","Load plumber skill tags and territory names"],"exportLinks":[{"label":"Live app preview","href":"https://hvac-dispatch.ideas-realized.com?screen=route","detail":"App-only sales surface opened to Route: dispatch route board and technician schedule proof."},{"label":"Canonical landing page","href":"/demo-library/hvac-dispatch","detail":"SEO/indexable proof page on the main Ideas Realized domain."},{"label":"Industry page","href":"/industries/hvac-dispatch-software","detail":"Primary SEO/AEO route for buyer-intent capture."},{"label":"Pilot package","href":"/pilot-packages/hvac-dispatch-pilot-package","detail":"Commercial package page for the first paid setup."},{"label":"Implementation intake","href":"/implementation-intake/hvac-dispatch-implementation-intake","detail":"Buyer qualification and asset collection route."},{"label":"Procurement pack","href":"/demo-library/hvac-dispatch/procurement-pack","detail":"Approval packet for security, commercial, data, and support review."},{"label":"Sample data package","href":"/demo-library/hvac-dispatch/sample-data-package","detail":"Buyer-ready sample data package with CSV templates, seed rows, validation gates, and cutover notes."},{"label":"Sample data package JSON","href":"/demo-library/hvac-dispatch/sample-data-package.json","detail":"Machine-readable sample-data manifest for implementation automation and dry-import planning."},{"label":"Tenant clone package","href":"/demo-library/hvac-dispatch/tenant-clone-package","detail":"Downloadable rebrand-and-launch packet for implementation handoff."},{"label":"Clone package JSON","href":"/demo-library/hvac-dispatch/tenant-clone-package.json","detail":"Machine-readable tenant clone manifest for automation and implementation handoff."}]},"accessControl":{"accessHeadline":"Separate dispatcher control, technician visibility, and service-manager approvals.","accessSummary":"The HVAC dispatch pilot needs role controls for assignment changes, ETA messages, route risk, parts holds, and field-service writeback boundaries.","identityProvider":"Staff email login for pilot dispatch, with SSO and technician mobile auth added after field-service ownership is confirmed.","sessionModel":"Service-zone sessions with dispatcher, technician, and manager role claims.","roles":[{"role":"Dispatcher","accessLevel":"Daily board and customer communication control","responsibilities":["Assign technicians","Approve ETA messages","Resolve route risks"],"restrictions":["Cannot approve high-cost parts holds","Cannot edit technician profile rules"]},{"role":"Technician","accessLevel":"Assigned job and mobile status visibility","responsibilities":["Review assigned work","Update field status","Confirm parts on truck"],"restrictions":["Cannot view other technician routes","Cannot send unapproved customer messages"]},{"role":"Service manager","accessLevel":"Capacity, parts, and escalation oversight","responsibilities":["Approve parts blockers","Review urgent reassignment","Control writeback scope"],"restrictions":["Cannot bypass customer-message audit","Cannot delete dispatch history"]}],"permissionScopes":[{"scope":"Technician assignment","allowedRoles":["Dispatcher","Service manager"],"restrictedFields":["Capacity override","Urgent priority override","Writeback approval"],"launchCheck":"Urgent reassignment records owner and reason in the ledger."},{"scope":"ETA messaging","allowedRoles":["Dispatcher"],"restrictedFields":["Customer phone","Customer email","Unapproved message body"],"launchCheck":"ETA draft requires dispatcher approval before send state."},{"scope":"Parts hold release","allowedRoles":["Service manager"],"restrictedFields":["Part cost","Approval note","Customer quote state"],"launchCheck":"Parts hold remains blocked until manager release is recorded."}],"policies":[{"label":"Message approval","owner":"Customer service lead","detail":"Customer ETA and delay messages stay queued until a dispatcher approves the template."},{"label":"Technician privacy","owner":"Service manager","detail":"Pilot analytics track capacity and route state, not individual performance scores."},{"label":"Field-service writeback","owner":"Technical lead","detail":"Writeback is limited to approved status changes until the buyer confirms system ownership."}],"acceptanceChecks":[{"scenario":"Technician sees only assigned jobs","owner":"Service manager","status":"template","evidence":"Technician role is scoped to assigned work and mobile status updates."},{"scenario":"ETA message cannot send without dispatcher approval","owner":"Dispatcher","status":"ready","evidence":"Automation plan and analytics event both model ETA approval."},{"scenario":"Parts hold release requires service manager","owner":"Parts coordinator","status":"ready","evidence":"Parts blocker workflow and access scope share manager-only release rule."}]},"analyticsPlan":{"analyticsHeadline":"Measure dispatch urgency from SEO traffic to assignment, ETA, and parts-blocker proof.","analyticsSummary":"The plan shows whether HVAC buyers engage with same-day service workflows and whether dispatch actions prove capacity, communication, and parts-risk value.","northStarMetric":"Urgent jobs assigned with approved ETA or parts status before service window risk","instrumentationPhase":"Instrument dispatch landing CTA, app preview, job search, reassignment, ETA draft approval, parts hold review, route view, and spec download.","events":[{"name":"demo_opened_hvac_dispatch","trigger":"Prospect opens the HVAC dispatch app preview.","owner":"Growth lead","destination":"Analytics event stream and CRM source field","successSignal":"Dispatch pages produce 30 percent of qualified demo opens from the HVAC cluster."},{"name":"job_reassigned","trigger":"Dispatcher changes technician assignment or opens assignment workflow.","owner":"Dispatch manager","destination":"Product analytics funnel and operations ledger","successSignal":"Assignment workflow is visible in every dispatch sales demo."},{"name":"eta_message_approved","trigger":"ETA or delay message is viewed, approved, or marked ready to send.","owner":"Customer service lead","destination":"Customer communication dashboard","successSignal":"Qualified buyers can see how ETA approval avoids accidental sends."},{"name":"parts_hold_reviewed","trigger":"Parts hold workflow is opened for a job.","owner":"Parts coordinator","destination":"Parts blocker dashboard and audit ledger","successSignal":"Parts blocker proof is used in at least half of follow-up proposals."}],"conversionGoals":[{"label":"Dispatch scheduling inquiry","source":"HVAC dispatch industry page","target":"2 qualified HVAC service inquiries per quarter","action":"Score leads higher when they view assignment and ETA workflows."},{"label":"Parts workflow proof","source":"Parts hold content and app section","target":"50 percent of demos include a parts-hold interaction","action":"Use parts blocker analytics to shape pilot scope."},{"label":"Route-risk engagement","source":"Mobile and desktop app route views","target":"Route view opens in 40 percent of qualified sessions","action":"Promote dispatch overlay messaging when route risk is clicked."}],"dashboards":[{"name":"HVAC acquisition dashboard","audience":"Sales and marketing","widgets":["Dispatch keyword traffic","App preview opens","Assignment workflow views","ETA workflow views"]},{"name":"Dispatch operations dashboard","audience":"Dispatcher and service manager","widgets":["Urgent jobs","Queued ETA messages","Open parts holds","Route-risk count"]}],"privacyGuardrails":[{"label":"Customer addresses","detail":"Address analytics should use service-zone buckets, not raw street addresses, until buyer approval."},{"label":"Technician performance","detail":"Technician analytics are framed around capacity and assignments, not individual performance scoring during the pilot."},{"label":"Customer messages","detail":"Message template names and approval states can be tracked; customer phone and email values remain out of analytics."}]},"buyerImplementationPackage":{"packageHeadline":"Same-day dispatch pilot package for assignment clarity, ETA readiness, and parts blockers.","packageSummary":"The buyer package scopes a dispatch command center beside the existing field-service platform. It improves daily assignment visibility and ETA preparation without replacing technician mobile apps, invoicing, or live customer messaging in the MVP.","pilotOffer":"5-week dispatch overlay pilot for one dispatch team, daily job import, technician roster, and prepare-only ETA workflow.","setupFeeRange":"$28k-$55k pilot setup","monthlyRange":"$1.5k-$5k/month hosting, support, messaging review, and service-platform handoff work","kickoffRequirements":["Daily job export with customer, address, priority, service type, window, status, and assignment fields.","Technician roster with skills, service zones, availability, and current dispatch policy.","Approved ETA message language and customer communication policy.","Parts hold categories, escalation thresholds, and dispatch owner assigned."],"statementOfWork":[{"label":"Tenant setup","value":"Dispatch command workspace","detail":"Configure service zones, technician roles, priority labels, dispatch stages, subdomain, and brand tokens."},{"label":"Data onboarding","value":"Jobs, technicians, routes, and parts blockers","detail":"Map field-service export, technician capacity, route order, customer risk, and parts hold data."},{"label":"Workflow configuration","value":"Assignment and ETA preparation","detail":"Configure urgent-job escalation, ETA message prep, parts hold route blocks, and daily dispatch review."},{"label":"Pilot review","value":"Dispatch performance and writeback decision","detail":"Deliver assignment report, ETA readiness summary, parts blocker list, and field-service writeback recommendation."}],"onboardingMilestones":[{"phase":"Kickoff","owner":"Dispatch manager","timeline":"Week 1","outcome":"Job import, technician roster, and message policy are approved.","exitCriteria":"Daily job import template and technician skill map are accepted."},{"phase":"Configuration","owner":"Implementation lead","timeline":"Weeks 2-3","outcome":"Board, assignment logic, ETA templates, and blocker rules are configured.","exitCriteria":"Dispatcher can assign sample jobs and prepare ETA messages."},{"phase":"Pilot","owner":"Dispatcher","timeline":"Weeks 4-5","outcome":"Team uses the board for live schedule review and blocker triage.","exitCriteria":"Assignment clarity, ETA readiness, and parts blocker report are accepted."}],"successCriteria":["Daily job import shows all unassigned urgent jobs and technician capacity.","Dispatcher can assign at least 12 jobs and review route/order changes.","ETA messages remain prepare-only unless client approves send workflow.","Parts holds and customer-risk blockers appear in the board and export report."],"supportModel":[{"channel":"Dispatch launch thread","coverage":"Business days during pilot","response":"Same or next business day for schedule-blocking issues","included":"Import triage, board tuning, message template review, and parts blocker workflow changes."},{"channel":"Weekly dispatch review","coverage":"One 45-minute session per week","response":"Scheduled","included":"Assignment review, ETA readiness review, blocker report, and writeback scope decision."}],"buyerResponsibilities":["Provide daily job export and technician roster before configuration starts.","Approve customer message language before any send workflow is considered.","Assign one dispatch lead to validate board behavior and field-service handoff."],"changeOrderTriggers":[{"trigger":"Live SMS/email sending or customer communication automation","handling":"Requires sender approval, compliance review, and separate messaging implementation.","owner":"Client sponsor"},{"trigger":"Two-way field-service writeback, invoices, or technician mobile app","handling":"Quote as a follow-on integration or module after daily board pilot acceptance.","owner":"Implementation lead"}],"renewalExpansion":["Add field-service writeback after assignment workflow is accepted.","Add customer messaging send workflow after policy approval.","Add technician mobile views, invoice handoff, or service agreement planning."]},"buyerProof":{"roiHeadline":"Make dispatch capacity, ETA risk, and parts blockers visible in one operating board.","roiSummary":"The pilot proof model tracks same-day schedule load, technician assignment clarity, ETA message readiness, and jobs blocked by parts or customer risk.","businessOutcome":"Cleaner dispatch decisions, fewer surprise delays, and better customer communication during peak service windows.","baselineMetrics":[{"label":"Schedule risk visibility","baseline":"Dispatchers juggle calls, maps, technician notes, and parts status in separate tools.","target":"All pilot jobs display assignment, urgency, ETA, and blocker state on one board.","evidence":"Dispatch board, route order, and job detail drawer."},{"label":"Parts blocker handling","baseline":"Jobs stall when required parts are not tied to dispatch priority.","target":"Parts holds are visible before technician route sequencing.","evidence":"Parts hold workflow and job status labels."},{"label":"Customer ETA readiness","baseline":"ETA messages are manually composed and easy to skip during busy days.","target":"Message-ready state for urgent and delayed pilot jobs.","evidence":"Customer message templates and communication queue."}],"roiLevers":[{"lever":"Recovered dispatch capacity","currentPain":"Manual rescheduling and repeated status checks consume dispatcher time.","modeledLift":"Reduce same-day coordination loops for urgent and blocked jobs.","buyerValue":"Lets dispatchers keep technicians productive instead of chasing status."},{"lever":"Delay prevention","currentPain":"Parts and customer blockers are discovered after routes are built.","modeledLift":"Expose route-impacting blockers before final assignment.","buyerValue":"Improves service reliability and protects high-priority calls."},{"lever":"Customer communication","currentPain":"Customers call back when ETAs are unclear or change late.","modeledLift":"Use consistent ETA and delay messages from one board.","buyerValue":"Reduces avoidable call volume and improves service experience."}],"pilotKpis":[{"metric":"Assignment completeness","target":"95% of active pilot jobs have technician, priority, and route status.","owner":"Dispatch manager","evidence":"Dispatch board and route detail view."},{"metric":"Parts hold visibility","target":"100% of blocked pilot jobs have part, owner, and resolution note.","owner":"Parts coordinator","evidence":"Parts hold list."},{"metric":"ETA message readiness","target":"80% of urgent or delayed pilot jobs have a prepared customer message.","owner":"Customer service lead","evidence":"Message queue and template status."}],"proofAssets":[{"label":"Dispatch capacity snapshot","status":"template","detail":"Shows assigned, unassigned, delayed, and parts-held jobs for a service manager review."},{"label":"Technician roster import","status":"ready","detail":"Defines technician, region, skills, availability, and load fields for pilot setup."},{"label":"Service platform export map","status":"needs-client","detail":"Requires ServiceTitan, Housecall Pro, FieldEdge, CSV, or internal workflow decision."}],"stakeholderNarratives":[{"role":"Dispatch manager","message":"I can see capacity and blockers before the board falls behind."},{"role":"Service manager","message":"Parts holds, urgent calls, and route risk are in one daily view."},{"role":"Customer service lead","message":"The team has consistent ETA messages instead of improvising under pressure."}]},"productionEvidence":{"evidenceHeadline":"Production evidence pack for CoolRoute Command","evidenceSummary":"A buyer-facing evidence model that ties HVAC Dispatch demo interactions to pilot KPIs, acceptance checks, import gates, audit artifacts, and SEO/AEO proof points.","operatorPromise":"The app should prove real hvac dispatch operations work through visible records, clear owners, traceable status changes, and exportable evidence before any deeper integration is promised.","buyerProofPoint":"Schedule risk visibility: All pilot jobs display assignment, urgency, ETA, and blocker state on one board.","evidenceSnapshot":[{"label":"Buyer outcome","value":"Cleaner dispatch decisions, fewer surprise delays, and better customer communication during peak service windows.","detail":"The pilot proof model tracks same-day schedule load, technician assignment clarity, ETA message readiness, and jobs blocked by parts or customer risk."},{"label":"North star","value":"Urgent jobs assigned with approved ETA or parts status before service window risk","detail":"Instrument dispatch landing CTA, app preview, job search, reassignment, ETA draft approval, parts hold review, route view, and spec download."},{"label":"Pilot KPI","value":"Assignment completeness","detail":"95% of active pilot jobs have technician, priority, and route status. Owner: Dispatch manager"},{"label":"Audit source","value":"Assignment change history","detail":"Each assignment change, ETA draft, parts hold, route risk, and urgent-job escalation records owner, source, timestamp, and field-service handoff state."}],"acceptanceEvidence":[{"label":"Reassign same-day job and preserve route context","owner":"Dispatcher","source":"Launch readiness acceptance test","status":"complete","evidence":"Dispatch board and route panel show technician load and sequence changes."},{"label":"Send ETA message draft from comms queue","owner":"Service manager","source":"Launch readiness acceptance test","status":"queued","evidence":"Message queue data is present; SMS provider not selected."},{"label":"Hold a job for unavailable parts","owner":"Parts coordinator","source":"Launch readiness acceptance test","status":"complete","evidence":"Parts hold workflow shows ETA, risk, and owner."},{"label":"Assignment history","owner":"Dispatch manager","source":"Make assignment, ETA, route, and parts-blocker changes visible during same-day dispatch.","status":"in-progress","evidence":"Job reassignment includes capacity state, prior owner, and route impact."},{"label":"Message approval","owner":"Dispatcher","source":"Make assignment, ETA, route, and parts-blocker changes visible during same-day dispatch.","status":"in-progress","evidence":"Customer ETA messages stay prepare-only until approved by dispatch."},{"label":"Job ID system-of-record rule","owner":"Dispatch manager","source":"Seed technicians, service jobs, parts holds, and customer message templates for one dispatch board.","status":"blocked","evidence":"Dispatch updates must map back to the source service job record."}],"proofArtifacts":[{"label":"Dispatch capacity snapshot","format":"Dashboard view","owner":"Dispatch manager","status":"template","detail":"Shows assigned, unassigned, delayed, and parts-held jobs for a service manager review."},{"label":"Technician roster import","format":"CSV export","owner":"Parts coordinator","status":"ready","detail":"Defines technician, region, skills, availability, and load fields for pilot setup."},{"label":"Service platform export map","format":"Review packet","owner":"Customer service lead","status":"needs-client","detail":"Requires ServiceTitan, Housecall Pro, FieldEdge, CSV, or internal workflow decision."},{"label":"Assignment change history","format":"Audit log","owner":"Dispatch manager","status":"ready","detail":"Assignment changed after technician capacity review."},{"label":"ETA message approval queue","format":"Export","owner":"Dispatcher","status":"template","detail":"Message queued for dispatcher approval before customer send."},{"label":"Parts hold blocker report","format":"Export","owner":"Parts coordinator","status":"template","detail":"Route remains blocked until customer approves quoted part."},{"label":"Work order import","format":"hvac-dispatch-work-orders.csv","owner":"Dispatch manager","status":"ready","detail":"Creates dispatch board jobs, priority state, appointment windows, and customer communication context."},{"label":"Technician roster import","format":"hvac-dispatch-technician-roster.csv","owner":"Service manager","status":"ready","detail":"Loads technician capacity, service role, territory, and next-stop visibility."}],"liveDemoScenarios":[{"label":"Service intake: Triage and schedule an inbound request","actor":"Dispatcher","trigger":"Qualify a call or web request, escalate urgent work, and convert it into a scheduled job with a queued customer message.","proof":"Board, calendar, assignment, route, and detail screens share one client-side work order state."},{"label":"Job board and calendar: Switch board and calendar views","actor":"Service manager","trigger":"Toggle the dispatch surface between status columns and technician calendar lanes.","proof":"Inbound service requests can be triaged, escalated, and scheduled as board-ready work orders."},{"label":"Technician assignment: Select and assign a job","actor":"Technician","trigger":"Pick a work order, inspect technician capacity, and update the assigned tech locally.","proof":"Rescue dispatch recommendations rebalance technician capacity with route and customer-message handoff."},{"label":"Customer communications: Apply a rescue dispatch move","actor":"Dispatcher","trigger":"Approve a capacity recommendation that reassigns a job, updates the route ETA, and queues the customer notice.","proof":"Dispatchers can reassign technicians and move statuses without a backend."}],"buyerHandoffQuestions":["What baseline can the buyer confirm for schedule risk visibility, and what evidence will prove the target?","Who owns the Service jobs export export from ServiceTitan, Housecall Pro, FieldEdge, or CSV schedule export, and how often can it be refreshed during pilot?","Who owns the Technician roster export from Field-service platform or HR roster export, and how often can it be refreshed during pilot?","Should Unassigned urgent job alert run automatically at launch, or stay as a review queue until the buyer approves notifications?","Which HVAC company owners signs off that the demo scenario is realistic enough for the first live pilot?"],"seoAeoProofPoints":["HVAC dispatch software: HVAC dispatch software helps service companies schedule jobs, assign technicians, monitor work order status, sequence routes, and manage recurring maintenance visits.","What should HVAC dispatch scheduling software show? Proof source: Assignment change history and ETA message approval queue","How can dispatchers manage parts delays without losing the route? Proof source: Parts hold blocker report","Assignment completeness: 95% of active pilot jobs have technician, priority, and route status.","Parts hold visibility: 100% of blocked pilot jobs have part, owner, and resolution note.","Operational proof artifact: Assignment change history","Operational proof artifact: ETA message approval queue"]},"revenueOperations":{"revenueHeadline":"Revenue operations console for CoolRoute Command","revenueSummary":"Commercial controls for selling HVAC Dispatch: invoice milestones, pilot entitlements, seat packaging, renewal checkpoints, legal readiness, and upgrade triggers tied to the rebrand-ready pilot offer.","billingOwner":"Client sponsor","billingModel":"Dispatch board pilot: Target 58-68 percent implementation margin after job import, dispatcher training, route workflow tuning, and customer message review.","currentPlan":"Field service dispatch software pilot package","pilotPrice":"$24k-$42k","recurringPrice":"$1.2k-$4k/month","invoices":[{"id":"HVACDISPATCH-INV-101","label":"Kickoff","amount":"$24k-$42k deposit","timing":"45 percent due at signature for territory setup, job import mapping, and dispatcher workflow design.","status":"ready","owner":"Dispatch manager","detail":"Daily job import template and technician skill map are accepted."},{"id":"HVACDISPATCH-INV-102","label":"Configuration","amount":"$24k-$42k acceptance milestone","timing":"35 percent due after dispatch board, route sequence, and customer ETA queue pass live review.","status":"draft","owner":"Implementation lead","detail":"Dispatcher can assign sample jobs and prepare ETA messages."},{"id":"HVACDISPATCH-INV-103","label":"Pilot","amount":"$24k-$42k launch holdback","timing":"20 percent due after parts-hold report, dispatcher acceptance notes, and expansion plan are delivered.","status":"blocked","owner":"Dispatcher","detail":"Assignment clarity, ETA readiness, and parts blocker report are accepted."},{"id":"HVACDISPATCH-INV-199","label":"Recurring pilot operations","amount":"$1.2k-$4k/month","timing":"$1.5k-$5k/month hosting, support, messaging review, and service-platform handoff work","status":"draft","owner":"Dispatch launch thread","detail":"Starts after the pilot workspace is accepted and support handoff is active."}],"entitlements":[{"label":"Dispatch command workspace","included":"Brand tokens, dispatch roles, territory filters, technician cards, schedule states, and command board shell.","limit":"$7k-$12k","upgradePath":"Field service system writeback: $18k-$45k"},{"label":"Job and technician import","included":"Map jobs, technicians, skills, windows, equipment flags, and status fields for one territory.","limit":"$7k-$13k","upgradePath":"SMS delivery integration: $8k-$18k plus carrier fees"},{"label":"Route and communication workflow","included":"Configure route sequencing, ETA messages, dispatch exceptions, parts holds, and manual system export.","limit":"$8k-$15k","upgradePath":"Parts inventory sync: $14k-$32k"},{"label":"Pilot hosting and dispatch support","included":"Hosting, weekly dispatch review, customer copy tuning, route rule adjustments, and blocker triage.","limit":"$1.2k-$4k/month","upgradePath":"Field service system writeback: $18k-$45k"},{"label":"SEO/AEO launch route","included":"HVAC dispatch software plus comparison and answer-engine pages.","limit":"/industries/hvac-dispatch-software","upgradePath":"Dispatch overlay vs field-service platform customization"}],"seatPlans":[{"role":"Dispatcher","seats":"2 included admin seats","billingNote":"Daily board and customer communication control","permissionLink":"Technician assignment"},{"role":"Technician","seats":"10 included operator seats","billingNote":"Assigned job and mobile status visibility","permissionLink":"ETA messaging"},{"role":"Service manager","seats":"3 included reviewer seats","billingNote":"Capacity, parts, and escalation oversight","permissionLink":"Parts hold release"}],"renewalCheckpoints":[{"label":"Kickoff","timing":"Week 1","signal":"Dispatch scheduling inquiry: 2 qualified HVAC service inquiries per quarter","nextAction":"Add field-service writeback after assignment workflow is accepted."},{"label":"Configuration","timing":"Weeks 2-3","signal":"Parts workflow proof: 50 percent of demos include a parts-hold interaction","nextAction":"Add customer messaging send workflow after policy approval."},{"label":"Pilot","timing":"Weeks 4-5","signal":"Route-risk engagement: Route view opens in 40 percent of qualified sessions","nextAction":"Add technician mobile views, invoice handoff, or service agreement planning."}],"legalReadiness":["Recommended tier: Dispatch board pilot. Buyer can provide one dispatch territory, technician schedule data, job status export, and approved customer message templates.","Pilot setup: $24k-$42k. Brand tokens, dispatch roles, territory filters, technician cards, schedule states, and command board shell.","Recurring support: $1.2k-$4k/month. Dispatch launch thread: Business days during pilot; Weekly dispatch review: One 45-minute session per week","Job and technician import: $7k-$13k. Map jobs, technicians, skills, windows, equipment flags, and status fields for one territory.","Route and communication workflow: $8k-$15k. Configure route sequencing, ETA messages, dispatch exceptions, parts holds, and manual system export.","Pilot hosting and dispatch support: $1.2k-$4k/month. Hosting, weekly dispatch review, customer copy tuning, route rule adjustments, and blocker triage.","Client sponsor: Approves budget, pilot scope, and launch decision.","Buyer operations owner: Provides source data, validates workflow language, and accepts launch criteria.","Ideas Realized implementation lead: Owns configuration, runbook, QA evidence, and post-pilot backlog recommendation.","No live customer SMS without approved consent language and sender setup.","No field-service-system writeback unless the integration add-on is signed."],"upgradeTriggers":["Field service system writeback: Buyer wants job status, technician notes, or ETA updates posted to ServiceTitan, Housecall Pro, or another FSM. $18k-$45k","SMS delivery integration: Buyer wants live SMS ETA and delay messages rather than demo-mode message queues. $8k-$18k plus carrier fees","Parts inventory sync: Buyer wants dispatch to reserve parts or check truck stock automatically. $14k-$32k","Live SMS/email sending or customer communication automation: Requires sender approval, compliance review, and separate messaging implementation.","Two-way field-service writeback, invoices, or technician mobile app: Quote as a follow-on integration or module after daily board pilot acceptance.","Renewal review uses Urgent jobs assigned with approved ETA or parts status before service window risk."]},"dataImportPlan":{"migrationHeadline":"Seed technicians, service jobs, parts holds, and customer message templates for one dispatch board.","migrationSummary":"The first pilot can sit beside the field-service platform. Import jobs and technician capacity, then use the board to expose assignment risk, parts blockers, and ETA message readiness.","cutoverStrategy":"Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record.","privacyNote":"Customer contact data and appointment notes should be limited to dispatch-visible fields until message consent and retention policy are confirmed.","sources":[{"name":"Service jobs export","system":"ServiceTitan, Housecall Pro, FieldEdge, or CSV schedule export","owner":"Dispatch manager","cadence":"Morning import plus midday refresh","status":"needs-client","recordEstimate":"40 to 160 open jobs","fields":[{"sourceField":"job_id","targetField":"ServiceJob.externalId","required":true,"transform":"Preserve platform identifier.","validation":"External ID must be unique."},{"sourceField":"customer_name","targetField":"Customer.displayName","required":true,"transform":"Trim and preserve account naming.","validation":"Required for job card display."},{"sourceField":"service_type","targetField":"ServiceJob.category","required":true,"transform":"Map to repair, install, maintenance, warranty, emergency.","validation":"Unknown service types import as needs-triage."},{"sourceField":"appointment_window","targetField":"ServiceJob.window","required":true,"transform":"Split date, start time, and end time.","validation":"Invalid windows block route sequencing."}]},{"name":"Technician roster","system":"Field-service platform or HR roster export","owner":"Service manager","cadence":"Weekly plus manual update for absences","status":"ready","recordEstimate":"8 to 60 technician records","fields":[{"sourceField":"technician_name","targetField":"Technician.displayName","required":true,"transform":"Trim and preserve preferred names.","validation":"Technician name required for assignment."},{"sourceField":"skills","targetField":"Technician.skills","required":true,"transform":"Split comma-delimited values and map to approved skill list.","validation":"Unknown skills import as pending approval."},{"sourceField":"home_zone","targetField":"Technician.zone","required":false,"transform":"Map to configured dispatch zones.","validation":"Missing zone triggers manual route review."}]},{"name":"Parts holds","system":"Inventory hold list or parts counter spreadsheet","owner":"Parts coordinator","cadence":"Daily during dispatch review","status":"template","recordEstimate":"10 to 80 parts-held job rows","fields":[{"sourceField":"job_id","targetField":"PartsHold.jobId","required":true,"transform":"Match service job external ID.","validation":"Job ID must exist in current job import."},{"sourceField":"part_name","targetField":"PartsHold.partName","required":true,"transform":"Trim and standardize common abbreviations.","validation":"Part name required."},{"sourceField":"eta","targetField":"PartsHold.eta","required":false,"transform":"Normalize date or mark as unknown.","validation":"Unknown ETA flags job as route risk."}]}],"validationGates":[{"label":"Job ID system-of-record rule","severity":"blocking","detail":"Dispatch updates must map back to the source service job record.","resolution":"Confirm external job ID and export ownership before pilot launch."},{"label":"Technician capacity review","severity":"warning","detail":"Missing skills or home zones weakens route and assignment signals.","resolution":"Service manager approves skill and zone taxonomy during setup."},{"label":"Customer messaging consent","severity":"blocking","detail":"ETA message templates require approved phone/email usage rules.","resolution":"Limit message previews until communication policy is confirmed."}]},"deploymentLaunchPlan":{"deploymentHeadline":"Deployment launch plan for CoolRoute Command","deploymentSummary":"A production handoff plan for taking HVAC Dispatch from sales preview to a client-owned launch domain with Netlify hosting, environment gates, monitoring, rollback, and canonical SEO/AEO checks.","hostingModel":"Single Next.js application deployed from GitHub to Netlify, with demo subdomains rewritten into app-only routes and canonical SEO pages kept on ideas-realized.com.","repository":"Idea-R/ideas-realized-page","branchStrategy":"Ship from a reviewed feature branch into the existing Netlify production site, then attach the selected client subdomain as a named domain alias after acceptance gates pass.","previewDomain":"hvac-dispatch.ideas-realized.com","productionDomain":"hvac-dispatch.ideas-realized.com","environments":[{"name":"Sales preview","url":"https://hvac-dispatch.ideas-realized.com","purpose":"App-only demo surface used in sales calls and embedded from the canonical landing page.","dataMode":"Seeded client-side preview data only; no tenant secrets or live customer records.","status":"complete"},{"name":"Deploy preview","url":"Netlify deploy preview URL from the feature branch","purpose":"Review branch before domain aliasing, schema checks, browser QA, and stakeholder sign-off.","dataMode":"Seeded demo data plus import template samples.","status":"in-progress"},{"name":"Pilot production","url":"https://hvac-dispatch.ideas-realized.com","purpose":"Field service dispatch software pilot package launch for the first buyer cohort.","dataMode":"Start with a read-only job and technician import, reconcile service categories, then allow dispatchers to update pilot board status while the source platform remains system of record.","status":"queued"}],"domainRecords":[{"label":"Preview subdomain","host":"hvac-dispatch.ideas-realized.com","type":"CNAME","value":"Ideas Realized Netlify site alias or wildcard domain","owner":"Ideas Realized technical lead","status":"ready","detail":"Keeps the app-only demo available as the sales URL while the canonical page remains on ideas-realized.com."},{"label":"Client production subdomain","host":"hvac-dispatch.ideas-realized.com","type":"CNAME","value":"Client DNS points to the approved Netlify site alias","owner":"Client DNS owner","status":"needs-client","detail":"Use dispatch.clientdomain.com or service.clientdomain.com for production and keep hvac-dispatch.ideas-realized.com as the sales preview."},{"label":"Domain ownership verification","host":"_netlify.hvac-dispatch.ideas-realized.com","type":"TXT","value":"Netlify verification token issued during domain setup","owner":"Client DNS owner","status":"needs-client","detail":"Required before SSL issuance and production cutover when the domain is client-owned."}],"environmentVariables":[{"name":"NEXT_PUBLIC_SITE_URL","scope":"Build and runtime","owner":"Ideas Realized technical lead","status":"template","detail":"Set to https://hvac-dispatch.ideas-realized.com for pilot production and keep canonical demo routes pointed at ideas-realized.com."},{"name":"NEXT_DISABLE_IMAGE_OPTIMIZATION","scope":"Netlify runtime","owner":"Ideas Realized technical lead","status":"ready","detail":"Use when the host requires unoptimized Next images for generated poster assets and demo previews."},{"name":"AUTH_PROVIDER_CONFIG","scope":"Runtime secret","owner":"Implementation lead","status":"needs-client","detail":"Staff email login for pilot dispatch, with SSO and technician mobile auth added after field-service ownership is confirmed."},{"name":"NOTIFICATION_SENDER","scope":"Runtime secret","owner":"Implementation lead","status":"template","detail":"In-app: Customer ETA message ready"},{"name":"ANALYTICS_WRITE_KEY","scope":"Runtime secret","owner":"Growth lead","status":"template","detail":"Instrument dispatch landing CTA, app preview, job search, reassignment, ETA draft approval, parts hold review, route view, and spec download."}],"releaseGates":[{"label":"Reassign same-day job and preserve route context","owner":"Dispatcher","status":"complete","evidence":"Dispatch board and route panel show technician load and sequence changes."},{"label":"Send ETA message draft from comms queue","owner":"Service manager","status":"queued","evidence":"Message queue data is present; SMS provider not selected."},{"label":"Hold a job for unavailable parts","owner":"Parts coordinator","status":"complete","evidence":"Parts hold workflow shows ETA, risk, and owner."},{"label":"Canonical and noindex routing verified","owner":"Technical lead","status":"complete","evidence":"Main-domain landing pages remain canonical while app-only routes are used for subdomain launch URLs."},{"label":"Client proposal and implementation spec approved","owner":"Client sponsor","status":"queued","evidence":"CoolRoute Command pilot proposal and JSON/Markdown implementation spec are reviewed before production domain cutover."}],"monitoring":[{"signal":"Demo app availability","threshold":"Homepage and app route return 200 from production domain after DNS cutover.","owner":"Technical lead","response":"Rollback DNS alias to preview or pause launch announcement until the route passes."},{"signal":"Urgent jobs assigned with approved ETA or parts status before service window risk","threshold":"Pilot usage is visible in the buyer dashboard within the first review cycle.","owner":"Growth lead","response":"Review analytics key, event mapping, and privacy guardrails before widening access."},{"signal":"Confirm scheduling source of truth and technician calendar rules.","threshold":"No open launch blocker can affect first user workflow.","owner":"Implementation lead","response":"Hold go-live and keep the app in preview mode until the blocker has owner-approved evidence."}],"rollbackPlan":["Keep the sales preview subdomain live until the client production domain passes route, SSL, auth, and acceptance checks.","If client DNS or SSL fails, remove the production alias and route users back to the preview subdomain.","If data import fails, restore the last approved seed/import snapshot and hold workflow edits until the exception report is reviewed.","If notification or integration credentials fail, disable outbound automation and continue with manual review queues.","Document the rollback decision in the operations ledger and add the next action to the live ops command center."],"goLiveSequence":["Merge the reviewed branch after typecheck, lint, build, schema validation, and browser QA pass.","Create or confirm the Netlify domain alias for the sales preview subdomain.","Request client DNS records for hvac-dispatch.ideas-realized.com and verify ownership before SSL issuance.","Load tenant brand tokens, roles, launch assets, import templates, and acceptance evidence.","Run release gates, verify monitoring signals, and approve the first pilot user cohort.","Publish SEO/AEO links for HVAC dispatch software and route launch CTAs to the canonical demo landing page."],"supportHandoff":["Pilot support scope: $1.2k-$4k/month recurring for hosting, support, and workflow tuning.","Daily job import template","Technician roster and skill map","ETA message templates","Pick pilot dispatch window: Service manager; Start with weekday same-day calls before after-hours workflows.","Approve ETA message templates: Operations lead; Customer-facing SMS copy needs final tone and compliance approval."],"seoLaunchChecks":["/demo-library/hvac-dispatch remains the canonical landing page for HVAC dispatch software.","https://hvac-dispatch.ideas-realized.com remains app-only and noindex for thin duplicate prevention.","Confirm internal links mention HVAC scheduling app.","Confirm internal links mention technician dispatch board.","Confirm internal links mention field service route management.","Answer target: What should HVAC dispatch software include?","Answer target: How do HVAC companies manage same-day technician schedules?"]},"runtimeConsole":{"consoleHeadline":"Tenant runtime console for CoolRoute Command","consoleSummary":"A realistic pilot workspace layer showing active roles, sample data freshness, notification review, integration health, and admin actions for Evergreen Mechanical.","workspaceName":"Evergreen Mechanical","environment":"Dispatch preview with live board, route sequencing, comms queue, and parts holds","activeUsers":"4 pilot users","recordsInScope":"3 service requests, 1 rescue scenarios, 12 jobs","lastSync":"4 min ago via Technician assignment","auditNote":"Assignment changed after technician capacity review.","roleSessions":[{"role":"Dispatcher","person":"Maya Chen","focus":"Owns the same-day board, technician assignments, and priority exceptions.","permissions":["Daily board and customer communication control","Assign technicians","Approve ETA messages"]},{"role":"Service manager","person":"Luis Romero","focus":"Monitors utilization, recurring coverage, and incomplete work orders.","permissions":["Assigned job and mobile status visibility","Review assigned work","Update field status"]},{"role":"Technician","person":"Dana Patel","focus":"Receives assigned jobs, status tasks, notes, and route context.","permissions":["Capacity, parts, and escalation oversight","Approve parts blockers","Review urgent reassignment"]}],"dataSources":[{"label":"Service jobs export","system":"ServiceTitan, Housecall Pro, FieldEdge, or CSV schedule export","owner":"Dispatch manager","freshness":"2026-06-24 07:55","status":"needs-client","detail":"40 to 160 open jobs. Template: hvac-dispatch-work-orders.csv."},{"label":"Technician roster","system":"Field-service platform or HR roster export","owner":"Service manager","freshness":"2026-06-25 12:20","status":"ready","detail":"8 to 60 technician records. Template: hvac-dispatch-technician-roster.csv."},{"label":"Parts holds","system":"Inventory hold list or parts counter spreadsheet","owner":"Parts coordinator","freshness":"Daily during dispatch review","status":"template","detail":"10 to 80 parts-held job rows. Template: hvac-dispatch-work-orders.csv."}],"notifications":[{"label":"ETA approval draft","channel":"In-app","status":"template","owner":"Dispatch manager","trigger":"Urgent job is unassigned within 30 minutes of appointment window.","detail":"Customer ETA message ready"},{"label":"Parts hold escalation","channel":"In-app","status":"ready","owner":"Customer service lead","trigger":"Technician assignment changes or route window slips.","detail":"Scheduled job blocked by parts"}],"integrationHealth":[{"label":"Customer ETA messages","status":"template","owner":"Dispatch manager","detail":"SMS/email wording and triggers are scoped for same-day dispatch."},{"label":"Service platform sync","status":"needs-client","owner":"Service manager","detail":"Depends on ServiceTitan, Housecall Pro, Jobber, or custom records."},{"label":"Map routing","status":"optional","owner":"Parts coordinator","detail":"Can be connected after technician and address data are live."},{"label":"CSV job import","status":"ready","owner":"Dispatch manager","detail":"Work order fields map cleanly to a pilot import."}],"adminActions":["Review 1 client-owned integration decisions before production cutover.","Confirm 2 notification templates before enabling outbound automation.","Export implementation spec after 3 acceptance checks are reviewed.","Use hvac-dispatch.ideas-realized.com as the tenant launch domain after DNS and SSL pass."]},"importTemplates":[{"id":"work-order-import","label":"Work order import","fileName":"hvac-dispatch-work-orders.csv","sourceSystem":"Field-service platform export","owner":"Dispatch manager","cadence":"Daily pilot import","description":"Creates dispatch board jobs, priority state, appointment windows, and customer communication context.","columns":[{"name":"job_id","required":true,"description":"Stable work order identifier.","example":"WO-91642"},{"name":"customer","required":true,"description":"Customer display name.","example":"Ridgeview Dental"},{"name":"service_address","required":true,"description":"Service location.","example":"1228 Grant Ave"},{"name":"job_type","required":true,"description":"Service type or work category.","example":"No cooling"},{"name":"window_start","required":true,"description":"Appointment window start.","example":"2026-07-01T09:00:00"},{"name":"window_end","required":true,"description":"Appointment window end.","example":"2026-07-01T11:00:00"},{"name":"priority","required":true,"description":"Dispatch priority.","example":"High"},{"name":"assigned_tech","required":false,"description":"Assigned technician name or blank for unassigned.","example":"Jordan Kim"}],"sampleRows":[{"job_id":"WO-91642","customer":"Ridgeview Dental","service_address":"1228 Grant Ave","job_type":"No cooling","window_start":"2026-07-01T09:00:00","window_end":"2026-07-01T11:00:00","priority":"High","assigned_tech":"Jordan Kim"},{"job_id":"WO-91657","customer":"Marlow Foods","service_address":"44 Industrial Way","job_type":"Preventive maintenance","window_start":"2026-07-01T13:00:00","window_end":"2026-07-01T15:00:00","priority":"Normal","assigned_tech":""}],"acceptanceChecks":["Window dates include timezone handling before route sequencing is enabled.","Unassigned urgent jobs appear in the dispatch queue.","Customer-facing message drafts remain approval-only during pilot."]},{"id":"technician-roster","label":"Technician roster import","fileName":"hvac-dispatch-technician-roster.csv","sourceSystem":"Payroll roster or field-service user export","owner":"Service manager","cadence":"Initial import, then weekly update","description":"Loads technician capacity, service role, territory, and next-stop visibility.","columns":[{"name":"tech_id","required":true,"description":"Stable technician identifier.","example":"TECH-021"},{"name":"technician_name","required":true,"description":"Technician display name.","example":"Jordan Kim"},{"name":"role","required":true,"description":"Service role or skill group.","example":"Senior HVAC tech"},{"name":"territory","required":true,"description":"Primary dispatch territory.","example":"North route"},{"name":"daily_capacity","required":true,"description":"Target call count or capacity unit.","example":"6"},{"name":"active","required":true,"description":"Whether technician is dispatchable.","example":"yes"}],"sampleRows":[{"tech_id":"TECH-021","technician_name":"Jordan Kim","role":"Senior HVAC tech","territory":"North route","daily_capacity":"6","active":"yes"},{"tech_id":"TECH-034","technician_name":"Priya Shah","role":"Maintenance tech","territory":"Central route","daily_capacity":"7","active":"yes"}],"acceptanceChecks":["Only active technicians appear as dispatch candidates.","Daily capacity is approved before utilization metrics are shown.","Territory labels match the dispatch board route filters."]}],"workflowAutomation":{"automationHeadline":"Automate dispatch risk, customer ETA preparation, and parts-hold escalation.","automationSummary":"The pilot should keep urgent jobs moving by turning schedule risk, route blockers, and parts holds into visible dispatcher actions.","rules":[{"name":"Unassigned urgent job alert","trigger":"Urgent job is unassigned within 30 minutes of appointment window.","conditions":["Job priority is emergency or same-day","Technician roster is imported","No assigned technician"],"action":"Move job into dispatch risk and create manager review task.","channel":"In-app alert","owner":"Dispatch manager","status":"ready","fallback":"Highlight job card if escalation notifications are disabled."},{"name":"ETA message preparation","trigger":"Technician assignment changes or route window slips.","conditions":["Customer contact channel is approved","Message template is approved","Job status is active"],"action":"Prepare ETA or delay message for dispatcher approval.","channel":"Email or SMS draft","owner":"Customer service lead","status":"needs-client","fallback":"Create an internal call task instead of sending customer-facing message."},{"name":"Parts hold route block","trigger":"Job has required part with unknown or late ETA.","conditions":["Parts hold is linked to active job","Job is scheduled within next 24 hours"],"action":"Flag route risk and notify parts coordinator before route sequence is finalized.","channel":"In-app task","owner":"Parts coordinator","status":"template","fallback":"Keep job in parts-hold swimlane until ETA is resolved."}],"notificationTemplates":[{"name":"ETA approval draft","audience":"Dispatcher","channel":"In-app","subject":"Customer ETA message ready","body":"A job assignment or route window changed. Review the prepared ETA message before customer follow-up.","status":"template"},{"name":"Parts hold escalation","audience":"Parts coordinator","channel":"In-app","subject":"Scheduled job blocked by parts","body":"A scheduled job is at risk because the required part has no confirmed ETA.","status":"ready"}],"escalationPaths":[{"label":"Unassigned emergency","threshold":"Emergency job still unassigned 15 minutes before window.","owner":"Service manager","action":"Override route order or assign standby technician."},{"label":"Customer ETA not approved","threshold":"Delayed job has no approved ETA message after 20 minutes.","owner":"Customer service lead","action":"Assign call task and mark communication risk."}]},"operationsLedger":{"ledgerHeadline":"Make assignment, ETA, route, and parts-blocker changes visible during same-day dispatch.","ledgerSummary":"Dispatch teams need confidence that job board changes, ETA messages, and parts blockers are traceable before anything writes back to the field-service system.","auditPromise":"Each assignment change, ETA draft, parts hold, route risk, and urgent-job escalation records owner, source, timestamp, and field-service handoff state.","events":[{"id":"LOG-5172","time":"4 min ago","actor":"Dispatcher","action":"Reassigned urgent job","target":"JOB-8842 / Alvarez Foods","source":"Technician assignment","severity":"complete","evidence":"Assignment changed after technician capacity review."},{"id":"LOG-5170","time":"21 min ago","actor":"Automation rule","action":"Prepared ETA message","target":"JOB-8838 / Northgate Medical","source":"ETA message preparation","severity":"watch","evidence":"Message queued for dispatcher approval before customer send."},{"id":"LOG-5167","time":"49 min ago","actor":"Parts coordinator","action":"Updated parts hold","target":"Condenser fan motor","source":"Parts hold workflow","severity":"blocked","evidence":"Route remains blocked until customer approves quoted part."},{"id":"LOG-5161","time":"Yesterday","actor":"Implementation lead","action":"Completed job import dry run","target":"Daily field-service export","source":"Data import plan","severity":"complete","evidence":"Job, technician, and service zone rows passed pilot validation."}],"controls":[{"label":"Assignment history","owner":"Dispatch manager","detail":"Job reassignment includes capacity state, prior owner, and route impact."},{"label":"Message approval","owner":"Dispatcher","detail":"Customer ETA messages stay prepare-only until approved by dispatch."},{"label":"Parts blockers","owner":"Parts coordinator","detail":"Parts holds require status, owner, and next-action evidence before route release."}],"evidenceArtifacts":["Assignment change history","ETA message approval queue","Parts hold blocker report","Daily job import dry-run record"]},"releaseBlueprint":{"releaseHeadline":"Release the dispatch app as a same-day schedule command center that sits beside the field-service platform.","releaseSummary":"The sellable release is not a full field-service replacement. It proves assignment clarity, route risk, parts holds, ETA messaging, and urgent-job escalation for one dispatch team before deeper platform sync is scoped.","mvpPromise":"A dispatcher can see unassigned work, technician capacity, route order, parts blockers, and customer ETA message readiness from one daily board.","pilotTimeline":"1 week job import, 2 weeks board and notification workflow, 2 weeks same-day dispatch pilot.","buildMode":"Dispatch overlay with daily job import and message template preparation before field-service writeback.","reusableComponents":[{"name":"Dispatch board","source":"A2 dispatch scheduling archetype","reuse":"Job cards, technician load, route sequencing, map-style panel, and urgent-status actions.","adaptation":"Add service zones, technician skills, parts holds, customer risk, and agreement flags."},{"name":"ETA messaging workflow","source":"Workflow automation plan","reuse":"Trigger rules, templates, escalation paths, and owner assignments.","adaptation":"Tune message copy, approval rules, and send channels for each contractor."},{"name":"Readiness cockpit","source":"Shared launch readiness","reuse":"Import dry-runs, permission groups, acceptance tests, and blocker list.","adaptation":"Validate field-service job import, technician roster, and mobile dispatch behavior."}],"mvpModules":["Unassigned urgent-job queue and assignment workflow","Technician capacity, route order, skill match, and status board","Parts hold and customer-risk blockers","ETA message preparation and dispatch escalation summary"],"deferredModules":["Native technician mobile app","Payment capture and invoice posting","Full two-way field-service platform sync"],"nextSprintBacklog":[{"label":"Daily job import","owner":"Implementation lead","effort":"2 days","status":"ready","detail":"Confirm job ID, customer, address, priority, service type, window, and current assignment fields."},{"label":"Technician capacity model","owner":"Product engineer","effort":"3 days","status":"template","detail":"Persist tech skills, availability, current load, zone, and blocked status."},{"label":"ETA message approval state","owner":"Product engineer","effort":"2 days","status":"template","detail":"Track drafted, approved, sent outside app, and blocked message states without sending live SMS."},{"label":"Field-service writeback boundary","owner":"Client sponsor","effort":"Workshop","status":"needs-client","detail":"Decide whether assignment updates are export-only, manual copy, or API writeback after pilot."}],"acceptanceEvidence":["Import one day of jobs and technician capacity with urgent unassigned work visible.","Assign 12 jobs and verify route/order changes are reflected on the board.","Prepare ETA messages for 10 jobs without sending live customer messages.","Surface parts holds and customer-risk blockers in the app and export report."],"handoffArtifacts":["Daily job import template","Technician roster and skill map","ETA message templates","Dispatch escalation report","Field-service integration boundary note"],"tenantConfiguration":["Service zones, technician skills, job priority labels, and appointment windows","ETA message approval rules, sender identity, and fallback channel","Parts hold labels, customer-risk flags, and escalation thresholds","Field-service platform import/export path and writeback policy"],"risks":[{"risk":"Dispatchers may not trust a board that is stale against the field-service system.","mitigation":"Set a visible import timestamp and start with short daily refresh cadence.","owner":"Implementation lead"},{"risk":"Live customer messaging requires compliance and sender approval.","mitigation":"Keep first release in prepare-only mode until the client approves messaging policy.","owner":"Client sponsor"}]},"seoAeoGrowth":{"growthHeadline":"Package dispatch operations content around same-day scheduling and technician capacity.","growthSummary":"The HVAC dispatch demo can anchor pages for service companies that need job boards, ETA messages, route risk, parts holds, and field-service handoff controls.","primaryIntent":"HVAC dispatch scheduling software","publishingCadence":"Publish dispatch and technician-capacity pages together, then add comparison pages for field-service systems and spreadsheets.","answerBriefs":[{"question":"What should HVAC dispatch scheduling software show?","conciseAnswer":"It should show job status, appointment window, assigned technician, priority, ETA message state, parts holds, route risk, and customer communication history.","proofSource":"Assignment change history and ETA message approval queue","cta":"Open the HVAC dispatch board demo.","schemaType":"SoftwareApplication"},{"question":"How can dispatchers manage parts delays without losing the route?","conciseAnswer":"Parts blockers should carry owner, status, approval need, affected job, and next action so the dispatcher can release or reroute work confidently.","proofSource":"Parts hold blocker report","cta":"Show the parts hold workflow in the demo.","schemaType":"HowTo"},{"question":"Can ETA messages be drafted before sending to customers?","conciseAnswer":"Yes. A dispatch workflow can prepare ETA or delay messages and require dispatcher approval before customer send.","proofSource":"ETA message approval queue","cta":"Use queued ETA messages as the communication proof point.","schemaType":"FAQPage"}],"contentBriefs":[{"title":"HVAC dispatch scheduling software for same-day service teams","targetKeyword":"HVAC dispatch scheduling software","intent":"Service manager wants better schedule and technician visibility.","angle":"Show status board, assignments, ETA messages, and parts holds.","publishPath":"/industries/hvac-dispatch-scheduling-software"},{"title":"HVAC parts hold workflow for dispatch teams","targetKeyword":"HVAC parts hold workflow software","intent":"Dispatcher wants fewer same-day route surprises.","angle":"Explain blocker records, approvals, customer communication, and route release.","publishPath":"/resources/hvac-parts-hold-workflow"},{"title":"HVAC dispatch board vs field service software customization","targetKeyword":"HVAC dispatch board software","intent":"Buyer wants a practical dispatch layer around existing field service software.","angle":"Position a focused dispatch overlay against expensive full-system customization.","publishPath":"/compare/hvac-dispatch-board-vs-field-service-customization"}],"comparisonPages":[{"title":"Dispatch overlay vs field-service platform customization","buyerQuestion":"Should we customize our field-service system or add an operations layer?","differentiator":"The demo proves assignment, ETA, and parts workflows without committing to core system changes first."},{"title":"HVAC dispatch board vs shared calendar","buyerQuestion":"When is a shared calendar no longer enough?","differentiator":"The product ties job status, technician capacity, route risk, parts holds, and customer messages together."}],"internalLinks":[{"label":"HVAC Dispatch demo","href":"/demo-library/hvac-dispatch","reason":"Interactive product proof for dispatch content."},{"label":"AI automation services","href":"/services/ai-automation","reason":"Connect ETA drafting and escalation logic to automation services."},{"label":"Business process automation","href":"/services/business-process-automation","reason":"Route operations buyers to workflow build scope."}],"measurementPlan":[{"metric":"Dispatch page impressions","target":"750 qualified impressions within 120 days","cadence":"Monthly"},{"metric":"CTA click quality","target":"At least 30 percent of clicks reach the app preview","cadence":"Monthly"},{"metric":"Lead source tagging","target":"Every HVAC inquiry tagged to dispatch, parts, or ETA intent","cadence":"Weekly"}]},"launchReadiness":{"score":81,"environment":"Dispatch preview with live board, route sequencing, comms queue, and parts holds","nextMilestone":"Pilot same-day dispatch board with two technicians and one coordinator","blockers":["Confirm scheduling source of truth and technician calendar rules.","Select SMS provider and approval copy for customer ETA messages."],"importRuns":[{"source":"Technician roster CSV","records":"18 techs, 3 skills missing certification tags","status":"complete","lastRun":"2026-06-24 07:55","exception":"After-hours availability needs confirmation."},{"source":"Service jobs export","records":"74 jobs, 12 require parts holds","status":"in-progress","lastRun":"2026-06-25 12:20","exception":"Address cleanup needed for 5 route stops."}],"permissionGroups":[{"role":"Dispatcher","seats":"4 seats","access":"Board, assignment, route order, comms, parts holds, setup export","status":"complete"},{"role":"Technician","seats":"18 seats","access":"Assigned jobs, ETA notes, parts status, completion updates","status":"in-progress"},{"role":"Service manager","seats":"3 seats","access":"Capacity, escalations, parts exceptions, customer communication review","status":"complete"}],"acceptanceTests":[{"scenario":"Reassign same-day job and preserve route context","owner":"Dispatcher","status":"complete","evidence":"Dispatch board and route panel show technician load and sequence changes."},{"scenario":"Send ETA message draft from comms queue","owner":"Service manager","status":"queued","evidence":"Message queue data is present; SMS provider not selected."},{"scenario":"Hold a job for unavailable parts","owner":"Parts coordinator","status":"complete","evidence":"Parts hold workflow shows ETA, risk, and owner."}],"goLiveTasks":[{"label":"Pick pilot dispatch window","owner":"Service manager","status":"complete","detail":"Start with weekday same-day calls before after-hours workflows."},{"label":"Approve ETA message templates","owner":"Operations lead","status":"queued","detail":"Customer-facing SMS copy needs final tone and compliance approval."},{"label":"Clean technician skills","owner":"Dispatcher","status":"in-progress","detail":"Normalize install, service, warranty, and refrigeration certifications."}]},"buildScope":{"coreModules":["Dispatch board and technician calendar","Inbound service request intake and triage","Work order detail view","Technician load and assignment controls","Customer communication queue","Parts-needed exception workflow","Technician field execution log","Route sequence panel","Recurring maintenance plan list","Status progression workflow"],"optionalModules":["Technician mobile app","Call center or web-form intake","Customer ETA notifications","ServiceTitan/Housecall Pro sync","Parts needed workflow","Recurring agreement billing export"],"screens":[{"id":"intake","label":"Service intake","description":"Inbound service requests can be triaged, escalated, and scheduled onto the live dispatch board."},{"id":"board","label":"Job board and calendar","description":"Status columns and technician calendar lanes stay aligned around the same seeded work orders."},{"id":"assignment","label":"Technician assignment","description":"Dispatchers can select a job, compare technician load, apply rescue dispatch moves, and reassign the call in the client UI."},{"id":"comms","label":"Customer communications","description":"ETA, delay, approval, and completion messages are grouped with same-day parts exceptions."},{"id":"territory-pilot","label":"Territory pilot console","description":"Pilot controls, FSM writeback queue, and launch workbook evidence for territory readiness, route promises, parts exceptions, and closeout quality."},{"id":"plans","label":"Plans and agreements","description":"Service agreements surface cadence, next visit, contract value, dispatch readiness, and closeout conversion status."},{"id":"route","label":"Route view","description":"A seeded route map and stop manifest help explain daily sequencing and field visibility."},{"id":"field","label":"Field execution","description":"Technician check-ins, readings, evidence, and field notes stay tied to dispatch status and closeout readiness."},{"id":"detail","label":"Job detail and status","description":"The selected work order exposes site notes, tasks, parts, activity, and status controls."},{"id":"closeout","label":"Technician closeout","description":"Diagnostic readings, completion checklist, invoice readiness, agreement offer, and return-visit holds."},{"id":"compliance","label":"Compliance desk","description":"Permit, refrigerant, warranty, and safety records with evidence capture, filing controls, and dispatcher handoff status."},{"id":"setup","label":"Pilot launch","description":"Client-facing launch path for brand fit, source data, access, approvals, and pilot rollout."}],"flows":[{"label":"Triage and schedule an inbound request","status":"clickable","description":"Qualify a call or web request, escalate urgent work, and convert it into a scheduled job with a queued customer message."},{"label":"Switch board and calendar views","status":"clickable","description":"Toggle the dispatch surface between status columns and technician calendar lanes."},{"label":"Select and assign a job","status":"clickable","description":"Pick a work order, inspect technician capacity, and update the assigned tech locally."},{"label":"Apply a rescue dispatch move","status":"clickable","description":"Approve a capacity recommendation that reassigns a job, updates the route ETA, and queues the customer notice."},{"label":"Advance work order status","status":"clickable","description":"Move a job through scheduled, en route, on site, needs part, and complete states."},{"label":"Queue customer communications","status":"clickable","description":"Review ETA, delay, approval, and completion messages tied to the selected work order."},{"label":"Accept territory pilot workbook","status":"clickable","description":"Accept dispatcher pilot controls, stage the launch workbook, and download territory evidence for a buyer-ready rollout."},{"label":"Review FSM writeback boundary","status":"clickable","description":"Inspect assignment, ETA, message, parts, closeout, compliance, and agreement packets before exporting manual field-service updates."},{"label":"Resolve parts exceptions","status":"clickable","description":"Inspect parts holds with vendor, approval, ETA, and dispatch impact context."},{"label":"Confirm field execution","status":"clickable","description":"Move a technician visit through site arrival, diagnostic completion, evidence capture, and dispatcher note submission."},{"label":"Close out the visit","status":"clickable","description":"Review technician diagnostics, closeout checklist, invoice state, and maintenance agreement offer before completion."},{"label":"File compliance evidence","status":"clickable","description":"Capture and file permit, refrigerant, warranty, and safety proof so completed work can move cleanly into closeout and billing."},{"label":"Review route and recurring coverage","status":"clickable","description":"Route optimization and maintenance plan workspaces expose stop order, drive time, agreement conversion, contract coverage, and renewal risk context."},{"label":"Review pilot launch path","status":"clickable","description":"Review launch phases, required modules, integration paths, and buyer-facing market pages inside the app."}],"implementationSteps":[{"phase":"Week 1","label":"Dispatch rules and job model","detail":"Define job statuses, priority levels, technician skills, recurring plan cadence, and route sequencing rules."},{"phase":"Week 2","label":"Live dispatch pilot","detail":"Build authenticated board/calendar views, technician assignment, status updates, and operational dashboards."},{"phase":"Week 3","label":"Field handoff and notifications","detail":"Add technician mobile access, customer ETA messaging, route context, and first integration/export path."}]},"dataModel":{"objects":[{"label":"Work orders","detail":"Customer, site, job type, technician, service window, status, priority, value."},{"label":"Service requests","detail":"Inbound calls and web forms with channel, received time, SLA, technician recommendation, and triage state."},{"label":"Technicians","detail":"Role, skill context, current load, utilization, next stop."},{"label":"Rescue dispatch decisions","detail":"Capacity recommendations, affected work orders, route ETA, customer promise, and decision state."},{"label":"Customer messages","detail":"ETA, delay, approval, and completion messages by channel, status, due time, and job."},{"label":"Parts holds","detail":"Part, vendor, quote/order status, ETA, and dispatch impact by work order."},{"label":"Parts authorizations","detail":"Customer approval packet, quote total, margin, vendor order, recovery promise, route ETA, and truck staging by part hold."},{"label":"Field visits","detail":"Technician check-in, diagnostic readings, evidence, and dispatcher handoff notes by work order."},{"label":"Routes","detail":"Stop order, ETA, customer, status, technician assignment."},{"label":"Recurring plans","detail":"Customer, cadence, next visit, annual contract value, and coverage status."},{"label":"Agreement opportunities","detail":"Closeout-linked offers, annual value, owner, status, and follow-up notes."}],"roles":[{"label":"Dispatcher","detail":"Owns the same-day board, technician assignments, and priority exceptions."},{"label":"Service manager","detail":"Monitors utilization, recurring coverage, and incomplete work orders."},{"label":"Technician","detail":"Receives assigned jobs, status tasks, notes, and route context."}],"integrations":[{"label":"Customer ETA messages","status":"template","detail":"SMS/email wording and triggers are scoped for same-day dispatch."},{"label":"Service platform sync","status":"needs-client","detail":"Depends on ServiceTitan, Housecall Pro, Jobber, or custom records."},{"label":"Map routing","status":"optional","detail":"Can be connected after technician and address data are live."},{"label":"CSV job import","status":"ready","detail":"Work order fields map cleanly to a pilot import."}],"launchAssets":[{"label":"Dispatch status map","status":"ready","detail":"Scheduled, en route, on site, needs part, and complete states are defined."},{"label":"Technician role matrix","status":"template","detail":"Skills, territory, capacity, and assignment rules are ready to tailor."},{"label":"SEO landing page","status":"ready","detail":"Canonical page targets HVAC dispatch and scheduling searches."},{"label":"Customer messaging scripts","status":"template","detail":"ETA and delay copy can be branded per service company."}]},"launchChecklist":[{"label":"Customer ETA messages","status":"template","detail":"SMS/email wording and triggers are scoped for same-day dispatch."},{"label":"Service platform sync","status":"needs-client","detail":"Depends on ServiceTitan, Housecall Pro, Jobber, or custom records."},{"label":"Map routing","status":"optional","detail":"Can be connected after technician and address data are live."},{"label":"CSV job import","status":"ready","detail":"Work order fields map cleanly to a pilot import."},{"label":"Dispatch status map","status":"ready","detail":"Scheduled, en route, on site, needs part, and complete states are defined."},{"label":"Technician role matrix","status":"template","detail":"Skills, territory, capacity, and assignment rules are ready to tailor."},{"label":"SEO landing page","status":"ready","detail":"Canonical page targets HVAC dispatch and scheduling searches."},{"label":"Customer messaging scripts","status":"template","detail":"ETA and delay copy can be branded per service company."}],"productionGaps":["Confirm scheduling source of truth and technician calendar rules.","Select SMS provider and approval copy for customer ETA messages.","Service platform sync: Depends on ServiceTitan, Housecall Pro, Jobber, or custom records.","Replace seeded demo data with authenticated tenant-scoped persistence.","Confirm permissions, audit history, notification rules, and client-specific import/export needs."],"qaChecklist":["Verify desktop and mobile app routes have no horizontal overflow.","Confirm setup tabs render tenant, data, integrations, and launch asset panels.","Confirm live operations command center renders tasks, signals, automations, and escalation runbook.","Confirm tenant runtime console renders active roles, data sources, notifications, integration health, and admin actions.","Confirm portfolio priority renders rank, launch lane, scoring breakdown, next milestone, SEO move, sales move, and risk.","Confirm sellable pilot package renders offer name, pricing, acceptance gates, required assets, handoff packet, SEO/AEO route, and risk controls.","Confirm tenant clone package renders clone score, buyer decision, production domain, readiness lanes, adjacent clone targets, and implementation move.","Confirm rebrand kit tab renders variants, terminology swaps, brand assets, launch copy, and implementation checklist.","Confirm pilot intake tab renders qualification signals, buyer questions, required assets, approval gates, agenda, and handoff outputs.","Confirm pilot kickoff runbook renders launch days, owner steps, checkpoints, meeting cadence, decision log, and exit criteria.","Confirm order form tab renders included line items, add-ons, payment milestones, scope boundaries, approvals, and redlines.","Confirm client proposal tab renders recommended offer, investment summary, scope, timeline, commercial terms, acceptance criteria, SEO/AEO expansion, and Markdown download.","Confirm customer success tab renders support tickets, service levels, knowledge base, success milestones, and escalation rules.","Confirm revenue tab renders invoice milestones, entitlements, seat packaging, renewal checkpoints, legal readiness, and upgrade triggers.","Confirm production evidence tab renders proof snapshots, acceptance evidence, artifacts, demo scenarios, handoff questions, and SEO/AEO proof points.","Confirm data import tab renders source systems, field maps, validation gates, and cutover strategy.","Confirm import template downloads render file names, columns, sample rows, acceptance checks, and CSV routes.","Confirm automations tab renders trigger rules, notification templates, and escalation paths.","Confirm operations ledger renders recent events, audit controls, source systems, and evidence artifacts.","Confirm release plan tab renders MVP scope, reusable components, backlog, handoff artifacts, and risks.","Confirm SEO and AEO growth tab renders answer briefs, content briefs, comparison pages, links, and measurement plan.","Confirm analytics tab renders product events, conversion goals, dashboards, and privacy guardrails.","Confirm access tab renders identity model, roles, permission scopes, policies, and acceptance checks.","Confirm buyer package tab renders statement of work, milestones, support model, responsibilities, and change-order triggers.","Confirm commercialization tab renders priority score, pricing hypothesis, validation questions, close script, and risk flags.","Confirm buyer proof tab renders ROI levers, baseline metrics, pilot KPIs, and proof assets.","Confirm deployment tab renders hosting model, domains, DNS records, environment variables, release gates, monitoring, rollback, and SEO checks.","Confirm go-live tab renders import dry-runs, permission matrix, acceptance tests, cutover tasks, and blockers.","Validate canonical page metadata, SoftwareApplication schema, and FAQ schema.","Verify demo app routes remain noindex and canonicalized to the main-domain landing page.","Review copy, domain alias, poster art, and search terms after client branding is selected."]}