import type { FAQItem } from "@/lib/types";

export type CommercialPageLink = {
  href: string;
  title: string;
  description: string;
  accent: string;
};

export type UseCaseLink = {
  slug: string;
  href: string;
  title: string;
  cluster: string;
  summary: string;
  parentHref: string;
  parentTitle: string;
  ctaLabel: string;
};

export type SupportResourceLink = {
  href: string;
  title: string;
  description: string;
};

export type UseCasePageContent = UseCaseLink & {
  eyebrow: string;
  titleSuffix: string;
  metaDescription: string;
  intro: string;
  answer: string;
  whenToUse: string[];
  comparisonItems: {
    label: string;
    value: boolean;
    text?: string;
  }[];
  howToSteps: string[];
  workflowTitle: string;
  workflowIntro: string;
  workflowCards: {
    title: string;
    description: string;
  }[];
  checklistTitle: string;
  checklist: string[];
  supportLinks: SupportResourceLink[];
  faq: FAQItem[];
};

export const commercialPages: CommercialPageLink[] = [
  {
    href: "/dynamic-qr-code-generator",
    title: "Dynamic QR Code Generator",
    description: "Edit the destination after print and keep one QR live across changing campaigns.",
    accent: "from-blue-600 to-cyan-500",
  },
  {
    href: "/qr-code-tracking",
    title: "QR Code Tracking",
    description: "Measure scans by placement, device, and timing when you need proof instead of guesswork.",
    accent: "from-indigo-600 to-blue-500",
  },
  {
    href: "/qr-code-analytics",
    title: "QR Code Analytics",
    description: "Turn raw scans into placement, campaign, and post-print reporting your team can actually use.",
    accent: "from-slate-900 to-cyan-600",
  },
  {
    href: "/custom-qr-code-generator",
    title: "Custom QR Code Generator",
    description: "Match printed QR codes to your brand system without losing scannability.",
    accent: "from-sky-600 to-indigo-500",
  },
  {
    href: "/bulk-qr-code-generator",
    title: "Bulk QR Code Generator",
    description: "Create large sets for labels, event materials, and repeatable offline workflows.",
    accent: "from-cyan-600 to-sky-500",
  },
  {
    href: "/qr-code-for-marketing-campaigns",
    title: "QR Codes for Marketing Campaigns",
    description: "Plan campaign QR workflows around attribution, creative testing, and print distribution.",
    accent: "from-slate-800 to-blue-600",
  },
];

export const allUseCases: UseCaseLink[] = [
  {
    slug: "restaurant-menu-qr-codes",
    href: "/use-cases/restaurant-menu-qr-codes",
    title: "Restaurant Menu QR Codes",
    cluster: "restaurants",
    summary: "Keep printed table cards useful when menu links, prices, specials, or hours change.",
    parentHref: "/dynamic-qr-code-generator",
    parentTitle: "Dynamic QR Code Generator",
    ctaLabel: "Create your restaurant menu QR",
  },
  {
    slug: "business-card-qr-codes",
    href: "/use-cases/business-card-qr-codes",
    title: "Business Card QR Codes",
    cluster: "business-cards",
    summary: "Send contacts to a current profile, booking page, or vCard without reprinting cards.",
    parentHref: "/dynamic-qr-code-generator",
    parentTitle: "Dynamic QR Code Generator",
    ctaLabel: "Create your business card QR",
  },
  {
    slug: "event-qr-codes",
    href: "/use-cases/event-qr-codes",
    title: "Event QR Codes",
    cluster: "events",
    summary: "Split operational and campaign QR flows so schedules and tracking stay manageable on event day.",
    parentHref: "/qr-code-tracking",
    parentTitle: "QR Code Tracking",
    ctaLabel: "Create your event QR code",
  },
  {
    slug: "flyer-qr-codes",
    href: "/use-cases/flyer-qr-codes",
    title: "Flyer QR Codes",
    cluster: "print-campaigns",
    summary: "Compare placements, rotate offers, and keep flyer campaigns measurable after print goes out.",
    parentHref: "/qr-code-for-marketing-campaigns",
    parentTitle: "QR Codes for Marketing Campaigns",
    ctaLabel: "Create your flyer QR code",
  },
  {
    slug: "packaging-qr-codes",
    href: "/use-cases/packaging-qr-codes",
    title: "Packaging QR Codes",
    cluster: "packaging",
    summary: "Route scans from packaging, inserts, and labels into manuals, support, and product analytics.",
    parentHref: "/qr-code-analytics",
    parentTitle: "QR Code Analytics",
    ctaLabel: "Create your packaging QR code",
  },
  {
    slug: "real-estate-sign-qr-codes",
    href: "/use-cases/real-estate-sign-qr-codes",
    title: "Real Estate Sign QR Codes",
    cluster: "real-estate",
    summary: "Keep listing routes current and compare sign, brochure, and open-house traffic with cleaner reporting.",
    parentHref: "/qr-code-tracking",
    parentTitle: "QR Code Tracking",
    ctaLabel: "Create your real estate QR code",
  },
  {
    slug: "feedback-qr-codes",
    href: "/use-cases/feedback-qr-codes",
    title: "Feedback QR Codes",
    cluster: "feedback",
    summary: "Capture in-store feedback, route happy customers to review flows, and measure which placements get responses.",
    parentHref: "/qr-code-tracking",
    parentTitle: "QR Code Tracking",
    ctaLabel: "Create your feedback QR code",
  },
  {
    slug: "payment-qr-codes",
    href: "/use-cases/payment-qr-codes",
    title: "Payment QR Codes",
    cluster: "payments",
    summary: "Send scanners straight into a mobile payment action without making printed payment prompts go stale.",
    parentHref: "/dynamic-qr-code-generator",
    parentTitle: "Dynamic QR Code Generator",
    ctaLabel: "Create your payment QR code",
  },
  {
    slug: "coupon-qr-codes",
    href: "/use-cases/coupon-qr-codes",
    title: "Coupon QR Codes",
    cluster: "offers",
    summary: "Tie coupon placements to measurable scans so you know which print offers actually get redeemed.",
    parentHref: "/qr-code-tracking",
    parentTitle: "QR Code Tracking",
    ctaLabel: "Create your coupon QR code",
  },
];

