diff --git a/internal b/internal index 66ebb051..f76aac66 160000 --- a/internal +++ b/internal @@ -1 +1 @@ -Subproject commit 66ebb0511e50832fd7f0735fd60a3ab77061850b +Subproject commit f76aac66ad0d3d0a40bc4ef0a8c68e0f678fc17e diff --git a/src/Web/autopilot-monitor-web/app/buy/layout.tsx b/src/Web/autopilot-monitor-web/app/buy/layout.tsx index ed5eec5c..6e03601f 100644 --- a/src/Web/autopilot-monitor-web/app/buy/layout.tsx +++ b/src/Web/autopilot-monitor-web/app/buy/layout.tsx @@ -4,7 +4,7 @@ import { SITE_URL } from "@/utils/config"; export const metadata: Metadata = { title: "Get Pro – Purchase Options", description: - "How to purchase Autopilot Monitor Pro: direct online purchase and the Microsoft commercial marketplace — both coming soon. Pricing will be announced; Community stays free.", + "How to purchase Autopilot Monitor Pro: through Microsoft Marketplace or online via Cleverbridge — or try it first with a free 30-day trial. Community stays free.", keywords: [ "Autopilot Monitor Pro", "Autopilot Monitor buy", @@ -15,13 +15,13 @@ export const metadata: Metadata = { openGraph: { title: "Get Pro – Autopilot Monitor", description: - "How to purchase Autopilot Monitor Pro: direct online purchase and the Microsoft commercial marketplace — both coming soon.", + "How to purchase Autopilot Monitor Pro: through Microsoft Marketplace or online via Cleverbridge.", url: `${SITE_URL}/buy`, }, twitter: { title: "Get Pro – Autopilot Monitor", description: - "How to purchase Autopilot Monitor Pro: direct online purchase and the Microsoft commercial marketplace — both coming soon.", + "How to purchase Autopilot Monitor Pro: through Microsoft Marketplace or online via Cleverbridge.", }, alternates: { canonical: `${SITE_URL}/buy`, diff --git a/src/Web/autopilot-monitor-web/app/buy/page.tsx b/src/Web/autopilot-monitor-web/app/buy/page.tsx index 3f016b0a..0d07d674 100644 --- a/src/Web/autopilot-monitor-web/app/buy/page.tsx +++ b/src/Web/autopilot-monitor-web/app/buy/page.tsx @@ -1,26 +1,32 @@ import Link from "next/link"; import { LandingNavbar } from "../../components/landing/LandingNavbar"; import { SiteFooter } from "../../components/SiteFooter"; +import { DOCS_URL } from "@/utils/config"; /** - * Purchase page for Pro. Linked from the public /plans page and from the - * portal's Plan section (absolute www URL — /buy is public surface). - * - * Both purchase channels are honest "coming soon" placeholders until the - * checkout links exist. When they do: the provider host must be registered in - * utils/config.ts, the CSP in staticwebapp.config.json, the swaConfig guard - * test, and the dev CSP in next.config.ts — see tasks/todo.md follow-up. + * Purchase page for Pro: hands the buyer off to one of the two purchase channels. Linked from + * the public /plans page and from the portal's Plan section (absolute www URL — /buy is public + * surface). It names no price on purpose: the plan cards carry the list price, the channel's + * checkout the binding one. Plain outbound links, so neither host needs a CSP entry. */ +const PURCHASE_GUIDE_URL = `${DOCS_URL}/troubleshooting-and-support/how-to-purchase`; + const CHANNELS = [ { label: "Microsoft Marketplace", description: - "Purchase through the Microsoft commercial marketplace using your organization's existing Microsoft billing relationship.", + "Subscribe through the Microsoft commercial marketplace and pay through your organization's existing Azure billing.", + href: "https://marketplace.microsoft.com/en-us/product/saas/glueckkanja-gabag.autopilot-monitor-transactable-prod?tab=Overview", + cta: "Buy on Microsoft Marketplace", + guide: `${PURCHASE_GUIDE_URL}/microsoft-marketplace`, }, { label: "Cleverbridge", description: - "Buy Pro online with a credit card or on invoice — a fast, self-service checkout for a single organization.", + "Buy Pro online by credit card, PayPal or bank transfer — a fast, self-service checkout for a single organization.", + href: "https://www.cleverbridge.com/306/purl-Autopilot-Monitor-Buy-Y", + cta: "Buy with Cleverbridge", + guide: `${PURCHASE_GUIDE_URL}/cleverbridge`, }, ]; @@ -35,9 +41,8 @@ export default function BuyPage() { Get Autopilot Monitor Pro
- Pro will be available through two purchase channels. Neither is open yet — pricing - and availability will be announced. Until then, Community is the full product, free - for everyone. + Pick the channel that fits how your organization buys software. Both lead to the same + Pro plan on your existing tenant — your data stays where it is.
@@ -48,34 +53,42 @@ export default function BuyPage() { {CHANNELS.map((channel) => ({channel.description}
- + {channel.cta} + + + Purchase guide: prerequisites, payment and cancellation +- Interested in Pro for your organization or an MSP scenario, or want to know when it - opens? Reach out through any channel on the{" "} + A tenant administrator can start a one-time, free 30-day Pro trial in the portal under + Settings → Tenant → Plan. When it ends, the tenant returns to Community automatically. + Questions about Pro or an MSP scenario? Reach out through any channel on the{" "} Help & Support {" "} - page — you'll talk directly to the person building the platform. And if you - haven't compared the plans yet, the{" "} + page, or compare the plans in the{" "} plans overview - {" "} - shows exactly what Pro adds. + + .
When you need more later: the{" "} diff --git a/src/Web/autopilot-monitor-web/app/plans/page.tsx b/src/Web/autopilot-monitor-web/app/plans/page.tsx index 5f758232..96525c64 100644 --- a/src/Web/autopilot-monitor-web/app/plans/page.tsx +++ b/src/Web/autopilot-monitor-web/app/plans/page.tsx @@ -39,7 +39,7 @@ export default function PlansPage() { } proBadge={ - Coming soon + Free 30-day trial } proCta={ @@ -53,7 +53,8 @@ export default function PlansPage() { />
- Pricing and availability for Pro will be announced. Community stays free.{" "}
+ Pro is sold through Microsoft Marketplace and Cleverbridge; a tenant administrator can
+ try it free for 30 days from the portal. Community stays free.{" "}
For a feature-by-feature reference, see the{" "}
- ) : (
+ ) : editionInfo.trialAvailable ? (
- Coming soon
+ Free 30-day trial
- );
+ ) : undefined;
// CTA — only meaningful while the tenant is on Community
const proCta = !isPro ? (
<>
{trialConsumed ? (
+ This tenant has already used its Pro trial.
- This tenant has already used its Pro trial. To move to Pro,{" "}
-
- get in touch
-
- .
+ A tenant administrator can start the one-time 30-day Pro trial here.
- Curious how Pro will be sold?{" "}
+ Ready to buy? Pro is sold through Microsoft Marketplace and Cleverbridge —{" "}
- View purchase options
+ view purchase options
.
{isPro && editionInfo.isTrial
? "When the trial ends, the tenant returns to Community automatically."
- : "Scope, pricing and timeline for Pro will be announced. Community stays free."}
+ : "After a purchase this tenant moves to Pro and keeps its data. Community stays free."}