# 已要求物流方取消，出貨是否真的停了？

發出要求與接納、拒絕及未回覆分開，不能發了便當工作已停。

## 要求與已確認工作結果不同

本例 F1 工作已由外部服務接納，C1 要求對方取消。本地約定下，取消獲接納才記工作 cancelled，拒絕則 active，未回覆便未知。此處假設已對準回覆屬 C1；事件驗證、先後及重送另有教材。

已填要求與工作狀態時序

| 階段 | 依據 | 要求狀態 | 工作狀態 |
| --- | --- | --- | --- |
| 已發要求 | C1; no answer | 待回覆 | 未知 |
| 回覆接納 | C1 / accepted | 已接納 | 按本例已取消 |
| 回覆拒絕 | C1 / rejected | 已拒絕 | 仍進行 |

## 依真正外部回覆記結果

原例沒有回覆，C1 待回，現工作狀態未知。「要求已發」不證明貨已截停、取回或退款。接納與拒絕是兩個不同替代個案，不是兩件先後都發生的事件。

1. 保留出貨及要求編號
2. 等已對準回覆
3. 記接納或拒絕
4. 未解工作仍可見

不能因本地畫面更新便再發正式取消要求。

C1 被拒絕，要求與工作各是甚麼狀態？

要求已拒絕，按本例工作仍 active，沒有已確認取消。

## 整合前先訂交接依據

完整素材含待回、接納、拒絕三種替代個案。真正整合要訂對準編號及權威現況，內部工作如何收尾仍用現有訂單取消教材。

回覆只接受 accepted、rejected 或 null，出貨及要求編號須非空。回覆須先對準今次要求，這個模型不負責核身分。回覆值不支援或編號格式錯便拒絕，不當作已停貨。本頁不發要求、不買標籤、不退款，也不判取消權利。

本地時序可交代整合需求，但不聲稱外部服務必定有能力停工。

## 完整本地記錄與逐項結果

```json
{
  "issuer": "Astera Technology",
  "resource": "ops-fulfillment-cancellation-request-state",
  "locale": "zh-HK",
  "contract": "本例 F1 工作已由外部服務接納，C1 要求對方取消。本地約定下，取消獲接納才記工作 cancelled，拒絕則 active，未回覆便未知。此處假設已對準回覆屬 C1；事件驗證、先後及重送另有教材。",
  "input": {
    "fulfillment": "F1",
    "request": "C1",
    "answer": null
  },
  "output": {
    "ok": true,
    "state": "unknown",
    "result": {
      "fulfillment": "F1",
      "request": "C1",
      "requestState": "pending",
      "workState": "unknown"
    },
    "trace": [
      {
        "id": "C1",
        "decision": "await-answer"
      }
    ]
  },
  "verificationCases": [
    {
      "name": "baseline",
      "input": {
        "fulfillment": "F1",
        "request": "C1",
        "answer": null
      },
      "expected": {
        "ok": true,
        "state": "unknown",
        "result": {
          "fulfillment": "F1",
          "request": "C1",
          "requestState": "pending",
          "workState": "unknown"
        }
      }
    },
    {
      "name": "material-edit",
      "input": {
        "fulfillment": "F1",
        "request": "C1",
        "answer": "accepted"
      },
      "expected": {
        "ok": true,
        "state": "complete",
        "result": {
          "fulfillment": "F1",
          "request": "C1",
          "requestState": "accepted",
          "workState": "cancelled"
        }
      }
    },
    {
      "name": "fresh-boundary",
      "input": {
        "fulfillment": "F1",
        "request": "C1",
        "answer": "rejected"
      },
      "expected": {
        "ok": true,
        "state": "complete",
        "result": {
          "fulfillment": "F1",
          "request": "C1",
          "requestState": "rejected",
          "workState": "active"
        }
      }
    }
  ],
  "meaningOfNull": "該欄位未知或沒有已建立的值；請按逐項結果判斷。",
  "businessSideEffects": false
}
```
