---
id: FAS-COM-CAT-03
title: 'Product Pricing: Feature Acceptance Suite'
feature: FEAT-COM-CAT-03
product_area: commerce
module: catalog
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-COM-CAT-010
  - CAP-COM-CAT-011
  - CAP-COM-CAT-012
  - CAP-COM-CAT-013
scenarios:
  - id: FAS-COM-CAT-03-01
    title: Audience and dated prices produce the expected buyer amount
    kind: behaviour
    exercises:
      - CAP-COM-CAT-010
      - CAP-COM-CAT-011
      - CAP-COM-CAT-012
      - CAP-COM-CAT-013
    relies_on:
      - ATS-COM-CAT-010-01
      - ATS-COM-CAT-011-02
      - ATS-COM-CAT-012-02
      - ATS-COM-CAT-013-03
    preconditions: 'An event’s schedule, built-in audiences and complete Standard and Member grids exist.'
    steps:
      - do: >-
          Quote a qualifying member at the shared period boundary, switch audience strategy and
          repeat for a buyer qualifying for multiple audiences.
        provenance: proposed
        source:
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#ATS-COM-CAT-010-01
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-02
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#ATS-COM-CAT-012-02
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-03
    expected: The selected period and audience determine the returned amount and provenance.
    negative: false
    data_needs: >-
      A run-owned workspace, named fixture products and independent caller grants; deterministic
      clock for dated cases.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#ATS-COM-CAT-010-01
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-02
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#ATS-COM-CAT-012-02
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-03
    assertions:
      - expect: The selected period and audience determine the returned amount and provenance.
        provenance: proposed
        source:
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#ATS-COM-CAT-010-01
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-02
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#ATS-COM-CAT-012-02
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-03
  - id: FAS-COM-CAT-03-02
    title: Price strategy changes the audience selected by the quote
    kind: interaction
    exercises:
      - CAP-COM-CAT-010
      - CAP-COM-CAT-012
      - CAP-COM-CAT-013
    relies_on:
      - ATS-COM-CAT-010-04
      - ATS-COM-CAT-012-02
      - ATS-COM-CAT-013-02
    preconditions: Member and Student qualify and their price cells differ.
    steps:
      - do: 'Quote under lowest, replace with rank, quote, then restore lowest and quote once more.'
        provenance: test
        source:
          - 'services-commerce:modules/pricing/tests/e2e/product-purchasing-settings.e2e.spec.js'
    expected: 'The three quotes select Student, Member and Student amounts respectively.'
    negative: false
    data_needs: >-
      A run-owned workspace, named fixture products and independent caller grants; deterministic
      clock for dated cases.
    bound_to:
      - TST-COM-CAT-065
    provenance: test
    source:
      - 'services-commerce:modules/pricing/tests/e2e/product-purchasing-settings.e2e.spec.js'
    assertions:
      - expect: 'The three quotes select Student, Member and Student amounts respectively.'
        provenance: test
        source:
          - 'services-commerce:modules/pricing/tests/e2e/product-purchasing-settings.e2e.spec.js'
  - id: FAS-COM-CAT-03-03
    title: A used period remains explainable after its current end changes
    kind: lifecycle
    exercises:
      - CAP-COM-CAT-010
      - CAP-COM-CAT-011
      - CAP-COM-CAT-012
      - CAP-COM-CAT-013
    relies_on:
      - ATS-COM-CAT-010-04
      - ATS-COM-CAT-011-03
      - ATS-COM-CAT-011-04
      - ATS-COM-CAT-013-13
    preconditions: A placed sale uses an audience price in the current Early Bird period.
    steps:
      - do: >-
          Deactivate the audience, move the period end with the next start, quote across the new
          boundary and inspect the earlier sale.
        provenance: proposed
        source:
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#ATS-COM-CAT-010-04
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-03
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-04
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-13
    expected: >-
      New quotes use the current audience and interval conditions while the earlier sale retains its
      charged amount.
    negative: true
    data_needs: >-
      A run-owned workspace, named fixture products and independent caller grants; deterministic
      clock for dated cases.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#ATS-COM-CAT-010-04
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-03
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-04
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-13
    assertions:
      - expect: >-
          New quotes use the current audience and interval conditions while the earlier sale retains
          its charged amount.
        provenance: proposed
        source:
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#ATS-COM-CAT-010-04
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-03
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-04
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-13
  - id: FAS-COM-CAT-03-04
    title: Buyer quotes cannot use staff assumptions
    kind: permission
    exercises:
      - CAP-COM-CAT-013
    relies_on:
      - ATS-COM-CAT-013-10
      - ATS-COM-CAT-013-11
    preconditions: Staff and a portal member can quote a published product with a Member price.
    steps:
      - do: >-
          Quote as staff with an assumed audience and date, request each override as the portal
          member, then request an ordinary own quote.
        provenance: test
        source:
          - 'services-commerce:modules/pricing/tests/e2e/price-quote-staff-form.e2e.spec.js'
    expected: >-
      Staff responses label their assumptions; portal overrides refuse and the ordinary member quote
      succeeds.
    negative: true
    data_needs: >-
      A run-owned workspace, named fixture products and independent caller grants; deterministic
      clock for dated cases.
    bound_to:
      - TST-COM-CAT-058
    provenance: test
    source:
      - 'services-commerce:modules/pricing/tests/e2e/price-quote-staff-form.e2e.spec.js'
    assertions:
      - expect: >-
          Staff responses label their assumptions; portal overrides refuse and the ordinary member
          quote succeeds.
        provenance: test
        source:
          - 'services-commerce:modules/pricing/tests/e2e/price-quote-staff-form.e2e.spec.js'
  - id: FAS-COM-CAT-03-05
    title: A missing audience-period cell falls back without a stale price
    kind: regression
    exercises:
      - CAP-COM-CAT-010
      - CAP-COM-CAT-011
      - CAP-COM-CAT-012
      - CAP-COM-CAT-013
    relies_on:
      - ATS-COM-CAT-011-02
      - ATS-COM-CAT-012-01
      - ATS-COM-CAT-013-03
      - ATS-COM-CAT-013-12
    preconditions: Member lacks a period cell but has an Always cell; the product grid can change after preview.
    steps:
      - do: >-
          Preview, change the Always amount, recompute for placement and then remove that audience’s
          Always cell.
        provenance: proposed
        source:
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-02
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#ATS-COM-CAT-012-01
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-03
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-12
    expected: >-
      Recomputation uses the changed amount and the missing audience amount falls back to another
      qualifying price.
    negative: false
    data_needs: >-
      A run-owned workspace, named fixture products and independent caller grants; deterministic
      clock for dated cases.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-02
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#ATS-COM-CAT-012-01
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-03
      - >-
        rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-12
    assertions:
      - expect: >-
          Recomputation uses the changed amount and the missing audience amount falls back to
          another qualifying price.
        provenance: proposed
        source:
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-011-vary-prices-over-dated-periods.md#ATS-COM-CAT-011-02
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#ATS-COM-CAT-012-01
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-03
          - >-
            rhythm-v2-docs:specs/commerce/catalog/design/tests/ATS-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#ATS-COM-CAT-013-12
