---
id: SCR-PFM-CSH-010
title: Planned destination placeholder
route: '/console/{tenantId}/{plannedPath}'
surface: console
product_area: platform
module: console-shell
revision: 1
status: draft
design_intent: confirmed
origin: >-
  react-console:docs/url-architecture.md#3. Workspaces (decided by Andrew
  2026-10-14; final acceptance 2026-10-15); visibility to customers open
  (OQ-PFM-CSH-003)
implementation_evidence: observed
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: >-
  A registered destination without a working page receives a guarded
  placeholder.
supports:
  - CAP-PFM-CSH-009
  - CAP-PFM-CSH-015
permission: the destination's own permission and application
entry_from:
  - Main navigation menu (planned entries)
  - A link or bookmark
exits_to:
  - Anywhere the frame offers
inference: []
displays:
  - field: Registered destination name and section
    source: DOM-PFM-CSH-002 menu entry (first occurrence)
  - field: Planned-screen explanation
    source: Static copy
actions: []
states:
  - planned placeholder
  - application unavailable
  - permission refused
  - unregistered destination
validation:
  - BR-CAP-PFM-CSH-009-08
  - BR-CAP-PFM-CSH-006-05
  - BR-CAP-PFM-CSH-006-12
patterns:
  - PageHeader with a dashed empty-state card
  - 'Page guard (application first, then permission)'
component: 'app/(console)/console/[tenantId]/[...slug]/page.tsx:ModulePage'
evidence:
  - >-
    react-console at baf6dae:
    app/(console)/console/[tenantId]/[...slug]/page.tsx;
    components/console/nav-config.ts:allNav.
controls: [TC-AVL-001, TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-PI-001, TC-PI-002, TC-PI-004, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---
# Planned destination placeholder

## What the Screen Is For

A registered destination without a working page receives a guarded placeholder. Unregistered destinations produce not found.

## What It Shows and Lets People Do

The header identifies the destination and its section. A dashed card explains that the screen is forthcoming. There are no page actions; the surrounding navigation remains available.

## States and Errors

Application and permission guards can replace the placeholder with an unavailable or denied state. The catch-all resolves registered menu destinations and does not separately inspect build status. Current placeholder copy exposes internal planning details.

## Patterns It Must Respect

PageHeader and the dashed empty-state card are the built patterns. Product still needs to decide customer visibility of unfinished work and replace internal planning references with customer-facing copy.
