{"kind":"demo-tenant-seed-package","version":"wave-1","sourceDemo":{"slug":"hvac-dispatch","title":"HVAC Dispatch","archetype":"A2","canonicalPath":"/demo-library/hvac-dispatch","appPath":"/demo-apps/hvac-dispatch","subdomain":"hvac-dispatch.ideas-realized.com"},"tenantIdentity":{"tenantName":"Evergreen Mechanical","productName":"CoolRoute Command","companyName":"Evergreen Mechanical","configuredDomain":"hvac-dispatch.ideas-realized.com","previewDomain":"hvac-dispatch.ideas-realized.com","workspaceName":"Evergreen Mechanical","environment":"Dispatch preview with live board, route sequencing, comms queue, and parts holds","primaryProofUrl":"https://hvac-dispatch.ideas-realized.com?screen=route","primaryProofScreen":"route"},"counts":{"userCount":3,"permissionScopeCount":3,"dataSourceCount":3,"integrationCount":4,"automationCount":3,"notificationCount":2,"featureFlagCount":14,"supportTicketCount":5,"launchAssetCount":4,"needsClientCount":3},"seed":{"users":[{"name":"Maya Chen","role":"Dispatcher","email":"maya.chen@evergreenmechanical.example","permissions":["Daily board and customer communication control","Assign technicians","Approve ETA messages"],"focus":"Owns the same-day board, technician assignments, and priority exceptions."},{"name":"Luis Romero","role":"Service manager","email":"luis.romero@evergreenmechanical.example","permissions":["Assigned job and mobile status visibility","Review assigned work","Update field status"],"focus":"Monitors utilization, recurring coverage, and incomplete work orders."},{"name":"Dana Patel","role":"Technician","email":"dana.patel@evergreenmechanical.example","permissions":["Capacity, parts, and escalation oversight","Approve parts blockers","Review urgent reassignment"],"focus":"Receives assigned jobs, status tasks, notes, and route context."}],"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."}],"dataSources":[{"name":"Service jobs export","system":"ServiceTitan, Housecall Pro, FieldEdge, or CSV schedule export","owner":"Dispatch manager","status":"needs-client","importTemplatePath":"/demo-library/hvac-dispatch/import-templates/work-order-import","recordEstimate":"40 to 160 open jobs","requiredFields":["ServiceJob.externalId","Customer.displayName","ServiceJob.category","ServiceJob.window"]},{"name":"Technician roster","system":"Field-service platform or HR roster export","owner":"Service manager","status":"ready","importTemplatePath":"/demo-library/hvac-dispatch/import-templates/technician-roster","recordEstimate":"8 to 60 technician records","requiredFields":["Technician.displayName","Technician.skills"]},{"name":"Parts holds","system":"Inventory hold list or parts counter spreadsheet","owner":"Parts coordinator","status":"template","importTemplatePath":"/demo-library/hvac-dispatch/import-templates/work-order-import","recordEstimate":"10 to 80 parts-held job rows","requiredFields":["PartsHold.jobId","PartsHold.partName"]}],"integrations":[{"label":"Customer ETA messages","owner":"Dispatch manager","status":"template","detail":"SMS/email wording and triggers are scoped for same-day dispatch."},{"label":"Service platform sync","owner":"Service manager","status":"needs-client","detail":"Depends on ServiceTitan, Housecall Pro, Jobber, or custom records."},{"label":"Map routing","owner":"Parts coordinator","status":"optional","detail":"Can be connected after technician and address data are live."},{"label":"CSV job import","owner":"Dispatch manager","status":"ready","detail":"Work order fields map cleanly to a pilot import."}],"automations":[{"name":"Unassigned urgent job alert","owner":"Dispatch manager","status":"ready","trigger":"Urgent job is unassigned within 30 minutes of appointment window.","action":"Move job into dispatch risk and create manager review task.","fallback":"Highlight job card if escalation notifications are disabled."},{"name":"ETA message preparation","owner":"Customer service lead","status":"needs-client","trigger":"Technician assignment changes or route window slips.","action":"Prepare ETA or delay message for dispatcher approval.","fallback":"Create an internal call task instead of sending customer-facing message."},{"name":"Parts hold route block","owner":"Parts coordinator","status":"template","trigger":"Job has required part with unknown or late ETA.","action":"Flag route risk and notify parts coordinator before route sequence is finalized.","fallback":"Keep job in parts-hold swimlane until ETA is resolved."}],"notifications":[{"name":"ETA approval draft","audience":"Dispatcher","channel":"In-app","status":"template","subject":"Customer ETA message ready"},{"name":"Parts hold escalation","audience":"Parts coordinator","channel":"In-app","status":"ready","subject":"Scheduled job blocked by parts"}],"featureFlags":[{"key":"core_dispatch_board_and_technician_calendar","label":"Dispatch board and technician calendar","defaultEnabled":true,"owner":"Dispatcher","rollout":"Enabled for pilot launch."},{"key":"core_inbound_service_request_intake_and_triage","label":"Inbound service request intake and triage","defaultEnabled":true,"owner":"Service manager","rollout":"Enabled for pilot launch."},{"key":"core_work_order_detail_view","label":"Work order detail view","defaultEnabled":true,"owner":"Technician","rollout":"Enabled for pilot launch."},{"key":"core_technician_load_and_assignment_controls","label":"Technician load and assignment controls","defaultEnabled":true,"owner":"Dispatcher","rollout":"Enabled for pilot launch."},{"key":"core_customer_communication_queue","label":"Customer communication queue","defaultEnabled":true,"owner":"Service manager","rollout":"Enabled for pilot launch."},{"key":"core_parts_needed_exception_workflow","label":"Parts-needed exception workflow","defaultEnabled":true,"owner":"Technician","rollout":"Enabled for pilot launch."},{"key":"core_technician_field_execution_log","label":"Technician field execution log","defaultEnabled":true,"owner":"Dispatcher","rollout":"Enabled for pilot launch."},{"key":"core_route_sequence_panel","label":"Route sequence panel","defaultEnabled":true,"owner":"Service manager","rollout":"Enabled for pilot launch."},{"key":"core_recurring_maintenance_plan_list","label":"Recurring maintenance plan list","defaultEnabled":true,"owner":"Technician","rollout":"Enabled for pilot launch."},{"key":"core_status_progression_workflow","label":"Status progression workflow","defaultEnabled":true,"owner":"Dispatcher","rollout":"Enabled for pilot launch."},{"key":"optional_technician_mobile_app","label":"Technician mobile app","defaultEnabled":false,"owner":"Dispatcher","rollout":"Disabled until buyer approves add-on scope."},{"key":"optional_call_center_or_web_form_intake","label":"Call center or web-form intake","defaultEnabled":false,"owner":"Technician","rollout":"Disabled until buyer approves add-on scope."},{"key":"optional_customer_eta_notifications","label":"Customer ETA notifications","defaultEnabled":false,"owner":"Service manager","rollout":"Disabled until buyer approves add-on scope."},{"key":"optional_servicetitan_housecall_pro_sync","label":"ServiceTitan/Housecall Pro sync","defaultEnabled":false,"owner":"Dispatcher","rollout":"Disabled until buyer approves add-on scope."}],"supportTickets":[{"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."}],"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."}],"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."}]},"implementationManifest":{"markdownPath":"/demo-library/hvac-dispatch/tenant-seed-package","jsonPath":"/demo-library/hvac-dispatch/tenant-seed-package.json","launchRoomPath":"/demo-library/hvac-dispatch/launch-room","clientLaunchPlanJsonPath":"/demo-library/hvac-dispatch/client-launch-plan.json","deploymentLaunchPlanJsonPath":"/demo-library/hvac-dispatch/deployment-launch.json","openApiSpecPath":"/demo-library/hvac-dispatch/openapi.json","sampleDataPackageJsonPath":"/demo-library/hvac-dispatch/sample-data-package.json","firstProofUrl":"https://hvac-dispatch.ideas-realized.com?screen=route","firstProofScreen":"route"}}