{"kind":"demo-deployment-launch-plan","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"},"deploymentPlan":{"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?"]},"implementationManifest":{"markdownPath":"/demo-library/hvac-dispatch/deployment-launch","jsonPath":"/demo-library/hvac-dispatch/deployment-launch.json","launchRoomPath":"/demo-library/hvac-dispatch/launch-room","clientLaunchPlanJsonPath":"/demo-library/hvac-dispatch/client-launch-plan.json","openApiSpecPath":"/demo-library/hvac-dispatch/openapi.json","productionDataContractJsonPath":"/demo-library/hvac-dispatch/data-contract.json","sampleDataPackageJsonPath":"/demo-library/hvac-dispatch/sample-data-package.json","tenantClonePackageJsonPath":"/demo-library/hvac-dispatch/tenant-clone-package.json","firstProofUrl":"https://hvac-dispatch.ideas-realized.com?screen=route","firstProofScreen":"route","environmentCount":3,"domainRecordCount":3,"environmentVariableCount":5,"releaseGateCount":5,"monitoringSignalCount":3,"rollbackStepCount":5,"goLiveStepCount":6,"seoLaunchCheckCount":7,"needsClientCount":3,"blockedOrQueuedCount":3}}