---
id: SCR-COM-FUL-002
title: Order 360 Fulfilment card
route: '/console/{tenantId}/orders/{orderId}'
surface: console
product_area: commerce
module: fulfillment
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
purpose: >-
  Explain an order’s delivery conditions, outstanding obligations and recovery
  options within Order 360.
supports:
  - JNY-COM-FUL-001
  - JNY-COM-FUL-002
  - JNY-COM-FUL-005
  - CAP-COM-FUL-005
  - CAP-COM-FUL-002
  - CAP-COM-FUL-006
permission: orders.obligations.view (commerce.obligations.read)
entry_from:
  - 'Order 360 (the Orders-owned order view, hosted by the console).'
  - 'Operations, through the finding''s order.'
exits_to:
  - Order 360's other cards.
displays:
  - field: >-
      Per obligation, its kind, subject, delivering application and gate
      sentence, including a state badge.
    source: listObligations (through the order read)
  - field: 'Authorization history including outcome, actor and time.'
    source: getObligation (first fifty obligations)
  - field: 'Attempts including outcome, time and error.'
    source: getObligation
  - field: Completion including the records made.
    source: getObligation
  - field: Enforcements including state and text.
    source: listEnforcements
actions:
  - label: Re-Authorize (failed)
    operation_id: reauthorizeObligation
    permission: orders.obligations.reauthorize
    confirm: true
  - label: Resolve (failed)
    operation_id: resolveObligation
    permission: orders.obligations.resolve
    confirm: true
  - label: Release Hold (held)
    operation_id: releaseObligationHold
    permission: orders.obligations.hold
    confirm: true
  - label: Override Gate (held or waiting on its gate)
    operation_id: overrideObligationGate
    permission: orders.obligations.override
    confirm: true
states:
  - empty
  - loading
  - error
  - read-only
validation:
  - BR-CAP-COM-FUL-005-01
  - BR-CAP-COM-FUL-005-02
  - BR-CAP-COM-FUL-005-05
  - BR-CAP-COM-FUL-005-06
  - BR-CAP-COM-FUL-005-08
  - BR-CAP-COM-FUL-005-10
patterns:
  - >-
    Record-view card on Order 360 (defineCard), configurable to collapse
    completed obligations
  - Collapsible obligation rows with tone badges
  - The shared intervention dialog with a required reason
  - Disabled buttons with the reason as their title when permission is missing
component: components/record-views/cards/order/order-fulfilment.tsx
evidence:
  - >-
    react-console at baf6dae3:
    components/record-views/cards/order/order-fulfilment.tsx;
    lib/commerce/order-flows/live.ts (obligationRoutes, OBLIGATION_DETAIL_CAP);
    lib/commerce/operations/permissions.ts (OBLIGATION_INTERVENTION_KEYS).
  - >-
    react-console at baf6dae382d6f41dce976c7f848667ccc37e076f:
    lib/api/commerce.ts:COMMERCE_LIVE; lib/config/mock-mode.ts:resolveMockMode;
    app/(console)/console/[tenantId]/orders/[orderId]/page.tsx.
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]
---

# Order 360 Fulfilment Card

## What the Screen Is For

Explain an order’s delivery conditions, outstanding obligations and recovery options within Order 360.

## What It Shows and Lets People Do

Rows show gate text, state and application, with expandable authorization and attempt history, completion and enforcements. Detailed reads are bounded to the first fifty obligations. Failed rows offer re-authorization or resolution; waiting or held rows offer the built recovery actions.

## States and Errors

Live mode uses the Commerce service by default. Explicit mock or preview mode uses sample adapters where deployment settings permit it; customer production deployments refuse mock mode.

Empty and failed reads use the card’s built states. Action buttons disable when the individual permission is absent. Approval, placing a hold and manual completion have no controls on this card.

## Patterns It Must Respect

Keep the registered record-view card, collapsible rows, status badges and shared reason dialog. Completed rows can start collapsed according to the card configuration.
