---
id: JNY-COM-CAT-006
title: A member accepts a contextual cart suggestion
feature: FEAT-COM-CAT-05
product_area: commerce
module: catalog
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes: []
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
actor: ACT-COM-005
goal: Add a relevant suggested item and retain its conversion reference.
capabilities:
  - CAP-COM-CAT-019
  - CAP-COM-CAT-020
screens: []
steps:
  - 'n': 1
    surface: activateRecommendationRule
    action: Activate the rule bound to the cart placement
    capability: CAP-COM-CAT-019
    expected: The active rule becomes available for cart evaluation
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/recommendation-rules.e2e.spec.js#moves
      through active, paused, active, ended, archived
  - 'n': 2
    surface: evaluateOffers
    action: Evaluate suggestions for the member’s t-shirt cart
    capability: CAP-COM-CAT-020
    expected: >-
      A twelve-dollar mug presentation returns with a fifteen-minute response
      expiry
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/offers.e2e.spec.js#answers
      one offer: the mug, from the listing, priced $12.00 by the quote, live, to
      add to the checkout, expiring with the quote
  - 'n': 3
    surface: acceptOffer
    action: Accept the mug presentation
    capability: CAP-COM-CAT-020
    expected: Checkout gains the mug with its offer reference
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/offers.e2e.spec.js#adds
      the mug to the checkout with the offer on the item when accepted
  - 'n': 4
    surface: getRecommendationRulePerformance
    action: Inspect performance after order acceptance
    capability: CAP-COM-CAT-019
    expected: 'The report associates one shown, accepted and converted twelve-dollar line'
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/offers.e2e.spec.js#shows
      one shown, one accepted and one converted line worth $12.00 on the rule’s
      performance once the order is accepted
alternates:
  - from_step: 2
    condition: A recent mug dismissal remains within the suppression interval
    path: Evaluation excludes the dismissed candidate
    outcome: The default dismissal interval suppresses repetition
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/offers.e2e.spec.js#offers
      nothing inside the dismissal window
failures:
  - from_step: 3
    condition: First response occurs after the presentation expires
    path: The acceptance fails validation identifying when the offer expired
    outcome: The checkout receives no new item
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/offers.e2e.spec.js#is
      refused 409 offer_expired, naming when it expired
rules_in_play:
  - BR-CAP-COM-CAT-019-05
  - BR-CAP-COM-CAT-020-01
  - BR-CAP-COM-CAT-020-02
  - BR-CAP-COM-CAT-020-03
  - BR-CAP-COM-CAT-020-04
assertions:
  - id: AS-JNY-COM-CAT-006-01
    statement: >-
      Activation requires an appropriate placement binding before offers can be
      produced.
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/recommendation-rules.e2e.spec.js#refuses
      to activate a rule bound to no placement, 409 no_placement
  - id: AS-JNY-COM-CAT-006-02
    statement: >-
      Repeated acceptance does not add another item and subsequent evaluation
      suppresses the accepted candidate.
    provenance: test
    source: >-
      services-commerce:modules/recommendations/tests/e2e/offers.e2e.spec.js#offers
      nothing a second time: the mug is in the checkout and was accepted
e2e_policy: none
e2e_reason: >-
  Recommendation surfaces and approved scope remain absent; current journey
  evidence comes from the API tests.
evidence:
  - 'Pinned service inputs: recommendations end-to-end tests'
---

# A member accepts a contextual cart suggestion

## Story

An administrator activates a placement-bound related-product rule through the API. The member’s cart supplies the context for a priced mug offer. Acceptance adds the candidate through checkout and retains the offer reference. When the order is accepted, performance can associate the converted line with its rule. This is an API-supported journey without a pinned live portal screen, and the offer expiry does not establish a price guarantee.