evidence:
  - >-
    rhythm-v2-docs:specs/commerce/catalog/planning/capabilities/CAP-COM-CAT-010-define-the-groups-of-buyers-that-get-their-own-price.md#CAP-COM-CAT-010
  - >-
    rhythm-v2-docs:specs/commerce/catalog/planning/capabilities/CAP-COM-CAT-011-vary-prices-over-dated-periods.md#CAP-COM-CAT-011
  - >-
    rhythm-v2-docs:specs/commerce/catalog/planning/capabilities/CAP-COM-CAT-012-set-how-a-product-is-priced-and-bought.md#CAP-COM-CAT-012
  - >-
    rhythm-v2-docs:specs/commerce/catalog/planning/capabilities/CAP-COM-CAT-013-work-out-what-a-buyer-pays-for-an-item.md#CAP-COM-CAT-013
---

# Product Pricing: Feature Acceptance Suite

## What the Feature Must Do as a Whole

Audience and dated prices produce the expected buyer amount. The suite follows changes through the feature’s saved configuration, assessments and retained outcomes. It combines the detailed capability scenarios into customer-visible checks and keeps unbound chains proposed.

## Interactions Between Capabilities

Price strategy changes the audience selected by the quote. Each interaction checks both the changed input and the dependent outcome; an isolated capability result alone is insufficient. Lifecycle and permission cases revisit the same boundary after a state or authority change.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative coverage from the landed feature and capability contracts. |
