# Fix Charge

## 适用业务

Fix Charge 是 New Booking 或 Update Booking 的附加收费维护事项。它不是独立业务事件。

## 触发

只有当前证据包含可分离的复合单价或附加费组件时才识别，例如：

- `2000THB+500`
- `1800THB+500`
- `2000THB*2` 后接 `+附加500*2`

不得仅因普通房型或普通价格存在就触发。

## 解析

- `+` 前组件用于 Rate Code / settlement price。
- `+` 后组件是 additional fee candidate。
- 不得把 `2000+500` 合成 `2500` 判断 Rate Code。
- 不得自行计算 quantity 或 total amount。

## 输出字段

```json
{
  "fix_charge_required": true,
  "fix_charge_items": [
    {
      "charge_type": "fixed_charge",
      "amount": null,
      "currency": null,
      "pricing_mode": "unit",
      "unit_basis": null,
      "quantity": null,
      "total_amount": null,
      "raw_text": "",
      "evidence_source": "",
      "requires_followup_tool": true,
      "followup_tool_name": "create_or_update_fix_charge / TBD"
    }
  ],
  "additional_operations": [
    {
      "operation_type": "create_or_update_fix_charge",
      "status": "pending_target_id"
    }
  ]
}
```

## New Booking

New Booking 的 Fix Charge 操作必须等 reservation/group/block 目标存在后再执行。

## Update Booking

Update Booking 场景必须确认 current action 是 add、update 还是 cancel Fix Charge。目标或动作不清时人工复核。

## 人工复核

- 无法分离 base room price 与 additional fee。
- additional fee amount 不可读。
- 多个价格组件无法归属。
- Update action 未说明 add/update/cancel。
- 目标订单不清或系统上下文阻塞。