export const featuredUseCases: UseCaseLink[] = allUseCases.filter((item) =>
  [
    "restaurant-menu-qr-codes",
    "business-card-qr-codes",
    "flyer-qr-codes",
    "packaging-qr-codes",
    "real-estate-sign-qr-codes",
    "feedback-qr-codes",
  ].includes(item.slug),
);

export const upcomingUseCaseIdeas: SupportResourceLink[] = [
  {
    href: "/bulk-qr-code-generator",
    title: "Product label workflows",
    description: "Best next cluster once packaging analytics and bulk import pages are live together.",
  },
  {
    href: "/qr-code-for-marketing-campaigns",
    title: "Brochure and trade-show campaigns",
    description: "Natural second-wave expansion for print attribution once flyer workflows are established.",
  },
  {
    href: "/dynamic-qr-code-generator",
    title: "Table ordering and service flows",
    description: "High-fit hospitality expansion after menu and payment journeys have performance data.",
  },
];

export const supportResources: SupportResourceLink[] = [
  {
    href: "/learn/use-cases",
    title: "Learn: Use Cases",
    description: "Editorial pillar page for educational browsing and broader QR workflow discovery.",
  },
  {
    href: "/blog/dynamic-vs-static-qr-codes",
    title: "Dynamic vs Static QR Codes",
    description: "Explainer for the operational difference between fixed and editable QR destinations.",
  },
  {
    href: "/blog/utm-parameter-qr-codes",
    title: "UTM Parameters with QR Codes",
    description: "Reference guide for campaign naming, placement attribution, and offline measurement.",
  },
];

function bySlug(slug: string): UseCaseLink {
  const match = allUseCases.find((item) => item.slug === slug);

  if (!match) {
    throw new Error(`Unknown use case slug: ${slug}`);
  }

  return match;
}

