{
  "schema_version": "2.0",
  "rule_code": "risk.travel.high.city_mismatch",
  "name": "差旅目的地与票据城市不一致高风险",
  "description": "交通票、住宿票识别出的城市与申报目的地或明细地点不一致，且事由未说明绕行、多地拜访或改签原因。",
  "enabled": true,
  "requires_attachment": true,
  "risk_dimension": "travel_reimbursement_control",
  "risk_category": "差旅费-行程一致性",
  "ontology_signal": "travel_city_mismatch",
  "evaluator": "template_rule",
  "finance_rule_code": "rule.expense.company_travel_expense_reimbursement",
  "finance_rule_sheet": "公司差旅费报销规则",
  "business_stage": [
    "expense_application",
    "reimbursement"
  ],
  "expense_types": [
    "travel"
  ],
  "applies_to": {
    "domains": [
      "expense",
      "travel"
    ],
    "expense_types": [
      "travel"
    ],
    "business_stages": [
      "expense_application",
      "reimbursement"
    ]
  },
  "inputs": {
    "fields": [
      {
        "key": "claim.location",
        "label": "申报地点",
        "type": "text",
        "source": "claim"
      },
      {
        "key": "item.item_location",
        "label": "明细发生地点",
        "type": "text",
        "source": "item"
      },
      {
        "key": "employee.location",
        "label": "员工常驻地",
        "type": "text",
        "source": "employee"
      },
      {
        "key": "attachment.route_cities",
        "label": "交通票行程城市",
        "type": "list",
        "source": "attachment"
      },
      {
        "key": "attachment.hotel_city",
        "label": "住宿城市",
        "type": "text",
        "source": "attachment"
      },
      {
        "key": "claim.reason",
        "label": "报销/申请事由",
        "type": "text",
        "source": "claim"
      },
      {
        "key": "item.item_reason",
        "label": "明细说明",
        "type": "text",
        "source": "item"
      }
    ]
  },
  "params": {
    "template_key": "field_compare_v1",
    "semantic_type": "travel_route_city_consistency",
    "field_keys": [
      "claim.location",
      "item.item_location",
      "employee.location",
      "attachment.route_cities",
      "attachment.hotel_city",
      "claim.reason",
      "item.item_reason"
    ],
    "reference_city_fields": [
      "claim.location",
      "item.item_location"
    ],
    "attachment_city_fields": [
      "attachment.route_cities",
      "attachment.hotel_city"
    ],
    "home_city_fields": [
      "employee.location"
    ],
    "exception_fields": [
      "claim.reason",
      "item.item_reason"
    ],
    "exception_keywords": [
      "中转",
      "改签",
      "绕行",
      "多地",
      "临时变更",
      "客户拜访",
      "项目现场"
    ],
    "condition_summary": "票据城市未覆盖申报目的地，或路线出现常驻地/目的地以外城市且无合理说明。",
    "message_template": "差旅票据城市与申报目的地不一致，请补充多地出差、改签或异地住宿说明。"
  },
  "outcomes": {
    "pass": {
      "severity": "none",
      "action": "continue"
    },
    "fail": {
      "severity": "high",
      "action": "block",
      "risk_score": 90
    }
  },
  "metadata": {
    "owner": "admin",
    "stability": "admin_configured",
    "source_ref": "差旅费报销风险规则库 / admin 手工配置",
    "created_at": "2026-05-26T07:06:27.746703+00:00",
    "created_by": "admin",
    "risk_score": 90,
    "risk_level": "high",
    "rule_title": "差旅目的地与票据城市不一致高风险",
    "finance_rule_code": "rule.expense.company_travel_expense_reimbursement",
    "finance_rule_sheet": "公司差旅费报销规则",
    "business_stage": [
      "expense_application",
      "reimbursement"
    ],
    "expense_types": [
      "travel"
    ],
    "implementation_note": "使用当前规则中心 JSON 风险规则执行器可识别的字段与模板配置。",
    "risk_level_label": "高风险",
    "risk_score_model": "risk_score_v3",
    "risk_score_detail": {
      "score": 90,
      "level": "high",
      "level_label": "高风险",
      "model": "risk_score_v3",
      "source": "admin_manual_travel_risk_catalog",
      "reason": "按差旅费报销高/中/低风险分层手工设定。"
    }
  },
  "severity": "high",
  "risk_score": 90,
  "risk_level": "high",
  "template_key": "field_compare_v1",
  "risk_level_label": "高风险",
  "risk_score_detail": {
    "score": 90,
    "level": "high",
    "level_label": "高风险",
    "model": "risk_score_v3",
    "source": "admin_manual_travel_risk_catalog",
    "reason": "按差旅费报销高/中/低风险分层手工设定。"
  }
}
