// om-financial-cta.jsx // Solutions Page (Commercial Solar O&M) — Cost-of-Neglect, In Practice, // Who This Is For, Testimonial, FAQ, Related, Closing CTA. // Page accent — sage green. The one amber moment is reserved for the // closing-CTA "performing" word so the page still has a single warm anchor. const OM_AMBER_L = '#5E8F6D'; const OM_AMBER_SOFT_L = 'rgba(94,143,109,0.18)'; // ============================================================ // OmCostOfNeglect — Wise Blue, 5 risk cards // Reframes O&M as protection of financial performance, not maintenance expense. // ============================================================ const OmCostOfNeglect = () => { const cards = [ { title: 'Panel Soiling', impact: '2–5% recurring production loss', why: 'Dust, debris, pollen, and rooftop contaminants reduce generation efficiency over time.', prevent: 'Inspection + cleaning program' }, { title: 'Inverter Faults', impact: 'Partial or full system outage', why: 'Unresolved inverter faults can leave portions of the system offline for extended periods.', prevent: 'Active monitoring + responsive service' }, { title: 'Undetected Underperformance', impact: 'Missed generation revenue', why: 'Degradation, shading changes, and equipment drift often go unnoticed without ongoing review.', prevent: 'Annual performance benchmarking' }, { title: 'Aging Electrical Infrastructure', impact: 'Safety and reliability risk', why: 'Wiring, terminations, and electrical components degrade over long operating periods.', prevent: 'Preventative inspection program' }, { title: 'End-of-Life Equipment', impact: 'Unexpected downtime and replacement cost', why: 'Inverters and monitoring hardware eventually require planned replacement.', prevent: 'Lifecycle planning + proactive upgrades' }, { title: 'Communication Failures', impact: 'Delayed fault detection and reporting', why: 'Monitoring outages, disconnected gateways, and communication failures can prevent issues from being identified before production losses escalate.', prevent: 'Active monitoring + alert management' } ]; return (
); }; // ============================================================ // OmInPractice — Paper Cream // "From financial model to long-term operation." // 3 strategic benefit blocks + production-vs-model line chart visual. // ============================================================ const OmInPractice = () => { const blocks = [ { label: 'Production Oversight', icon: 'gauge', body: 'Annual performance reviewed against the original financial model to identify underperformance, degradation, or operational drift early.' }, { label: 'Long-Term Accountability', icon: 'badge-check', body: 'Single operational contact responsible for inspections, reporting, maintenance coordination, and ongoing system support.' }, { label: 'Existing System Support', icon: 'handshake', body: 'O&M services available for both GI-installed and third-party commercial solar systems.' } ]; return (
How the service works

From financial model{' '} to long-term operation.

Commercial solar systems are financially modelled around long-term production assumptions. Ongoing operations support is not just maintenance — it is active management of system performance against the original operating model.

{/* Performance vs model chart panel */}
Performance vs operating model

Production is measured against the original operating model.

{[ { l: 'Year 0', v: '100%', sub: 'Initial system commissioning' }, { l: 'Year 30', v: '80–85%', sub: 'Typical long-term target' }, { l: 'Active O&M', v: 'On-model', sub: 'Managed against assumptions' } ].map(b => (
{b.l}
{b.v}
{b.sub}
))}
{/* 3 stacked strategic benefit blocks */}
{blocks.map((b, i) => (
{b.label}

{b.body}

))}
); }; // ============================================================ // OmDegradationChart — small inline chart of designed-vs-actual production // ============================================================ const OmDegradationChart = () => { const W = 520, H = 180; const padL = 8, padR = 8, padT = 12, padB = 28; const x0 = padL, x1 = W - padR; const y0 = padT, y1 = H - padB; const xAt = (yr) => x0 + ((x1 - x0) * yr) / 30; const yAt = (pct) => y1 - ((y1 - y0) * (pct - 70)) / 30; // 70..100 // designed degradation curve — gentle to 80% const designed = Array.from({ length: 31 }, (_, y) => { const pct = 100 - 0.65 * y; // ends ~80.5 return [xAt(y), yAt(pct)]; }); // unmaintained — bigger drops + soiling sawtooth const unmaint = Array.from({ length: 31 }, (_, y) => { let pct = 100 - 1.05 * y; // worse trend // soiling sawtooth — accumulates 4% over a year, knocked back at "cleaning" but never fully pct -= (y % 3) * 1.2; if (y === 13 || y === 14) pct -= 6; // pretend a fault stretch return [xAt(y), yAt(pct)]; }); const toPath = (pts) => pts.map((p, i) => (i === 0 ? `M${p[0]},${p[1]}` : `L${p[0]},${p[1]}`)).join(' '); return (
); }; // ============================================================ // OmWhoFor — Wise Blue, when O&M support makes sense // 3 horizontal cards: Newly Installed · Underperforming/Aging · Third-Party // ============================================================ const OmWhoFor = () => { // Hrefs added per GI Link Audit (Fix 4): all three CTAs route to /about/contact/. const cards = [ { tag: 'Newly Installed Systems', copy: 'Establish baseline performance, schedule preventative maintenance, and monitor production against the original financial model from the beginning of operation.', cta: 'Schedule inspection', href: '/about/contact/' }, { tag: 'Aging Systems', copy: 'Investigate production loss, inverter issues, degradation, or equipment nearing end of life before performance impacts compound further.', cta: 'Request assessment', href: '/about/contact/' }, { tag: 'Existing Third-Party Installations', copy: 'Ongoing O&M support for commercial solar systems installed by other contractors — including inspections, reporting, troubleshooting, and long-term maintenance planning.', cta: 'Transfer service support', href: '/about/contact/', highlight: true } ]; return (
); }; // ============================================================ // OmTestimonial — Air Transat · Keith Lawless // ============================================================ const OmTestimonial = () => (
Client testimonial

