---
id: SCR-COM-CAT-018
title: Promotion view
route: '/console/{workspace}/configuration/orders/promotions/{id} and /{id}/{tab}'
surface: console
product_area: commerce
module: catalog
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
purpose: 'Review a campaign, its codes and usage, and test its effect on a sample cart.'
supports:
  - JNY-COM-CAT-004
  - JNY-COM-CAT-005
  - CAP-COM-CAT-014
  - CAP-COM-CAT-015
  - CAP-COM-CAT-017
  - CAP-COM-CAT-018
permission: commerce.promotions.read
entry_from:
  - SCR-COM-CAT-016
  - SCR-COM-CAT-017
exits_to:
  - SCR-COM-CAT-019
  - SCR-COM-CAT-020
  - SCR-COM-CAT-021
displays:
  - field: 'overview: offer, combining rules, window, limits, status, lock'
    source: getPromotion
  - field: codes and their counts
    source: listPromotionCodes
  - field: generated batches and their status
    source: getPromotionCodeIssuance
  - field: uses with allocations
    source: listPromotionRedemptions
  - field: performance per currency and rejection reasons
    source: readPromotionPerformance
  - field: history
    source: listPromotionHistory
actions:
  - label: Activate
    operation_id: activatePromotion
    permission: commerce.promotions.activate
    confirm: true
  - label: Pause
    operation_id: pausePromotion
    permission: commerce.promotions.manage
    confirm: false
  - label: Archive
    operation_id: archivePromotion
    permission: commerce.promotions.manage
    confirm: true
  - label: Generate codes
    operation_id: createPromotionCodeIssuance
    permission: commerce.promotions.manage
    confirm: false
  - label: Export codes
    operation_id: exportPromotionCodeIssuanceCodes
    permission: commerce.promotions.read
    confirm: false
  - label: Release a use
    operation_id: releasePromotionRedemption
    permission: commerce.promotions.override
    confirm: true
  - label: Try It
    operation_id: previewPromotions
    permission: commerce.promotions.read
    confirm: false
  - label: Resume
    operation_id: resumePromotion
    permission: commerce.promotions.activate
    confirm: false
states:
  - loading
  - error
  - read-only
  - inactive
validation:
  - BR-CAP-COM-CAT-014-09
  - BR-CAP-COM-CAT-014-10
  - BR-CAP-COM-CAT-014-11
  - BR-CAP-COM-CAT-015-10
  - BR-CAP-COM-CAT-017-04
  - BR-CAP-COM-CAT-018-06
patterns:
  - PageLayout
  - PageHeader
  - Tabs
  - PromotionLifecycleActions
  - TestPanel
  - CodesTab
  - IssuancesTab
  - RedemptionsTab
  - PerformanceTab
component: components/commerce/promotions/promotion-view-screen.tsx
evidence:
  - >-
    react-console at baf6dae3: components/commerce/promotions/*.tsx; lib/commerce/promotions/live.ts,
    rules.ts; e2e/mock/promotions.mock.spec.ts.
controls: [TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-CRY-001, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-PI-001, TC-PI-003]
---

# Promotion view

## What the Screen Is For

Review a campaign, its codes and usage, and test its effect on a sample cart.

## What It Shows and Lets People Do

Tabs expose overview, codes, issuance batches, redemptions and performance. Activation and archive confirm; pause and resume execute directly. This component exposes no End action. Try It runs unsaved assessment.

## States and Errors

Activation and protected-field failures show service feedback. Manual release requires override authority and a reason. Archive is offered for nonarchived statuses even where the service refuses that lifecycle move.

## Patterns It Must Respect

PageLayout hosts Tabs, PromotionLifecycleActions, TestPanel and the code, issuance, redemption and performance panels.
