---
id: JNY-COM-CAT-001
title: An administrator prepares a store for selling
feature: FEAT-COM-CAT-01
product_area: commerce
module: catalog
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
supersedes: []
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-COM-001
goal: 'Establish the policy, shelves and product presentations needed for a store.'
capabilities:
  - CAP-COM-CAT-001
  - CAP-COM-CAT-002
  - CAP-COM-CAT-003
  - CAP-COM-CAT-005
  - CAP-COM-CAT-006
screens:
  - '/console/{tenantId}/configuration/orders/orderingProfiles'
  - '/console/{tenantId}/configuration/orders/orderingProfiles/defaults'
  - '/console/{tenantId}/configuration/orders/productCategories'
  - '/console/{tenantId}/configuration/orders/stores'
  - '/console/{tenantId}/configuration/orders/merchandise'
steps:
  - 'n': 1
    surface: '/console/{tenantId}/configuration/orders/orderingProfiles/new'
    action: Create Main with its Accounting context and card acceptance range
    capability: CAP-COM-CAT-001
    expected: The saved policy view presents its summary and active/default indicators
    provenance: documented
    source: >-
      services-commerce:docs/milestones/walkthroughs/COMM-M1-handoff.md#Your
      walkthrough
  - 'n': 2
    surface: '/console/{tenantId}/configuration/orders/orderingProfiles/defaults'
    action: Inspect application and workspace fallback selections
    capability: CAP-COM-CAT-002
    expected: >-
      The defaults view identifies Main as the workspace choice with no
      application overrides
    provenance: test
    source: >-
      services-commerce:modules/configuration/tests/e2e/ordering-profiles.e2e.spec.js#reads
      the tenant default alone until an application default is set
  - 'n': 3
    surface: '/console/{tenantId}/configuration/orders/productCategories'
    action: Prepare Books and Apparel categories
    capability: CAP-COM-CAT-005
    expected: Both empty shelves are available for assortment selection
    provenance: documented
    source: >-
      services-commerce:docs/milestones/walkthroughs/COMM-M1-handoff.md#Your
      walkthrough
  - 'n': 4
    surface: '/console/{tenantId}/configuration/orders/stores/new'
    action: 'Save Bookstore using Main and the two shelves, with Books as home'
    capability: CAP-COM-CAT-003
    expected: The store view presents its policy and admitted shelves
    provenance: test
    source: >-
      react-console:e2e/mock/commerce-view-edit.mock.spec.ts#create a store,
      land on its view, edit the default sort, save, and see it on the view
  - 'n': 5
    surface: '/console/{tenantId}/configuration/orders/merchandise/{id}/edit'
    action: Publish the guide’s Storefront in Books while retaining another draft
    capability: CAP-COM-CAT-006
    expected: >-
      The published guide is eligible for the shelf and the draft remains
      excluded
    provenance: documented
    source: >-
      services-commerce:docs/milestones/plans/COMM-M1-plan.md#10. Walkthrough
      preview
alternates:
  - from_step: 1
    condition: The selected unit does not support that currency
    path: The save fails validation identifying the currency
    outcome: >-
      The administrator must choose a supported currency before creation
      succeeds
    provenance: test
    source: >-
      services-commerce:modules/configuration/tests/e2e/ordering-profiles.e2e.spec.js#answers
      400 currency_not_supported_by_business_unit to a currency the business
      unit does not transact in
  - from_step: 4
    condition: Books is chosen as home while the store offers each category but Books
    path: The save fails validation identifying the home category
    outcome: Correcting the landing shelf allows the store save
    provenance: test
    source: >-
      services-commerce:modules/configuration/tests/integration/services/persistence/stores.integration.spec.js#refuses
      a home category an "all_but" rule leaves out, 400 naming home_category_id
failures:
  - from_step: 3
    condition: A removal request targets a shelf still included by the store
    path: The delete fails validation identifying Bookstore
    outcome: The shelf remains retained until its store reference is removed
    provenance: test
    source: >-
      services-commerce:modules/catalog/tests/integration/services/persistence/product-categories.integration.spec.js#is
      refused 409 category_in_use while a store has it as its home category,
      naming the store, and deleted once the store moves
rules_in_play:
  - BR-CAP-COM-CAT-001-02
  - BR-CAP-COM-CAT-001-04
  - BR-CAP-COM-CAT-001-09
  - BR-CAP-COM-CAT-002-01
  - BR-CAP-COM-CAT-003-01
  - BR-CAP-COM-CAT-003-05
  - BR-CAP-COM-CAT-005-05
  - BR-CAP-COM-CAT-006-02
assertions:
  - id: AS-JNY-COM-CAT-001-01
    statement: >-
      The saved policy summary reflects the chosen payment arrangements and
      range changes.
    provenance: test
    source: >-
      react-console:e2e/mock/commerce-checkout-policies.mock.spec.ts#create a
      policy, read its summary on the view, edit the card range, save, and see
      it on the view
  - id: AS-JNY-COM-CAT-001-02
    statement: Store checkout uses Main and rejects an item requiring a different policy.
    provenance: documented
    source: 'services-commerce:docs/milestones/COMM-M1-set-up-what-you-sell.md#D9'
  - id: AS-JNY-COM-CAT-001-03
    statement: The store view displays the retained policy and assortment.
    provenance: test
    source: >-
      react-console:e2e/mock/commerce-view-edit.mock.spec.ts#create a store,
      land on its view, edit the default sort, save, and see it on the view
  - id: AS-JNY-COM-CAT-001-04
    statement: A retained store reference prevents shelf deletion.
    provenance: test
    source: >-
      services-commerce:modules/catalog/tests/integration/services/persistence/product-categories.integration.spec.js#is
      refused while stores name it in their assortment, naming five of them and
      the count
  - id: AS-JNY-COM-CAT-001-05
    statement: >-
      The item view retains its published Storefront presentation and draft
      listings remain off the public shelf.
    provenance: test
    source: >-
      react-console:e2e/mock/merchandise.mock.spec.ts#a new item is created with
      its storefront, shown on its view, and a price change comes back to the
      view
e2e_policy: required
e2e_reason: >-
  Initial selling setup crosses several staff screens and warrants a live
  browser journey beyond the available mock evidence.
evidence:
  - >-
    Pinned service inputs: the COMM-M1 walkthrough handoff and plan,
    configuration and catalog tests
  - >-
    Pinned console inputs: the Checkout Policies, Stores, Product Categories and
    Merchandise screens and their mock browser tests
proved_by: []
---

# An administrator prepares a store for selling

## Story

The administrator begins with a payment policy and reviews its summary and defaults. They prepare the shelves, configure the store around those shelves and inspect the saved view. Product preparation then supplies the Storefront information needed for publishing. Errors return the administrator to the configuration that needs correction, while dependent store references protect shelves from premature removal.