Reliable execution and{' '} long-term service support.

Projects were completed efficiently, and ongoing support has remained strong. The team continues to deliver consistent service across multiple engagements.

{[ { l: 'Client', v: 'Keith Lawless' }, { l: 'Company', v: 'Air Transat' }, { l: 'Sector', v: 'Aviation · Ontario' } ].map(b => (
{b.l}
{b.v}
))}
); // ============================================================ // OmFAQ — 6 questions on the soft accent surface // ============================================================ const OmFAQ = () => { const items = [ { q: 'How often should a commercial solar system be inspected?', a: 'For active commercial solar systems, an annual inspection is the standard minimum. Systems in environments with higher soiling risk — near construction, industrial processes, or high bird activity — benefit from bi-annual inspections.\n\nInverter fault logs should be reviewed monthly. Most inverter manufacturers provide remote monitoring platforms that allow production data and fault alerts to be checked without a site visit.' }, { q: 'My solar system is underperforming. What should I do?', a: 'First, confirm the underperformance by comparing actual generation against the original production model using monitoring data. A 5–10% variance is within normal range for seasonal and weather variation. A sustained gap larger than that — across multiple months or an annual total — warrants investigation.\n\nCommon causes: inverter faults (identifiable from monitoring data), panel soiling or physical damage, shading from new obstructions, wiring or connection degradation, or inverter efficiency loss in older units. A site inspection typically identifies the cause within one visit.' }, { q: 'Can you service a solar system that was installed by another company?', a: 'Yes — we provide operations and maintenance services for commercial solar systems installed by other contractors. The starting point is a full system inspection to establish the current operating condition, production baseline, and any immediate maintenance or performance concerns.\n\nWe work with all major commercial inverter platforms commonly used across Canadian C&I solar installations, including Fronius, SolarEdge, Solis, SMA, and others. Following the assessment, we provide a documented inspection report, identified corrective actions if required, and a forward maintenance plan structured around the long-term operation of the system.' }, { q: 'How long does a commercial solar system last?', a: 'Commercial solar systems are designed and financially modelled for a 30-year operating life. Panels are typically warranted at a minimum output level — commonly 80–85% of nameplate capacity — at year 30. Well-maintained systems operating in Ontario conditions regularly achieve this.\n\nInverters have a shorter service life — typically 12–15 years for string inverters. Inverter replacement is a planned maintenance event within the 30-year financial model, not a system failure. Most systems will require at least one inverter replacement across their operating life.\n\nRegular inspection and proactive maintenance are what close the gap between designed lifespan and actual operating performance.' }, { q: 'What does a commercial solar inspection cover?', a: 'A comprehensive commercial solar inspection covers: panel condition (soiling, physical damage, delamination, and shading assessment), DC wiring and connection integrity, inverter operation and fault log review, mounting and racking condition, earthing and bonding, and production data review against the original 30-year financial model.\n\nWhere a battery storage system is co-located, the inspection extends to the storage system, BMS, and interconnection.' }, { q: 'What happens when a solar inverter reaches end of life?', a: 'When a string inverter approaches the end of its service life — typically 12–15 years — the options are replacement with an equivalent unit or upgrade to a current-generation inverter, which often delivers improved efficiency, better monitoring capability, and extended warranty coverage.\n\nInverter replacement at year 12–15 is a planned maintenance item within the 30-year financial model. We assess inverter condition annually as part of the service program and provide a planned replacement recommendation before failure occurs — not in response to it.\n\nEmergency inverter replacement after failure is significantly more disruptive and costly than a scheduled replacement planned a year in advance.' } ]; const [open, setOpen] = React.useState(0); return (
Questions from existing system owners

Frequently asked questions.

Solar maintenance and O&M questions from C&I facility operators with installed systems.

{items.map((it, i) => { const isOpen = open === i; return (

{it.a}

); })}
); }; // ============================================================ // OmRelated — Battery Storage / Commercial Solar / EV Charging // "Expand or upgrade your system." // ============================================================ const OmRelated = () => { // Hrefs added per GI Link Audit (Fix 3). const items = [ { name: 'Battery Storage', icon: 'battery-charging', href: '/solutions/battery-storage/', why: 'Adding storage to an existing solar system improves self-consumption and enables demand charge management.' }, { name: 'Commercial Solar', icon: 'sun', href: '/solutions/commercial-solar/', why: 'If you are evaluating a new installation, see the full commercial solar service page.' }, { name: 'EV Charging', icon: 'plug-zap', href: '/solutions/ev-charging/', why: 'Existing solar systems can provide a cost-effective power source for on-site EV charging infrastructure.' } ]; return (
Expand or upgrade your system

Services for existing system owners.

Each integrates with the same inspection report, financial model, and operating relationship.

{items.map(it => (

{it.name}

{it.why}

Explore
))}
); }; // ============================================================ // OmClosingCTA — Soft Green // "Book a system inspection — Know how your system is performing." // Differentiator: "We service systems installed by GI and systems // installed by others." — directly addresses non-GI hesitation. // ============================================================ const OmClosingCTA = () => (
); Object.assign(window, { OmCostOfNeglect, OmInPractice, OmWhoFor, OmTestimonial, OmFAQ, OmRelated, OmClosingCTA });