diff --git a/component-library/src/components/solenos/price-card.tsx b/component-library/src/components/solenos/price-card.tsx index de03319..6f44fff 100644 --- a/component-library/src/components/solenos/price-card.tsx +++ b/component-library/src/components/solenos/price-card.tsx @@ -26,8 +26,8 @@ function PriceCard({ cadence: React.ReactNode price: React.ReactNode unit: React.ReactNode - /** umlagefähig? tone drives soft-teal vs. soft-red pill */ - allocation: { label: React.ReactNode; tone: "positive" | "negative" } + /** optional legal cost-allocation note, shown only after review */ + allocation?: { label: React.ReactNode; tone: "positive" | "negative" } description: React.ReactNode media?: React.ReactNode className?: string @@ -47,13 +47,15 @@ function PriceCard({ {price}
{unit}
- - {allocation.tone === "positive" ? : } - {allocation.label} - + {allocation ? ( + + {allocation.tone === "positive" ? : } + {allocation.label} + + ) : null}

{description} diff --git a/component-library/src/components/solenos/site-footer.tsx b/component-library/src/components/solenos/site-footer.tsx index faf0cc5..a2d9142 100644 --- a/component-library/src/components/solenos/site-footer.tsx +++ b/component-library/src/components/solenos/site-footer.tsx @@ -8,7 +8,7 @@ const COLUMNS: { title: string; links: { to: string; label: string }[] }[] = [ title: "Produkt", links: [ { to: "/produkte", label: "Produkte" }, - { to: "/produkte/uvi", label: "UVI" }, + { to: "/produkte/uvi", label: "Verbrauchsinformation (UVI)" }, { to: "/produkte/heizkostenabrechnung", label: "Heizkostenabrechnung" }, { to: "/produkte/rauchwarnmelder", label: "Rauchwarnmelder" }, { diff --git a/component-library/src/components/solenos/site-header.tsx b/component-library/src/components/solenos/site-header.tsx index b93e53c..6f9f4ce 100644 --- a/component-library/src/components/solenos/site-header.tsx +++ b/component-library/src/components/solenos/site-header.tsx @@ -1,5 +1,5 @@ import * as React from "react" -import { ChevronDown, Menu } from "lucide-react" +import { Check, ChevronDown, Menu } from "lucide-react" import { Link, NavLink, matchPath, useLocation } from "react-router-dom" import { cn } from "@/lib/utils" @@ -24,7 +24,7 @@ const AUDIENCES = [ /** mirrors the product registry in `@/pages/products/product-page` */ const PRODUCTS = [ - { to: "/produkte/uvi", label: "UVI" }, + { to: "/produkte/uvi", label: "Verbrauchsinformation (UVI)" }, { to: "/produkte/heizkostenabrechnung", label: "Heizkostenabrechnung" }, { to: "/produkte/rauchwarnmelder", label: "Rauchwarnmelder" }, { @@ -131,7 +131,33 @@ function useActivePill(activeKey: string | undefined) { return { navRef, pill } } +function MenuLink({ + to, + label, + pathname, +}: { + to: string + label: string + pathname: string +}) { + const current = Boolean(matchPath({ path: to, end: true }, pathname)) + + return ( + + + {label} + {current ? + ) +} + function NavMenu({ item, active }: { item: NavItem; active: boolean }) { + const { pathname } = useLocation() + return ( - - Übersicht - + - {item.menu?.map((a) => ( - - {a.label} - + {item.menu?.map((link) => ( + ))} @@ -200,6 +222,8 @@ function DesktopNav() { } function MobileMenu() { + const { pathname } = useLocation() + return ( @@ -208,26 +232,25 @@ function MobileMenu() { Menü öffnen - + {NAV_ITEMS.map((item) => item.menu ? ( {item.label} - - Übersicht - - {item.menu.map((a) => ( - - {a.label} - + + {item.menu.map((link) => ( + ))} ) : ( - - {item.label} - + ) )} @@ -257,9 +280,6 @@ function SiteHeader() {

- {/* */} diff --git a/component-library/src/components/solenos/trust-panel.tsx b/component-library/src/components/solenos/trust-panel.tsx index b8973fc..8be9533 100644 --- a/component-library/src/components/solenos/trust-panel.tsx +++ b/component-library/src/components/solenos/trust-panel.tsx @@ -1,4 +1,6 @@ import * as React from "react" +import { Link } from "react-router-dom" +import { ArrowRight } from "lucide-react" import { cn } from "@/lib/utils" import { AssetRender, renders } from "@/components/solenos/site-assets" @@ -6,6 +8,7 @@ import { AssetRender, renders } from "@/components/solenos/site-assets" type TrustPanelItem = { icon: React.ReactNode label: React.ReactNode + to?: string } /** @@ -14,6 +17,38 @@ type TrustPanelItem = { * so the labels stay on one line next to the security render, with the * follow-up link on the baseline underneath. */ +function TrustProperty({ item }: { item: TrustPanelItem }) { + const content = ( + <> + + {item.icon} + + + {item.label} + + {item.to ? ( +
diff --git a/component-library/src/pages/audiences/audience-page.tsx b/component-library/src/pages/audiences/audience-page.tsx index 8ef748a..a0695ed 100644 --- a/component-library/src/pages/audiences/audience-page.tsx +++ b/component-library/src/pages/audiences/audience-page.tsx @@ -29,6 +29,7 @@ function AudienceBreadcrumb({ current }: { current: string }) { */ function AudiencePage({ breadcrumb, + eyebrow, title, tagline, lead, @@ -40,6 +41,7 @@ function AudiencePage({ closing, }: { breadcrumb: string + eyebrow?: React.ReactNode title: React.ReactNode /** short bold subline under the H1 (e.g. "Bestellen. Montieren. Fertig.") */ tagline?: React.ReactNode @@ -60,6 +62,7 @@ function AudiencePage({ <> } + eyebrow={eyebrow} title={title} lead={ <> diff --git a/component-library/src/pages/audiences/hauseigentuemer.tsx b/component-library/src/pages/audiences/hauseigentuemer.tsx index b722ee2..ca35a21 100644 --- a/component-library/src/pages/audiences/hauseigentuemer.tsx +++ b/component-library/src/pages/audiences/hauseigentuemer.tsx @@ -110,9 +110,9 @@ const SELF_INSTALL_STEPS = [ media: ( ), - title: "Gebäude angeben", + title: "Gebäudedaten online erfassen", description: - "Daten zu Ihrem Gebäude und den Wohneinheiten in wenigen Schritten erfassen.", + "Daten zum Gebäude und zu den Wohneinheiten direkt online eingeben.", }, { media: ( @@ -121,29 +121,31 @@ const SELF_INSTALL_STEPS = [ ), - title: "Passende Ausstattung zusammenstellen", - description: "Wir empfehlen die benötigte Ausstattung – Sie wählen aus.", + title: "Benötigte Ausstattung bestimmen lassen", + description: + "SolenOS ermittelt und konfiguriert aus den Objektdaten die passende notwendige beziehungsweise gesetzliche Mindestausstattung.", }, { media: ( ), title: "Vorkonfiguriert erhalten", - description: "Ihre Technik kommt vorkonfiguriert und einsatzbereit an.", + description: + "SolenOS prüft die Ausstattung vor dem Versand und ordnet die Geräte den vorgesehenen Wohnungen zu.", }, { media: , title: "Montieren", description: - "Sie montieren mit Ihrem Handwerker oder selbst – flexibel und unkompliziert.", + "Sie montieren selbst oder gemeinsam mit Ihrem eigenen Handwerker.", }, { media: ( ), - title: "SolenOS übernimmt", + title: "Betrieb übernehmen lassen", description: - "Wir übernehmen Ablesung, Übertragung und Auswertung automatisch.", + "SolenOS übernimmt Einrichtung, Datenübertragung und laufenden Betrieb.", }, ] @@ -165,13 +167,13 @@ const WHY_SOLENOS: BenefitGridItem[] = [ }, { icon: , - title: "Alles an einem Ort", - text: "UVI, Abrechnung, Geräte und weitere Gebäudedienstleistungen werden zentral verwaltet.", + title: "Getrennte Portalrechte", + text: "Sie sehen Gebäude, Wohnungen, Geräte, Status und Verbrauchswerte an einer Stelle. Bewohner sehen ausschließlich Daten ihrer eigenen Wohnung und ihres eigenen Nutzungszeitraums.", }, { icon: , - title: "Weniger laufender Aufwand", - text: "Nach der Einrichtung werden Verbrauchsdaten automatisch erfasst und verarbeitet.", + title: "Keine regelmäßigen Ablesebesuche", + text: "Verbrauchsdaten werden fernabgelesen; Heizkostenabrechnungen werden im Portal erstellt und versandfertig bereitgestellt.", }, ] @@ -187,7 +189,7 @@ const VARIANT_ROWS: ComparisonRow[] = [ label: "Installation", cells: ["Kunde / eigener Fachbetrieb", "organisiert durch SolenOS"], }, - { label: "Softwareeinrichtung", cells: ["vorbereitet durch SolenOS", "SolenOS"] }, + { label: "Softwarekonfiguration vor Ort", cells: ["nicht erforderlich – durch SolenOS eingerichtet", "nicht erforderlich – durch SolenOS eingerichtet"] }, { label: "Laufender Betrieb", cells: ["SolenOS", "SolenOS"] }, { label: "Kosten", @@ -199,12 +201,12 @@ const FAQS: FaqItem[] = [ { question: "Kann ich die Geräte wirklich selbst installieren?", answer: - "Ja. Die Technik kommt vorkonfiguriert und objektbezogen bei Ihnen an. Montiert wird von Ihnen, Ihrem Handwerker oder – wenn Sie die Komplettlösung wählen – von SolenOS. Eine aufwendige Softwarekonfiguration vor Ort ist in keinem Fall erforderlich.", + "Ja. Die Technik kommt vorkonfiguriert und objektbezogen bei Ihnen an. Montiert wird von Ihnen, Ihrem Handwerker oder – bei der Komplettlösung – von SolenOS. Eine Softwarekonfiguration vor Ort ist in keinem Fall erforderlich.", }, { - question: "Was kostet SolenOS für mein Gebäude?", + question: "Wann erhalte ich den verbindlichen Gesamtpreis?", answer: - "Der Konfigurator gibt Ihnen mit wenigen Angaben zu Gebäude, Wohnungen und gewünschten Leistungen eine erste Preisindikation. Den genauen Preis erhalten Sie, sobald die tatsächlichen Gebäudedaten ergänzt sind.", + "Nach dem Schnellkonfigurator ergänzen Sie die Gebäudedetails und Fotos vorhandener Einbausituationen. SolenOS prüft die notwendige Ausstattung und erstellt anschließend das verbindliche Gesamtangebot.", }, { question: "Wer übernimmt Ablesung, Übertragung und Auswertung?", @@ -214,7 +216,7 @@ const FAQS: FaqItem[] = [ { question: "Was sehe ich im SolenOS Portal?", answer: - "Ihre Gebäude, Wohnungen und Geräte an einer Stelle – inklusive Status der Geräte und der laufenden Verbrauchswerte. Bewohner erhalten ihren eigenen Zugang zum Mieterportal.", + "Sie sehen Gebäude, Wohnungen, Geräte, Gerätestatus und Verbrauchswerte an einer Stelle. Bewohner erhalten einen eigenen Zugang und sehen ausschließlich Daten ihrer eigenen Wohnung und ihres eigenen Nutzungszeitraums. Heizkostenabrechnungen werden im Portal erstellt und versandfertig bereitgestellt.", }, { question: "Kann ich später weitere Gebäude oder Geräte ergänzen?", @@ -227,15 +229,16 @@ export default function HauseigentuemerPage() { return ( Messdienstleistungen für Ihr Mehrfamilienhaus. Einfach organisiert. } - lead="UVI, Heizkostenabrechnung und Rauchwarnmelder mit vorkonfigurierter Technik – selbst installieren oder als Komplettlösung beauftragen." + lead="Monatliche Verbrauchsinformation (UVI), Heizkostenabrechnung und Rauchwarnmelder mit vorkonfigurierter Technik – selbst installieren oder als Komplettlösung beauftragen." actions={ } visual={} @@ -267,12 +270,12 @@ export default function HauseigentuemerPage() { } title="Welche Lösung passt zu Ihrem Gebäude?" - description="Mit wenigen Angaben zur ersten Preisindikation – oder direkt die Komplettlösung anfragen." + description="Leistungen und Gebäudedaten online erfassen – oder direkt die Komplettlösung anfragen." actions={ <> } /> - Ein Ansprechpartner. Alles aus einer Hand. -
- Komplettlösung mit voller Betreuung. - - } + lead="SolenOS übernimmt Installation und Einrichtung – inklusive Service." + takeaway="Komplettlösung mit voller Betreuung." visual={} action={ } /> diff --git a/component-library/src/pages/audiences/hausverwaltungen.tsx b/component-library/src/pages/audiences/hausverwaltungen.tsx index 727f6fc..63ad3b9 100644 --- a/component-library/src/pages/audiences/hausverwaltungen.tsx +++ b/component-library/src/pages/audiences/hausverwaltungen.tsx @@ -67,9 +67,9 @@ const rolloutSteps = [ "Die Geräte werden passend zum jeweiligen Gebäude beziehungsweise zur jeweiligen Nutzungseinheit ausgeliefert.", }, { - title: "Bestehende Monteure installieren", + title: "Vor Ort nur montieren", description: - "Eigene Mitarbeiter, Hausmeister oder bestehende Installationspartner können die Montage übernehmen. Eine umfangreiche Softwarekonfiguration vor Ort ist nicht erforderlich.", + "Eigene Mitarbeiter, Hausmeister oder bestehende Installationspartner montieren ausschließlich die Geräte. SolenOS übernimmt die Softwarekonfiguration.", }, { title: "Bewohner einladen", @@ -79,7 +79,7 @@ const rolloutSteps = [ ] const noEffortItems = [ - { icon: , title: "Keine aufwendige Gerätekonfiguration." }, + { icon: , title: "Keine Softwarekonfiguration vor Ort." }, { icon: , title: "Keine manuelle Anlage jedes einzelnen Gerätes." }, { icon: , @@ -135,7 +135,7 @@ const faqs: FaqItem[] = [ { question: "Wie viel Aufwand entsteht für unser Team?", answer: - "Die Gebäude- und Wohnungsdaten werden bei der Auftragserstellung einmal erfasst und anschließend weiterverwendet. Es entfällt die aufwendige Gerätekonfiguration und die manuelle Anlage jedes einzelnen Gerätes.", + "Die Gebäude- und Wohnungsdaten werden bei der Auftragserstellung einmal erfasst und anschließend weiterverwendet. Vor Ort werden nur die Geräte montiert; SolenOS übernimmt die Softwarekonfiguration und Geräteanlage.", }, { question: "Können unsere bestehenden Monteure installieren?", @@ -188,12 +188,12 @@ export default function HausverwaltungenPage() { -

- Sie erhalten einen persönlichen Link - zu Ihrer Konfiguration. Damit kannst du - sofort weitermachen, später zurückkehren - oder den Link intern weitergeben. +

+ Wir verwenden Ihre E-Mail-Adresse, um den persönlichen Link + zu versenden. Einzelheiten finden Sie in unseren{" "} + + Hinweisen zu Datenschutz & Sicherheit + + .

+ - {/* Right column: sticky price indication */} + {/* Right column: sticky configuration summary */}

- Geschätzter Preis + Ihre Konfiguration

- +
- {uvi || rwm ? ( -
- {uvi ? ( - - ) : null} - {rwm ? ( - <> - {uvi ? : null} - - - - - ) : null} -
- ) : ( -

- Wählen Sie in Schritt 1 mindestens eine Leistung, um eine - Preisindikation zu erhalten. +

+ {buildings.length} Gebäude · {totalUnits}{" "} + {totalUnits === 1 ? "Wohnung" : "Wohnungen"} +

+ +
+

+ Gewählte Leistungen

- )} -

- {install - ? "Preise inklusive Montage durch SolenOS. " - : "Preise ohne Montage – Installation durch Sie oder Ihren Fachbetrieb. "} - Die erste Berechnung ist eine unverbindliche Preisindikation. - Der genaue Preis ergibt sich aus der vollständigen - Objektkonfiguration. +

    +
  • + {uvi ? ( + + ) : ( + + )} + + Monatliche Verbrauchsinformation + {uvi ? " – enthalten" : " – nicht enthalten"} + +
  • +
  • + {billing ? ( + + ) : ( + + )} + + Heizkostenabrechnung + {billing ? " – enthalten" : " – nicht enthalten"} + +
  • +
  • + {rwm ? ( + + ) : ( + + )} + + Rauchwarnmelder + {rwm ? " – enthalten" : " – nicht enthalten"} + +
  • +
  • + + + {install + ? "Montage durch SolenOS" + : "Montage durch Sie oder Ihren Fachbetrieb"} + +
  • +
+
+ +

+ Geprüfter Gesamtpreis nach Detailkonfiguration +

+

+ Wir veröffentlichen keine ungeprüften Preiswerte. Nach der + manuellen Prüfung erhalten Sie ein verbindliches + Gesamtangebot mit der erforderlichen Gateway-Infrastruktur, + den gewählten Leistungen und der gewählten Montagevariante.

@@ -641,22 +695,30 @@ export default function ConfiguratorPage() {
- {/* Was ist in der Schätzung enthalten? */} + {/* Vollständiger Leistungsumfang des späteren Gesamtangebots */}
- -
+ +
+
diff --git a/component-library/src/pages/for-whom.tsx b/component-library/src/pages/for-whom.tsx index 0a1757c..f340b6f 100644 --- a/component-library/src/pages/for-whom.tsx +++ b/component-library/src/pages/for-whom.tsx @@ -62,11 +62,11 @@ const AUDIENCES: Record< tab: "Hausverwaltungen", tabIcon: , headline: "Viele Gebäude. Ein einfacher Rollout.", - text: "Erfassen Sie Ihre Objekte einmal, erhalten Sie vorkonfigurierte Hardware und nutzen Sie bestehende Mitarbeiter oder Installationspartner für die Montage.", + text: "Erfassen Sie Ihre Objekte einmal, erhalten Sie vorkonfigurierte Messeinrichtungen und nutzen Sie bestehende Mitarbeiter oder Installationspartner ausschließlich für die Montage.", bullets: [ "standardisierter Rollout", "vorkonfigurierte Geräte", - "wenig Softwarearbeit vor Ort", + "keine Softwarekonfiguration vor Ort", "zentrale Portfolioverwaltung", "geringer administrativer Aufwand", "schnelle Erweiterung um weitere Gebäude", @@ -79,14 +79,14 @@ const AUDIENCES: Record< tab: "Messdienstleister", tabIcon: , headline: "Ihre Messdienstleistung. Unsere Infrastruktur.", - text: "Nutzen Sie SolenOS als technische Grundlage für Ihre eigenen Dienstleistungen – mit Hardware, Plattform, Gerätemanagement und optionalem White Label.", + text: "Nutzen Sie SolenOS als technische Grundlage für Ihre eigenen Dienstleistungen – mit Hardware, Plattform, Gerätemanagement und optional mit Ihrem eigenen Logo (White Label).", bullets: [ "technische Plattform", - "Gerätekompatibilität", - "Skalierbarkeit", + "OMS-kompatible Geräte verschiedener Hersteller", + "für kleine Bestände und große Wohnungsportfolios", "APIs und Integrationen", - "White Label", - "individuelles Geschäftsmodell", + "Optionen für eigenes Logo und Eigenmarke", + "individuell vereinbarte Konditionen", ], cta: "SolenOS für Messdienstleister", href: "/fuer-wen/messdienstleister", @@ -100,8 +100,8 @@ const AUDIENCES: Record< bullets: [ "kein verpflichtender Partnerstatus", "keine Mindestabnahme", - "vorkonfigurierte Hardware", - "keine aufwendige Softwarekonfiguration", + "zum Einbau vorkonfigurierte Messeinrichtungen", + "keinerlei Softwarekonfiguration vor Ort", "bestehende Kundenbeziehung bleibt erhalten", ], cta: "SolenOS für Installateure", diff --git a/component-library/src/pages/home.tsx b/component-library/src/pages/home.tsx index 36a669e..828555f 100644 --- a/component-library/src/pages/home.tsx +++ b/component-library/src/pages/home.tsx @@ -104,11 +104,12 @@ const operationsScope: ExpandingCard[] = [ /> ), title: "Heizkostenabrechnung", - text: "Die erfassten Verbrauchsdaten bilden die Grundlage für die jährliche Heizkostenabrechnung.", + text: "Aus den erfassten Verbrauchsdaten wird die jährliche Heizkostenabrechnung im Online-Portal erstellt und bereitgestellt.", points: [ "Verteilung der Wärme- und Warmwasserkosten nach HeizkostenV", "Berücksichtigung von Nutzerwechseln und Leerständen", - "Einzelabrechnung je Wohnung mit den Pflichtangaben nach § 6a Absatz 3", + "versandfertige Einzelabrechnung je Wohnung im Online-Portal", + "Pflichtangaben nach § 6a Absatz 3 HeizkostenV", ], to: "/produkte/heizkostenabrechnung", }, @@ -171,7 +172,7 @@ const operationsScope: ExpandingCard[] = [ title: "Gateway und Datenübertragung", text: "Die Messdaten werden zentral gesammelt und an SolenOS übertragen.", points: [ - "ein Gateway je Gebäude empfängt die Funkpakete aller angebundenen Geräte", + "die erforderliche Gateway-Infrastruktur wird passend zum Objekt bestimmt", "Übertragung per Mobilfunk, ohne Internetanschluss im Gebäude", "TLS-verschlüsselte Übertragung an die Plattform", ], @@ -191,11 +192,11 @@ const operationsScope: ExpandingCard[] = [ /> ), title: "Portale und Verwaltung", - text: "Gebäude, Wohnungen, Geräte und Verbrauchsdaten werden zentral verwaltet. Bewohner erhalten Zugriff auf die für sie vorgesehenen Informationen.", + text: "Eigentümer betreuen Gebäude, Wohnungen, Geräte und Verbrauchsdaten zentral. Bewohner haben ihre persönliche Übersicht im Mieterportal.", points: [ "Portalzugang für Eigentümer und Verwaltung", - "Bewohner rufen ihre Information im Mieterportal ab", - "rollenbasierte Zugriffsrechte", + "eigener Mieterportal-Zugang für jede Wohnung", + "ausschließlich Daten der eigenen Wohnung und des eigenen Nutzungszeitraums sichtbar", ], }, ] @@ -203,52 +204,42 @@ const operationsScope: ExpandingCard[] = [ const processSteps = [ { media: , - title: "Gebäude erfassen", - description: "Adresse, Wohnungen und Heizart angeben.", - }, - { - media: ( - <> - - - - ), - title: "Ausstattung bestimmen", - description: "SolenOS ermittelt passende Geräte und Mengen.", + title: "Gebäudedaten online erfassen", + description: + "Adresse, Wohnungen und Heizart online angeben. SolenOS ermittelt daraus die notwendige Ausstattung und prüft sie vor dem Versand.", }, { media: ( ), title: "Vorkonfiguriert erhalten", - description: "Geräte bereits jeder Wohnung zugeordnet geliefert.", + description: + "Die geprüften Geräte werden bereits den vorgesehenen Wohnungen zugeordnet geliefert.", }, { media: , - title: "Geräte montieren", - description: "Selbst installieren oder Montage beauftragen.", + title: "Vor Ort montieren", + description: + "Selbst, mit dem eigenen Fachbetrieb oder durch SolenOS montieren lassen. Eine Softwarekonfiguration vor Ort ist nicht erforderlich.", }, { media: ( ), - title: "Betrieb starten", - description: "Bewohner einladen und digital verwalten.", + title: "Betrieb übernehmen lassen", + description: + "SolenOS übernimmt Einrichtung, Datenübertragung und laufenden Betrieb; Bewohner erhalten ihren Portalzugang.", }, ] const lessEffort = [ { - title: "Vorkonfigurierte Hardware", - text: "Geräte werden passend zum jeweiligen Gebäude und zur vorgesehenen Nutzung vorbereitet.", + title: "Zum Einbau vorkonfigurierte Messeinrichtungen", + text: "SolenOS bestimmt die Ausstattung aus den Objektdaten, prüft sie und ordnet die Geräte vor dem Versand zu.", }, { - title: "Keine aufwendige Einrichtung auf der Baustelle", - text: "Der Installateur kann sich auf die fachgerechte Montage konzentrieren.", + title: "Keine Softwarekonfiguration vor Ort", + text: "Vor Ort wird nur montiert. Eine Softwarekonfiguration ist nicht erforderlich.", }, { title: "Bestehende Fachbetriebe nutzen", @@ -308,7 +299,7 @@ const audiences = [ "Ausstattung aus Gebäudedaten ermitteln", "vorkonfigurierte Geräte erhalten", "eigenen Fachbetrieb nutzen", - "laufenden Messbetrieb digital verwalten", + "laufenden Messbetrieb digital betreuen", ], cta: "SolenOS für Hauseigentümer", to: "/fuer-wen/hauseigentuemer", @@ -353,7 +344,7 @@ const audiences = [ "Geräte- und Verbrauchsdaten", "UVI", "Heizkostenabrechnungsprozesse", - "White-Label-Optionen", + "Optionen für eigenes Logo und Eigenmarke", ], cta: "SolenOS für Messdienstleister", to: "/fuer-wen/messdienstleister", @@ -409,11 +400,11 @@ const portfolioScopes = [ ] const priceFlow = [ - { title: "Wenige Angaben" }, - { title: "Erste Preisindikation" }, - { title: "Konfiguration speichern" }, - { title: "Gebäude vollständig konfigurieren" }, - { title: "Genauer Preis" }, + { title: "Leistungen auswählen" }, + { title: "Gebäudedaten online erfassen" }, + { title: "Persönlichen Link erhalten" }, + { title: "Details und Fotos im Portal ergänzen" }, + { title: "Geprüftes Gesamtangebot erhalten" }, ] const faqs: FaqItem[] = [ @@ -429,19 +420,19 @@ const faqs: FaqItem[] = [ "In vielen Fällen kann ein vorhandener geeigneter Fachbetrieb eingesetzt werden. Welche Arbeiten erforderlich sind, hängt von der jeweiligen Messtechnik und Einbausituation ab.", }, { - question: "Muss vor Ort jedes Gerät einzeln in SolenOS eingerichtet werden?", + question: "Muss vor Ort Software konfiguriert werden?", answer: - "Die Geräte werden soweit vorgesehen bereits vor dem Versand dem Gebäude und den geplanten Einheiten zugeordnet. Dadurch reduziert sich die Softwareeinrichtung vor Ort deutlich.", + "Nein. SolenOS ordnet die Geräte vor dem Versand dem Gebäude und den vorgesehenen Einheiten zu. Vor Ort wird nur montiert; eine Softwarekonfiguration ist nicht erforderlich.", }, { - question: "Wie genau ist die erste Preisschätzung?", + question: "Wann erhalte ich den verbindlichen Gesamtpreis?", answer: - "Die erste Schätzung basiert auf wenigen Gebäudedaten und Annahmen zur benötigten Ausstattung. Die vollständige Gebäudekonfiguration bestimmt anschließend die konkreten Geräte und den finalen Preis.", + "Nach dem Schnellkonfigurator ergänzen Sie Gebäudedetails und Fotos vorhandener Einbausituationen im Portal. SolenOS prüft die Angaben manuell, bestimmt die konkrete Ausstattung und erstellt anschließend das verbindliche Gesamtangebot.", }, { - question: "Kann ich nur UVI buchen?", + question: "Welche Leistungen kann ich auswählen?", answer: - "Ja. UVI und Rauchwarnmelder sind einzeln oder gemeinsam wählbar. Das UVI-Paket umfasst die dafür benötigte Messtechnik und die zugehörigen digitalen Dienstleistungen; die Heizkostenabrechnung baut auf denselben erfassten Verbrauchsdaten auf. Rauchwarnmelder können auch später ergänzt werden – die bereits erfasste Gebäudestruktur wird dabei weiterverwendet.", + "Monatliche Verbrauchsinformation, Heizkostenabrechnung und Rauchwarnmelder lassen sich im Schnellkonfigurator unabhängig voneinander hinzufügen oder abwählen." }, { question: "Kann ich bestehende Messtechnik weiterverwenden?", @@ -461,10 +452,27 @@ const faqs: FaqItem[] = [ ] const trustProperties = [ - { icon: , label: "Hosting in Deutschland" }, - { icon: , label: "AES-geschützte Messdaten" }, - { icon: , label: "TLS-verschlüsselte Übertragung" }, - { icon: , label: "Rollenbasierte Zugriffsrechte" }, + { + icon: , + label: "Daten ausschließlich in Deutschland gehostet", + to: "/wissen/datenschutz-sicherheit", + }, + { + icon: , + label: "AES-Verschlüsselung schützt gespeicherte Messdaten", + to: "/wissen/datenschutz-sicherheit", + }, + { + icon: , + label: "TLS schützt Daten während der Übertragung", + to: "/wissen/datenschutz-sicherheit", + }, + { + icon: , + label: + "Bewohner sehen nur Daten ihrer eigenen Wohnung und ihres eigenen Nutzungszeitraums", + to: "/wissen/datenschutz-sicherheit", + }, ] export default function HomePage() { @@ -478,18 +486,18 @@ export default function HomePage() { einfach gemacht. } - lead="Fernauslesbare Messtechnik, monatliche UVI, Heizkostenabrechnung und Rauchwarnmelder – vorkonfiguriert geliefert, digital verwaltet und auf Wunsch komplett installiert." + lead="Fernauslesbare Messtechnik, monatliche Verbrauchsinformation (UVI), Heizkostenabrechnung und Rauchwarnmelder – vorkonfiguriert geliefert, digital betreut und auf Wunsch komplett installiert." actions={ <> } - note="Wenige Angaben · unverbindliche Kostenschätzung" + note="Wenige Angaben · vollständige Prüfung im Folgeprozess" visual={} /> @@ -529,7 +537,7 @@ export default function HomePage() { align="center" eyebrow="Das System" title="Alles, was für den laufenden Messbetrieb benötigt wird" - lead="SolenOS verbindet Messtechnik, Datenerfassung und Software zu einem durchgängigen System. Statt einzelne Komponenten selbst zusammenzustellen und miteinander zu verbinden, erhalten Sie eine Lösung, bei der Bestellung, Hardware, Konfiguration und laufender Betrieb zusammenspielen." + lead="SolenOS verbindet Messtechnik, Datenerfassung und Software in einem durchgängigen System. Bestellung, Hardware, Konfiguration und laufender Betrieb greifen dabei ineinander." />
@@ -553,8 +561,8 @@ export default function HomePage() {
{lessEffort.map((item) => ( @@ -670,11 +678,11 @@ export default function HomePage() {

- Für einen ersten Preis brauchen wir Grundlegende Informationen: + Für die erste Ermittlung der Ausstattung benötigen wir:

- Auf Basis dieser Angaben schätzt SolenOS die voraussichtlich - benötigte Geräteanzahl und berechnet einen ungefähren Preis. + SolenOS bestimmt daraus den voraussichtlichen Gerätebedarf. Im + Folgeprozess ergänzen Sie Details und Fotos; danach erhalten Sie + den geprüften Gesamtpreis.

@@ -699,16 +708,16 @@ export default function HomePage() {

- In fünf Schritten zum genauen Preis + In fünf Schritten zum verbindlichen Gesamtangebot

- Die erste Berechnung ist eine unverbindliche Preisindikation. - Die tatsächliche Ausstattung und der genaue Preis ergeben sich - aus der vollständigen Objektkonfiguration. + SolenOS veröffentlicht keine ungeprüften Preiswerte. Das + Gesamtangebot enthält die gewählten Leistungen, erforderliche + Gateway-Infrastruktur und die gewählte Montagevariante.

@@ -787,7 +796,7 @@ export default function HomePage() { actions={ <>
@@ -194,7 +195,7 @@ export default function HowItWorksPage() { align="center" eyebrow="Häufige Fragen" title="Fragen zum Ablauf" - lead="Von der ersten Preisindikation bis zum laufenden Betrieb – die häufigsten Fragen zum SolenOS-Prozess." + lead="Von der Online-Erfassung bis zum laufenden Betrieb – die häufigsten Fragen zum SolenOS-Prozess." /> @@ -203,11 +204,11 @@ export default function HowItWorksPage() {
} - title="Was kostet SolenOS für Ihr Gebäude?" - description="Mit wenigen Angaben erhalten Sie eine erste Preisindikation." + title="Konfiguration für Ihr Gebäude starten" + description="Leistungen auswählen, Gebäudedaten online erfassen und die geprüfte Ausstattung vorbereiten." actions={ } /> diff --git a/component-library/src/pages/klarpreis.tsx b/component-library/src/pages/klarpreis.tsx index 501602e..f7bf053 100644 --- a/component-library/src/pages/klarpreis.tsx +++ b/component-library/src/pages/klarpreis.tsx @@ -13,9 +13,9 @@ import { } from "@/components/solenos/illustrations" const trustItems = [ - { icon: ClipboardCheck, label: ["Klare", "Vertragsstruktur"] }, - { icon: ShieldCheck, label: ["Keine versteckten", "Gebühren"] }, - { icon: Users2, label: ["Rabatte für", "große Objekte"] }, + { icon: ClipboardCheck, label: ["Geprüfter", "Leistungsumfang"] }, + { icon: ShieldCheck, label: ["Verbindliches", "Gesamtangebot"] }, + { icon: Users2, label: ["Passend zum", "konkreten Objekt"] }, ] as const export default function KlarpreisPage() { @@ -35,7 +35,7 @@ export default function KlarpreisPage() { SolenOS Klarpreis } - lead="Drei sauber getrennte Leistungen. Einfache Preise. Keine Überraschungen." + lead="Ein vollständiger Leistungsumfang und ein verbindlicher Gesamtpreis nach Prüfung der konkreten Objektdaten." extra={
@@ -57,20 +57,18 @@ export default function KlarpreisPage() {
} /> @@ -80,16 +78,11 @@ export default function KlarpreisPage() { } /> - UVI-Komplettbetrieb - - } - cadence="Monatlich" - price="10,50 €" - unit="je Wohnung / Monat" - allocation={{ label: "Grundsätzlich umlagefähig", tone: "positive" }} - description="Sensoren, Daten, Portal und Verbrauchsinformation inklusive." + title="Messbetrieb und Abrechnung" + cadence="Gesamtangebot" + price="Nach Prüfung" + unit="nach vollständiger Objektkonfiguration" + description="Je nach Auswahl: Messtechnik, erforderliche Gateway-Infrastruktur, Daten, Portale, Heizkostenabrechnung und monatliche Verbrauchsinformation (UVI)." media={} />
@@ -102,16 +95,13 @@ export default function KlarpreisPage() {
- Gesamtkosten laufend -
-
- - 12,70 € - - - je Wohnung / Monat - + Verbindlicher Gesamtpreis
+

+ Nach der vollständigen Objektkonfiguration und manuellen + Prüfung erhalten Sie ein Gesamtangebot statt ungeprüfter + Einzelpreise. +

-

- Alle laufenden Leistungen klar gebündelt – ohne versteckte - Zusatzkosten. +

+ Gewählte Leistungen, erforderliche Gateway-Infrastruktur und + Montagevariante werden gemeinsam ausgewiesen.

diff --git a/component-library/src/pages/products/heizkostenabrechnung.tsx b/component-library/src/pages/products/heizkostenabrechnung.tsx index 6e50360..6ca0b46 100644 --- a/component-library/src/pages/products/heizkostenabrechnung.tsx +++ b/component-library/src/pages/products/heizkostenabrechnung.tsx @@ -194,18 +194,18 @@ export default function HeizkostenabrechnungProductPage() { eyebrow="Produkt" title={<>Heizkosten­abrechnung} tagline="Aus den Daten, die ohnehin laufen." - lead="Die jährliche Abrechnung der Heiz- und Warmwasserkosten entsteht aus denselben fernabgelesenen Verbrauchswerten wie die monatliche UVI – verteilt nach den Maßstäben der Heizkostenverordnung, ohne Ablesetermin im Gebäude." + lead="Die jährliche Abrechnung der Heiz- und Warmwasserkosten entsteht aus denselben fernabgelesenen Verbrauchswerten wie die monatliche Verbrauchsinformation (UVI) – verteilt nach den Maßstäben der Heizkostenverordnung, ohne Ablesetermin im Gebäude." actions={ <> } - note="Wenige Angaben · unverbindliche Kostenschätzung" + note="Wenige Angaben · vollständige Prüfung im Folgeprozess" visual={} features={[ { @@ -238,7 +238,7 @@ export default function HeizkostenabrechnungProductPage() { actions={ <> } /> diff --git a/component-library/src/pages/products/messtechnik-infrastruktur.tsx b/component-library/src/pages/products/messtechnik-infrastruktur.tsx index d5839e4..1d59c83 100644 --- a/component-library/src/pages/products/messtechnik-infrastruktur.tsx +++ b/component-library/src/pages/products/messtechnik-infrastruktur.tsx @@ -100,7 +100,7 @@ const DATA_PATH = [ media: , title: "Gateway sammelt", description: - "Ein Gateway je Gebäude empfängt die Funkpakete aller angebundenen Geräte.", + "Die erforderliche Gateway-Infrastruktur empfängt die Funkpakete der angebundenen Geräte und wird von SolenOS passend zum Objekt bestimmt.", }, { media: ( @@ -167,7 +167,7 @@ const FAQS: FaqItem[] = [ { question: "Was kostet die Messtechnik?", answer: - "Die für den Messbetrieb benötigten Sensoren sind im UVI-Komplettbetrieb enthalten: 10,50 € je Wohnung und Monat, grundsätzlich umlagefähig. Welche Geräte in welcher Anzahl erforderlich sind, ergibt sich aus der Gebäudekonfiguration.", + "SolenOS bestimmt die benötigten Sensoren und die erforderliche Gateway-Infrastruktur aus der vollständigen Gebäudekonfiguration. Beides wird im geprüften Gesamtangebot gemeinsam mit den gewählten Leistungen ausgewiesen; ungeprüfte Einzelpreise veröffentlichen wir nicht.", }, { question: "Kann ich vorhandene Zähler weiterverwenden?", @@ -202,11 +202,11 @@ export default function MesstechnikProductPage() { } tagline="Die Grundlage für alles andere." - lead="Zähler, Heizkostenverteiler und Gateway erfassen und übertragen die Werte, aus denen UVI und Heizkostenabrechnung entstehen – fernablesbar, interoperabel und objektbezogen vorkonfiguriert geliefert." + lead="Zähler, Heizkostenverteiler und Gateway erfassen und übertragen die Werte, aus denen monatliche Verbrauchsinformation (UVI) und Heizkostenabrechnung entstehen – fernablesbar, interoperabel und objektbezogen vorkonfiguriert geliefert." actions={ <> } - note="Wenige Angaben · unverbindliche Kostenschätzung" + note="Wenige Angaben · vollständige Prüfung im Folgeprozess" visual={} features={[ { diff --git a/component-library/src/pages/products/product-page.tsx b/component-library/src/pages/products/product-page.tsx index 6e4c031..b45fa2e 100644 --- a/component-library/src/pages/products/product-page.tsx +++ b/component-library/src/pages/products/product-page.tsx @@ -30,9 +30,9 @@ type Product = { const PRODUCTS: Product[] = [ { to: "/produkte/uvi", - label: "UVI", - title: "UVI", - sub: "Monatliche Verbrauchsinformation", + label: "Verbrauchsinformation (UVI)", + title: "Verbrauchsinformation (UVI)", + sub: "Monatlich für Bewohner", summary: "Verbrauchsdaten werden automatisch erfasst und die monatliche Verbrauchsinformation für die Bewohner erzeugt und bereitgestellt – ohne Ablesetermin in der Wohnung.", icon: icons.uvi, @@ -102,6 +102,7 @@ function ProductPage({ lead, actions, note, + extra, visual, features, children, @@ -116,6 +117,7 @@ function ProductPage({ lead?: React.ReactNode actions?: React.ReactNode note?: React.ReactNode + extra?: React.ReactNode visual?: React.ReactNode features: FeatureBandItem[] /** the product's spec sections between feature band and closing */ @@ -140,6 +142,7 @@ function ProductPage({ } actions={actions} note={note} + extra={extra} visual={visual} /> diff --git a/component-library/src/pages/products/rauchwarnmelder.tsx b/component-library/src/pages/products/rauchwarnmelder.tsx index d44d799..c32a015 100644 --- a/component-library/src/pages/products/rauchwarnmelder.tsx +++ b/component-library/src/pages/products/rauchwarnmelder.tsx @@ -199,14 +199,14 @@ export default function RauchwarnmelderProductPage() { actions={ <> } - note="Wenige Angaben · unverbindliche Kostenschätzung" + note="Wenige Angaben · vollständige Prüfung im Folgeprozess" visual={} features={[ { @@ -239,7 +239,7 @@ export default function RauchwarnmelderProductPage() { actions={ <> diff --git a/component-library/src/pages/products/uvi.tsx b/component-library/src/pages/products/uvi.tsx index 013015d..4b6fa2f 100644 --- a/component-library/src/pages/products/uvi.tsx +++ b/component-library/src/pages/products/uvi.tsx @@ -149,11 +149,11 @@ const FAQS: FaqItem[] = [ export default function UviProductPage() { return ( - Unterjährige Verbrauchs­information + Unterjährige Verbrauchs­information (UVI) } tagline="Monatlich. Automatisch. Nachweisbar." @@ -161,7 +161,7 @@ export default function UviProductPage() { actions={ <> } - note="Wenige Angaben · unverbindliche Kostenschätzung" + note="Wenige Angaben · vollständige Prüfung im Folgeprozess" + extra={ +
+
+
+
+ + Anforderungen im Detail + + + + Quelle: § 6a HeizkostenV + +
+
+ } visual={} features={[ { @@ -198,12 +236,12 @@ export default function UviProductPage() {
} - title="Was kostet die UVI für Ihr Gebäude?" - description="Mit wenigen Angaben zu Gebäude, Wohnungen und Wärmeverteilung erhalten Sie eine erste Preisindikation." + title="Verbrauchsinformation für Ihr Gebäude konfigurieren" + description="Gebäude und Leistungen online erfassen; SolenOS prüft anschließend Ausstattung und Gesamtpreis." actions={ <> diff --git a/component-library/src/pages/wissen/datenschutz-sicherheit.tsx b/component-library/src/pages/wissen/datenschutz-sicherheit.tsx index f92d60a..7ec04f3 100644 --- a/component-library/src/pages/wissen/datenschutz-sicherheit.tsx +++ b/component-library/src/pages/wissen/datenschutz-sicherheit.tsx @@ -101,7 +101,7 @@ export default function DatenschutzSicherheitPage() { Kontakt aufnehmen } diff --git a/component-library/src/pages/wissen/gesetzliche-anforderungen.tsx b/component-library/src/pages/wissen/gesetzliche-anforderungen.tsx index 06ff31e..2079bec 100644 --- a/component-library/src/pages/wissen/gesetzliche-anforderungen.tsx +++ b/component-library/src/pages/wissen/gesetzliche-anforderungen.tsx @@ -126,7 +126,7 @@ export default function GesetzlicheAnforderungenPage() { Kontakt aufnehmen }