{
  "swagger": "2.0",
  "info": {
    "title": "保险服务",
    "version": "1.0.0"
  },
  "basePath": "/",
  "paths": {
    "/admin/insurance/balance": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "查询保游网账户余额",
        "description": "查询保游网平台的账户余额，用于管理端展示当前可用投保额度。查询失败时返回null（非关键信息，不影响业务）。\n\n**权限**：需管理员登录。",
        "operationId": "getBalanceUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«JsonNode»",
              "$ref": "#/definitions/统一响应结果«JsonNode»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«JsonNode»",
              "$ref": "#/definitions/统一响应结果«JsonNode»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/cancel/{id}": {
      "post": {
        "tags": [
          "保险管理"
        ],
        "summary": "退保",
        "description": "对单个保险订单发起退保，调用保游网退保API。退保成功后保险状态变为CANCELLED。\n\n**权限**：需管理员登录。\n**注意**：已生效的保单退保可能产生手续费。\n\n**关联字典**：\n- insurance_status：保险状态（状态流转）",
        "operationId": "cancelUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "保险订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险订单VO»",
              "$ref": "#/definitions/统一响应结果«保险订单VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险订单VO»",
              "$ref": "#/definitions/统一响应结果«保险订单VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/coverage/{orderId}": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "查询订单保险保障(含被保人详情)",
        "description": "返回订单维度的保险保障汇总信息，包含覆盖人数、保障期间、每位被保人的保单明细。用于订单详情页的保险保障展示。\n\n**权限**：需管理员登录。\n\n**关联字典**：\n- insurance_status：保险状态（显示）\n- gender：性别（被保人信息显示）\n- id_card_type：证件类型（被保人信息显示）",
        "operationId": "getCoverageUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "旅行订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«订单保险保障VO»",
              "$ref": "#/definitions/统一响应结果«订单保险保障VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«订单保险保障VO»",
              "$ref": "#/definitions/统一响应结果«订单保险保障VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/entities": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "投保公司主体列表",
        "description": "返回系统配置的投保公司主体列表（来自Nacos配置），投保下单时选择以哪个公司主体投保。每个主体包含编码、公司名称和商户ID。\n\n**权限**：需管理员登录。",
        "operationId": "listEntitiesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«Map«string,string»»»",
              "$ref": "#/definitions/统一响应结果«List«Map«string,string»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«Map«string,string»»»",
              "$ref": "#/definitions/统一响应结果«List«Map«string,string»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/orders": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "保险订单列表",
        "description": "**关联字典**：\n- insurance_status：保险状态（列表筛选+显示）",
        "operationId": "listOrdersUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "query",
            "description": "关联旅行订单ID",
            "required": false,
            "type": "integer",
            "format": "int64",
            "x-example": 2026270000000000001
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码",
            "required": false,
            "type": "integer",
            "format": "int32",
            "x-example": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "每页条数",
            "required": false,
            "type": "integer",
            "format": "int32",
            "x-example": 20
          },
          {
            "name": "status",
            "in": "query",
            "description": "订单状态: PENDING-待出单, INSURED-已承保, CANCELLED-已退保, FAILED-投保失败",
            "required": false,
            "type": "string",
            "x-example": "INSURED"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«分页结果«保险订单VO»»",
              "$ref": "#/definitions/统一响应结果«分页结果«保险订单VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«分页结果«保险订单VO»»",
              "$ref": "#/definitions/统一响应结果«分页结果«保险订单VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/orders/by-order/{orderId}": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "按旅行订单查询保险单",
        "description": "根据旅行订单ID查询关联的所有保险订单列表。在订单详情页展示保险购买情况。\n\n**权限**：需管理员登录。\n\n**关联字典**：\n- insurance_status：保险状态（列表显示）",
        "operationId": "getByOrderUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "旅行订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险订单VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险订单VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险订单VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险订单VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/orders/{id}": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "保险订单详情(含被保人)",
        "description": "**关联字典**：\n- insurance_status：保险状态（显示）\n- gender：性别（被保人信息显示）\n- id_card_type：证件类型（被保人信息显示）",
        "operationId": "getOrderDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "保险订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险订单详情VO»",
              "$ref": "#/definitions/统一响应结果«保险订单详情VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险订单详情VO»",
              "$ref": "#/definitions/统一响应结果«保险订单详情VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/policy/{id}/download": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "下载保单PDF(Base64)",
        "description": "从保游网下载指定保险订单的电子保单PDF，以Base64编码返回。前端可解码后展示或提供下载。\n\n**权限**：需管理员登录。",
        "operationId": "downloadPolicyUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "保险订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«string»",
              "$ref": "#/definitions/统一响应结果«string»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«string»",
              "$ref": "#/definitions/统一响应结果«string»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/products": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "保险产品列表",
        "description": "分页查询已同步的保险产品，支持按是否境外筛选。产品数据来源于保游网同步。\n\n**权限**：需管理员登录。",
        "operationId": "listProductsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "isOverseas",
            "in": "query",
            "description": "是否境外",
            "required": false,
            "type": "boolean",
            "allowEmptyValue": false
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码",
            "required": false,
            "type": "integer",
            "default": 1,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "每页条数",
            "required": false,
            "type": "integer",
            "default": 20,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«分页结果«保险产品VO»»",
              "$ref": "#/definitions/统一响应结果«分页结果«保险产品VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«分页结果«保险产品VO»»",
              "$ref": "#/definitions/统一响应结果«分页结果«保险产品VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/products/{id}": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "保险产品详情",
        "description": "返回保险产品完整信息，包含产品名称、保险公司、保障范围、适用地区等。\n\n**权限**：需管理员登录。",
        "operationId": "getProductUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "保险产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险产品VO»",
              "$ref": "#/definitions/统一响应结果«保险产品VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险产品VO»",
              "$ref": "#/definitions/统一响应结果«保险产品VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/products/{id}/plans": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "保险产品计划及费率",
        "description": "返回指定保险产品的所有投保计划及对应费率表，包含不同天数区间的保费价格。投保下单前需选择具体计划。\n\n**权限**：需管理员登录。",
        "operationId": "getProductPlansUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "保险产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险计划VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险计划VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险计划VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险计划VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/purchase": {
      "post": {
        "tags": [
          "保险管理"
        ],
        "summary": "投保下单(每人独立保单)",
        "description": "**关联字典**：\n- gender：性别（被保人信息）\n- id_card_type：证件类型（被保人信息）",
        "operationId": "purchaseUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "投保请求",
            "required": false,
            "schema": {
              "originalRef": "投保请求",
              "$ref": "#/definitions/投保请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险订单详情VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险订单详情VO»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险订单详情VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险订单详情VO»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/recharge": {
      "post": {
        "tags": [
          "保险管理"
        ],
        "summary": "在线充值(调用保游网支付API)",
        "description": "调用保游网在线充值API，生成充值支付链接。支持选择支付方式（支付宝/微信），充值完成后账户余额自动更新。\n\n**权限**：需管理员登录。",
        "operationId": "rechargeUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "充值请求",
            "required": false,
            "schema": {
              "originalRef": "充值请求",
              "$ref": "#/definitions/充值请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«Map«string,object»»",
              "$ref": "#/definitions/统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«Map«string,object»»",
              "$ref": "#/definitions/统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/recharge-url": {
      "get": {
        "tags": [
          "保险管理"
        ],
        "summary": "获取保游网充值链接(旧接口,保留兼容)",
        "description": "返回保游网平台的充值页面URL。此为旧版接口，保留用于向后兼容，推荐使用在线充值接口。\n\n**权限**：需管理员登录。",
        "operationId": "getRechargeUrlUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«string»",
              "$ref": "#/definitions/统一响应结果«string»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«string»",
              "$ref": "#/definitions/统一响应结果«string»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/scheme": {
      "post": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "创建方案",
        "description": "创建保险方案模板，配置关联保险产品、投保天数规则和费率。创建后默认启用。\n\n**权限**：需管理员登录。",
        "operationId": "createSchemeUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "方案请求",
            "required": false,
            "schema": {
              "originalRef": "保险方案模板请求",
              "$ref": "#/definitions/保险方案模板请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/scheme/list": {
      "get": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "活跃方案列表(下拉选择用)",
        "description": "返回所有状态为启用的保险方案模板，用于投保下单时的方案下拉选择。\n\n**权限**：需管理员登录。",
        "operationId": "listActiveSchemesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险方案模板VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险方案模板VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/scheme/list-all": {
      "get": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "全部方案列表(管理用)",
        "description": "返回所有保险方案模板（含启用和停用），用于方案管理页面展示和编辑。\n\n**权限**：需管理员登录。",
        "operationId": "listAllSchemesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险方案模板VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«List«保险方案模板VO»»",
              "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/scheme/preview-apply": {
      "post": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "预览应用方案(解析日期+估算保费)",
        "description": "根据方案模板和行程日期预览投保效果：解析实际投保起止日期、计算每人保费和总保费。用于投保前确认费用。\n\n**权限**：需管理员登录。",
        "operationId": "previewApplyUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "预览请求",
            "required": false,
            "schema": {
              "originalRef": "应用方案预览请求",
              "$ref": "#/definitions/应用方案预览请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«方案应用预览VO»",
              "$ref": "#/definitions/统一响应结果«方案应用预览VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«方案应用预览VO»",
              "$ref": "#/definitions/统一响应结果«方案应用预览VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/scheme/{id}": {
      "get": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "方案详情",
        "description": "返回单个保险方案模板的完整信息，包含方案名称、保险产品关联、天数规则、费率配置等。\n\n**权限**：需管理员登录。",
        "operationId": "getSchemeDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "方案ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "put": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "更新方案",
        "description": "更新保险方案模板的配置信息，包括方案名称、关联产品、天数规则、费率等。\n\n**权限**：需管理员登录。",
        "operationId": "updateSchemeUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "方案ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "request",
            "description": "方案请求",
            "required": false,
            "schema": {
              "originalRef": "保险方案模板请求",
              "$ref": "#/definitions/保险方案模板请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "delete": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "删除方案(软删除)",
        "description": "软删除保险方案模板。已使用该方案创建的保险订单不受影响。\n\n**权限**：需管理员登录。",
        "operationId": "deleteSchemeUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "方案ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«Void»",
              "$ref": "#/definitions/统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«Void»",
              "$ref": "#/definitions/统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/scheme/{id}/toggle-status": {
      "put": {
        "tags": [
          "保险方案模板"
        ],
        "summary": "切换方案状态(启用/停用)",
        "description": "切换保险方案模板的启用/停用状态。停用后不会出现在投保下单的方案选择列表中。\n\n**权限**：需管理员登录。\n\n**关联字典**：\n- common_status：通用状态（ACTIVE=启用/INACTIVE=停用）",
        "operationId": "toggleStatusUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "方案ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保险方案模板VO»",
              "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/share-policy": {
      "post": {
        "tags": [
          "保险管理"
        ],
        "summary": "分享保单(合并某出行人所有有效保单PDF,上传OSS返回链接)",
        "description": "合并指定出行人的所有有效保单PDF为一个文件，上传至OSS后返回公开访问链接。用于管理端分享保单给出行人。\n\n**权限**：需管理员登录。",
        "operationId": "sharePolicyUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "分享保单请求",
            "required": false,
            "schema": {
              "originalRef": "保单分享请求",
              "$ref": "#/definitions/保单分享请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保单分享结果»",
              "$ref": "#/definitions/统一响应结果«保单分享结果»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«保单分享结果»",
              "$ref": "#/definitions/统一响应结果«保单分享结果»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/sync-products": {
      "post": {
        "tags": [
          "保险管理"
        ],
        "summary": "从保游网同步产品数据",
        "description": "手动触发从保游网API拉取最新保险产品数据（含计划和费率），同步到本地数据库。返回同步的产品数量。\n\n**权限**：需管理员登录。",
        "operationId": "syncProductsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«int»",
              "$ref": "#/definitions/统一响应结果«int»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«int»",
              "$ref": "#/definitions/统一响应结果«int»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/admin/insurance/trial-price": {
      "post": {
        "tags": [
          "保险管理"
        ],
        "summary": "保费试算(本地费率)",
        "description": "根据保险计划、投保天数和人数，使用本地同步的费率表试算保费。不调用保游网API，用于投保前的费用预估。\n\n**权限**：需管理员登录。",
        "operationId": "trialPriceUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "试算请求",
            "required": false,
            "schema": {
              "originalRef": "保费试算请求",
              "$ref": "#/definitions/保费试算请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«Map«string,object»»",
              "$ref": "#/definitions/统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "originalRef": "统一响应结果«Map«string,object»»",
              "$ref": "#/definitions/统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    }
  },
  "definitions": {
    "JsonNode": {
      "type": "object",
      "title": "JsonNode"
    },
    "Map«string,string»": {
      "type": "object",
      "title": "Map«string,string»",
      "additionalProperties": {
        "type": "string"
      }
    },
    "保单分享结果": {
      "type": "object",
      "properties": {
        "failedCount": {
          "type": "integer",
          "format": "int32",
          "description": "下载失败的保单数量（已跳过）"
        },
        "pdfBase64": {
          "type": "string",
          "description": "合并后的PDF（Base64编码）"
        },
        "personName": {
          "type": "string",
          "description": "被保人姓名"
        },
        "policyCount": {
          "type": "integer",
          "format": "int32",
          "description": "包含的保单数量"
        }
      },
      "title": "保单分享结果"
    },
    "保单分享请求": {
      "type": "object",
      "required": [
        "insuredIdCardNo",
        "insuredName",
        "orderId"
      ],
      "properties": {
        "insuredIdCardNo": {
          "type": "string",
          "description": "被保人证件号码"
        },
        "insuredName": {
          "type": "string",
          "description": "被保人姓名"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "description": "旅游订单ID"
        }
      },
      "title": "保单分享请求"
    },
    "保费试算请求": {
      "type": "object",
      "required": [
        "endDate",
        "insuredCount",
        "planId",
        "startDate"
      ],
      "properties": {
        "endDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-05",
          "description": "保障结束日期"
        },
        "insuredCount": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "被保人数量"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-01",
          "description": "保障开始日期"
        }
      },
      "title": "保费试算请求"
    },
    "保险产品VO": {
      "type": "object",
      "properties": {
        "companyName": {
          "type": "string",
          "example": "中国平安",
          "description": "保险公司名称"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "同步时间"
        },
        "extProductGuid": {
          "type": "string",
          "example": "4810725b34654e1e88a7509e5b241c3a",
          "description": "保游网产品GUID"
        },
        "isOverseas": {
          "type": "boolean",
          "example": false,
          "description": "是否境外产品"
        },
        "maxAge": {
          "type": "integer",
          "format": "int32",
          "example": 85,
          "description": "最大投保年龄"
        },
        "maxDays": {
          "type": "integer",
          "format": "int32",
          "example": 365,
          "description": "最长保障天数"
        },
        "minAge": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "最小投保年龄"
        },
        "minDays": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "最短保障天数"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "保险产品ID"
        },
        "productName": {
          "type": "string",
          "example": "畅游神州境内游（旅行社专享）",
          "description": "产品名称"
        },
        "productType": {
          "type": "string",
          "description": "产品类型"
        },
        "status": {
          "type": "string",
          "example": "ACTIVE",
          "description": "产品状态: ACTIVE-已上架, INACTIVE-已下架"
        }
      },
      "title": "保险产品VO"
    },
    "保险方案模板VO": {
      "type": "object",
      "properties": {
        "adminId": {
          "type": "integer",
          "format": "int64",
          "example": 100,
          "description": "创建人ID"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "description": {
          "type": "string",
          "example": "适用于7日国内行程",
          "description": "方案描述"
        },
        "isOverseas": {
          "type": "boolean",
          "example": false,
          "description": "是否境外"
        },
        "name": {
          "type": "string",
          "example": "7日标准方案",
          "description": "方案名称"
        },
        "schemeId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856500,
          "description": "方案ID"
        },
        "segmentCount": {
          "type": "integer",
          "format": "int32",
          "example": 2,
          "description": "段数量"
        },
        "segments": {
          "type": "array",
          "description": "方案段列表",
          "items": {
            "originalRef": "保险方案段VO",
            "$ref": "#/definitions/保险方案段VO"
          }
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "排序序号"
        },
        "status": {
          "type": "string",
          "example": "ACTIVE",
          "description": "状态: ACTIVE-启用, INACTIVE-停用"
        }
      },
      "title": "保险方案模板VO"
    },
    "保险方案模板请求": {
      "type": "object",
      "required": [
        "isOverseas",
        "name",
        "segments"
      ],
      "properties": {
        "description": {
          "type": "string",
          "example": "适用于7日国内行程，含前段境内险和后段高原险",
          "description": "方案描述"
        },
        "isOverseas": {
          "type": "boolean",
          "example": false,
          "description": "是否境外: false=境内, true=境外"
        },
        "name": {
          "type": "string",
          "example": "7日标准方案",
          "description": "方案名称"
        },
        "segments": {
          "type": "array",
          "description": "保险段列表",
          "items": {
            "originalRef": "保险方案段",
            "$ref": "#/definitions/保险方案段"
          }
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "排序序号（越小越靠前）"
        }
      },
      "title": "保险方案模板请求"
    },
    "保险方案段": {
      "type": "object",
      "required": [
        "dayOffsetEnd",
        "dayOffsetStart",
        "planId",
        "productId"
      ],
      "properties": {
        "dayOffsetEnd": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "相对结束天(1-based, -1=行程最后一天)"
        },
        "dayOffsetStart": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "相对起始天(1-based, 1=出发日)"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "保险产品ID"
        },
        "segmentName": {
          "type": "string",
          "example": "前段-境内险",
          "description": "段名称"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "段排序序号"
        }
      },
      "title": "保险方案段"
    },
    "保险方案段VO": {
      "type": "object",
      "properties": {
        "dayOffsetEnd": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "相对结束天(-1=最后一天)"
        },
        "dayOffsetStart": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "相对起始天"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "planName": {
          "type": "string",
          "example": "经济版",
          "description": "保险计划名称"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "保险产品ID"
        },
        "productName": {
          "type": "string",
          "example": "畅游神州境内游（旅行社专享）",
          "description": "保险产品名称"
        },
        "segmentId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856510,
          "description": "段ID"
        },
        "segmentName": {
          "type": "string",
          "example": "前段-境内险",
          "description": "段名称"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "段排序序号"
        }
      },
      "title": "保险方案段VO"
    },
    "保险计划VO": {
      "type": "object",
      "properties": {
        "extPlanGuid": {
          "type": "string",
          "example": "abc123",
          "description": "保游网计划GUID"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "计划ID"
        },
        "planName": {
          "type": "string",
          "example": "经济版",
          "description": "计划名称"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "所属产品ID"
        },
        "rates": {
          "type": "array",
          "description": "费率列表",
          "items": {
            "originalRef": "保险费率VO",
            "$ref": "#/definitions/保险费率VO"
          }
        },
        "securityList": {
          "type": "string",
          "example": "<table>...</table>",
          "description": "保障内容(HTML)"
        }
      },
      "title": "保险计划VO"
    },
    "保险订单VO": {
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "endDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-05",
          "description": "保障结束日期"
        },
        "entityCode": {
          "type": "string",
          "example": "hulai",
          "description": "投保公司主体编码"
        },
        "extOrderNo": {
          "type": "string",
          "example": "BYW202602250001",
          "description": "保游网订单号"
        },
        "extPolicyNo": {
          "type": "string",
          "example": "P202602250001",
          "description": "保单号"
        },
        "insuranceOrderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856400,
          "description": "保险订单ID"
        },
        "insuredCount": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "被保人数量"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026270000000000001,
          "description": "关联旅行订单ID"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "planName": {
          "type": "string",
          "example": "经济版",
          "description": "保险计划名称"
        },
        "policyHolderName": {
          "type": "string",
          "example": "内蒙古呼籁国际旅行社有限公司",
          "description": "投保人姓名(公司名称)"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "保险产品ID"
        },
        "productName": {
          "type": "string",
          "example": "畅游神州境内游（旅行社专享）",
          "description": "保险产品名称"
        },
        "remark": {
          "type": "string",
          "description": "备注"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-01",
          "description": "保障开始日期"
        },
        "status": {
          "type": "string",
          "example": "INSURED",
          "description": "订单状态: PENDING-待出单, INSURED-已承保, CANCELLED-已退保, FAILED-投保失败"
        },
        "statusLabel": {
          "type": "string",
          "example": "已承保",
          "description": "状态中文标签"
        },
        "totalPremium": {
          "type": "number",
          "example": 45.0,
          "description": "总保费(元)"
        }
      },
      "title": "保险订单VO"
    },
    "保险订单详情VO": {
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "endDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-05",
          "description": "保障结束日期"
        },
        "entityCode": {
          "type": "string",
          "example": "hulai",
          "description": "投保公司主体编码"
        },
        "extOrderNo": {
          "type": "string",
          "example": "BYW202602250001",
          "description": "保游网订单号"
        },
        "extPolicyNo": {
          "type": "string",
          "example": "P202602250001",
          "description": "保单号"
        },
        "insuranceOrderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856400,
          "description": "保险订单ID"
        },
        "insuredCount": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "被保人数量"
        },
        "insuredPersons": {
          "type": "array",
          "description": "被保人列表",
          "items": {
            "originalRef": "被保人信息VO",
            "$ref": "#/definitions/被保人信息VO"
          }
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026270000000000001,
          "description": "关联旅行订单ID"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "planName": {
          "type": "string",
          "example": "经济版",
          "description": "保险计划名称"
        },
        "policyHolderName": {
          "type": "string",
          "example": "内蒙古呼籁国际旅行社有限公司",
          "description": "投保人姓名(公司名称)"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "保险产品ID"
        },
        "productName": {
          "type": "string",
          "example": "畅游神州境内游（旅行社专享）",
          "description": "保险产品名称"
        },
        "remark": {
          "type": "string",
          "description": "备注"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-01",
          "description": "保障开始日期"
        },
        "status": {
          "type": "string",
          "example": "INSURED",
          "description": "订单状态: PENDING-待出单, INSURED-已承保, CANCELLED-已退保, FAILED-投保失败"
        },
        "statusLabel": {
          "type": "string",
          "example": "已承保",
          "description": "状态中文标签"
        },
        "totalPremium": {
          "type": "number",
          "example": 45.0,
          "description": "总保费(元)"
        }
      },
      "title": "保险订单详情VO"
    },
    "保险费率VO": {
      "type": "object",
      "properties": {
        "ageRange": {
          "type": "string",
          "example": "0-85",
          "description": "适用年龄范围"
        },
        "dayRange": {
          "type": "string",
          "example": "4-7",
          "description": "适用天数范围(如 1, 2, 4-7)"
        },
        "dayType": {
          "type": "string",
          "example": 10,
          "description": "天数类型: 10-按天, 20-按月, 30-按年"
        },
        "extRateCode": {
          "type": "string",
          "example": "RATE001",
          "description": "保游网费率编码"
        },
        "premium": {
          "type": "number",
          "example": 15.0,
          "description": "单人保费(元)"
        },
        "rateId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856395,
          "description": "费率ID"
        }
      },
      "title": "保险费率VO"
    },
    "充值请求": {
      "type": "object",
      "required": [
        "money",
        "payType"
      ],
      "properties": {
        "backUrl": {
          "type": "string",
          "example": "http://localhost:5173/insurance",
          "description": "同步回调地址（支付宝用）"
        },
        "money": {
          "type": "number",
          "example": 100.0,
          "description": "充值金额（元）"
        },
        "payType": {
          "type": "integer",
          "format": "int32",
          "example": 11,
          "description": "支付方式：11=支付宝扫码, 33=微信扫码"
        }
      },
      "title": "充值请求"
    },
    "分页结果«保险产品VO»": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "当前页码"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "example": 20,
          "description": "每页条数"
        },
        "records": {
          "type": "array",
          "description": "数据列表",
          "items": {
            "originalRef": "保险产品VO",
            "$ref": "#/definitions/保险产品VO"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«保险产品VO»"
    },
    "分页结果«保险订单VO»": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "当前页码"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "example": 20,
          "description": "每页条数"
        },
        "records": {
          "type": "array",
          "description": "数据列表",
          "items": {
            "originalRef": "保险订单VO",
            "$ref": "#/definitions/保险订单VO"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«保险订单VO»"
    },
    "应用方案预览请求": {
      "type": "object",
      "required": [
        "orderId",
        "schemeId"
      ],
      "properties": {
        "departureDate": {
          "type": "string",
          "format": "date",
          "example": "2026-07-01",
          "description": "出发日期（可选，不传则从订单获取）"
        },
        "insuredCount": {
          "type": "integer",
          "format": "int32",
          "example": 4,
          "description": "被保人数量（可选，不传则从订单获取出行人数）"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026270000000000001,
          "description": "旅行订单ID（用于获取出发/返回日期和出行人数）"
        },
        "returnDate": {
          "type": "string",
          "format": "date",
          "example": "2026-07-07",
          "description": "返回日期（可选，不传则从订单获取）"
        },
        "schemeId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856500,
          "description": "方案ID"
        }
      },
      "title": "应用方案预览请求"
    },
    "投保请求": {
      "type": "object",
      "required": [
        "endDate",
        "insuredPersons",
        "planId",
        "startDate"
      ],
      "properties": {
        "endDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-05",
          "description": "保障结束日期"
        },
        "entityCode": {
          "type": "string",
          "example": "hulai",
          "description": "投保公司主体编码(不填则使用默认主体)"
        },
        "insuredPersons": {
          "type": "array",
          "description": "被保人列表(至少1人)",
          "items": {
            "originalRef": "被保人/投保人信息",
            "$ref": "#/definitions/被保人/投保人信息"
          }
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026270000000000001,
          "description": "关联旅行订单ID(可选)"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "remark": {
          "type": "string",
          "description": "备注"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-01",
          "description": "保障开始日期"
        }
      },
      "title": "投保请求"
    },
    "方案应用预览VO": {
      "type": "object",
      "properties": {
        "departureDate": {
          "type": "string",
          "format": "date",
          "example": "2026-07-01",
          "description": "行程出发日期"
        },
        "insuredCount": {
          "type": "integer",
          "format": "int32",
          "example": 4,
          "description": "被保人数量"
        },
        "returnDate": {
          "type": "string",
          "format": "date",
          "example": "2026-07-07",
          "description": "行程返回日期"
        },
        "schemeId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856500,
          "description": "方案ID"
        },
        "schemeName": {
          "type": "string",
          "example": "7日标准方案",
          "description": "方案名称"
        },
        "segments": {
          "type": "array",
          "description": "解析后的保险段列表",
          "items": {
            "originalRef": "解析后的保险段",
            "$ref": "#/definitions/解析后的保险段"
          }
        },
        "totalEstimatedPremium": {
          "type": "number",
          "example": 320.0,
          "description": "预估总保费(所有段合计)"
        },
        "tripDays": {
          "type": "integer",
          "format": "int32",
          "example": 7,
          "description": "行程天数"
        },
        "warnings": {
          "type": "array",
          "description": "警告信息（如日期间隙、重叠、超出行程范围等）",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "方案应用预览VO"
    },
    "统一响应结果«JsonNode»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "JsonNode",
          "$ref": "#/definitions/JsonNode"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«JsonNode»"
    },
    "统一响应结果«List«Map«string,string»»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "originalRef": "Map«string,string»",
            "$ref": "#/definitions/Map«string,string»"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«Map«string,string»»»"
    },
    "统一响应结果«List«保险方案模板VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "originalRef": "保险方案模板VO",
            "$ref": "#/definitions/保险方案模板VO"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«保险方案模板VO»»"
    },
    "统一响应结果«List«保险计划VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "originalRef": "保险计划VO",
            "$ref": "#/definitions/保险计划VO"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«保险计划VO»»"
    },
    "统一响应结果«List«保险订单VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "originalRef": "保险订单VO",
            "$ref": "#/definitions/保险订单VO"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«保险订单VO»»"
    },
    "统一响应结果«List«保险订单详情VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "originalRef": "保险订单详情VO",
            "$ref": "#/definitions/保险订单详情VO"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«保险订单详情VO»»"
    },
    "统一响应结果«Map«string,object»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "object",
          "description": "响应数据"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«Map«string,object»»"
    },
    "统一响应结果«Void»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«Void»"
    },
    "统一响应结果«int»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "integer",
          "format": "int32",
          "description": "响应数据"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«int»"
    },
    "统一响应结果«string»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "string",
          "description": "响应数据"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«string»"
    },
    "统一响应结果«保单分享结果»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "保单分享结果",
          "$ref": "#/definitions/保单分享结果"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«保单分享结果»"
    },
    "统一响应结果«保险产品VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "保险产品VO",
          "$ref": "#/definitions/保险产品VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«保险产品VO»"
    },
    "统一响应结果«保险方案模板VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "保险方案模板VO",
          "$ref": "#/definitions/保险方案模板VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«保险方案模板VO»"
    },
    "统一响应结果«保险订单VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "保险订单VO",
          "$ref": "#/definitions/保险订单VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«保险订单VO»"
    },
    "统一响应结果«保险订单详情VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "保险订单详情VO",
          "$ref": "#/definitions/保险订单详情VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«保险订单详情VO»"
    },
    "统一响应结果«分页结果«保险产品VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "分页结果«保险产品VO»",
          "$ref": "#/definitions/分页结果«保险产品VO»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«保险产品VO»»"
    },
    "统一响应结果«分页结果«保险订单VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "分页结果«保险订单VO»",
          "$ref": "#/definitions/分页结果«保险订单VO»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«保险订单VO»»"
    },
    "统一响应结果«方案应用预览VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "方案应用预览VO",
          "$ref": "#/definitions/方案应用预览VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«方案应用预览VO»"
    },
    "统一响应结果«订单保险保障VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "originalRef": "订单保险保障VO",
          "$ref": "#/definitions/订单保险保障VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«订单保险保障VO»"
    },
    "被保人/投保人信息": {
      "type": "object",
      "required": [
        "birthday",
        "gender",
        "idCardNo",
        "name"
      ],
      "properties": {
        "birthday": {
          "type": "string",
          "format": "date",
          "example": "1990-01-01",
          "description": "出生日期"
        },
        "gender": {
          "type": "string",
          "example": "MALE",
          "description": "性别: MALE-男, FEMALE-女"
        },
        "idCardNo": {
          "type": "string",
          "example": 110101199001011234,
          "description": "证件号码"
        },
        "idCardType": {
          "type": "string",
          "example": "ID_CARD",
          "description": "证件类型: ID_CARD-身份证, PASSPORT-护照, OTHER-其他"
        },
        "isBeneficiary": {
          "type": "boolean",
          "example": false,
          "description": "是否为受益人"
        },
        "name": {
          "type": "string",
          "example": "李四",
          "description": "姓名"
        },
        "phone": {
          "type": "string",
          "example": 13800138000,
          "description": "手机号"
        }
      },
      "title": "被保人/投保人信息"
    },
    "被保人信息VO": {
      "type": "object",
      "properties": {
        "birthday": {
          "type": "string",
          "format": "date",
          "example": "1990-01-01",
          "description": "出生日期"
        },
        "gender": {
          "type": "string",
          "example": "MALE",
          "description": "性别: MALE-男, FEMALE-女"
        },
        "idCardNo": {
          "type": "string",
          "example": 110101199001011234,
          "description": "证件号码"
        },
        "idCardType": {
          "type": "string",
          "example": "ID_CARD",
          "description": "证件类型: ID_CARD-身份证, PASSPORT-护照, OTHER-其他"
        },
        "insuredId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856410,
          "description": "被保人ID"
        },
        "isBeneficiary": {
          "type": "boolean",
          "example": false,
          "description": "是否为受益人"
        },
        "name": {
          "type": "string",
          "example": "李四",
          "description": "姓名"
        },
        "phone": {
          "type": "string",
          "example": 13800138000,
          "description": "手机号"
        }
      },
      "title": "被保人信息VO"
    },
    "解析后的保险段": {
      "type": "object",
      "properties": {
        "coverageDays": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "覆盖天数"
        },
        "dayOffsetEnd": {
          "type": "integer",
          "format": "int32",
          "example": 3,
          "description": "原始结束天偏移"
        },
        "dayOffsetStart": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "原始起始天偏移"
        },
        "estimatedPremium": {
          "type": "number",
          "example": 60.0,
          "description": "该段预估总保费(单人保费 x 人数)"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856390,
          "description": "保险计划ID"
        },
        "planName": {
          "type": "string",
          "example": "经济版",
          "description": "保险计划名称"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "example": 2026279738275856385,
          "description": "保险产品ID"
        },
        "productName": {
          "type": "string",
          "example": "畅游神州境内游（旅行社专享）",
          "description": "保险产品名称"
        },
        "resolvedEndDate": {
          "type": "string",
          "format": "date",
          "example": "2026-07-03",
          "description": "解析后的实际结束日期"
        },
        "resolvedStartDate": {
          "type": "string",
          "format": "date",
          "example": "2026-07-01",
          "description": "解析后的实际开始日期"
        },
        "segmentName": {
          "type": "string",
          "example": "前段-境内险",
          "description": "段名称"
        },
        "skipReason": {
          "type": "string",
          "description": "跳过原因"
        },
        "skipped": {
          "type": "boolean",
          "example": false,
          "description": "是否被跳过(超出行程范围)"
        },
        "unitPremium": {
          "type": "number",
          "example": 15.0,
          "description": "单人保费"
        }
      },
      "title": "解析后的保险段"
    },
    "订单保险保障VO": {
      "type": "object",
      "properties": {
        "insuranceOrders": {
          "type": "array",
          "description": "保险订单详情列表(含被保人)",
          "items": {
            "originalRef": "保险订单详情VO",
            "$ref": "#/definitions/保险订单详情VO"
          }
        },
        "orderCount": {
          "type": "integer",
          "format": "int32",
          "example": 2,
          "description": "保险单数量"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "example": 2026270000000000001,
          "description": "旅行订单ID"
        }
      },
      "title": "订单保险保障VO"
    }
  }
}