export const useCasePageContent: Record<string, UseCasePageContent> = {
  "restaurant-menu-qr-codes": {
    ...bySlug("restaurant-menu-qr-codes"),
    eyebrow: "Restaurants",
    titleSuffix: "for Restaurants, Cafes, and Changing Menus",
    metaDescription:
      "Use restaurant menu QR codes to keep printed table cards useful when menu links, pricing, or specials change.",
    intro:
      "Restaurant menu QR codes work best when the printed code stays the same but the menu destination can change as your service changes.",
    answer:
      "A restaurant menu QR code should point to a mobile-friendly menu that you can update without replacing every printed card, flyer, or table tent.",
    whenToUse: [
      "Your menu link changes seasonally, weekly, or during service.",
      "You want one printed QR on tables, windows, takeaway inserts, or flyers.",
      "You need to route customers to the right menu, order flow, or special page without reprinting.",
    ],
    comparisonItems: [
      { label: "Menu destination", text: "Fixed once printed", value: true },
      { label: "Last-minute updates", text: "Reprint required", value: true },
      { label: "Campaign tracking", text: "Limited", value: true },
    ],
    howToSteps: [
      "Create one dynamic menu QR and place it on your printed surfaces.",
      "Send scanners to your current menu, order page, or daily specials page.",
      "Update the destination when the menu or campaign changes instead of replacing the code.",
    ],
    workflowTitle: "What a good restaurant QR setup should handle",
    workflowIntro:
      "The QR code is not the product. The workflow behind it is. A good restaurant setup keeps print stable while operations stay flexible.",
    workflowCards: [
      {
        title: "Stable table cards",
        description: "Keep one printed QR on tables and point it to the current menu, lunch card, or ordering page.",
      },
      {
        title: "Seasonal offers",
        description: "Swap specials, tasting menus, or holiday landing pages without touching the printed material.",
      },
      {
        title: "Placement tracking",
        description: "Use different menu or campaign destinations by location so you can compare tables, windows, and takeaway inserts.",
      },
    ],
    checklistTitle: "Restaurant QR checklist",
    checklist: [
      "Use a mobile-first landing page instead of a hard-to-read PDF where possible.",
      "Keep the same printed QR on every stable surface you do not want to replace often.",
      "Use CTA copy like 'Scan for menu' or 'Scan for today's specials' so the scan intent is obvious.",
      "Pair campaign placements with trackable destinations when you test takeaway or window traffic.",
    ],
    supportLinks: [
      {
        href: "/dynamic-qr-code-generator",
        title: "Commercial parent: Dynamic QR Code Generator",
        description: "Best fit when the real need is editing the destination after print.",
      },
      {
        href: "/blog/qr-code-restaurant-menu",
        title: "Restaurant menu guide",
        description: "Existing editorial asset with menu placement and implementation basics.",
      },
      {
        href: "/use-cases/payment-qr-codes",
        title: "Sibling page: Payment QR Codes",
        description: "Useful when the same physical surfaces need an up-to-date post-scan payment action.",
      },
    ],
    faq: [
      {
        question: "Should a restaurant menu QR code be static or dynamic?",
        answer: "Use a dynamic QR code when the menu destination may change. That lets you update the landing page without replacing your printed materials.",
      },
      {
        question: "What should a restaurant menu QR code link to?",
        answer: "Link to a mobile-friendly menu page, ordering page, or a short service hub that helps customers reach the right menu fast.",
      },
      {
        question: "Can I use one restaurant QR code in multiple places?",
        answer: "Yes. One stable code can be reused across table cards, flyers, and takeaway materials, especially when the destination is managed dynamically.",
      },
    ],
  },
  "business-card-qr-codes": {
    ...bySlug("business-card-qr-codes"),
    eyebrow: "Business Cards",
    titleSuffix: "for Contact Sharing, Bookings, and Portfolio Links",
    metaDescription:
      "Use business card QR codes to share a current contact page, vCard, booking link, or portfolio without reprinting cards.",
    intro:
      "Business card QR codes are most useful when your contact destination changes faster than your print inventory.",
    answer:
      "A business card QR code should send people to the best next action today, whether that is saving your contact, opening a booking link, or visiting a current profile page.",
    whenToUse: [
      "Your role, booking link, or portfolio changes more often than your printed cards.",
      "You want one card to work for networking, sales follow-up, and contact saving.",
      "You need a cleaner handoff than asking people to type a URL from a small card.",
    ],
    comparisonItems: [
      { label: "Destination flexibility", text: "Fixed once printed", value: true },
      { label: "Contact updates", text: "New cards needed", value: true },
      { label: "Action routing", text: "Single fixed page", value: true },
    ],
    howToSteps: [
      "Choose the real action you want after the scan: save contact, book time, or view work.",
      "Generate a QR code that sends people to that destination or to a vCard-capable landing page.",
      "Keep the print the same and update the linked destination when your details evolve.",
    ],
    workflowTitle: "Where business card QR codes pay off",
    workflowIntro:
      "Printed cards still work. The problem is that the destination behind them often gets stale first.",
    workflowCards: [
      {
        title: "Current contact flow",
        description: "Send scanners to a vCard or current contact page so the next step is saving your details, not typing them.",
      },
      {
        title: "Role or profile updates",
        description: "Update the destination if you change company, title, offer, or booking link while old cards are still in circulation.",
      },
      {
        title: "Context-aware follow-up",
        description: "Point event-specific cards or team variants to the most relevant landing page instead of one generic homepage.",
      },
    ],
    checklistTitle: "Business card QR checklist",
    checklist: [
      "Pick one primary post-scan action instead of trying to send every scanner to everything at once.",
      "Make the landing page useful on mobile because most business-card scans happen on phones.",
      "Use CTA text such as 'Scan to save my contact' or 'Scan to book a call'.",
      "Test the print size and contrast before ordering a large run.",
    ],
    supportLinks: [
      {
        href: "/dynamic-qr-code-generator",
        title: "Commercial parent: Dynamic QR Code Generator",
        description: "Use when the printed card stays constant but the best destination changes.",
      },
      {
        href: "/tools/vcard-qr-code",
        title: "vCard QR Code tool",
        description: "Free tool for contact-saving workflows when a vCard is the best immediate action.",
      },
      {
        href: "/use-cases/event-qr-codes",
        title: "Sibling page: Event QR Codes",
        description: "Another workflow where temporary destinations and scan context matter.",
      },
    ],
    faq: [
      {
        question: "What should a business card QR code link to?",
        answer: "The best destination is the one next step you want most: a vCard, booking page, contact hub, or current portfolio page.",
      },
      {
        question: "Do business card QR codes need to be dynamic?",
        answer: "They should be dynamic if your destination may change over the life of the printed card. That keeps old cards useful longer.",
      },
      {
        question: "Can a business card QR code send people straight to contact saving?",
        answer: "Yes. A vCard QR or a landing page with clear save-contact options is often the simplest and most practical post-scan action.",
      },
    ],
  },
  "event-qr-codes": {
    ...bySlug("event-qr-codes"),
    eyebrow: "Events",
    titleSuffix: "for Check-In, Schedules, Booths, and Campaign Tracking",
    metaDescription:
      "Use event QR codes for schedules, check-in flows, and trackable campaign placements across signs, flyers, and booths.",
    intro:
      "Event QR codes work best when you separate operational QR flows from promotional ones and keep your printed placements easy to manage.",
    answer:
      "A good event QR setup uses different QR destinations for different jobs: operations, attendee utility, and campaign measurement should not all depend on one code.",
    whenToUse: [
      "Your event schedule, map, or resources may change close to event day.",
      "You want to compare booth, banner, flyer, or badge placements instead of treating every scan as one bucket.",
      "You need one event QR system that supports both attendee utility and marketing follow-up.",
    ],
    comparisonItems: [
      { label: "Schedule changes", text: "New print may be needed", value: true },
      { label: "Placement reporting", text: "Weak by default", value: true },
      { label: "Operational vs campaign flows", text: "Often mixed", value: true },
    ],
    howToSteps: [
      "Split event QR codes by purpose: check-in, attendee info, and campaign placements.",
      "Use trackable destinations for banners, booth assets, and flyers where placement performance matters.",
      "Keep fast-changing resources on destinations you can update without replacing the printed code.",
    ],
    workflowTitle: "Event workflows worth designing on purpose",
    workflowIntro:
      "Events generate scans in very different contexts. Treating them as one generic QR use case leaves both operations and measurement weaker.",
    workflowCards: [
      {
        title: "Operational QR flows",
        description: "Use dedicated QR paths for check-in, schedules, maps, and attendee resources that may shift before or during the event.",
      },
      {
        title: "Booth and banner tracking",
        description: "Track scans from distinct placements so you can compare booth creatives, sponsor zones, or call-to-action angles.",
      },
      {
        title: "Post-event follow-up",
        description: "Route scanners to the most relevant recap, booking, or lead capture page after the event without changing the printed assets.",
      },
    ],
    checklistTitle: "Event QR checklist",
    checklist: [
      "Do not force one QR code to handle operations, schedule updates, and lead-gen at the same time.",
      "Use descriptive CTA copy like 'Scan for agenda' or 'Scan for booth resources'.",
      "Track campaign placements separately so booth banners and flyers are comparable.",
      "Test glare, print size, and placement distance on the real event materials before the event starts.",
    ],
    supportLinks: [
      {
        href: "/qr-code-tracking",
        title: "Commercial parent: QR Code Tracking",
        description: "Best fit when the priority is measuring placement and scan context across the event.",
      },
      {
        href: "/tools/event-qr-code",
        title: "Event QR Code tool",
        description: "Useful for save-the-date and calendar workflows that sit alongside broader event QR strategy.",
      },
      {
        href: "/use-cases/flyer-qr-codes",
        title: "Sibling page: Flyer QR Codes",
        description: "Useful when event promotion depends on measurable printed distribution before event day.",
      },
    ],
    faq: [
      {
        question: "Should an event use one QR code or several?",
        answer: "Several is usually better. Separate operational QR codes from campaign QR codes so schedules, check-in, and attribution do not compete for one destination.",
      },
      {
        question: "Can event QR codes be updated after print?",
        answer: "Yes, if the destination is managed dynamically. That is useful for schedules, resource hubs, and post-event follow-up pages.",
      },
      {
        question: "How do I measure which event placement performs best?",
        answer: "Use distinct destinations or tagged URLs for each placement so banner, booth, badge, and flyer traffic can be compared cleanly.",
      },
    ],
  },
  "flyer-qr-codes": {
    ...bySlug("flyer-qr-codes"),
    eyebrow: "Print Campaigns",
    titleSuffix: "for Promotions, Posters, and Offline Campaign Testing",
    metaDescription:
      "Use flyer QR codes to keep print campaigns measurable, compare placements, and change the destination without reprinting every batch.",
    intro:
      "Flyer QR codes work best when the printed asset can stay in circulation while the offer, landing page, or attribution model keeps evolving.",
    answer:
      "A flyer QR code should connect one printed call to action with a destination you can update and a scan trail you can compare across placements, neighborhoods, or campaign waves.",
    whenToUse: [
      "You run local flyers, direct mail, posters, or leave-behind materials with changing offers.",
      "You want to compare placement performance instead of treating every scan like one generic campaign.",
      "You need campaign flexibility after the flyer run has already been distributed.",
    ],
    comparisonItems: [
      { label: "Offer updates", text: "New print run needed", value: true },
      { label: "Placement attribution", text: "Often unclear", value: true },
      { label: "Creative testing", text: "Weak by default", value: true },
    ],
    howToSteps: [
      "Create one flyer QR flow per offer or placement cluster, not one code for every campaign forever.",
      "Use a dynamic destination or tagged URL so the landing page can change without replacing the print.",
      "Track scan context by distribution point, neighborhood, or creative version before deciding what scales.",
    ],
    workflowTitle: "What flyer QR codes should help you measure",
    workflowIntro:
      "Flyers are easy to print and hard to evaluate unless the QR setup is designed for comparison from the beginning.",
    workflowCards: [
      {
        title: "Placement-aware campaigns",
        description: "Split codes or destinations by region, venue type, or distribution partner so scans can be compared without guesswork.",
      },
      {
        title: "Offer iteration after print",
        description: "Keep the same flyer in circulation while you change the landing page, schedule, or campaign CTA behind the code.",
      },
      {
        title: "Print-to-signup reporting",
        description: "Use flyer scans as the first step in a measurable path toward signup, booking, coupon claim, or lead capture.",
      },
    ],
    checklistTitle: "Flyer QR checklist",
    checklist: [
      "Write one clear scan CTA on the flyer instead of forcing the code to explain itself.",
      "Use separate tracking logic for high-volume placements rather than one generic destination.",
      "Match the flyer promise to the first screen after the scan.",
      "Review scan performance by placement before printing the next batch.",
    ],
    supportLinks: [
      {
        href: "/qr-code-for-marketing-campaigns",
        title: "Commercial parent: QR Codes for Marketing Campaigns",
        description: "Best fit when your flyer is part of a broader offline-to-online campaign system.",
      },
      {
        href: "/blog/utm-parameter-qr-codes",
        title: "UTM Parameters with QR Codes",
        description: "Support article for comparing flyer locations, campaign bursts, and creative versions.",
      },
      {
        href: "/use-cases/coupon-qr-codes",
        title: "Sibling page: Coupon QR Codes",
        description: "Useful when flyer distribution is meant to drive a specific redeemable offer.",
      },
    ],
    faq: [
      {
        question: "Should a flyer QR code be dynamic?",
        answer: "Yes, if the landing page, offer, or campaign tracking may change after printing. That keeps the flyer useful longer and avoids waste.",
      },
      {
        question: "How do I track flyer QR codes by location?",
        answer: "Use distinct destinations or campaign tags by placement so scans from each distribution point can be compared cleanly.",
      },
      {
        question: "What should a flyer QR code link to?",
        answer: "Link to the one next action promised on the flyer, such as a signup page, offer page, booking page, or campaign landing page.",
      },
    ],
  },
  "packaging-qr-codes": {
    ...bySlug("packaging-qr-codes"),
    eyebrow: "Packaging",
    titleSuffix: "for Product Support, Inserts, and Post-Purchase Journeys",
    metaDescription:
      "Use packaging QR codes to route buyers into manuals, product support, onboarding, or post-purchase offers while keeping scans measurable.",
    intro:
      "Packaging QR codes are most valuable when they do more than send users to a homepage. They should support a product journey after purchase and give you visibility into what people actually scan.",
    answer:
      "A packaging QR code should connect the physical product to a useful post-purchase destination such as setup help, manuals, registration, support, or follow-up content that can be updated later.",
    whenToUse: [
      "You need product packaging, labels, or inserts to send users to changing support or onboarding pages.",
      "You want scan visibility by product line, SKU family, or campaign batch.",
      "You need a better bridge from physical packaging into post-purchase education or retention.",
    ],
    comparisonItems: [
      { label: "Manual updates", text: "Requires reprint", value: true },
      { label: "Post-purchase reporting", text: "Minimal", value: true },
      { label: "Product-line comparison", text: "Hard to organize", value: true },
    ],
    howToSteps: [
      "Map each packaging QR to one useful post-purchase job such as setup, manuals, support, or product registration.",
      "Use a destination structure that can change as documentation, support paths, or campaign links evolve.",
      "Review scans by product line or package type so packaging placements become a reporting surface instead of a blind spot.",
    ],
    workflowTitle: "Packaging QR workflows worth building deliberately",
    workflowIntro:
      "Once a package is shipped, the QR code becomes part of the customer experience. The supporting flow should be stable enough for print but flexible enough for the business.",
    workflowCards: [
      {
        title: "Support and setup routing",
        description: "Send new customers to the right setup guide, manual, warranty flow, or help entry point without forcing them to search.",
      },
      {
        title: "Batch or product analytics",
        description: "Track which products, inserts, or packaging lines drive scans so you can see where post-purchase engagement actually happens.",
      },
      {
        title: "Offer and content updates",
        description: "Swap destinations after launch when manuals, app links, retention offers, or onboarding content change.",
      },
    ],
    checklistTitle: "Packaging QR checklist",
    checklist: [
      "Make the first scanned destination obviously relevant to the product in hand.",
      "Avoid routing every package to the same generic homepage.",
      "Use analytics naming that lets product lines or batches be reviewed later.",
      "Test print size, contrast, and material finish on real packaging samples.",
    ],
    supportLinks: [
      {
        href: "/qr-code-analytics",
        title: "Commercial parent: QR Code Analytics",
        description: "Best fit when packaging scans need to become a measurable post-purchase signal.",
      },
      {
        href: "/bulk-qr-code-generator",
        title: "Bulk QR Code Generator",
        description: "Useful when packaging programs need many codes across SKUs, inserts, or recurring runs.",
      },
      {
        href: "/use-cases/coupon-qr-codes",
        title: "Sibling page: Coupon QR Codes",
        description: "Useful when packaging scans need to trigger a measurable offer or retention prompt.",
      },
    ],
    faq: [
      {
        question: "What should a packaging QR code link to?",
        answer: "The best destination is usually a post-purchase action such as setup help, manuals, support, registration, or a product-specific resource hub.",
      },
      {
        question: "Can packaging QR codes be tracked?",
        answer: "Yes. With a trackable QR setup you can review how packaging scans perform by product line, batch, placement, or destination.",
      },
      {
        question: "Should packaging QR codes be dynamic?",
        answer: "They should be dynamic when product documentation, app links, support flows, or promotional destinations may change after the packaging is printed.",
      },
    ],
  },
  "real-estate-sign-qr-codes": {
    ...bySlug("real-estate-sign-qr-codes"),
    eyebrow: "Real Estate",
    titleSuffix: "for Listings, Brochures, and Open-House Routing",
    metaDescription:
      "Use real estate sign QR codes to route buyers to the current listing experience and compare sign, brochure, and open-house performance.",
    intro:
      "Real estate sign QR codes are strongest when listing traffic stays current even as inventory, open-house schedules, or brochure links change.",
    answer:
      "A real estate sign QR code should connect a passerby to the right listing, brochure, or inquiry flow today while keeping enough tracking context to compare sign performance over time.",
    whenToUse: [
      "You need signs, window displays, or property brochures to point to live listing information.",
      "You want to compare scans from signs, flyers, open houses, or brokerage materials.",
      "You need listing routes that can change after print when the property status or CTA changes.",
    ],
    comparisonItems: [
      { label: "Listing updates", text: "Static links get stale", value: true },
      { label: "Sign performance", text: "Usually opaque", value: true },
      { label: "Property routing", text: "One fixed page", value: true },
    ],
    howToSteps: [
      "Connect each sign QR to the right listing, brochure, or lead flow instead of a generic homepage.",
      "Use trackable routing when the same property appears on signs, flyers, and open-house materials.",
      "Change the destination when the listing status, CTA, or follow-up flow changes without replacing printed signs.",
    ],
    workflowTitle: "Where real estate QR systems become useful",
    workflowIntro:
      "Real estate print assets stay in the field while listing status and buyer next steps change. The QR setup should reflect that reality.",
    workflowCards: [
      {
        title: "Live listing routing",
        description: "Keep signs useful even if the preferred listing page, brochure path, or inquiry CTA changes after installation.",
      },
      {
        title: "Source comparison",
        description: "Compare sign traffic against property flyers, open-house materials, and office displays without merging everything into one bucket.",
      },
      {
        title: "Lead-ready handoff",
        description: "Route scanners to the current listing hub, brochure request, or showing inquiry page instead of a dead-end listing snapshot.",
      },
    ],
    checklistTitle: "Real estate sign QR checklist",
    checklist: [
      "Use a mobile-first listing page because most sign scans happen on phones.",
      "Name tracking sources so sign, flyer, and open-house scans can be reviewed separately.",
      "Update the destination when the property status or lead path changes.",
      "Test scan distance and contrast on the actual sign material before production.",
    ],
    supportLinks: [
      {
        href: "/qr-code-tracking",
        title: "Commercial parent: QR Code Tracking",
        description: "Best fit when the goal is comparing real-world property placements and scan context.",
      },
      {
        href: "/qr-code-for-marketing-campaigns",
        title: "QR Codes for Marketing Campaigns",
        description: "Useful when property promotion sits inside a broader local acquisition campaign.",
      },
      {
        href: "/use-cases/flyer-qr-codes",
        title: "Sibling page: Flyer QR Codes",
        description: "Useful when listing promotion depends on both sign traffic and printed collateral.",
      },
    ],
    faq: [
      {
        question: "What should a real estate sign QR code link to?",
        answer: "It should link to the current listing experience, brochure page, or inquiry flow rather than a generic homepage or a static PDF that goes stale quickly.",
      },
      {
        question: "Can I track real estate sign QR code scans?",
        answer: "Yes. A trackable setup can help compare sign scans against other property materials such as flyers or open-house handouts.",
      },
      {
        question: "Should real estate QR codes be dynamic?",
        answer: "Yes, when listing details, CTA flows, or follow-up destinations may change while the sign remains in the field.",
      },
    ],
  },
  "feedback-qr-codes": {
    ...bySlug("feedback-qr-codes"),
    eyebrow: "Feedback",
    titleSuffix: "for Reviews, In-Store Feedback, and Follow-Up Journeys",
    metaDescription:
      "Use feedback QR codes to capture customer responses, route high-intent users into review flows, and measure which placements get feedback.",
    intro:
      "Feedback QR codes work best when they remove friction from the review or response step and still let you measure which placements actually drive action.",
    answer:
      "A feedback QR code should make it easy for customers to leave a response in the moment while giving your team enough context to compare locations, surfaces, or follow-up performance.",
    whenToUse: [
      "You want table cards, receipts, packaging inserts, or in-store prompts to collect feedback fast.",
      "You need a cleaner path from offline service moments into reviews or internal feedback collection.",
      "You want to compare where feedback requests actually convert instead of placing the same prompt everywhere.",
    ],
    comparisonItems: [
      { label: "Feedback routing", text: "Often generic", value: true },
      { label: "Placement reporting", text: "Weak by default", value: true },
      { label: "Review flow control", text: "Hard to tune", value: true },
    ],
    howToSteps: [
      "Place feedback QR codes where the customer can act immediately after the experience, not hours later.",
      "Route the scan into the right feedback or review flow for that context.",
      "Track scans and responses by placement so you know which surfaces deserve continued print inventory.",
    ],
    workflowTitle: "Feedback QR flows that are worth measuring",
    workflowIntro:
      "Feedback requests perform differently depending on timing, location, and the post-scan experience. The QR flow should reflect that.",
    workflowCards: [
      {
        title: "Moment-of-service feedback",
        description: "Capture responses while the customer is still on site, at the table, or inside the post-purchase moment.",
      },
      {
        title: "Review routing",
        description: "Separate internal feedback collection from external review requests so the business controls the next step more clearly.",
      },
      {
        title: "Placement comparison",
        description: "Compare table cards, receipts, packaging inserts, and counter displays to see where customers actually respond.",
      },
    ],
    checklistTitle: "Feedback QR checklist",
    checklist: [
      "Ask for one simple next action after the scan instead of combining review, survey, and support in one step.",
      "Place feedback prompts where the service experience is still fresh.",
      "Name or tag locations so scan and response performance can be reviewed later.",
      "Use a short, obvious CTA such as 'Scan to leave feedback' or 'Scan to rate your visit'.",
    ],
    supportLinks: [
      {
        href: "/qr-code-tracking",
        title: "Commercial parent: QR Code Tracking",
        description: "Best fit when you need to compare feedback placements and understand scan context.",
      },
      {
        href: "/blog/trackable-qr-codes",
        title: "Trackable QR Codes",
        description: "Support article for teams that want a measurable review or response program across multiple placements.",
      },
      {
        href: "/use-cases/coupon-qr-codes",
        title: "Sibling page: Coupon QR Codes",
        description: "Useful when the same offline surfaces support both feedback collection and post-visit offers.",
      },
    ],
    faq: [
      {
        question: "What is a feedback QR code?",
        answer: "A feedback QR code sends customers to a review, survey, or response form so they can give feedback immediately after a visit or purchase.",
      },
      {
        question: "Can feedback QR codes be tracked?",
        answer: "Yes. A trackable setup can show which placements, locations, or materials generate the most scans and responses.",
      },
      {
        question: "Where should I place a feedback QR code?",
        answer: "Place it where the customer can act right after the experience, such as on table cards, receipts, counters, packaging inserts, or post-service handouts.",
      },
    ],
  },
  "payment-qr-codes": {
    ...bySlug("payment-qr-codes"),
    eyebrow: "Payments",
    titleSuffix: "for Mobile Checkout, Counter Payments, and Printed Prompts",
    metaDescription:
      "Use payment QR codes to route customers into a mobile payment action that stays current even when links or workflows change.",
    intro:
      "Payment QR codes are most useful when the printed prompt stays simple while the underlying payment destination can change with the business.",
    answer:
      "A payment QR code should move a scanner directly into the intended payment action on mobile without forcing the business to replace printed prompts every time the payment flow changes.",
    whenToUse: [
      "You use printed payment prompts on counters, tables, invoices, or leave-behind materials.",
      "You need a mobile-first payment path instead of asking customers to type a long URL.",
      "You want flexibility when the payment link, provider, or landing flow changes over time.",
    ],
    comparisonItems: [
      { label: "Payment destination", text: "Fixed once printed", value: true },
      { label: "Provider changes", text: "Reprint required", value: true },
      { label: "Post-scan routing", text: "Limited", value: true },
    ],
    howToSteps: [
      "Decide which payment action the code should trigger: direct payment, checkout page, invoice page, or service deposit.",
      "Generate one QR per real payment context instead of one generic payment code for everything.",
      "Use a destination that can be updated when your payment provider or checkout flow changes.",
    ],
    workflowTitle: "Payment QR workflows that stay practical after print",
    workflowIntro:
      "Payment prompts live on physical surfaces longer than the payment links behind them. The QR workflow should absorb that change instead of forcing reprints.",
    workflowCards: [
      {
        title: "Counter and table payments",
        description: "Use printed QR prompts to move a customer into a fast mobile payment step without manual URL entry.",
      },
      {
        title: "Invoice and leave-behind flows",
        description: "Attach payment actions to printed materials that may remain in circulation after a provider or link update.",
      },
      {
        title: "Context-specific routing",
        description: "Send different payment scenarios to the right checkout or follow-up path instead of one catch-all destination.",
      },
    ],
    checklistTitle: "Payment QR checklist",
    checklist: [
      "Make the scan CTA specific so users know they are opening a payment action.",
      "Use a mobile-first checkout or payment screen.",
      "Keep one QR per payment context when the follow-up steps differ.",
      "Update the destination if provider links or invoice flows change after print.",
    ],
    supportLinks: [
      {
        href: "/dynamic-qr-code-generator",
        title: "Commercial parent: Dynamic QR Code Generator",
        description: "Best fit when the printed payment prompt must survive future destination changes.",
      },
      {
        href: "/tools/paypal-qr-code",
        title: "PayPal QR Code tool",
        description: "Useful for direct payment-oriented workflows when PayPal is the intended post-scan action.",
      },
      {
        href: "/use-cases/restaurant-menu-qr-codes",
        title: "Sibling page: Restaurant Menu QR Codes",
        description: "Useful when table cards combine service information and a later payment or ordering action.",
      },
    ],
    faq: [
      {
        question: "What should a payment QR code link to?",
        answer: "It should link to the actual mobile payment action you want the user to take, such as a checkout page, invoice page, or direct payment destination.",
      },
      {
        question: "Should payment QR codes be dynamic?",
        answer: "Yes, when the payment destination, provider, or checkout flow may change after the printed code is already in use.",
      },
      {
        question: "Where do payment QR codes work best?",
        answer: "They work best on printed surfaces where a fast mobile payment step is valuable, such as counters, invoices, tables, service documents, or leave-behind materials.",
      },
    ],
  },
  "coupon-qr-codes": {
    ...bySlug("coupon-qr-codes"),
    eyebrow: "Offers",
    titleSuffix: "for Measurable Discounts, Redemptions, and Local Promotions",
    metaDescription:
      "Use coupon QR codes to connect printed offers with measurable scans, current discount pages, and cleaner redemption reporting.",
    intro:
      "Coupon QR codes are strongest when the discount path stays current and your team can see which print placements actually generate redemptions.",
    answer:
      "A coupon QR code should connect one printed offer to a landing or redemption flow you can update later while preserving enough tracking context to compare placements and promotion waves.",
    whenToUse: [
      "You run discounts on flyers, receipts, inserts, posters, or local print campaigns.",
      "You want to compare which printed offer placements drive scans or redemptions.",
      "You need the offer destination to stay current even if the promotion changes after print.",
    ],
    comparisonItems: [
      { label: "Offer changes", text: "Static links go stale", value: true },
      { label: "Redemption visibility", text: "Often weak", value: true },
      { label: "Placement comparison", text: "Usually manual", value: true },
    ],
    howToSteps: [
      "Create one coupon QR flow per actual offer or placement group instead of mixing promotions together.",
      "Use a destination or coupon page that can change after distribution if the offer window shifts.",
      "Review scan and redemption context by flyer, receipt, package insert, or local placement before scaling the next campaign.",
    ],
    workflowTitle: "Coupon QR systems that improve the next campaign",
    workflowIntro:
      "Printed offers are only useful if the path behind them stays live and the results can be reviewed later. A coupon QR should support both.",
    workflowCards: [
      {
        title: "Offer routing after print",
        description: "Keep the same printed discount prompt alive while the landing page, code, or campaign framing changes.",
      },
      {
        title: "Placement reporting",
        description: "Compare where coupons get scanned or redeemed so posters, flyers, inserts, and receipts stop being one blended source.",
      },
      {
        title: "Redemption-focused follow-up",
        description: "Route the scan into a path that makes redemption easy instead of forcing the user to search for the offer again.",
      },
    ],
    checklistTitle: "Coupon QR checklist",
    checklist: [
      "Write the offer clearly on the printed asset so the QR code reinforces one promise.",
      "Use distinct tracking for major placements or campaign waves.",
      "Keep the redemption page or coupon path mobile-friendly.",
      "Update the destination when the offer changes instead of leaving dead promotions in circulation.",
    ],
    supportLinks: [
      {
        href: "/qr-code-tracking",
        title: "Commercial parent: QR Code Tracking",
        description: "Best fit when the value comes from comparing placements and measuring offer performance.",
      },
      {
        href: "/blog/trackable-qr-codes",
        title: "Trackable QR Codes",
        description: "Support article for teams that want a more measurable coupon or discount program.",
      },
      {
        href: "/use-cases/flyer-qr-codes",
        title: "Sibling page: Flyer QR Codes",
        description: "Useful when the coupon is part of a measurable flyer or local promotion program.",
      },
    ],
    faq: [
      {
        question: "What is a coupon QR code?",
        answer: "A coupon QR code sends users to an offer or redemption page so the discount can be claimed without typing a URL or code manually.",
      },
      {
        question: "Can coupon QR codes be tracked?",
        answer: "Yes. A trackable setup helps compare scans and coupon performance across placements such as flyers, posters, inserts, or receipts.",
      },
      {
        question: "Should a coupon QR code be dynamic?",
        answer: "Yes, when the promotion, landing page, or redemption flow may change while the printed asset is still in circulation.",
      },
    ],
  },
};

export function getUseCasePage(slug: string): UseCasePageContent | undefined {
  return useCasePageContent[slug];
}
