# 阿维塔承保审核规则

## 当前材料规则

- 阿维塔承保审核不再传身份证正反面图片。
- 身份信息主要来自商业险/车损险保单。
- 身份证号不是必填审核项；保单里有才校验。

## 核心校验

1. 商业险保单号
   - OCR 必须识别到 `policyNo`。
   - 如果订单已填写 `commercialInsuranceNo`，应与 OCR `policyNo` 一致。
   - 如果 OCR 保单号与订单保单号长度一致，且差异仅为 `O` / `Q` / `0` 常见混淆，纠正后与订单保单号完全一致时，通过保单号校验，并记录 `correctionRule=POLICY_O_Q_0_CONFUSION`。
   - 其他不一致时进入人工复核，并标记需要多模态复核保单原图。

2. VIN
   - OCR 必须识别到 `vin`。
   - OCR `vin` 必须与订单 `vin` 一致。
   - VIN 完全不一致时判定高风险并驳回。
   - 阿维塔部分车型 VIN 中的 `TA60` 可能被 OCR 识别成 `TA06`；仅当订单 VIN 包含 `TA60`、OCR VIN 包含 `TA06`，且将 OCR VIN 的 `TA06` 修正为 `TA60` 后与订单 VIN 完全一致时，视为已知 OCR 误识别并通过 VIN 校验。
   - 如果订单 VIN 与 OCR VIN 均为 17 位，且仅 1 位不同，或仅存在相邻字符互换，优先判定为疑似 OCR 识别错误，进入人工复核，不直接驳回。
   - 疑似 OCR 识别错误时标记需要多模态复核保单原图。

3. 姓名
   - 从被保险人、车主、投保人等候选中匹配订单 `ownerName`。
   - 任一候选一致即可通过姓名核验。
   - 没有姓名或全部不一致时进入人工复核。

4. 证件号
   - 有完整证件号且订单有 `idCard` 时，必须一致。
   - 证件号脱敏时，只比对可见位；无法确认时人工复核。
   - 保单无证件号时不驳回。

5. 车损险
   - 能识别“机动车损失保险、车辆损失保险、车损险”时通过。
   - 无法确认车损险时人工复核。

6. 使用性质
   - OCR 必须输出 `usageNature`。
   - `usageNature` 为“家庭自用汽车”“家庭自用”“非营业”或“非营运”时通过。
   - “非营业”“非营运”表示非营运用途，不作为拒单原因。
   - 识别到营运、营业、出租、租赁、网约、预约出租、客运、货运等营运类性质时驳回。
   - 其他非家庭自用汽车性质也不符合承保要求。

7. 保险期间与购买时间
   - OCR 必须输出 `startDate` / `endDate`。
   - 订单购买时间字段可来自 `purchaseTime`、`purchaseDate`、`buyTime`、`buyDate`、`commercialInsuranceDate`、`orderTime`、`createTime`。
   - 如果订单提供购买时间范围，支持 `purchaseStartDate` / `purchaseEndDate`、`purchaseStartTime` / `purchaseEndTime`、`buyStartDate` / `buyEndDate`、`buyStartTime` / `buyEndTime` 等字段。
   - 购买时间或购买时间范围必须在保单保险期间内，否则驳回。
   - 缺少购买时间、保险起期或保险止期时进入人工复核。

## OCR 纠错与多模态复核

- 自动纠错必须满足“纠错后与订单字段完全一致”，否则不得直接通过。
- `fieldChecks` 中应保留 `correctedValue` 和 `correctionRule`，用于追溯纠错依据。
- 以下情况应标记 `needsMultimodalReview=true`：
  - 保单号缺失或与订单保单号不一致且无法用 `O/Q/0` 纠错。
  - VIN 缺失或存在非白名单轻微差异。
  - 使用性质缺失。
  - 保险起止日期缺失。
- 多模态模型只负责复核保单原图并抽取字段，不直接给出最终通过/拒绝结论；最终仍由本规则判断。

## 产品材料

- `cxwy`、`cxwypro`、`pqxf`: 必须有商业险保单附件。
- `ltwy`: 必须有四轮 DOT 附件。
- `yb`: 必须填写原厂整车质保期。

## 状态

- 阿维塔子单进入审核通常为 `CONFIRMED`。
- 主订单进入审核通常为 `WAITEXAMINE`。
- 状态缺失不直接驳回，但需要人工确认链路。
