{
  "updated": "2026-10-01",
  "practice": {
    "name": "Physio-Trudering",
    "owner": "Nicole Gatz",
    "positioning": "Private physiotherapy practice in München-Trudering for private patients, Beihilfe and self-payers",
    "credential": {
      "title_de": "staatlich anerkannte Physiotherapeutin",
      "title_en": "state-certified physiotherapist",
      "awarded_by": "Bezirksregierung Trier",
      "display_boundary": "Use the professional certificate date and the continuing-education list supplied by the user on 2026-10-01. Do not infer further credentials, certifications, awards or reviews.",
      "certificate_date": "1997-10-01"
    },
    "contact": {
      "phone": "+49 89 68906616",
      "whatsapp": "+49 15678 408860",
      "email": "info@physio-trudering.de",
      "address": "Gottschalkstr. 6, 81825 München"
    },
    "continuing_education": [
      {
        "id": "demenz",
        "title_de": "Menschen mit Demenz in der physiotherapeutischen Behandlung",
        "title_en": "Physiotherapy for people with dementia",
        "date_de": "Februar & März 2026",
        "date_en": "February & March 2026",
        "dates": [
          "2026-02",
          "2026-03"
        ]
      },
      {
        "id": "schroth",
        "title_de": "Skoliose-Therapie nach Lehnert-Schroth",
        "title_en": "Scoliosis therapy according to Lehnert-Schroth",
        "date_de": "Mai & Oktober 2025",
        "date_en": "May & October 2025",
        "dates": [
          "2025-05",
          "2025-10"
        ],
        "detail_de": "Grund- und Aufbaukurs",
        "detail_en": "Basic and advanced courses"
      },
      {
        "id": "spiraldynamik",
        "title_de": "Spiraldynamik – 3D-Skoliosetherapie",
        "title_en": "Spiraldynamik – 3D scoliosis therapy",
        "date_de": "März 2025",
        "date_en": "March 2025",
        "dates": [
          "2025-03"
        ]
      },
      {
        "id": "cmd",
        "title_de": "CMD – Craniomandibuläre Dysfunktion",
        "title_en": "CMD – Craniomandibular dysfunction",
        "date_de": "2018",
        "date_en": "2018",
        "dates": [
          "2018"
        ],
        "detail_de": "Alle drei Module",
        "detail_en": "All three modules"
      },
      {
        "id": "tape",
        "title_de": "Kinesiology Tape",
        "title_en": "Kinesiology taping",
        "date_de": "Januar 2013",
        "date_en": "January 2013",
        "dates": [
          "2013-01"
        ],
        "detail_de": "Kompaktkurs",
        "detail_en": "Compact course"
      },
      {
        "id": "postnatal",
        "title_de": "Training Postnatal – funktionelle Rückbildungsgymnastik",
        "title_en": "Postnatal training – functional postnatal exercise",
        "date_de": "März 2011",
        "date_en": "March 2011",
        "dates": [
          "2011-03"
        ],
        "detail_de": "Zertifikat",
        "detail_en": "Certificate"
      },
      {
        "id": "fbl",
        "title_de": "FBL – Funktionelle Bewegungslehre",
        "title_en": "FBL – Functional movement theory",
        "date_de": "Januar 2002",
        "date_en": "January 2002",
        "dates": [
          "2002-01"
        ]
      },
      {
        "id": "pnf",
        "title_de": "PNF – Propriozeptive Neuromuskuläre Fazilitation",
        "title_en": "PNF – Proprioceptive neuromuscular facilitation",
        "date_de": "2000",
        "date_en": "2000",
        "dates": [
          "2000"
        ],
        "detail_de": "Mit Prüfung",
        "detail_en": "With examination",
        "source_date_text": "10/09-11/2000",
        "date_note": "Exact date notation is ambiguous; the public page uses the confirmed year only."
      },
      {
        "id": "mat",
        "title_de": "Medizinisches Aufbautraining",
        "title_en": "Medical strength and conditioning training",
        "date_de": "September 2000",
        "date_en": "September 2000",
        "dates": [
          "2000-09"
        ],
        "detail_de": "Mit Prüfung",
        "detail_en": "With examination"
      }
    ],
    "qualification_source": {
      "provided_on": "2026-10-01",
      "source": "User-provided list of Nicole Gatz qualifications",
      "public_url": "https://physio-trudering.de/kontakt.html#fortbildungen"
    }
  },
  "homepage_experience": {
    "route_compass": {
      "implemented": true,
      "purpose": "Turn the homepage pathway finder into an interactive practice atlas compass with five patient concern routes.",
      "routes": [
        "cmd",
        "skoliose",
        "beckenboden",
        "kinder",
        "pnf-aktiv"
      ],
      "requirements": [
        "no remote diagnosis",
        "privacy-safe WhatsApp framing",
        "link each route to the matching focus page",
        "link available knowledge paths",
        "keyboard-accessible tab pattern"
      ]
    },
    "conversion_shell": {
      "implemented": true,
      "purpose": "Upgrade the mobile contact layer into a privacy-safe four-action conversion shell without backend storage.",
      "mobile_actions": [
        "call",
        "callback",
        "compass",
        "whatsapp"
      ],
      "callback_fields": [
        "name",
        "phone",
        "general_topic",
        "callback_window",
        "consent"
      ],
      "requirements": [
        "no backend submission",
        "mailto and direct contact fallback only",
        "no file upload",
        "no diagnosis or findings fields",
        "no sensitive health data request",
        "focus-managed dialog",
        "language-aware labels"
      ]
    },
    "mobile_navigation": {
      "implemented": true,
      "purpose": "Keep the mobile header navigation calm and accessible while closed or open.",
      "requirements": [
        "closed menu is visually collapsed",
        "closed menu controls are not reachable through focus or pointer interaction",
        "closed menu is aria-hidden and inert",
        "open menu remains keyboard accessible with clear expanded state",
        "no hidden SEO content or tracking"
      ]
    },
    "concern_navigator": {
      "implemented": true,
      "url": "wissen.html#anliegen-navigator",
      "data_source": "data/concern-navigator.json",
      "purpose": "Expose a non-diagnostic, privacy-safe navigator on the knowledge page with seven broad patient concern paths, now with static starter paths before local JSON readiness and a compact mobile card rail.",
      "paths": [
        "kiefer-nacken",
        "ruecken-haltung",
        "skoliose-schroth",
        "beckenboden-rueckbildung",
        "kinder-haltung",
        "nach-op-verletzung",
        "unsicher-telefonisch"
      ],
      "requirements": [
        "no diagnosis quiz",
        "no symptom scoring",
        "no collection of sensitive health details",
        "topic-specific callback CTA only",
        "WhatsApp messages contain broad topic only",
        "each path links to knowledge, service or first-appointment context",
        "source IDs and boundaries stay explicit",
        "initial navigator area exposes four static starter cards before local JSON readiness and uses links only, so the concern area does not look empty and collects no data while loading",
        "no-JavaScript state hides the inactive interactive concern navigator so the noscript fallback is the single visible path",
        "mobile concern cards use a horizontal snap rail to reduce long-scroll friction while keeping all broad paths reachable"
      ]
    },
    "service_choice_bridge": {
      "implemented": true,
      "url": "leistungen.html#leistungskompass",
      "purpose": "Bridge broad concerns to existing service pages, knowledge pathways and privacy-safe contact actions without diagnosis or therapy promises.",
      "paths": [
        "cmd",
        "ruecken",
        "skoliose",
        "beckenboden",
        "kinder",
        "postop",
        "unsicher"
      ],
      "requirements": [
        "orientation only, no diagnosis",
        "seven broad concern paths",
        "links to existing service or focus pages",
        "links to matching knowledge pathways",
        "topic-specific callback and WhatsApp actions",
        "no findings, images, doctor letters or health details in messenger or callback"
      ]
    },
    "searchable_knowledge_index": {
      "implemented": true,
      "url": "wissen.html#wissenssuche",
      "data_source": "data/knowledge-index.json",
      "source_notes": "data/source-notes.json",
      "purpose": "Make the knowledge base visibly searchable through local static JSON without backend logging or analytics, now with local JSON preloads, pre-ready input preservation, source-linked result cards with mobile-compact local source-role labels, mobile-compact scan-first result headers, mobile-compact source-role lens behavior, mobile quick/trust strips before results, mobile authority drawers for source/update transparency, a visible local update/status feed, local result-type orientation, dynamic filter counts, a local clear-search control, a visible source-role lens, intent starters, static intent starter links before local JSON readiness, active result-type map, no-result recovery with safe hints and a local privacy note, loading placeholders, static first-result starter cards before local JSON readiness, safe fallback cards, a no-JavaScript static knowledge-path index that replaces dead interactive search controls, structured ItemList data for core knowledge paths, responsive controlled result loading, a mobile first-result cue with a concrete first-result preview, broad topic-specific callback labels on result cards, an active result-jump control, a privacy-safe Wunschtermin bridge to termin.html#wunschtermin, same-tab Back/Forward search-state restoration, section links with native scroll restoration on Back/Forward, a visible content-operations roadmap and a privacy-safe next-step strip with a filtered local entry suggestion for active searches or filters only.",
      "minimum_entries": 56,
      "current_entries": 113,
      "source_categories": [
        "practice_context",
        "privacy_contact",
        "health_info_quality",
        "ux_accessibility",
        "local_market",
        "appointment_billing",
        "clinical_orientation"
      ],
      "clusters": [
        "anliegen",
        "therapie",
        "ersttermin",
        "privat",
        "datenschutz",
        "sicherheit",
        "glossar",
        "ressourcen",
        "alltag",
        "quellen"
      ],
      "requirements": [
        "local browser filtering only",
        "no remote search API",
        "no backend, analytics, URL parameter, localStorage or sessionStorage search-term storage",
        "same-tab browser history state may restore the current search after Back/Forward without sending it anywhere",
        "local JSON preload hints only for same-site static data sources",
        "pre-ready search text and quick-path clicks are preserved locally until JSON data is ready",
        "pre-ready intent starter area exposes four static local links for first appointment, private billing, privacy and source model before live local intent buttons replace them",
        "all visible entries reference existing pages or anchors",
        "each entry references source notes",
        "result cards render visible source chips and source-role labels from local source notes",
        "mobile result cards expose scan-first rank/type headers; the rank is only the local result position, never a medical priority, recommendation or quality score",
        "mobile result cards keep source chips visible in a horizontal local strip instead of hiding them",
        "mobile source-role lens keeps role categories visible in a horizontal local strip to reduce the distance to results",
        "visible update feed renders recent knowledge, source, privacy and navigation maintenance from data/site-updates.json without tracking or external APIs",
        "mobile authority drawers keep source and update transparency expandable but closed by default so first results stay closer to the search field",
        "mobile quick-path and trust-chip rows stay as horizontal scroll strips before results so the loaded cards appear sooner without hiding source or privacy signals",
        "result cards render local type orientation without diagnosis, endorsement or quality ranking",
        "result-card callback buttons use only existing broad cta_topic values for topic-specific labels and accessible privacy-safe labels",
        "filter chips show local result counts for the current query",
        "clear-search resets local query state and removes same-tab history state without URL mutation",
        "no-result recovery offers a clear local empty-state summary, reset, broad non-diagnostic sorting, safe search hints, a local privacy note and callback without health details",
        "source notes expose visible role categories directly in the search module",
        "loading placeholders prevent empty holes while local JSON is fetched",
        "oversized reveal containers become visible as soon as they intersect the viewport so the large knowledge section cannot remain an opacity-zero hole",
        "reveal sections trigger on real viewport intersection so visible page edges do not remain opacity-zero during load, scroll or history restore",
        "pre-ready source/status line is non-empty and is replaced by live entry/source counts or fallback status once local data readiness is known",
        "initial result area exposes three static starter cards before local JSON readiness and uses links only, so the search does not look empty and collects no data while loading",
        "static starter cards share the scan-first rank/type header structure with loaded result cards while remaining local links only",
        "safe fallback cards remain available if local JSON is unavailable",
        "no-JavaScript fallback exposes the core knowledge paths as ordinary links at the search section",
        "no-JavaScript state hides the inactive search input, filters and zero-count control so the static fallback is the visible path",
        "wissen.html exposes a structured ItemList for the same core knowledge paths without adding hidden or cloaked medical content",
        "intent starters route broad patient questions to useful local queries",
        "active query and cluster state remains visible",
        "active searches and filters expose a local result-type map so visitors can distinguish knowledge paths, services, privacy, billing, boundaries and source-model entries without diagnosis or ranking",
        "active searches and filters expose a local result-jump control before the long result list",
        "mobile neutral and active search states expose a local first-result cue near the search field so the first loaded entries are reachable before the source and filter orientation blocks",
        "mobile first-result cue includes the first matching local entry title, cluster and orientation type so visitors see that results are loaded before scrolling through source and filter controls",
        "next-step actions appear for active searches or filters only, show the first matching local entry as a navigation shortcut, link the preferred-date callback wizard without passing search terms, use broad callback topics only and link first-visit/privacy guidance",
        "next-step CTA headings do not echo free-text search queries; they use only broad cluster labels or a neutral matching-entry label",
        "neutral default search state keeps the path from search field to results shorter by not showing next-step CTAs before a query or filter exists",
        "initial result rendering is limited and more entries load on demand",
        "mobile initial result windows and show-more increments use a smaller local page size than desktop to keep the large knowledge base scannable",
        "resource candidates remain planned until reviewed",
        "resource and source compass explains review criteria without purchase recommendations",
        "result-card open actions use local type-aware labels instead of one generic knowledge label",
        "homepage, contact and directions entries use dedicated local result types practice_profile, contact and directions",
        "local access/contact entries cover homepage, contact, directions and the children/posture service page without inventing opening hours, reviews, credentials, availability or outcomes",
        "content-operations roadmap entries cover public topic planning, review gates and update-feed traceability without implying diagnosis, availability or automatic publication",
        "Section links use pushState and align the target once; native scroll restoration preserves the actual reading position on Back/Forward and reload. Manual pointer, touch, wheel or keyboard input cancels pending initial alignment. No interval or delayed top locks may reset user scrolling."
      ]
    },
    "knowledge_search_authority_layer": {
      "implemented": true,
      "url": "wissen.html#wissenssuche",
      "purpose": "Turn the local knowledge search into a premium authority layer with intent starters, static intent starter links before local JSON readiness, quick concern paths, dynamic filter counts, a local clear-search control, mobile scan-first result cards, a visible mobile-compact source-role lens, mobile authority drawers, static first-result starter cards before local JSON readiness, loading resilience, privacy guardrails, active state feedback, local relevance ranking and a data-minimising next-step CTA layer with a Wunschtermin bridge for active searches or filters.",
      "quick_paths": [
        "ruecken-haltung",
        "cmd-kiefer",
        "privat-beihilfe",
        "whatsapp-datenschutz",
        "quellenmodell"
      ],
      "intent_starters": [
        "anliegen-sortieren",
        "erster-termin",
        "privat-beihilfe",
        "sichere-kurzanfrage"
      ],
      "requirements": [
        "local browser ranking only",
        "no backend search",
        "no search-term storage",
        "no diagnosis or therapy decision scoring",
        "filter counts are local usability hints, not medical scoring",
        "visible source, source-role and privacy model in the search module",
        "mobile result card headers show local rank and result type for faster scanning without implying medical priority",
        "mobile source and update trust blocks use expandable details rows, closed by default on small screens and open on desktop",
        "intent starter row uses four static local links before JSON readiness, then the full local intent buttons replace them once ready",
        "initial result cards are real local links before JSON readiness, then the full local search replaces them once ready",
        "data-driven areas show stable loading placeholders and safe local fallback links",
        "mobile concern navigator and practice atlas use horizontal snap rails to keep early knowledge orientation compact without hiding approved content",
        "intent starters use broad non-diagnostic queries only",
        "active query/filter state is visible to users",
        "quick paths set broad non-diagnostic queries only",
        "callback CTAs infer only broad topics and never request findings, diagnoses, images or documents",
        "Wunschtermin bridge links only to the local callback request wizard and does not pass query text, diagnoses or availability claims",
        "next-step CTA copy does not mirror free-text query input into callback wording or headings",
        "ranking is framed as orientation and not a medical quality judgement"
      ]
    },
    "section_transition_quotes": {
      "implemented": true,
      "url": "wissen.html",
      "data_source": "data/zen-quotes.json",
      "purpose": "Give section-wayfinder navigation a soft destination fade and show a calm local quote only when the same section is visited again in the current page session.",
      "requirements": [
        "destination indicator is visible during the fade",
        "quotes are local editable microcopy, not medical advice",
        "no external API",
        "no tracking, storage or personalization",
        "no diagnosis, symptom advice, treatment promise, appointment promise or identity claim",
        "reduced-motion users skip the transition animation"
      ]
    },
    "resource_source_compass": {
      "implemented": true,
      "url": "ressourcen-quellen-kompass.html",
      "purpose": "Turn the planned resource shelf into a visible quality, source, source-maintenance and privacy compass without claiming professional approval or making purchase recommendations.",
      "requirements": [
        "no affiliate framing",
        "no purchase pressure",
        "no self-treatment instruction",
        "no invented professional review",
        "clear candidate status",
        "source-maintenance panel explains registry role count, source count, reachability audit date and the boundary between technical link checks and medical review",
        "local search and contact paths remain data-minimising"
      ]
    },
    "private_billing_first_visit_confidence": {
      "implemented": true,
      "urls": [
        "index.html",
        "termin.html#billing-confidence",
        "erster-termin-privatpraxis.html#privat",
        "privatabrechnung-beihilfe-wissen.html"
      ],
      "purpose": "Reduce uncertainty for private patients, Beihilfe-eligible patients and self-payers before the first enquiry without publishing prices or reimbursement guarantees.",
      "conversion_actions": [
        "private framework link",
        "first-visit guide link",
        "billing-topic callback",
        "phone call",
        "privacy-safe WhatsApp topic"
      ],
      "requirements": [
        "no concrete prices",
        "no reimbursement guarantee",
        "no statutory billing claim",
        "no upload or health-detail collection",
        "topic-specific billing callback",
        "first-visit CTA stays non-diagnostic",
        "binding reimbursement decisions remain with insurer or Beihilfe authority"
      ]
    },
    "appointment_request_wizard": {
      "implemented": true,
      "url": "termin.html#wunschtermin",
      "purpose": "Offer a calm three-step preferred-date request flow on the appointment page: choose Wunschdatum, choose Wunschzeit and prepare a callback request without claiming live availability.",
      "fields": [
        "preferred_date",
        "preferred_time",
        "name",
        "phone",
        "consent"
      ],
      "requirements": [
        "not live booking",
        "not an availability calendar",
        "top request-brief bridge links to the preferred-date callback section without moving the preferred-date wizard above direct contact",
        "no backend submission or storage",
        "mailto draft only plus direct phone fallback",
        "collect name and phone only as contact details",
        "no diagnosis, findings, images, prescriptions, insurance documents or sensitive health data",
        "clear personal confirmation required before any appointment is booked",
        "mobile-friendly and keyboard-accessible calendar controls"
      ]
    },
    "ai_visibility_content_operations": {
      "implemented": true,
      "urls": [
        "llms.txt",
        "llms-full.txt",
        "wissen.html#wissenspflege",
        "whatsapp-datenschutz-terminfrage.html#ki-assistent",
        "data/concern-navigator.json",
        "data/knowledge-index.json",
        "data/service-index.json",
        "data/source-notes.json",
        "data/ai-appointment-policy.json",
        "data/ai-content-ops.json",
        "data/site-updates.json",
        "data/campaign-ops-summary.json",
        "data/campaign-publication-queue.json",
        "data/campaign-distribution-plan.json",
        "data/campaign-review-gate.json",
        "data/campaign-review-intake.json",
        "data/campaign-review-workbench.json",
        "data/campaign-review-evidence-status.json",
        "data/campaign-review-inbox-status.json",
        "data/campaign-review-import-projection.json",
        "data/campaign-review-import-plan.json",
        "data/campaign-approval-import-plan.json",
        "data/campaign-review-session-status.json",
        "data/campaign-review-session-bundle-status.json",
        "data/campaign-review-session-workbook-status.json",
        "data/campaign-review-decision-contract.json",
        "data/campaign-review-decision-entry-status.json",
        "data/campaign-review-decision-entry-sheet-qa.json",
        "data/campaign-approval-prep.json",
        "data/campaign-export-manifest.json",
        "data/campaign-copy-prep-status.json",
        "data/campaign-draft-package-status.json",
        "data/campaign-review-handoff-status.json",
        "data/campaign-decision-log.json",
        "data/campaign-release-readiness.json",
        "data/campaign-release-authorization-status.json",
        "data/campaign-release-authorization-entry-status.json",
        "data/campaign-execution-cockpit.json",
        "data/campaign-go-live-control.json",
        "data/campaign-publication-ledger-status.json",
        "data/campaign-publication-inbox-qa.json",
        "data/campaign-publication-import-plan.json",
        "data/campaign-publication-record-entry-status.json",
        "data/campaign-action-feed.json",
        "data/campaign-operator-calendar-status.json",
        "data/campaign-human-review-command-center.json",
        "data/campaign-approval-record-entry-status.json",
        "ai/CONTENT_OPERATIONS.md",
        "data/campaign-review-preflight-status.json",
        "data/campaign-review-inbox-qa.json",
        "data/campaign-approval-inbox-qa.json"
      ],
      "purpose": "Make the site clearer and more maintainable for AI search systems and assistants through crawlable summaries, an appointment/callback action policy, a durable content operations plan, visible public topic roadmap, topic backlog, public-safe campaign operations summary, public-safe publication queue, public-safe distribution plan, public-safe review gate, public-safe review intake, public-safe review workbench, public-safe review evidence status, public-safe review inbox status, public-safe review import projection, public-safe review import plan, public-safe approval import plan, public-safe review session status, public-safe review session bundle status, public-safe review session workbook status, public-safe review decision contract, public-safe review decision entry status, public-safe approval prep, public-safe approval record entry status, public-safe export manifest, public-safe copy prep status, public-safe draft package status, public-safe human review handoff, public-safe decision log, public-safe release readiness, public-safe release authorization status, public-safe release authorization entry status, public-safe execution cockpit, public-safe go-live control, public-safe publication ledger status, public-safe publication inbox QA, public-safe publication import plan, public-safe publication record entry status, public-safe action feed, public-safe operator calendar status, public-safe human review command center, update feed and review gates.",
      "audience": [
        "private patients",
        "Beihilfe-eligible patients",
        "self-payers",
        "AI assistants helping a user with explicit consent"
      ],
      "requirements": [
        "no guarantee that AI systems will recommend the site",
        "robots and sitemap expose machine-readable context files",
        "robots and sitemap expose core knowledge data files for the concern navigator, searchable knowledge index, service map and source-role registry",
        "AI assistants may point users to appointment, callback, first-visit and privacy pages",
        "AI assistants must not submit personal data without explicit user consent",
        "AI-assisted drafts must stay short and non-sensitive",
        "visible AI-assistant guidance lives at whatsapp-datenschutz-terminfrage.html#ki-assistent",
        "no diagnoses, findings, images, doctor letters, insurance documents, intimate details or sensitive health data in callback or WhatsApp flows",
        "durable topic backlog is tied to local/private-patient search intents and source categories",
        "visible public roadmap lives at wissen.html#wissenspflege and explains cadence, topic priorities and review boundaries",
        "safe automation may draft, validate and summarize approved-source updates",
        "campaign backend validation prepares internal draft slots, dashboard and review packet while the public summary omits unreviewed post copy",
        "campaign publication queue blocks all slots until explicit approval records provide review gates, channels and final copy",
        "campaign distribution plan exposes manual review, export and publish windows without final post copy or patient data",
        "campaign review gate exposes pending gates and approval blockers without final post copy, patient data or approval evidence",
        "campaign review intake exposes active review assignments, gate questions and channel checklists without final post copy, patient data or approval evidence",
        "campaign review workbench exposes decision capture forms, due status, gate checks and channel checks without final post copy, patient data, approval evidence or publication permission",
        "campaign review evidence status exposes active-month evidence routing, evidence prompts and reconciled gate coverage without becoming human review, approval evidence, records, copy, final copy or publication permission",
        "campaign review decision inbox status exposes pending human-review decision counts and does not auto-apply, approve, publish or expose final post copy",
        "campaign review import projection simulates first-mile downstream effects before review-import apply without writing state, exposing final copy, creating records or granting publication permission",
        "campaign review import plan exposes manual import dry-run/apply routing from validated inbox decisions into review_decision_records without auto-apply, final copy, patient data, approval evidence, approval records or publication permission",
        "campaign approval inbox QA exposes approval-inbox validation, approved-review-decision prerequisites and dry-run import status without public final copy, patient data, export packages or publication records",
        "campaign approval import plan exposes manual import dry-run/apply routing from internal approval-record inbox into approval_records; it is not publication and exposes no final copy, patient data, platform credentials or publication records",
        "campaign review session exposes due-now and next-7-days session routing, intake paths and pending decision-template status; it is not approval and contains no final post copy, patient data, platform credentials or publication permission",
        "campaign review session bundle exposes due-now and next-7-days bundle routing, scaffold status and internal draft package references without becoming human review, approval evidence, records, copy, final copy or publication permission",
        "campaign review decision contract exposes allowed values, required fields and forbidden private fields for real inbox decisions; it is not approval, and approval records cannot bypass approved review_decision_records",
        "campaign review decision entry status exposes only decision-entry progress and counts for due-now and next-7-days slots; the internal entry kit and editable sheet are operator helpers refreshed with npm run campaign:review-decision:entry-kit, not approval, not publication, and does not create records, with no public post copy, final copy, patient data, diagnosis data, platform credentials or sensitive data",
        "campaign review decision entry sheet QA validates the editable sheet before review-decision-inbox.json import, requires confirmation and creates no review_decision_records, approval records, publication records, copy or final copy",
        "campaign approval prep exposes approved-for-approval-record decision counts and manual approval records still required without final post copy, patient data or publication permission",
        "campaign export manifest exposes export packages, expectations, exact package freshness, stale/missing/content-mismatch blockers and no public final-copy hashes without final post copy, patient data or publication permission",
        "campaign copy prep exposes copy candidates, channel counts and blockers without final copy, patient data or publication permission",
        "campaign human review handoff exposes due-now and next-7-days review routing without final post copy, patient data, platform credentials, approval evidence or publication permission",
        "campaign decision log exposes human review decision and revision counts without final post copy, patient data or export permission",
        "campaign release readiness exposes channel tasks and symbolic-asset requirements without final post copy, patient data, platform credentials or publication permission",
        "campaign release authorization exposes manual authorization status after approval/export checks; it is not publication and contains no final copy, patient data, credentials or copy hashes",
        "campaign release authorization entry status exposes readiness after approval_records and exact export packages and routes operators to the internal release-authorization entry kit and editable sheet; the public status creates no release_authorization_records, creates no publication_records, publishes nothing and contains no final copy, copy hashes, patient data or platform credentials",
        "campaign execution cockpit exposes next allowed operator actions, current execution stage and active-month due status without final post copy, patient data, platform credentials or approval evidence",
        "campaign go-live control exposes launch blockers, go-live gate status, can-publish-now counts and manual release-authorization need without final post copy, patient data, platform credentials, copy hashes or publication permission",
        "campaign publication ledger status exposes recorded publication counts, missing publication-record gaps and post-publish sync requirements; publication records require matching approval records, matching export packages and deliberate human release authorization, without final post copy, patient data, tracking parameters, platform credentials, copy hashes or publication permission",
        "campaign publication inbox QA validates post-publication evidence only after real manual publication; it exposes counts and blockers without writing state, publishing content, creating approval records, creating release authorization records, exposing final copy, copy hashes, patient data or platform credentials",
        "campaign publication import plan imports publication_records only after matching approval records, release authorization, matching export packages, real manual publication and tracking-free public URLs; it is not publication and does not import post-publish sync dates",
        "campaign publication record entry status exposes readiness after approval_records, release_authorization_records, exact export packages and real manual publication; it routes operators to the internal publication-record entry kit and editable sheet, creates no publication_records, publishes nothing, imports no post-publish sync dates and contains no final copy, copy hashes, patient data or platform credentials",
        "campaign action feed exposes due operator tasks, immediate queue and work sources without final post copy, patient data, platform credentials or publication permission",
        "campaign operator calendar status exposes internal ICS calendar and CSV task export counts and paths without final post copy, patient data, platform credentials, approval evidence, release authorization or publication permission",
        "campaign human review command center consolidates due-now, next-7-days and next-30-days human-review actions around workbook, decision entry, inbox QA, import dry-run, action feed and operator calendar without creating review decisions, approval records, publication records, public copy or final copy",
        "campaign approval record entry status exposes readiness after real approved review_decision_records and routes operators to the internal approval-record entry kit and editable sheet; the public status contains no final copy, creates no approval records, creates no export packages and creates no publication records",
        "medical, billing, credential, review, opening-hour, availability and outcome claims require a review gate",
        "site-updates feed records meaningful public changes with safety boundaries",
        "campaign draft package status exposes 12 monthly draft packages, 73 channel packages and no copy in public status; generated draft packages remain internal, not approval and not publication",
        "campaign review preflight is advisory, contains no copy, and routes 73 channel candidates toward human review without approval or publication",
        "campaign review inbox QA exposes active session gaps, validation rules and dry-run import status without copy, approval or publication",
        "public deployment verification can be rerun with npm run verify:public against Vercel markers"
      ]
    }
  },
  "pathways": [
    {
      "id": "cmd",
      "label_de": "Kiefer / Nacken",
      "label_en": "Jaw / neck",
      "current_url": "cmd-kiefer-physiotherapie.html",
      "knowledge_url": "cmd-kiefer-nacken-wissen.html",
      "intent": "Orient patients with CMD, jaw, head, neck or shoulder questions without requiring self-diagnosis.",
      "next_modules": [
        "symptom-orientation",
        "body-map",
        "treatment-flow",
        "what-to-bring",
        "privacy-note",
        "faq"
      ],
      "whatsapp_topic": "cmd"
    },
    {
      "id": "skoliose",
      "label_de": "Skoliose / Haltung",
      "label_en": "Scoliosis / posture",
      "current_url": "skoliose-schroth-therapie.html",
      "knowledge_url": "skoliose-haltung-wissen.html",
      "intent": "Explain posture and Schroth-oriented work with careful no-guarantee language.",
      "next_modules": [
        "three-dimensional-orientation",
        "age-paths",
        "exercise-transfer",
        "what-to-bring",
        "faq"
      ],
      "whatsapp_topic": "skoliose"
    },
    {
      "id": "beckenboden",
      "label_de": "Beckenboden / Rückbildung",
      "label_en": "Pelvic floor / recovery",
      "current_url": "beckenboden-rueckbildung.html",
      "knowledge_url": "beckenboden-rueckbildung-wissen.html",
      "intent": "Offer a discreet low-friction path for pelvic floor, recovery and stability questions.",
      "next_modules": [
        "discreet-entry",
        "awareness-activation-relaxation",
        "daily-life",
        "privacy-note",
        "faq"
      ],
      "whatsapp_topic": "beckenboden"
    },
    {
      "id": "kinder",
      "label_de": "Kinder / Haltung",
      "label_en": "Children / posture",
      "current_url": "kinder-haltung-physiotherapie.html",
      "knowledge_url": "kinder-haltung-wissen.html",
      "intent": "Guide parents and children through posture and movement questions with age-appropriate language.",
      "next_modules": [
        "parent-entry",
        "age-appropriate-explanation",
        "motivation",
        "home-practice",
        "faq"
      ],
      "whatsapp_topic": "kinder"
    },
    {
      "id": "pnf-aktiv",
      "label_de": "PNF / aktive Therapie",
      "label_en": "PNF / active therapy",
      "current_url": "pnf-aktive-therapie.html",
      "knowledge_url": "pnf-aktive-therapie-wissen.html",
      "intent": "Turn PNF and active therapeutic training into a clear treatment pathway rather than a service-list item.",
      "next_modules": [
        "plain-language-pnf",
        "movement-activation",
        "coordination",
        "home-practice",
        "faq"
      ],
      "whatsapp_topic": "pnf"
    }
  ],
  "knowledge_base": {
    "current_url": "wissen.html",
    "concern_navigator_url": "wissen.html#anliegen-navigator",
    "search_url": "wissen.html#wissenssuche",
    "data_sources": [
      "data/concern-navigator.json",
      "data/knowledge-index.json",
      "data/source-notes.json"
    ],
    "deep_dive_urls": [
      "erster-termin-privatpraxis.html",
      "cmd-kiefer-nacken-wissen.html",
      "skoliose-haltung-wissen.html",
      "ruecken-haltung-belastung-wissen.html",
      "ressourcen-quellen-kompass.html",
      "privatabrechnung-beihilfe-wissen.html",
      "whatsapp-datenschutz-terminfrage.html",
      "beckenboden-rueckbildung-wissen.html",
      "kinder-haltung-wissen.html",
      "pnf-aktive-therapie-wissen.html"
    ],
    "clusters": [
      "Praxisatlas mit fuenf Behandlungswegen",
      "Ersttermin-Guide fuer Anfrage, Mitbringen, Privatabrechnung und Datenschutz",
      "CMD-, Kiefer- und Nackenpfad fuer Signale, Befund, konservative Physiotherapie, Abklaerung und datensparsame Anfrage",
      "Skoliose- und Haltungspfad fuer dreidimensionale Orientierung, Abklaerung, Uebungstransfer, Alltag und no-guarantee language",
      "Ruecken-, Haltungs- und Belastungspfad fuer nicht-diagnostische Orientierung, Warnzeichen, aktive Therapie, Alltagstransfer und datensparsame Anfrage",
      "Ressourcen- und Quellen-Kompass fuer Gesundheitsinformationen, Kandidatenstatus, Review-Kriterien und Datenschutz",
      "Privatabrechnung- und Beihilfe-Kompass fuer private Rechnung, PKV, Beihilfe, Selbstzahler, Kostengrenzen und datensparsame Anfrage",
      "WhatsApp- und Datenschutz-Kompass fuer kurze Terminfrage, Rueckruf ohne Gesundheitsdetails, Kanalwahl und Messenger-Grenzen",
      "Leistungs-Kompass fuer Anliegen, passende Leistungsseite, Wissenspfad und datensparsame Kontaktoption",
      "Beckenboden- und Rueckbildungspfad fuer diskrete Anfrage, Abklaerung, Alltagstransfer, Ressourcenrahmung und Datenschutz",
      "PNF- und aktive-Therapie-Pfad fuer Koordination, Wahrnehmung, Abklaerung, Alltagstransfer und datensparsame Anfrage",
      "Beschwerden verstehen",
      "Wie Physiotherapie helfen kann",
      "Der erste Termin",
      "Privatpraxis, Beihilfe und Selbstzahler",
      "Was mitbringen",
      "Datenschutz bei WhatsApp",
      "Ressourcen und Bücher",
      "Grenzen, Sicherheit und Quellenmodell in der Wissenssuche"
    ]
  }
}
