{
  "swagger": "2.0",
  "info": {
    "title": "小程序聚合服务",
    "version": "1.0.0"
  },
  "basePath": "/",
  "paths": {
    "/mp/home": {
      "get": {
        "tags": [
          "C端 - 首页接口"
        ],
        "summary": "首页数据",
        "description": "聚合流程：并行获取推荐产品列表+产品线列表+轮播图 → Redis缓存5分钟 → 返回聚合数据\n\n**关联字典（BFF透传）**：\n- product_type：产品类型（产品卡片显示）\n- product_status：产品状态（透传自product-service）",
        "operationId": "getHomeDataUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«首页聚合数据»",
              "originalRef": "统一响应结果«首页聚合数据»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«首页聚合数据»",
              "originalRef": "统一响应结果«首页聚合数据»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/search": {
      "get": {
        "tags": [
          "C端 - 搜索接口"
        ],
        "summary": "搜索产品",
        "description": "按关键词搜索已上架产品（匹配产品名称和描述），支持按产品类型进一步筛选\n\n**关联字典（BFF透传）**：\n- product_type：产品类型（筛选+显示）",
        "operationId": "searchUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "keyword",
            "in": "query",
            "description": "搜索关键词",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码",
            "required": false,
            "type": "integer",
            "default": 1,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "每页条数（最大50）",
            "required": false,
            "type": "integer",
            "default": 10,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "productType",
            "in": "query",
            "description": "产品类型：CORE/ROUTE/CUSTOM/GROUP",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/product/lines": {
      "get": {
        "tags": [
          "C端 - 产品接口"
        ],
        "summary": "产品线列表",
        "description": "返回所有已启用的产品线，用于小程序首页或筛选栏展示",
        "operationId": "listLinesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/product/list": {
      "get": {
        "tags": [
          "C端 - 产品接口"
        ],
        "summary": "产品列表",
        "description": "分页查询已上架产品，支持按关键词、产品类型(CORE/ROUTE/CUSTOM/GROUP)、季节、天数、目的地、产品线筛选和排序。\n\n**GROUP（小蒙马）产品额外返回 batches 字段**（可售团期列表，按出发日期升序），每个团期包含：\n- batchId：团期ID\n- departureDate：出发日期\n- batchLabel：团期标签（如\"五一团\"）\n- batchName：团期名称\n- batchStatus：团期状态\n- startingPrice：起步价(元)\n- enrolledCount：已报名人数\n- remainingSlots：剩余名额\n- isConfirmed：是否已成团\n\n**关联字典**：\n- product_type：产品类型（CORE=核心产品, ROUTE=自驾路书, CUSTOM=私人定制, GROUP=小蒙马）\n- batch_status：团期状态（ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭）",
        "operationId": "listProductsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "destination",
            "in": "query",
            "description": "目的地",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "搜索关键词",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "lineId",
            "in": "query",
            "description": "产品线ID",
            "required": false,
            "type": "string",
            "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": 10,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "productType",
            "in": "query",
            "description": "产品类型：CORE/ROUTE/CUSTOM/GROUP",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "season",
            "in": "query",
            "description": "季节",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "排序字段",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "sortDir",
            "in": "query",
            "description": "排序方向",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "tripDays",
            "in": "query",
            "description": "天数",
            "required": false,
            "type": "integer",
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/product/{productId}": {
      "get": {
        "tags": [
          "C端 - 产品接口"
        ],
        "summary": "产品详情（聚合收藏状态）",
        "description": "聚合流程：获取产品详情 → 并行查询收藏状态 → 异步记录足迹 → 返回聚合数据。支持未登录访问（不返回收藏状态）。\n\n**GROUP（小蒙马）产品额外返回 batches 字段**（可售团期列表），字段同产品列表。\n\n**关联字典**：\n- product_type：产品类型（CORE=核心产品, ROUTE=自驾路书, CUSTOM=私人定制, GROUP=小蒙马）\n- batch_status：团期状态（ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭）\n- product_status：产品状态（透传自product-service）",
        "operationId": "getProductUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«C端产品详情»",
              "originalRef": "统一响应结果«C端产品详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«C端产品详情»",
              "originalRef": "统一响应结果«C端产品详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/product/{productId}/price-calendar": {
      "get": {
        "tags": [
          "C端 - 产品接口"
        ],
        "summary": "价格日历",
        "description": "返回产品指定日期范围内的每日价格，用于日历组件展示。不传日期时默认返回未来一个月",
        "operationId": "getPriceCalendarUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "endDate",
            "in": "query",
            "description": "结束日期",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "productId",
            "in": "path",
            "description": "产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "开始日期",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/product/{productId}/quote": {
      "post": {
        "tags": [
          "C端 - 产品接口"
        ],
        "summary": "报价计算（含早鸟优惠）",
        "description": "报价流程：传入出发日期+人数 → 价格日历计算基础报价（与下单一致） → 匹配早鸟优惠方案 → 返回明细报价+优惠信息。\n\n支付方式说明：\n- FULL: 全额支付，需一次性付清全部金额\n- DEPOSIT: 定金+尾款，先付定金（比例由产品配置），出行前补齐尾款",
        "operationId": "calculateQuoteUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/产品报价请求",
              "originalRef": "产品报价请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«产品报价结果»",
              "originalRef": "统一响应结果«产品报价结果»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«产品报价结果»",
              "originalRef": "统一响应结果«产品报价结果»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/bind-by-contact": {
      "post": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "绑定未绑定的订单",
        "description": "绑定流程：用户登录 → 完善个人资料 → 自动通过联系人手机号+姓名匹配 → 将userId=NULL的订单绑定到当前用户",
        "operationId": "bindByContactUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "绑定请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/通过联系人信息绑定订单请求",
              "originalRef": "通过联系人信息绑定订单请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«int»",
              "originalRef": "统一响应结果«int»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«int»",
              "originalRef": "统一响应结果«int»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/count": {
      "get": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "各状态订单数量",
        "description": "统计当前用户各状态的订单数量，用于「我的」页面的订单状态角标展示\n\n**关联字典（BFF透传）**：\n- order_status：订单状态（状态分类统计）",
        "operationId": "countByStatusUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/create": {
      "post": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "创建订单",
        "description": "下单流程：选择产品 → 填写联系人/出行人信息 → 报价计算 → 创建订单 → 返回订单ID",
        "operationId": "createOrderUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "创建订单请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/C端创建订单请求",
              "originalRef": "C端创建订单请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«订单详情»",
              "originalRef": "统一响应结果«订单详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«订单详情»",
              "originalRef": "统一响应结果«订单详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/list": {
      "get": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "订单列表",
        "description": "分页查询当前用户的订单列表，支持按状态筛选。返回订单摘要信息（不含详细出行人信息）\n\n**关联字典（BFF透传）**：\n- order_status：订单状态（列表筛选+显示）\n- product_type：产品类型（订单卡片显示）",
        "operationId": "listOrdersUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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
          },
          {
            "name": "status",
            "in": "query",
            "description": "状态",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«订单列表项»»",
              "originalRef": "统一响应结果«分页结果«订单列表项»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«订单列表项»»",
              "originalRef": "统一响应结果«分页结果«订单列表项»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/lookup": {
      "get": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "通过联系人手机号+姓名查找订单（无需登录）",
        "description": "无需登录即可查询。用于管理员代下单场景：管理员创建订单后，用户通过联系人手机号+姓名查找订单并绑定到自己账号。仅返回尚未绑定用户(userId=NULL)的订单。",
        "operationId": "lookupByContactUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "contactName",
            "in": "query",
            "description": "联系人姓名",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "contactPhone",
            "in": "query",
            "description": "联系人手机号",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/refund-reasons": {
      "get": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "退款原因列表",
        "description": "返回系统预设的退款原因选项，用于退款申请页面的原因选择",
        "operationId": "listRefundReasonsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«退款原因»»",
              "originalRef": "统一响应结果«List«退款原因»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«退款原因»»",
              "originalRef": "统一响应结果«List«退款原因»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/refund/{applicationId}": {
      "get": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "退款申请详情",
        "description": "获取退款申请的完整信息，包含审核状态、退款金额、退款进度和操作记录\n\n**关联字典（BFF透传）**：\n- order_status：订单状态（显示）\n- 支付状态（非字典，代码常量）：PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败",
        "operationId": "getRefundDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "description": "退款申请ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/refund/{applicationId}/appeal": {
      "post": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "发起申诉",
        "description": "退款被拒绝后，用户可在3天内发起一次申诉，由上级管理员重新审核",
        "operationId": "refundAppealUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "description": "退款申请ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "申诉请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/退款申诉请求",
              "originalRef": "退款申诉请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/refund/{applicationId}/cancel": {
      "post": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "撤回退款申请",
        "description": "仅PENDING状态的退款申请可撤回，撤回后订单恢复到原状态",
        "operationId": "cancelRefundUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "description": "退款申请ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/refund/{orderId}/direct-appeal": {
      "post": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "直接申诉退款",
        "description": "用户对退款政策计算的金额不满意，跳过退款申请直接发起申诉。\n申诉金额不能超过已付金额。流程：用户查看退款预览 → 不满意 → 直接申诉填写期望金额 → 企微OA审批",
        "operationId": "directAppealUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/退款申诉请求",
              "originalRef": "退款申诉请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/upcoming": {
      "get": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "即将出发的订单",
        "description": "查询3天内即将出发的订单（状态为已确认/待出发/出行中），含合同和保险信息，按出发日期升序",
        "operationId": "getUpcomingDeparturesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«订单列表项»»",
              "originalRef": "统一响应结果«List«订单列表项»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«订单列表项»»",
              "originalRef": "统一响应结果«List«订单列表项»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}": {
      "get": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "订单详情",
        "description": "获取订单完整信息，包含产品快照、出行人列表、支付信息、合同状态等\n\n**关联字典（BFF透传）**：\n- order_status：订单状态（显示）\n- product_type：产品类型（显示）\n- contract_status：合同状态（显示）",
        "operationId": "getOrderUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«订单详情»",
              "originalRef": "统一响应结果«订单详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«订单详情»",
              "originalRef": "统一响应结果«订单详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/approve-unlock": {
      "post": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "同意解锁订单",
        "description": "用户同意管理员的修改请求，解除订单锁定状态，允许管理员继续修改订单",
        "operationId": "approveUnlockUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/cancel": {
      "post": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "取消订单",
        "description": "取消规则：仅PENDING_PAY/DEPOSIT_PAID状态可用户取消，取消后不可恢复",
        "operationId": "cancelOrderUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": false,
            "schema": {
              "$ref": "#/definitions/用户取消订单请求",
              "originalRef": "用户取消订单请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/edit": {
      "put": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "修改订单",
        "description": "用户可修改出发日期和出行人。仅待支付/已付定金/已支付/已确认/待付尾款/待出发状态可修改，清单已确认的订单不允许修改。修改后重走内部流程",
        "operationId": "editOrderUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/修改订单请求",
              "originalRef": "修改订单请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«订单详情»",
              "originalRef": "统一响应结果«订单详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«订单详情»",
              "originalRef": "统一响应结果«订单详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/refund": {
      "post": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "提交退款申请",
        "description": "退款流程：获取退款预览 → 选择退款原因 → 提交退款申请 → 管理员审核 → 审核通过后自动退款到原支付方式",
        "operationId": "applyRefundUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "退款申请请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/退款申请请求",
              "originalRef": "退款申请请求"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/refund-detail": {
      "get": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "根据订单ID获取最新退款详情",
        "description": "查询订单关联的最新一条退款申请详情，无退款记录时返回null\n\n**关联字典（BFF透传）**：\n- order_status：订单状态（显示）\n- 支付状态（非字典，代码常量）：PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败",
        "operationId": "getRefundDetailByOrderUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款申请详情»",
              "originalRef": "统一响应结果«退款申请详情»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/refund-preview": {
      "get": {
        "tags": [
          "C端 - 退款接口"
        ],
        "summary": "退款金额预览",
        "description": "根据退款政策和订单出发日期计算可退金额，展示退款比例和扣除金额明细",
        "operationId": "refundPreviewUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款预览»",
              "originalRef": "统一响应结果«退款预览»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«退款预览»",
              "originalRef": "统一响应结果«退款预览»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/remark": {
      "put": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "添加/修改订单备注",
        "description": "用户在订单详情页添加或修改备注。备注对管理端可见。\n请求体：{\"remark\": \"备注内容\"}",
        "operationId": "updateRemarkUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "orderId",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/resources": {
      "get": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "订单资源详情（按分类）",
        "description": "解析产品快照，提取资源详情按分类返回",
        "operationId": "getOrderResourcesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,List«Map«string,object»»»»",
              "originalRef": "统一响应结果«Map«string,List«Map«string,object»»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,List«Map«string,object»»»»",
              "originalRef": "统一响应结果«Map«string,List«Map«string,object»»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/transport": {
      "post": {
        "tags": [
          "小程序-订单交通信息"
        ],
        "summary": "填写交通信息",
        "description": "用户填写去程/回程的航班或火车信息。\n\n**请求字段**：\n- legType: OUTBOUND=去程, RETURN=回程\n- transportType: FLIGHT=航班, TRAIN=火车\n- transportNo: 航班号(如CA1234)或车次(如G71)\n- departureStation: 出发站(选填)\n- arrivalStation: 到达站(选填)\n- travelDate: 乘坐日期(yyyy-MM-dd)\n- remark: 备注(选填)",
        "operationId": "addTransportUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/transports": {
      "get": {
        "tags": [
          "小程序-订单交通信息"
        ],
        "summary": "查看订单交通信息（含实时动态）",
        "description": "返回订单的去程/回程交通信息，自动从飞常准查询实时航班/火车状态",
        "operationId": "listTransportsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/order/{orderId}/urge": {
      "post": {
        "tags": [
          "C端 - 订单接口"
        ],
        "summary": "催单",
        "description": "提醒定制师尽快处理订单内部流程，通过企业微信发送消息。每个订单2小时内只能催一次",
        "operationId": "urgeOrderUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/invoice/apply": {
      "post": {
        "tags": [
          "C端 - 发票接口"
        ],
        "summary": "申请开票",
        "description": "开票流程：订单完成后 → 填写发票信息(抬头/税号/类型) → 提交开票申请 → 管理员处理 → 发送电子发票",
        "operationId": "applyInvoiceUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "开票请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/发票申请请求",
              "originalRef": "发票申请请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/invoice/order/{orderId}": {
      "get": {
        "tags": [
          "C端 - 发票接口"
        ],
        "summary": "通过订单ID查询发票",
        "description": "查询指定订单的发票信息，如果订单未开票则返回null",
        "operationId": "getInvoiceByOrderIdUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/invoice/{id}": {
      "get": {
        "tags": [
          "C端 - 发票接口"
        ],
        "summary": "发票详情",
        "description": "获取发票的完整信息，包含开票状态、发票抬头、税号、金额、电子发票文件链接等",
        "operationId": "getInvoiceDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "发票ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/invoice/{invoiceId}/reissue": {
      "post": {
        "tags": [
          "C端 - 发票接口"
        ],
        "summary": "发票换开",
        "description": "对已开发票申请换开（修改抬头/税号等），原发票作废后重新开具新发票",
        "operationId": "reissueInvoiceUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "发票ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/发票换开请求",
              "originalRef": "发票换开请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/payment/prepay": {
      "post": {
        "tags": [
          "C端 - 支付接口"
        ],
        "summary": "发起支付",
        "description": "支付流程：选择支付方式(JSAPI/H5) → 调用微信支付API → 返回支付参数 → 前端调起微信支付\n\n**支付状态**：PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败（非字典，代码常量）",
        "operationId": "prepayUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "支付请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/支付预下单请求",
              "originalRef": "支付预下单请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/payment/status/{orderId}": {
      "get": {
        "tags": [
          "C端 - 支付接口"
        ],
        "summary": "查询支付状态",
        "description": "**支付状态**：PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败（非字典，代码常量）",
        "operationId": "getStatusUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/payment/transactions/{orderId}": {
      "get": {
        "tags": [
          "C端 - 支付接口"
        ],
        "summary": "订单交易记录列表",
        "description": "**支付状态**：PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败（非字典，代码常量）",
        "operationId": "listTransactionsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/trip/list": {
      "get": {
        "tags": [
          "C端 - 行程接口"
        ],
        "summary": "行程列表",
        "description": "获取当前登录用户的行程列表（已确认及进行中的订单对应的行程）\n\n**关联字典（BFF透传）**：\n- order_status：订单/行程状态（显示）",
        "operationId": "getTripListUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/trip/today": {
      "get": {
        "tags": [
          "C端 - 行程接口"
        ],
        "summary": "今日行程",
        "description": "获取今日行程（如果有正在进行中的行程），无行程时data为null\n\n**关联字典（BFF透传）**：\n- order_status：订单/行程状态（显示）",
        "operationId": "getTodayTripUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/trip/weather": {
      "get": {
        "tags": [
          "C端 - 行程接口"
        ],
        "summary": "天气查询（经纬度）",
        "description": "通过和风天气API查询指定经纬度的实时天气，精度3-5公里",
        "operationId": "getWeatherUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "latitude",
            "in": "query",
            "description": "纬度",
            "required": true,
            "type": "number",
            "allowEmptyValue": false
          },
          {
            "name": "longitude",
            "in": "query",
            "description": "经度",
            "required": true,
            "type": "number",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/trip/{orderId}": {
      "get": {
        "tags": [
          "C端 - 行程接口"
        ],
        "summary": "行程详情",
        "description": "获取订单对应的行程详情，含每日行程节点信息（景点/酒店/餐厅等）\n\n**关联字典（BFF透传）**：\n- order_status：订单/行程状态（显示）",
        "operationId": "getTripDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/account": {
      "delete": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "注销账号",
        "description": "注销后用户数据将被软删除，30天内可联系客服恢复",
        "operationId": "deleteAccountUsingDELETE",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/login": {
      "post": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "微信登录",
        "description": "登录流程：小程序wx.login获取code → 后端换取openid → 查找/创建用户 → 返回JWT令牌+needProfile标记",
        "operationId": "loginUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/微信登录请求",
              "originalRef": "微信登录请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/login/sms": {
      "post": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "短信登录",
        "description": "登录流程：获取验证码 → 验证手机号+验证码 → 查找/创建用户 → 返回JWT令牌",
        "operationId": "loginBySmsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/短信验证码登录请求",
              "originalRef": "短信验证码登录请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/logout": {
      "post": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "用户登出",
        "description": "清除用户登录状态和服务端缓存的令牌信息。登出后需重新登录获取新令牌。\n\n**权限**：需登录。",
        "operationId": "logoutUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/ocr/idcard": {
      "post": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "身份证OCR识别",
        "description": "将身份证图片上传到OSS后，传入ossUrl进行OCR识别。返回姓名、身份证号、性别、民族等结构化数据，可用于自动填充出行人信息",
        "operationId": "ocrIdCardUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/身份证OCR识别请求",
              "originalRef": "身份证OCR识别请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,string»»",
              "originalRef": "统一响应结果«Map«string,string»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,string»»",
              "originalRef": "统一响应结果«Map«string,string»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/profile": {
      "get": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "获取用户信息",
        "description": "获取当前登录用户的个人资料，包含头像、昵称、手机号、实名信息等",
        "operationId": "getProfileUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "put": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "更新用户信息",
        "description": "更新当前用户的个人资料，支持部分更新（只传需要修改的字段）。首次完善资料时realName为必填",
        "operationId": "updateProfileUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/更新个人资料请求",
              "originalRef": "更新个人资料请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/sms/send": {
      "post": {
        "tags": [
          "C端 - 用户接口"
        ],
        "summary": "发送短信验证码",
        "description": "向指定手机号发送登录验证码，有效期5分钟，60秒内不可重复发送",
        "operationId": "sendSmsCodeUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/发送短信验证码请求",
              "originalRef": "发送短信验证码请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/traveler": {
      "get": {
        "tags": [
          "C端 - 出行人接口"
        ],
        "summary": "出行人列表",
        "description": "返回当前用户的所有出行人列表。如果用户已完善实名信息，列表中会自动包含一条「本人」虚拟记录(travelerId=0)",
        "operationId": "listTravelersUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "post": {
        "tags": [
          "C端 - 出行人接口"
        ],
        "summary": "添加出行人",
        "description": "添加常用出行人信息（姓名/证件/联系方式等），下单时可快速选择。单个用户最多50个出行人",
        "operationId": "addTravelerUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/出行人请求(新增/修改)",
              "originalRef": "出行人请求(新增/修改)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/traveler/{id}": {
      "get": {
        "tags": [
          "C端 - 出行人接口"
        ],
        "summary": "出行人详情",
        "description": "获取单个出行人的完整信息（姓名、证件信息、联系方式等）。\n\n**权限**：需登录，仅能查看自己的出行人。",
        "operationId": "getTravelerUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "出行人ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "put": {
        "tags": [
          "C端 - 出行人接口"
        ],
        "summary": "更新出行人",
        "description": "修改出行人信息，支持部分更新（只传需要修改的字段）。已关联订单的出行人修改不影响历史订单记录。\n\n**权限**：需登录。",
        "operationId": "updateTravelerUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "出行人ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/出行人请求(新增/修改)",
              "originalRef": "出行人请求(新增/修改)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "delete": {
        "tags": [
          "C端 - 出行人接口"
        ],
        "summary": "删除出行人",
        "description": "删除常用出行人记录。默认出行人不可删除，需先取消默认后再删除。\n\n**权限**：需登录。",
        "operationId": "deleteTravelerUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "出行人ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/traveler/{id}/default": {
      "put": {
        "tags": [
          "C端 - 出行人接口"
        ],
        "summary": "设为默认出行人",
        "description": "设为默认出行人后，下单时自动作为第一个出行人。每个用户只能有一个默认出行人",
        "operationId": "setDefaultTravelerUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "出行人ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/favorite": {
      "get": {
        "tags": [
          "C端 - 收藏接口"
        ],
        "summary": "收藏列表（含资源摘要）",
        "description": "分页查询收藏列表，聚合层会补充每个收藏项对应资源的摘要信息（名称、封面图、价格等）。支持按目标类型筛选。\n\n**权限**：需登录。\n\n**关联字典**：\n- favorite_resource_type：收藏资源类型（PRODUCT/SCENIC/RESTAURANT/ACTIVITY）",
        "operationId": "listFavoritesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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
          },
          {
            "name": "targetType",
            "in": "query",
            "description": "目标类型筛选（字典：favorite_resource_type）：PRODUCT/SCENIC/RESTAURANT/ACTIVITY",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«收藏列表项（含资源摘要）»»",
              "originalRef": "统一响应结果«分页结果«收藏列表项（含资源摘要）»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«收藏列表项（含资源摘要）»»",
              "originalRef": "统一响应结果«分页结果«收藏列表项（含资源摘要）»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "post": {
        "tags": [
          "C端 - 收藏接口"
        ],
        "summary": "添加收藏",
        "description": "将产品/景区/餐厅/活动加入收藏。同一目标重复收藏会返回已有收藏记录",
        "operationId": "addFavoriteUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/收藏请求",
              "originalRef": "收藏请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/favorite/batch": {
      "delete": {
        "tags": [
          "C端 - 收藏接口"
        ],
        "summary": "批量删除收藏",
        "description": "批量删除多条收藏记录，传入收藏记录ID列表。用于收藏管理页面的批量操作。\n\n**权限**：需登录，仅能删除自己的收藏。",
        "operationId": "batchDeleteFavoritesUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "ids",
            "description": "收藏ID列表",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/favorite/by-target": {
      "delete": {
        "tags": [
          "C端 - 收藏接口"
        ],
        "summary": "按目标取消收藏",
        "description": "通过目标类型+目标ID取消收藏，适用于详情页点击取消收藏的场景（不需要知道收藏记录ID）。\n\n**权限**：需登录。",
        "operationId": "deleteFavoriteByTargetUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "targetId",
            "in": "query",
            "description": "目标资源ID",
            "required": false,
            "type": "integer",
            "format": "int64",
            "allowEmptyValue": false
          },
          {
            "name": "targetType",
            "in": "query",
            "description": "目标类型",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/favorite/check": {
      "get": {
        "tags": [
          "C端 - 收藏接口"
        ],
        "summary": "检查是否已收藏",
        "description": "检查当前用户是否已收藏指定资源，用于详情页收藏按钮状态显示。\n\n**权限**：需登录。",
        "operationId": "checkFavoriteUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "targetId",
            "in": "query",
            "description": "目标资源ID",
            "required": false,
            "type": "integer",
            "format": "int64",
            "allowEmptyValue": false
          },
          {
            "name": "targetType",
            "in": "query",
            "description": "目标类型（字典：favorite_resource_type）",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/favorite/{id}": {
      "delete": {
        "tags": [
          "C端 - 收藏接口"
        ],
        "summary": "取消收藏",
        "description": "通过收藏记录ID取消收藏，适用于收藏列表页的删除操作。\n\n**权限**：需登录，仅能删除自己的收藏。",
        "operationId": "deleteFavoriteUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "收藏记录ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/footprint": {
      "get": {
        "tags": [
          "C端 - 足迹接口"
        ],
        "summary": "足迹列表（含资源摘要）",
        "description": "分页查询浏览足迹列表，聚合层会补充每条足迹对应资源的摘要信息（名称、封面图等）。支持按资源类型筛选，按浏览时间倒序。\n\n**权限**：需登录。",
        "operationId": "listFootprintsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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
          },
          {
            "name": "resourceType",
            "in": "query",
            "description": "资源类型筛选：PRODUCT/SCENIC/RESTAURANT/ACTIVITY",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«足迹列表项（含资源摘要）»»",
              "originalRef": "统一响应结果«分页结果«足迹列表项（含资源摘要）»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«足迹列表项（含资源摘要）»»",
              "originalRef": "统一响应结果«分页结果«足迹列表项（含资源摘要）»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "post": {
        "tags": [
          "C端 - 足迹接口"
        ],
        "summary": "记录足迹",
        "description": "记录用户浏览资源的足迹，同一资源重复浏览会更新浏览时间而非新增记录",
        "operationId": "addFootprintUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/添加足迹请求",
              "originalRef": "添加足迹请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/footprint/batch": {
      "delete": {
        "tags": [
          "C端 - 足迹接口"
        ],
        "summary": "批量删除足迹",
        "description": "批量删除多条浏览足迹记录，传入足迹ID列表。用于足迹管理页面的批量清理。\n\n**权限**：需登录，仅能删除自己的足迹。",
        "operationId": "batchDeleteFootprintsUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "ids",
            "description": "足迹ID列表",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/user/footprint/{id}": {
      "delete": {
        "tags": [
          "C端 - 足迹接口"
        ],
        "summary": "删除足迹",
        "description": "删除单条浏览足迹记录。\n\n**权限**：需登录，仅能删除自己的足迹。",
        "operationId": "deleteFootprintUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "足迹ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/message/list": {
      "get": {
        "tags": [
          "C端 - 消息接口"
        ],
        "summary": "消息列表",
        "description": "消息列表，支持按分类筛选，按时间倒序分页返回",
        "operationId": "listMessagesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "description": "消息分类筛选，不传返回全部",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码，默认1",
            "required": false,
            "type": "integer",
            "default": 1,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "每页条数，默认20",
            "required": false,
            "type": "integer",
            "default": 20,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/message/read-all": {
      "put": {
        "tags": [
          "C端 - 消息接口"
        ],
        "summary": "全部标记已读",
        "description": "将指定分类或全部消息标记为已读，不传category则全部已读",
        "operationId": "markAllReadUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "description": "消息分类，不传则将所有分类标记为已读",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/message/summary": {
      "get": {
        "tags": [
          "C端 - 消息接口"
        ],
        "summary": "消息摘要",
        "description": "获取各分类的未读数量和最新一条消息，用于消息中心首页展示",
        "operationId": "getSummaryUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/message/{id}": {
      "delete": {
        "tags": [
          "C端 - 消息接口"
        ],
        "summary": "删除消息",
        "description": "删除单条消息",
        "operationId": "deleteMessageUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "消息ID",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/message/{id}/read": {
      "put": {
        "tags": [
          "C端 - 消息接口"
        ],
        "summary": "标记已读",
        "description": "标记单条消息为已读",
        "operationId": "markReadUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "消息ID",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/create": {
      "post": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "创建评价",
        "description": "评价流程：订单完成后 → 查询可评价目标列表 → 对每个目标(酒店/景区/活动等)提交评价 → 自动内容审核 → 审核通过后公开展示\n\n**关联字典（BFF透传）**：\n- review_status：评价审核状态（返回字段）\n- rating_level：评价等级（返回字段）",
        "operationId": "createReviewUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "评价请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/创建评价请求",
              "originalRef": "创建评价请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/featured": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "精选评价列表(公开)",
        "description": "无需登录，返回精选评价数组，用于评价浏览页\n\n**关联字典（BFF透传）**：\n- rating_level：评价等级（显示）",
        "operationId": "getFeaturedReviewsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "数量限制",
            "required": false,
            "type": "integer",
            "default": 50,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/my": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "我的评价列表",
        "description": "**关联字典（BFF透传）**：\n- review_status：评价审核状态（显示）\n- rating_level：评价等级（显示）",
        "operationId": "getMyReviewsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/order/{orderId}/reviewable-targets": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "订单可评价目标列表",
        "description": "返回订单中可评价的资源目标列表（景区/酒店/活动等），用于评价页面展示可评价项。已评价的目标不会重复出现。\n\n**权限**：需登录。",
        "operationId": "getReviewableTargetsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/order/{orderId}/reviewed": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "检查订单是否已评价",
        "description": "检查指定订单是否已提交评价，用于订单详情页决定是否显示'去评价'按钮。",
        "operationId": "isOrderReviewedUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/product/{productId}": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "按产品ID查看评价列表",
        "description": "返回评价列表+统计数据，支持好中差评/有图/有视频筛选\n\n**关联字典（BFF透传）**：\n- rating_level：评价等级（筛选+显示）",
        "operationId": "getProductReviewsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "hasImage",
            "in": "query",
            "description": "是否有图片",
            "required": false,
            "type": "boolean",
            "allowEmptyValue": false
          },
          {
            "name": "hasVideo",
            "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": 10,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "productId",
            "in": "path",
            "description": "产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "ratingLevel",
            "in": "query",
            "description": "评价等级: GOOD/MEDIUM/BAD",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/product/{productId}/highlights": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "产品精选评价(最高评分+最高点赞+统计)",
        "description": "用于产品详情页评价区域展示",
        "operationId": "getProductHighlightsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/rating-categories": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "评分类别列表",
        "description": "从字典读取评价时需要填写的评分维度，前端据此渲染评分组件。字典类型: review_rating_category，remark字段包含扩展JSON(required/min/max)",
        "operationId": "getRatingCategoriesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/search": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "关键词搜索评价(公开)",
        "description": "按关键词搜索已通过的评价内容，支持按目标类型和目标ID筛选\n\n**关联字典（BFF透传）**：\n- rating_level：评价等级（显示）",
        "operationId": "searchReviewsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "keyword",
            "in": "query",
            "description": "搜索关键词",
            "required": true,
            "type": "string",
            "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
          },
          {
            "name": "targetId",
            "in": "query",
            "description": "目标ID(可选)",
            "required": false,
            "type": "integer",
            "format": "int64",
            "allowEmptyValue": false
          },
          {
            "name": "targetType",
            "in": "query",
            "description": "目标类型(可选): PRODUCT/SCENIC_SPOT/ACTIVITY/HOTEL等",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/stats": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "评价统计(平均分、数量)",
        "description": "获取指定目标的评价统计数据（平均评分、总评价数等），用于详情页评价区域展示。产品showReview关闭时返回空统计。",
        "operationId": "getTargetStatsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "targetId",
            "in": "query",
            "description": "目标ID",
            "required": false,
            "type": "integer",
            "format": "int64",
            "allowEmptyValue": false
          },
          {
            "name": "targetType",
            "in": "query",
            "description": "目标类型",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/target": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "某目标的已通过评价(公开)",
        "description": "**关联字典（BFF透传）**：\n- rating_level：评价等级（筛选+显示）",
        "operationId": "getTargetReviewsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "hasImage",
            "in": "query",
            "description": "是否有图片",
            "required": false,
            "type": "boolean",
            "allowEmptyValue": false
          },
          {
            "name": "hasVideo",
            "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
          },
          {
            "name": "ratingLevel",
            "in": "query",
            "description": "评价等级: GOOD/MEDIUM/BAD",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "targetId",
            "in": "query",
            "description": "目标ID",
            "required": false,
            "type": "integer",
            "format": "int64",
            "allowEmptyValue": false
          },
          {
            "name": "targetType",
            "in": "query",
            "description": "目标类型",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/{reviewId}/like": {
      "post": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "点赞/取消点赞评价",
        "description": "对评价进行点赞或取消点赞操作，返回当前点赞状态和点赞总数。\n\n**权限**：需登录。",
        "operationId": "toggleLikeUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "description": "评价ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/review/{reviewId}/like/check": {
      "get": {
        "tags": [
          "C端 - 评价接口"
        ],
        "summary": "检查是否已点赞",
        "description": "检查当前用户是否已点赞指定评价，用于评价列表/详情的点赞按钮状态展示。\n\n**权限**：需登录。",
        "operationId": "checkLikedUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "reviewId",
            "in": "path",
            "description": "评价ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/designer": {
      "get": {
        "tags": [
          "C端 - 定制师接口"
        ],
        "summary": "定制师列表(含真实产品数和评分，综合排序)",
        "description": "获取定制师列表，聚合层会补充每个定制师的真实产品数量和评价评分。按综合排序（评分>路线数>咨询人数），用于小程序定制师推荐页。",
        "operationId": "listDesignersUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "每页条数",
            "required": false,
            "type": "integer",
            "default": 10,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码",
            "required": false,
            "type": "integer",
            "default": 1,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/designer/all": {
      "get": {
        "tags": [
          "C端 - 定制师接口"
        ],
        "summary": "全部定制师（不分页，含真实产品数和评分）",
        "description": "返回所有定制师，不分页，聚合层补充产品数量和评分，按综合排序。用于下拉选择、全量展示等场景。",
        "operationId": "listAllDesignersUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/designer/featured": {
      "get": {
        "tags": [
          "C端 - 定制师接口"
        ],
        "summary": "推荐定制师(综合排序第一名)",
        "description": "获取综合排序排名第一的定制师信息（含产品数和评分），用于首页推荐定制师卡片展示。",
        "operationId": "getFeaturedDesignerUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/designer/{id}": {
      "get": {
        "tags": [
          "C端 - 定制师接口"
        ],
        "summary": "定制师详情(含产品数量和评分)",
        "description": "获取定制师完整个人信息，聚合层会补充该定制师的已发布产品数量和综合评分，用于定制师个人主页展示。",
        "operationId": "getDesignerDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "定制师ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/designer/{id}/products": {
      "get": {
        "tags": [
          "C端 - 定制师接口"
        ],
        "summary": "定制师已发布产品列表",
        "description": "**关联字典（BFF透传）**：\n- product_type：产品类型（显示）",
        "operationId": "getDesignerProductsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "定制师ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "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": 10,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/designer/{id}/reviews": {
      "get": {
        "tags": [
          "C端 - 定制师接口"
        ],
        "summary": "定制师产品评价列表",
        "description": "**关联字典（BFF透传）**：\n- rating_level：评价等级（显示）",
        "operationId": "getDesignerReviewsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "定制师ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "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": 10,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/wiki/article/{articleId}": {
      "get": {
        "tags": [
          "C端 - 攻略接口"
        ],
        "summary": "文章详情",
        "description": "**关联字典（BFF透传）**：\n- wiki_status：文章状态（返回字段）",
        "operationId": "getArticleUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "文章ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/wiki/categories": {
      "get": {
        "tags": [
          "C端 - 攻略接口"
        ],
        "summary": "攻略分类列表",
        "description": "获取所有已启用的攻略分类，按排序值排列。用于小程序攻略频道的分类导航展示。",
        "operationId": "listCategoriesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/wiki/category/{categoryId}/articles": {
      "get": {
        "tags": [
          "C端 - 攻略接口"
        ],
        "summary": "分类文章列表",
        "description": "分页查询指定攻略分类下已发布的文章列表，按发布时间倒序排列。用于攻略分类详情页。",
        "operationId": "listCategoryArticlesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "categoryId",
            "in": "path",
            "description": "攻略分类ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "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": 10,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/wiki/recommend-articles": {
      "get": {
        "tags": [
          "C端 - 攻略接口"
        ],
        "summary": "推荐文章列表",
        "description": "获取编辑推荐的攻略文章列表（按推荐权重排序），用于首页或攻略频道的推荐位展示。",
        "operationId": "listRecommendArticlesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "返回条数",
            "required": false,
            "type": "integer",
            "default": 10,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/contract/by-order/{orderId}": {
      "get": {
        "tags": [
          "C端 - 合同接口"
        ],
        "summary": "按订单查合同",
        "description": "返回订单关联的最新有效合同（非作废）\n\n**关联字典（BFF透传）**：\n- contract_status：合同状态（显示）",
        "operationId": "getContractByOrderUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/contract/by-order/{orderId}/all": {
      "get": {
        "tags": [
          "C端 - 合同接口"
        ],
        "summary": "按订单查所有合同",
        "description": "返回订单关联的所有有效合同（TOUR+INSURANCE各一条）\n\n**关联字典（BFF透传）**：\n- contract_status：合同状态（显示）",
        "operationId": "getContractsByOrderUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/contract/list": {
      "get": {
        "tags": [
          "C端 - 合同接口"
        ],
        "summary": "合同列表",
        "description": "**关联字典（BFF透传）**：\n- contract_status：合同状态（列表筛选+显示）",
        "operationId": "listContractsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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
          },
          {
            "name": "status",
            "in": "query",
            "description": "状态",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/contract/{contractId}/resend-sms": {
      "post": {
        "tags": [
          "C端 - 合同接口"
        ],
        "summary": "重新发送合同签署短信",
        "description": "重新向出行人发送合同签署短信通知，适用于出行人未收到短信或短信过期的场景。\n\n**权限**：需登录。",
        "operationId": "resendContractSmsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "合同ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/contract/{id}": {
      "get": {
        "tags": [
          "C端 - 合同接口"
        ],
        "summary": "合同详情",
        "description": "返回合同基本信息、签署状态、出行人签署详情及合同文件下载链接\n\n**关联字典（BFF透传）**：\n- contract_status：合同状态（显示）",
        "operationId": "getContractDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "合同ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/hotel/list": {
      "get": {
        "tags": [
          "C端 - 酒店接口"
        ],
        "summary": "酒店列表",
        "description": "分页查询已上架的酒店列表，支持按关键词、城市、星级筛选。聚合层透传resource-service的酒店数据。",
        "operationId": "listHotelsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "city",
            "in": "query",
            "description": "城市",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "关键词",
            "required": false,
            "type": "string",
            "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
          },
          {
            "name": "starLevel",
            "in": "query",
            "description": "星级（字典: hotel_star_level）",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/hotel/room-type/{roomTypeId}": {
      "get": {
        "tags": [
          "C端 - 酒店接口"
        ],
        "summary": "房型详情",
        "description": "获取房型完整信息，包含封面、轮播图、视频等素材URL，以及床型、面积、设施等详细信息。",
        "operationId": "getRoomTypeDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "roomTypeId",
            "in": "path",
            "description": "房型ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/hotel/{hotelId}": {
      "get": {
        "tags": [
          "C端 - 酒店接口"
        ],
        "summary": "酒店详情",
        "description": "获取酒店完整信息（含房型列表、图文详情、价格等），自动注入静态地图图片URL用于详情页地图展示。roomTypes字段包含已启用的房型列表。",
        "operationId": "getHotelDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "hotelId",
            "in": "path",
            "description": "酒店ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/restaurant/list": {
      "get": {
        "tags": [
          "C端 - 餐厅接口"
        ],
        "summary": "餐厅列表",
        "description": "分页查询已上架的餐厅列表，支持按关键词和城市筛选。聚合层透传resource-service的餐厅数据。",
        "operationId": "listRestaurantsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "city",
            "in": "query",
            "description": "城市",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "关键词",
            "required": false,
            "type": "string",
            "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": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/restaurant/{restaurantId}": {
      "get": {
        "tags": [
          "C端 - 餐厅接口"
        ],
        "summary": "餐厅详情",
        "description": "获取餐厅完整信息（含菜品、图文详情等），自动注入静态地图图片URL用于详情页地图展示。",
        "operationId": "getRestaurantDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "restaurantId",
            "in": "path",
            "description": "餐厅ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/dict/all": {
      "get": {
        "tags": [
          "C端 - 字典接口"
        ],
        "summary": "获取所有字典数据",
        "description": "获取系统全部字典数据（按字典类型分组），用于小程序端的下拉选项、枚举映射等。建议前端缓存此数据",
        "operationId": "getAllDictUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/badge": {
      "get": {
        "tags": [
          "C端 - 徽章接口"
        ],
        "summary": "获取徽章数据",
        "description": "返回用户的徽章统计（未读消息数、待办事项数等），用于「我的」页面角标展示",
        "operationId": "getBadgesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/banner/active": {
      "get": {
        "tags": [
          "C端 - 轮播图接口"
        ],
        "summary": "获取当前生效的轮播图列表",
        "description": "返回当前处于有效期内的轮播图，按排序值排列。用于小程序首页顶部轮播展示，透传自user-service。",
        "operationId": "listActiveBannersUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/common/agreement/list": {
      "get": {
        "tags": [
          "C端 - 公共接口"
        ],
        "summary": "协议列表",
        "description": "获取所有已上线的协议列表（不含内容，仅含类型、标题、版本）",
        "operationId": "listAgreementsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/common/agreement/{type}": {
      "get": {
        "tags": [
          "C端 - 公共接口"
        ],
        "summary": "获取协议文本",
        "description": "获取指定类型的协议文本（如隐私政策、用户协议），返回富文本内容",
        "operationId": "getAgreementUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "description": "协议类型: privacy(隐私政策) / user(用户协议)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/common/config": {
      "get": {
        "tags": [
          "C端 - 公共接口"
        ],
        "summary": "应用配置",
        "description": "获取应用全局配置信息",
        "operationId": "getConfigUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/common/contact": {
      "get": {
        "tags": [
          "C端 - 公共接口"
        ],
        "summary": "联系方式列表",
        "description": "获取有效的联系方式列表（电话/微信/邮箱等）",
        "operationId": "listContactsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/common/faq": {
      "get": {
        "tags": [
          "C端 - 公共接口"
        ],
        "summary": "FAQ列表",
        "description": "获取常见问题列表（按分类分组）",
        "operationId": "listFaqUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/common/feedback": {
      "post": {
        "tags": [
          "C端 - 公共接口"
        ],
        "summary": "提交反馈",
        "description": "提交用户反馈，支持文字内容和图片附件",
        "operationId": "submitFeedbackUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "feedback",
            "description": "反馈内容（含content、images、contact等字段）",
            "required": true,
            "schema": {
              "$ref": "#/definitions/提交反馈请求",
              "originalRef": "提交反馈请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/config": {
      "get": {
        "tags": [
          "C端 - 前端配置接口"
        ],
        "summary": "获取所有非敏感前端配置",
        "description": "返回所有非SECRET类型的前端配置项（如主题色、客服电话、版本号等）。不含敏感配置，可安全传输给小程序端。",
        "operationId": "listPublicConfigsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/config/group/{group}": {
      "get": {
        "tags": [
          "C端 - 前端配置接口"
        ],
        "summary": "按分组获取非敏感前端配置",
        "description": "按配置分组获取前端配置项，如UI分组、功能开关分组等。用于小程序按需加载特定分组的配置。",
        "operationId": "listPublicConfigsByGroupUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "description": "配置分组",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/wish": {
      "get": {
        "tags": [
          "C端 - 心愿单接口"
        ],
        "summary": "心愿单列表",
        "description": "返回当前用户的心愿单列表，按创建时间倒序排列",
        "operationId": "listWishesUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      },
      "post": {
        "tags": [
          "C端 - 心愿单接口"
        ],
        "summary": "创建心愿",
        "description": "创建旅行心愿，描述想去的地方和时间偏好，定制师可据此推荐产品",
        "operationId": "createWishUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "心愿请求体",
            "required": false,
            "schema": {
              "$ref": "#/definitions/创建祈愿请求",
              "originalRef": "创建祈愿请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/explore/list": {
      "get": {
        "tags": [
          "C端 - 探索接口"
        ],
        "summary": "探索列表",
        "description": "获取已启用的探索分类列表（图文攻略内容），支持综合/最新/最热排序，分页返回。用于小程序探索频道首页瀑布流展示。",
        "operationId": "listUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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
          },
          {
            "name": "sortType",
            "in": "query",
            "description": "排序方式：comprehensive/newest/hottest",
            "required": false,
            "type": "string",
            "default": "comprehensive",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/explore/{id}": {
      "get": {
        "tags": [
          "C端 - 探索接口"
        ],
        "summary": "探索详情",
        "description": "自动增加浏览量，已登录时返回点赞/收藏状态",
        "operationId": "detailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "探索分类ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/explore/{id}/favorite": {
      "post": {
        "tags": [
          "C端 - 探索接口"
        ],
        "summary": "切换收藏",
        "description": "对探索内容收藏/取消收藏，返回当前收藏状态（true=已收藏）。收藏后可在'我的收藏'中查看。\n\n**权限**：需登录。",
        "operationId": "toggleFavoriteUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "探索分类ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/explore/{id}/like": {
      "post": {
        "tags": [
          "C端 - 探索接口"
        ],
        "summary": "切换点赞",
        "description": "对探索内容点赞/取消点赞，返回当前点赞状态（true=已点赞）。\n\n**权限**：需登录。",
        "operationId": "toggleLikeUsingPOST_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "探索分类ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/explore/{id}/view": {
      "post": {
        "tags": [
          "C端 - 探索接口"
        ],
        "summary": "浏览+1",
        "description": "增加探索内容的浏览计数。前端进入探索详情页时调用，无需登录。",
        "operationId": "viewUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "探索分类ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Void»",
              "originalRef": "统一响应结果«Void»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/album/file/{albumFileId}/download-url": {
      "get": {
        "tags": [
          "C端 - 相册接口"
        ],
        "summary": "获取文件下载链接",
        "description": "获取文件的预签名下载URL，有效期有限",
        "operationId": "getDownloadUrlUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "albumFileId",
            "in": "path",
            "description": "相册文件ID",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«string»",
              "originalRef": "统一响应结果«string»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«string»",
              "originalRef": "统一响应结果«string»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/album/folder/{folderId}/files": {
      "get": {
        "tags": [
          "C端 - 相册接口"
        ],
        "summary": "文件夹下的文件列表",
        "description": "获取文件夹下的文件列表（分页），含图片和视频",
        "operationId": "listFilesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "description": "文件夹ID",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码，默认1",
            "required": false,
            "type": "integer",
            "default": 1,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "size",
            "in": "query",
            "description": "每页数量，默认20",
            "required": false,
            "type": "integer",
            "default": 20,
            "format": "int32",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/album/order/{orderId}/folders": {
      "get": {
        "tags": [
          "C端 - 相册接口"
        ],
        "summary": "订单的文件夹列表",
        "description": "获取订单下的相册文件夹列表",
        "operationId": "listFoldersUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/album/orders": {
      "get": {
        "tags": [
          "C端 - 相册接口"
        ],
        "summary": "有相册的订单列表",
        "description": "获取当前登录用户有相册的订单列表",
        "operationId": "listAlbumOrdersUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/activity/list": {
      "get": {
        "tags": [
          "C端 - 活动接口"
        ],
        "summary": "活动列表",
        "description": "分页查询已上架的活动列表，支持关键词和分类筛选。聚合层透传resource-service的活动数据给小程序前端。",
        "operationId": "listActivitiesUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "categoryCode",
            "in": "query",
            "description": "分类",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "关键词",
            "required": false,
            "type": "string",
            "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": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/activity/{activityId}": {
      "get": {
        "tags": [
          "C端 - 活动接口"
        ],
        "summary": "活动详情",
        "description": "获取活动完整信息（含图文详情、价格等），自动注入静态地图图片URL用于详情页地图展示。",
        "operationId": "getActivityDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "activityId",
            "in": "path",
            "description": "活动ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/scenic/list": {
      "get": {
        "tags": [
          "C端 - 景区接口"
        ],
        "summary": "景区列表",
        "description": "分页查询已上架的景区列表，支持按关键词和城市筛选。聚合层透传resource-service的景区数据。",
        "operationId": "listScenicUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "city",
            "in": "query",
            "description": "城市",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "关键词",
            "required": false,
            "type": "string",
            "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": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
              "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/scenic/{scenicId}": {
      "get": {
        "tags": [
          "C端 - 景区接口"
        ],
        "summary": "景区详情",
        "description": "获取景区完整信息（含季节素材、图文详情、价格等），自动注入静态地图图片URL用于详情页地图展示。",
        "operationId": "getScenicDetailUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "scenicId",
            "in": "path",
            "description": "景区ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/scenic/{scenicId}/nearby": {
      "get": {
        "tags": [
          "C端 - 景区接口"
        ],
        "summary": "附近景区（地理+探索分类聚合）",
        "description": "聚合两个数据源：1.基于经纬度的地理位置附近景区（resource-service）；2.探索分类关联的景区（user-service）。去重合并后返回，用于景区详情页底部'附近推荐'展示。",
        "operationId": "getNearbyScenicUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "返回条数",
            "required": false,
            "type": "integer",
            "default": 10,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "radius",
            "in": "query",
            "description": "搜索半径(km)",
            "required": false,
            "type": "number",
            "default": 50.0,
            "format": "double",
            "allowEmptyValue": false
          },
          {
            "name": "scenicId",
            "in": "path",
            "description": "景区ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/weather/forecast": {
      "get": {
        "tags": [
          "C端 - 天气接口"
        ],
        "summary": "根据经纬度获取天气预报",
        "description": "通过和风天气API查询指定经纬度的未来7天天气预报信息",
        "operationId": "getForecastWeatherUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "latitude",
            "in": "query",
            "description": "纬度",
            "required": false,
            "type": "number",
            "allowEmptyValue": false
          },
          {
            "name": "longitude",
            "in": "query",
            "description": "经度",
            "required": false,
            "type": "number",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/weather/itinerary/{orderId}": {
      "get": {
        "tags": [
          "C端 - 天气接口"
        ],
        "summary": "获取订单行程天气",
        "description": "根据订单行程节点的经纬度，批量查询每日天气信息，用于行程详情页展示",
        "operationId": "getItineraryWeatherUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "订单ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
              "originalRef": "统一响应结果«List«Map«string,object»»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/weather/live": {
      "get": {
        "tags": [
          "C端 - 天气接口"
        ],
        "summary": "根据经纬度获取实况天气",
        "description": "通过和风天气API查询指定经纬度的实时天气（温度、体感温度、湿度、风向等），精度3-5公里",
        "operationId": "getLiveWeatherUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "latitude",
            "in": "query",
            "description": "纬度",
            "required": false,
            "type": "number",
            "allowEmptyValue": false
          },
          {
            "name": "longitude",
            "in": "query",
            "description": "经度",
            "required": false,
            "type": "number",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/like/{targetType}/batch-check": {
      "post": {
        "tags": [
          "C端 - 通用点赞"
        ],
        "summary": "批量检查点赞状态",
        "description": "批量检查当前用户是否已对多个目标点赞，返回已点赞的目标ID列表。用于列表页批量展示点赞状态。\n\n**权限**：需登录。",
        "operationId": "batchCheckLikedUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "targetType",
            "in": "path",
            "description": "目标类型",
            "required": false,
            "type": "string"
          },
          {
            "in": "body",
            "name": "targetIds",
            "description": "targetIds",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«string»»",
              "originalRef": "统一响应结果«List«string»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«string»»",
              "originalRef": "统一响应结果«List«string»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/like/{targetType}/{targetId}": {
      "post": {
        "tags": [
          "C端 - 通用点赞"
        ],
        "summary": "切换点赞",
        "description": "点赞/取消点赞，返回 {liked: true/false, likeCount: 点赞数}",
        "operationId": "toggleLikeUsingPOST_2",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "targetId",
            "in": "path",
            "description": "目标ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "targetType",
            "in": "path",
            "description": "目标类型: REVIEW/EXPLORE/GUIDE等",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«Map«string,object»»",
              "originalRef": "统一响应结果«Map«string,object»»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/like/{targetType}/{targetId}/check": {
      "get": {
        "tags": [
          "C端 - 通用点赞"
        ],
        "summary": "检查是否已点赞",
        "description": "检查当前用户是否已对指定目标点赞，用于前端点赞按钮状态展示。\n\n**权限**：需登录。",
        "operationId": "checkLikeUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "targetId",
            "in": "path",
            "description": "目标ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "targetType",
            "in": "path",
            "description": "目标类型",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«boolean»",
              "originalRef": "统一响应结果«boolean»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/custom/detail": {
      "get": {
        "tags": [
          "C端 - 定制需求接口"
        ],
        "summary": "定制需求详情",
        "description": "查询单条定制需求的完整信息，包含定制师信息、需求详情、回复内容等。\n\n**关联字典**：\n- status → 字典：customize_request_status：PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消\n- travelPurpose → 字典：travel_purpose（旅游目的）\n- requestType → 字典：customize_request_type（需求类型）\n- budget → 字典：customize_budget（预算范围）",
        "operationId": "detailUsingGET_1",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "定制请求ID",
            "required": false,
            "type": "integer",
            "format": "int64",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
              "originalRef": "统一响应结果«定制需求详情VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
              "originalRef": "统一响应结果«定制需求详情VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/custom/list": {
      "get": {
        "tags": [
          "C端 - 定制需求接口"
        ],
        "summary": "定制需求列表",
        "description": "分页查询当前用户的定制需求列表，按创建时间倒序。\n\n**关联字典**：\n- status → 字典：customize_request_status：PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消\n- travelPurpose → 字典：travel_purpose（旅游目的）\n- requestType → 字典：customize_request_type（需求类型）\n- budget → 字典：customize_budget（预算范围）",
        "operationId": "listUsingGET_1",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "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": {
              "$ref": "#/definitions/统一响应结果«分页结果«定制需求列表项VO»»",
              "originalRef": "统一响应结果«分页结果«定制需求列表项VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«分页结果«定制需求列表项VO»»",
              "originalRef": "统一响应结果«分页结果«定制需求列表项VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/custom/product/{productId}": {
      "get": {
        "tags": [
          "C端 - 定制需求接口"
        ],
        "summary": "查询已完成的定制产品详情",
        "description": "根据产品ID查询已完成（COMPLETED/ORDERED）的定制产品详情。\n用于定制需求详情页展示定制师设计完成的产品方案。\n\n**返回字段**：产品完整信息，包括行程安排(itineraryDays)、人员配置(staffConfigs)、家庭分组(families)、定价(pricing)等。\n\n**关联字典**：\n- productType → 字典：product_type：CUSTOM=定制产品\n- status → 字典：product_status：COMPLETED=已完成（可下单）, ORDERED=已下单（已有订单）\n- staffConfigs.staffType → 字典：staff_type：GUIDE=导游, GUIDE_ASSISTANT=助理导游, PHOTOGRAPHER=摄影师, LEADER=领队, OTHER=其他\n- paymentMode → 字典：payment_mode：FULL=全款, DEPOSIT=定金+尾款",
        "operationId": "getCompletedCustomProductUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "定制产品ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«已完成定制产品详情VO»",
              "originalRef": "统一响应结果«已完成定制产品详情VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«已完成定制产品详情VO»",
              "originalRef": "统一响应结果«已完成定制产品详情VO»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/custom/products": {
      "get": {
        "tags": [
          "C端 - 定制需求接口"
        ],
        "summary": "我的已完成定制产品列表",
        "description": "查询当前用户所有已完成的定制产品列表。\n聚合流程：先从定制需求中获取关联的产品ID → 再批量查询产品信息。\n\n**关联字典**：\n- productType → 字典：product_type：CUSTOM=定制产品\n- paymentMode → 字典：payment_mode：FULL=全款, DEPOSIT=定金+尾款",
        "operationId": "listCompletedCustomProductsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«已完成定制产品列表项VO»»",
              "originalRef": "统一响应结果«List«已完成定制产品列表项VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«List«已完成定制产品列表项VO»»",
              "originalRef": "统一响应结果«List«已完成定制产品列表项VO»»"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/custom/submit": {
      "post": {
        "tags": [
          "C端 - 定制需求接口"
        ],
        "summary": "提交定制需求",
        "description": "用户提交定制旅行需求，系统会创建定制请求并通知定制师。\n\n**关联字典**：\n- travelPurpose → 字典：travel_purpose（旅游目的）：LEISURE=休闲度假, ADVENTURE=探险体验, CULTURE=文化探访, FAMILY=亲子陪伴, ROMANCE=浪漫旅行, TEAM=团队建设, OTHER=其他\n- requestType → 字典：customize_request_type（需求类型）：FAMILY_TRIP=亲子游, HONEYMOON=蜜月游, GROUP_TRIP=团建游, SENIOR_TRIP=银发游, ADVENTURE=探险游, PHOTOGRAPHY=摄影游, CULTURE=文化游, OTHER=其他\n- budget → 字典：customize_budget（预算范围）：UNDER_3000=3000元以下/人, BUDGET_3000_5000=3000-5000元/人, BUDGET_5000_10000=5000-10000元/人, BUDGET_10000_20000=10000-20000元/人, ABOVE_20000=20000元以上/人, NO_LIMIT=不限预算\n- 返回字段 status → 字典：customize_request_status（定制请求状态）：PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消",
        "operationId": "submitUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/提交定制需求请求",
              "originalRef": "提交定制需求请求"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
              "originalRef": "统一响应结果«定制需求详情VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
              "originalRef": "统一响应结果«定制需求详情VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    },
    "/mp/custom/{requestId}/cancel": {
      "post": {
        "tags": [
          "C端 - 定制需求接口"
        ],
        "summary": "取消定制需求",
        "description": "用户取消定制需求。\n\n**业务规则**：\n- 仅 PENDING（待处理）、ACCEPTED（已接受）、DESIGNING（设计中）状态可取消\n- 已报价（QUOTED）、已完成（COMPLETED）或已取消（CANCELLED）的需求不可再次取消\n\n**关联字典**：\n- status → 字典：customize_request_status：PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消",
        "operationId": "cancelUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "requestId",
            "in": "path",
            "description": "定制请求ID",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
              "originalRef": "统一响应结果«定制需求详情VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "responsesObject": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
              "originalRef": "统一响应结果«定制需求详情VO»"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false,
        "x-order": "2147483647"
      }
    }
  },
  "definitions": {
    "Map«string,object»": {
      "type": "object",
      "title": "Map«string,object»",
      "additionalProperties": {
        "type": "object"
      }
    },
    "Map«string,object»_1": {
      "type": "object",
      "title": "Map«string,object»_1",
      "additionalProperties": {
        "type": "object"
      }
    },
    "分页结果«Map«string,object»»": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "当前页码"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "example": 20,
          "description": "每页条数"
        },
        "records": {
          "type": "array",
          "description": "数据列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«Map«string,object»»"
    },
    "统一响应结果«分页结果«Map«string,object»»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/分页结果«Map«string,object»»",
          "originalRef": "分页结果«Map«string,object»»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«Map«string,object»»»"
    },
    "统一响应结果«首页聚合数据»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/首页聚合数据",
          "originalRef": "首页聚合数据"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«首页聚合数据»"
    },
    "首页聚合数据": {
      "type": "object",
      "properties": {
        "banners": {
          "type": "array",
          "description": "轮播图Banner列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "contactInfo": {
          "type": "array",
          "description": "联系我们列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "exploreTopics": {
          "type": "array",
          "description": "探索专题列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "featuredDesigner": {
          "type": "object",
          "description": "推荐定制师"
        },
        "featuredReviews": {
          "type": "array",
          "description": "首页精选评价列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "productLines": {
          "type": "array",
          "description": "产品线分类列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "recommendProducts": {
          "type": "array",
          "description": "推荐产品列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        }
      },
      "title": "首页聚合数据"
    },
    "C端产品详情": {
      "type": "object",
      "properties": {
        "batches": {
          "type": "array",
          "description": "可售期数列表（仅GROUP产品，按出发日期升序）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "chatMessages": {
          "type": "array",
          "description": "群聊最近消息（来自会话存档）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "earliestBookingDate": {
          "type": "string",
          "description": "最早可订日期(如 2026-07-15)"
        },
        "earlyBirdDiscount": {
          "type": "number",
          "description": "早鸟优惠金额(元/人)"
        },
        "earlyBirdPlanName": {
          "type": "string",
          "description": "早鸟计划名称"
        },
        "earlyBirdText": {
          "type": "string",
          "description": "早鸟优惠文字描述(如: 早鸟优惠：满2人立减50元/人)"
        },
        "isFavorited": {
          "type": "boolean",
          "description": "是否已收藏（null表示未登录）"
        },
        "participantFamilyCount": {
          "type": "integer",
          "format": "int32",
          "description": "参与家庭数"
        },
        "product": {
          "type": "object",
          "description": "产品详情（来自product-service）"
        },
        "refundPolicies": {
          "type": "object",
          "description": "退款政策详情（按退款类型分组）。key=退款类型(FULL/DEPOSIT/BALANCE)，value=政策详情(含policyName、rules等)"
        },
        "reviewStats": {
          "type": "object",
          "description": "评价统计数据"
        },
        "topLikedReview": {
          "type": "object",
          "description": "最高点赞评价"
        },
        "topRatedReview": {
          "type": "object",
          "description": "最高评分评价"
        },
        "totalSold": {
          "type": "integer",
          "format": "int32",
          "description": "已购人数"
        }
      },
      "title": "C端产品详情"
    },
    "Map«string,object»_2": {
      "type": "object",
      "title": "Map«string,object»_2",
      "additionalProperties": {
        "type": "object"
      }
    },
    "Map«string,object»_3": {
      "type": "object",
      "title": "Map«string,object»_3",
      "additionalProperties": {
        "type": "object"
      }
    },
    "产品报价结果": {
      "type": "object",
      "properties": {
        "adultSellPrice": {
          "type": "number",
          "description": "成人单价"
        },
        "available": {
          "type": "boolean",
          "description": "该日期是否可订（库存>0或不限库存）"
        },
        "babySellPrice": {
          "type": "number",
          "description": "幼童单价（固定价）"
        },
        "childSellPrice": {
          "type": "number",
          "description": "儿童单价"
        },
        "childWithBedFee": {
          "type": "number",
          "description": "儿童加床费"
        },
        "depositPayment": {
          "description": "定金支付信息（仅paymentMode=DEPOSIT时有值）",
          "$ref": "#/definitions/定金支付选项",
          "originalRef": "定金支付选项"
        },
        "earlyBirdDiscount": {
          "description": "早鸟优惠信息，无优惠时为null",
          "$ref": "#/definitions/早鸟优惠信息",
          "originalRef": "早鸟优惠信息"
        },
        "finalPrice": {
          "type": "number",
          "description": "最终价（早鸟优惠后）"
        },
        "fullPayment": {
          "description": "全额支付信息",
          "$ref": "#/definitions/全额支付选项",
          "originalRef": "全额支付选项"
        },
        "grandTotalSellPrice": {
          "type": "number",
          "description": "总售价（优惠前）"
        },
        "paymentMode": {
          "type": "string",
          "description": "支付方式: FULL(全额支付) / DEPOSIT(定金+尾款)"
        },
        "stock": {
          "type": "integer",
          "format": "int32",
          "description": "该日期剩余库存（null表示不限）"
        },
        "totalAdultSellPrice": {
          "type": "number",
          "description": "成人小计"
        },
        "totalBabySellPrice": {
          "type": "number",
          "description": "幼童小计"
        },
        "totalChildSellPrice": {
          "type": "number",
          "description": "儿童小计"
        },
        "totalYoungChildSellPrice": {
          "type": "number",
          "description": "小童小计"
        },
        "youngChildSellPrice": {
          "type": "number",
          "description": "小童单价（儿童价×折扣比例）"
        }
      },
      "title": "产品报价结果"
    },
    "产品报价请求": {
      "type": "object",
      "required": [
        "adultCount",
        "departureDate"
      ],
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "example": 2,
          "description": "成人数量"
        },
        "babyCount": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "婴儿数量"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "儿童数量"
        },
        "childNeedBed": {
          "type": "boolean",
          "example": false,
          "description": "儿童是否需要床位"
        },
        "departureDate": {
          "type": "string",
          "example": "2026-05-01",
          "description": "出发日期"
        },
        "youngChildCount": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "幼儿数量"
        }
      },
      "title": "产品报价请求"
    },
    "全额支付选项": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "number",
          "description": "应付金额"
        },
        "description": {
          "type": "string",
          "description": "说明"
        }
      },
      "title": "全额支付选项"
    },
    "定金支付选项": {
      "type": "object",
      "properties": {
        "balanceAmount": {
          "type": "number",
          "description": "尾款金额（出行前需付）"
        },
        "depositAmount": {
          "type": "number",
          "description": "定金金额（首次需付）"
        },
        "depositRatio": {
          "type": "integer",
          "format": "int32",
          "description": "定金比例(%)"
        },
        "description": {
          "type": "string",
          "description": "说明"
        }
      },
      "title": "定金支付选项"
    },
    "早鸟优惠信息": {
      "type": "object",
      "properties": {
        "discountAmount": {
          "type": "number",
          "description": "优惠金额"
        },
        "minPeople": {
          "type": "integer",
          "format": "int32",
          "description": "最低人数要求"
        },
        "planId": {
          "type": "integer",
          "format": "int64",
          "description": "优惠方案ID"
        },
        "planName": {
          "type": "string",
          "description": "优惠方案名称"
        }
      },
      "title": "早鸟优惠信息"
    },
    "统一响应结果«C端产品详情»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/C端产品详情",
          "originalRef": "C端产品详情"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«C端产品详情»"
    },
    "统一响应结果«List«Map«string,object»»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«Map«string,object»»»"
    },
    "统一响应结果«产品报价结果»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/产品报价结果",
          "originalRef": "产品报价结果"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«产品报价结果»"
    },
    "C端创建订单请求": {
      "type": "object",
      "required": [
        "contactName",
        "contactPhone",
        "productId"
      ],
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "example": 2,
          "description": "成人数"
        },
        "babyCount": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "幼童数"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "儿童数"
        },
        "childNeedBed": {
          "type": "boolean",
          "example": false,
          "description": "儿童是否需要床位"
        },
        "contactName": {
          "type": "string",
          "example": "张三",
          "description": "联系人姓名"
        },
        "contactPhone": {
          "type": "string",
          "example": 13800138000,
          "description": "联系人电话"
        },
        "customizerId": {
          "type": "string",
          "description": "定制师ID(通过分享链接下单时传入)"
        },
        "departureDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-01",
          "description": "出发日期(GROUP产品从团期获取，可不传)"
        },
        "groupBatchId": {
          "type": "string",
          "description": "团期ID(GROUP产品必填)"
        },
        "productId": {
          "type": "string",
          "example": 1760000000000001,
          "description": "产品ID"
        },
        "remark": {
          "type": "string",
          "example": "希望安排靠窗座位",
          "description": "备注"
        },
        "roomCount": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "房间数(GROUP产品，默认1)"
        },
        "sharerOpenid": {
          "type": "string",
          "description": "分享人微信openid（通过分享进入下单时传入，用于记录分享关系）"
        },
        "travelers": {
          "type": "array",
          "description": "出行人列表",
          "items": {
            "$ref": "#/definitions/出行人信息",
            "originalRef": "出行人信息"
          }
        },
        "youngChildCount": {
          "type": "integer",
          "format": "int32",
          "example": 0,
          "description": "小童数"
        }
      },
      "title": "C端创建订单请求"
    },
    "Map«string,List«Map«string,object»»»": {
      "type": "object",
      "title": "Map«string,List«Map«string,object»»»",
      "additionalProperties": {
        "$ref": "#/definitions/List",
        "originalRef": "List"
      }
    },
    "Map«string,object»_4": {
      "type": "object",
      "title": "Map«string,object»_4",
      "additionalProperties": {
        "type": "object"
      }
    },
    "Map«string,object»_5": {
      "type": "object",
      "title": "Map«string,object»_5",
      "additionalProperties": {
        "type": "object"
      }
    },
    "Map«string,object»_6": {
      "type": "object",
      "title": "Map«string,object»_6",
      "additionalProperties": {
        "type": "object"
      }
    },
    "修改订单请求": {
      "type": "object",
      "properties": {
        "departureDate": {
          "type": "string",
          "format": "date",
          "example": "2026-05-01",
          "description": "出发日期"
        },
        "travelers": {
          "type": "array",
          "description": "出行人列表（提供则替换全部出行人）",
          "items": {
            "$ref": "#/definitions/出行人信息_1",
            "originalRef": "出行人信息_1"
          }
        }
      },
      "title": "修改订单请求"
    },
    "出行人信息": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "birthday": {
          "type": "string",
          "format": "date",
          "example": "1990-01-01",
          "description": "出生日期"
        },
        "email": {
          "type": "string",
          "example": "lisi@example.com",
          "description": "电子邮箱"
        },
        "emergencyContact": {
          "type": "string",
          "example": "王五",
          "description": "紧急联系人"
        },
        "emergencyPhone": {
          "type": "string",
          "example": 13800138002,
          "description": "紧急联系电话"
        },
        "gender": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "性别（1=男, 2=女）"
        },
        "idCardNo": {
          "type": "string",
          "example": 110101199001011234,
          "description": "证件号码"
        },
        "idCardType": {
          "type": "string",
          "example": "ID_CARD",
          "description": "证件类型"
        },
        "name": {
          "type": "string",
          "example": "李四",
          "description": "出行人姓名"
        },
        "nationality": {
          "type": "string",
          "example": "中国",
          "description": "国籍"
        },
        "phone": {
          "type": "string",
          "example": 13800138001,
          "description": "手机号"
        },
        "travelerType": {
          "type": "string",
          "example": "ADULT",
          "description": "出行人类型（ADULT/CHILD/YOUNG_CHILD/BABY）"
        }
      },
      "title": "出行人信息"
    },
    "出行人信息_1": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "birthday": {
          "type": "string",
          "format": "date",
          "example": "1990-01-01",
          "description": "出生日期"
        },
        "email": {
          "type": "string",
          "example": "lisi@example.com",
          "description": "电子邮箱"
        },
        "emergencyContact": {
          "type": "string",
          "example": "王五",
          "description": "紧急联系人"
        },
        "emergencyPhone": {
          "type": "string",
          "example": 13800138002,
          "description": "紧急联系电话"
        },
        "gender": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "性别"
        },
        "idCardNo": {
          "type": "string",
          "example": 110101199001011234,
          "description": "证件号码"
        },
        "idCardType": {
          "type": "string",
          "example": "ID_CARD",
          "description": "证件类型"
        },
        "name": {
          "type": "string",
          "example": "李四",
          "description": "出行人姓名"
        },
        "nationality": {
          "type": "string",
          "example": "中国",
          "description": "国籍"
        },
        "phone": {
          "type": "string",
          "example": 13800138001,
          "description": "手机号"
        },
        "travelerType": {
          "type": "string",
          "example": "ADULT",
          "description": "出行人类型"
        }
      },
      "title": "出行人信息_1"
    },
    "分页结果«订单列表项»": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "当前页码"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "example": 20,
          "description": "每页条数"
        },
        "records": {
          "type": "array",
          "description": "数据列表",
          "items": {
            "$ref": "#/definitions/订单列表项",
            "originalRef": "订单列表项"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«订单列表项»"
    },
    "用户取消订单请求": {
      "type": "object",
      "properties": {
        "reason": {
          "type": "string",
          "example": "行程有变，需要取消",
          "description": "取消原因"
        }
      },
      "title": "用户取消订单请求"
    },
    "统一响应结果«List«订单列表项»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "$ref": "#/definitions/订单列表项",
            "originalRef": "订单列表项"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«订单列表项»»"
    },
    "统一响应结果«List«退款原因»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "$ref": "#/definitions/退款原因",
            "originalRef": "退款原因"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«退款原因»»"
    },
    "统一响应结果«Map«string,List«Map«string,object»»»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "object",
          "description": "响应数据",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Map«string,object»",
              "originalRef": "Map«string,object»"
            }
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«Map«string,List«Map«string,object»»»»"
    },
    "统一响应结果«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»"
    },
    "统一响应结果«分页结果«订单列表项»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/分页结果«订单列表项»",
          "originalRef": "分页结果«订单列表项»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«订单列表项»»"
    },
    "统一响应结果«订单详情»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/订单详情",
          "originalRef": "订单详情"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«订单详情»"
    },
    "统一响应结果«退款申请详情»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/退款申请详情",
          "originalRef": "退款申请详情"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«退款申请详情»"
    },
    "统一响应结果«退款预览»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/退款预览",
          "originalRef": "退款预览"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«退款预览»"
    },
    "订单列表项": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "description": "成人数"
        },
        "babyCount": {
          "type": "integer",
          "format": "int32",
          "description": "幼童数"
        },
        "balanceAmount": {
          "type": "number",
          "description": "尾款金额"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "description": "儿童数"
        },
        "contracts": {
          "type": "array",
          "description": "合同列表（含signUrl/fileUrl/status等）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "daysUntilDeparture": {
          "type": "integer",
          "format": "int32",
          "description": "距出发天数（负数表示已出发）"
        },
        "departureDate": {
          "type": "string",
          "format": "date",
          "description": "出发日期"
        },
        "depositAmount": {
          "type": "number",
          "description": "定金金额"
        },
        "displayName": {
          "type": "string",
          "description": "显示名称（未支付=手机号+姓名，已支付=订单号）"
        },
        "displayStatus": {
          "type": "string",
          "description": "C端简化状态（PENDING_PAY/PENDING_DEPARTURE/PENDING_REVIEW/REFUND/CANCELLED）"
        },
        "displayStatusLabel": {
          "type": "string",
          "description": "C端简化状态标签"
        },
        "expiryTime": {
          "type": "string",
          "format": "date-time",
          "description": "支付截止时间（PENDING_PAY状态有效）"
        },
        "insurances": {
          "type": "array",
          "description": "保险订单列表（含productName/extPolicyNo/status等）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "nextAction": {
          "type": "string",
          "description": "下一步操作提示"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "description": "订单ID"
        },
        "orderNo": {
          "type": "string",
          "description": "订单编号"
        },
        "paidAmount": {
          "type": "number",
          "description": "已付金额"
        },
        "paymentMode": {
          "type": "string",
          "description": "支付模式（FULL/DEPOSIT）"
        },
        "processStatus": {
          "type": "string",
          "description": "内部流程状态（字典：order_process_status）"
        },
        "processStatusLabel": {
          "type": "string",
          "description": "内部流程状态标签（字典：order_process_status 翻译）"
        },
        "productCoverUrl": {
          "type": "string",
          "description": "产品封面图URL"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "description": "产品ID"
        },
        "productName": {
          "type": "string",
          "description": "产品名称"
        },
        "productType": {
          "type": "string",
          "description": "产品类型（CORE/ROUTE/CUSTOM/GROUP）"
        },
        "refundAmount": {
          "type": "number",
          "description": "实际退款金额"
        },
        "status": {
          "type": "string",
          "description": "订单状态（PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/IN_PROGRESS/COMPLETED/CANCELLED）"
        },
        "statusLabel": {
          "type": "string",
          "description": "订单状态标签"
        },
        "totalPrice": {
          "type": "number",
          "description": "总售价"
        },
        "tripDays": {
          "type": "integer",
          "format": "int32",
          "description": "行程天数"
        },
        "tripNights": {
          "type": "integer",
          "format": "int32",
          "description": "行程晚数"
        },
        "youngChildCount": {
          "type": "integer",
          "format": "int32",
          "description": "小童数"
        }
      },
      "title": "订单列表项"
    },
    "订单详情": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "description": "成人数"
        },
        "babyCount": {
          "type": "integer",
          "format": "int32",
          "description": "幼童数"
        },
        "balanceAmount": {
          "type": "number",
          "description": "尾款金额"
        },
        "balancePayMethod": {
          "type": "string",
          "description": "尾款支付方式: ONLINE=线上 OFFLINE=线下"
        },
        "balanceProofUrl": {
          "type": "string",
          "description": "尾款凭证URL"
        },
        "cancelReason": {
          "type": "string",
          "description": "取消原因"
        },
        "cancelledAt": {
          "type": "string",
          "format": "date-time",
          "description": "取消时间"
        },
        "checklistConfirmed": {
          "type": "boolean",
          "description": "清单确认状态"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "description": "儿童数"
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "description": "完成时间"
        },
        "confirmedAt": {
          "type": "string",
          "format": "date-time",
          "description": "确认时间"
        },
        "contactName": {
          "type": "string",
          "description": "联系人姓名"
        },
        "contactPhone": {
          "type": "string",
          "description": "联系人电话"
        },
        "contracts": {
          "type": "array",
          "description": "合同列表（含signUrl/fileUrl/status等）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "creatorAdminId": {
          "type": "integer",
          "format": "int64",
          "description": "创建人管理员ID"
        },
        "creatorName": {
          "type": "string",
          "description": "创建人姓名"
        },
        "customizerId": {
          "type": "integer",
          "format": "int64",
          "description": "定制师ID"
        },
        "customizerName": {
          "type": "string",
          "description": "定制师姓名"
        },
        "departureDate": {
          "type": "string",
          "format": "date",
          "description": "出发日期"
        },
        "depositAmount": {
          "type": "number",
          "description": "定金金额"
        },
        "depositRatio": {
          "type": "integer",
          "format": "int32",
          "description": "定金比例"
        },
        "discountAmount": {
          "type": "number",
          "description": "优惠金额"
        },
        "discountReason": {
          "type": "string",
          "description": "优惠原因"
        },
        "discounts": {
          "type": "array",
          "description": "优惠列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "displayStatus": {
          "type": "string",
          "description": "展示状态（前端主要使用此字段展示）"
        },
        "displayStatusLabel": {
          "type": "string",
          "description": "展示状态标签"
        },
        "expiryMinutes": {
          "type": "integer",
          "format": "int32",
          "description": "支付时限（分钟）"
        },
        "expiryTime": {
          "type": "string",
          "format": "date-time",
          "description": "支付截止时间"
        },
        "hotelAssignmentDetails": {
          "type": "array",
          "description": "酒店分配详情（按家庭分组，含封面图）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "hotelAssignments": {
          "type": "string",
          "description": "酒店分配信息JSON（原始数据）"
        },
        "insurances": {
          "type": "array",
          "description": "保险订单列表（含productName/extPolicyNo/status/startDate/endDate等）",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "mchId": {
          "type": "string",
          "description": "商户号"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "description": "订单ID"
        },
        "orderNo": {
          "type": "string",
          "description": "订单编号"
        },
        "paidAmount": {
          "type": "number",
          "description": "已付金额"
        },
        "paidAt": {
          "type": "string",
          "format": "date-time",
          "description": "支付时间"
        },
        "payMethodLabel": {
          "type": "string",
          "description": "支付方式标签（如：微信支付、定金微信+尾款线下）"
        },
        "paymentMode": {
          "type": "string",
          "description": "支付模式（FULL/DEPOSIT）"
        },
        "processStatus": {
          "type": "string",
          "description": "内部流程状态"
        },
        "processStatusLabel": {
          "type": "string",
          "description": "内部流程状态标签"
        },
        "productCoverUrl": {
          "type": "string",
          "description": "产品封面图URL"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "description": "产品ID"
        },
        "productName": {
          "type": "string",
          "description": "产品名称"
        },
        "productSnapshot": {
          "type": "string",
          "description": "产品快照JSON"
        },
        "productType": {
          "type": "string",
          "description": "产品类型（CORE/ROUTE/CUSTOM/GROUP）"
        },
        "readyAt": {
          "type": "string",
          "format": "date-time",
          "description": "就绪时间"
        },
        "refundAmount": {
          "type": "number",
          "description": "退款金额"
        },
        "refundPolicy": {
          "type": "object",
          "description": "退款政策（含政策名称和退款规则列表）"
        },
        "remark": {
          "type": "string",
          "description": "备注"
        },
        "returnDate": {
          "type": "string",
          "format": "date",
          "description": "返程日期（出发日期 + 行程天数 - 1）"
        },
        "reviewed": {
          "type": "boolean",
          "description": "是否已评价"
        },
        "roomInfo": {
          "type": "string",
          "description": "房间信息"
        },
        "sharerOpenid": {
          "type": "string",
          "description": "分享者openid"
        },
        "status": {
          "type": "string",
          "description": "订单状态（PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/IN_PROGRESS/COMPLETED/CANCELLED）"
        },
        "statusLabel": {
          "type": "string",
          "description": "订单状态标签"
        },
        "surchargeAmount": {
          "type": "number",
          "description": "费用增加总额"
        },
        "surcharges": {
          "type": "array",
          "description": "费用增加项列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "timeline": {
          "type": "array",
          "description": "时间线列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "todos": {
          "type": "array",
          "description": "待办列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "totalPrice": {
          "type": "number",
          "description": "总售价"
        },
        "transportSegments": {
          "type": "array",
          "description": "交通段列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "travelers": {
          "type": "array",
          "description": "出行人列表",
          "items": {
            "$ref": "#/definitions/Map«string,object»",
            "originalRef": "Map«string,object»"
          }
        },
        "tripDays": {
          "type": "integer",
          "format": "int32",
          "description": "行程天数"
        },
        "tripNights": {
          "type": "integer",
          "format": "int32",
          "description": "行程晚数"
        },
        "unlockRequestedAt": {
          "type": "string",
          "format": "date-time",
          "description": "解锁请求时间"
        },
        "userId": {
          "type": "integer",
          "format": "int64",
          "description": "用户ID"
        },
        "vehicleInfo": {
          "type": "string",
          "description": "车辆信息"
        },
        "youngChildCount": {
          "type": "integer",
          "format": "int32",
          "description": "小童数"
        }
      },
      "title": "订单详情"
    },
    "退款原因": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "description": "分类: GENERAL(通用)/PRODUCT(产品问题)/SERVICE(服务问题)"
        },
        "enabled": {
          "type": "boolean",
          "description": "是否启用"
        },
        "reasonId": {
          "type": "integer",
          "format": "int64",
          "description": "原因ID"
        },
        "reasonText": {
          "type": "string",
          "description": "原因描述"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        }
      },
      "title": "退款原因"
    },
    "退款申诉请求": {
      "type": "object",
      "required": [
        "appealAmount",
        "appealReason"
      ],
      "properties": {
        "appealAmount": {
          "type": "number",
          "example": 100.0,
          "description": "申诉退款金额"
        },
        "appealReason": {
          "type": "string",
          "description": "申诉原因"
        },
        "evidence": {
          "type": "array",
          "description": "申诉凭证图片URL列表",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "退款申诉请求"
    },
    "退款申请详情": {
      "type": "object",
      "properties": {
        "actualAmount": {
          "type": "number",
          "description": "实际退款金额（审核后确定）"
        },
        "appealAmount": {
          "type": "number",
          "description": "申诉退款金额"
        },
        "appealReason": {
          "type": "string",
          "description": "申诉原因"
        },
        "appealStatus": {
          "type": "integer",
          "format": "int32",
          "description": "申诉状态: 1-处理中, 2-通过, 3-驳回"
        },
        "appealStatusLabel": {
          "type": "string",
          "description": "申诉状态中文标签"
        },
        "appealedAt": {
          "type": "string",
          "format": "date-time",
          "description": "申诉时间"
        },
        "applicantId": {
          "type": "integer",
          "format": "int64",
          "description": "申请人ID"
        },
        "applicantName": {
          "type": "string",
          "description": "申请人姓名"
        },
        "applicantType": {
          "type": "string",
          "description": "申请人类型: USER(用户)/ADMIN(管理员)"
        },
        "applicationId": {
          "type": "integer",
          "format": "int64",
          "description": "退款申请ID"
        },
        "approvalNo": {
          "type": "string",
          "description": "审批编号（企微OA审批编号）"
        },
        "autoRefundDeadline": {
          "type": "string",
          "format": "date-time",
          "description": "自动退款截止时间"
        },
        "calculatedAmount": {
          "type": "number",
          "description": "计算退款金额"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "daysBeforeDept": {
          "type": "integer",
          "format": "int32",
          "description": "距出发天数"
        },
        "departureDate": {
          "type": "string",
          "format": "date",
          "description": "出发日期"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "description": "订单ID"
        },
        "orderNo": {
          "type": "string",
          "description": "订单号"
        },
        "paidAmount": {
          "type": "number",
          "description": "已付金额"
        },
        "policyId": {
          "type": "integer",
          "format": "int64",
          "description": "退款政策ID"
        },
        "policyName": {
          "type": "string",
          "description": "退款政策名称"
        },
        "productName": {
          "type": "string",
          "description": "产品名称"
        },
        "reasonDetail": {
          "type": "string",
          "description": "补充说明"
        },
        "reasonId": {
          "type": "integer",
          "format": "int64",
          "description": "退款原因ID"
        },
        "reasonText": {
          "type": "string",
          "description": "退款原因"
        },
        "refundRatio": {
          "type": "integer",
          "format": "int32",
          "description": "退款比例（百分比）"
        },
        "refundType": {
          "type": "string",
          "description": "退款类型: DEPOSIT(定金)/BALANCE(尾款)/FULL(全款)"
        },
        "refundTypeLabel": {
          "type": "string",
          "description": "退款类型中文标签"
        },
        "refundedAt": {
          "type": "string",
          "format": "date-time",
          "description": "退款完成时间"
        },
        "reviewAdminId": {
          "type": "integer",
          "format": "int64",
          "description": "审批管理员ID"
        },
        "reviewAdminName": {
          "type": "string",
          "description": "审批管理员姓名"
        },
        "reviewRemark": {
          "type": "string",
          "description": "审批备注"
        },
        "reviewedAt": {
          "type": "string",
          "format": "date-time",
          "description": "审批时间"
        },
        "status": {
          "type": "string",
          "description": "退款状态: PENDING(待审核)/APPROVED(已通过)/REJECTED(已拒绝)/REFUNDING(退款中)/REFUNDED(已退款)/CANCELLED(已撤回)/APPEALING(申诉中)/APPEAL_APPROVED(申诉通过)/APPEAL_REJECTED(申诉驳回)"
        },
        "statusLabel": {
          "type": "string",
          "description": "退款状态中文标签"
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "description": "更新时间"
        }
      },
      "title": "退款申请详情"
    },
    "退款申请请求": {
      "type": "object",
      "required": [
        "reasonText",
        "refundType"
      ],
      "properties": {
        "images": {
          "type": "array",
          "description": "退款凭证图片URL列表",
          "items": {
            "type": "string"
          }
        },
        "reasonDetail": {
          "type": "string",
          "description": "退款补充说明"
        },
        "reasonId": {
          "type": "string",
          "example": 1,
          "description": "退款原因ID（已废弃，改用字典）"
        },
        "reasonText": {
          "type": "string",
          "example": "行程冲突/时间变动",
          "description": "退款原因文本"
        },
        "reasonValue": {
          "type": "string",
          "example": "schedule_conflict",
          "description": "退款原因字典值"
        },
        "refundType": {
          "type": "string",
          "example": "FULL",
          "description": "退款类型（FULL/DEPOSIT/BALANCE）"
        }
      },
      "title": "退款申请请求"
    },
    "退款规则项": {
      "type": "object",
      "properties": {
        "matched": {
          "type": "boolean",
          "description": "是否当前命中此规则"
        },
        "minDays": {
          "type": "integer",
          "format": "int32",
          "description": "最低天数"
        },
        "refundRatio": {
          "type": "integer",
          "format": "int32",
          "description": "退款比例（百分比）"
        }
      },
      "title": "退款规则项"
    },
    "退款预览": {
      "type": "object",
      "properties": {
        "calculatedAmount": {
          "type": "number",
          "description": "计算退款金额"
        },
        "daysBeforeDept": {
          "type": "integer",
          "format": "int32",
          "description": "距出发天数"
        },
        "departureDate": {
          "type": "string",
          "description": "出发日期"
        },
        "message": {
          "type": "string",
          "description": "提示信息"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "description": "订单ID"
        },
        "orderNo": {
          "type": "string",
          "description": "订单号"
        },
        "paidAmount": {
          "type": "number",
          "description": "已付金额"
        },
        "policyId": {
          "type": "integer",
          "format": "int64",
          "description": "匹配的退款政策ID"
        },
        "policyName": {
          "type": "string",
          "description": "匹配的退款政策名称"
        },
        "refundRatio": {
          "type": "integer",
          "format": "int32",
          "description": "退款比例（百分比）"
        },
        "refundType": {
          "type": "string",
          "description": "退款类型: DEPOSIT/BALANCE/FULL"
        },
        "refundable": {
          "type": "boolean",
          "description": "是否可退款"
        },
        "rules": {
          "type": "array",
          "description": "退款规则列表（按天数降序）",
          "items": {
            "$ref": "#/definitions/退款规则项",
            "originalRef": "退款规则项"
          }
        }
      },
      "title": "退款预览"
    },
    "通过联系人信息绑定订单请求": {
      "type": "object",
      "required": [
        "contactName",
        "contactPhone"
      ],
      "properties": {
        "contactName": {
          "type": "string",
          "example": "张三",
          "description": "联系人姓名"
        },
        "contactPhone": {
          "type": "string",
          "example": 13800138000,
          "description": "联系人手机号"
        }
      },
      "title": "通过联系人信息绑定订单请求"
    },
    "发票换开请求": {
      "type": "object",
      "required": [
        "invoiceTitle",
        "titleType"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "接收邮箱"
        },
        "invoiceTitle": {
          "type": "string",
          "example": "张三",
          "description": "发票抬头"
        },
        "taxNumber": {
          "type": "string",
          "description": "纳税人识别号（企业发票必填）"
        },
        "titleType": {
          "type": "string",
          "example": "PERSONAL",
          "description": "抬头类型: PERSONAL(个人)/COMPANY(企业)"
        }
      },
      "title": "发票换开请求"
    },
    "发票申请请求": {
      "type": "object",
      "required": [
        "invoiceTitle",
        "orderId"
      ],
      "properties": {
        "bankAccount": {
          "type": "string",
          "description": "银行账号（企业发票选填）"
        },
        "bankName": {
          "type": "string",
          "description": "开户行（企业发票选填）"
        },
        "companyAddress": {
          "type": "string",
          "description": "企业地址（企业发票选填）"
        },
        "companyPhone": {
          "type": "string",
          "description": "企业电话（企业发票选填）"
        },
        "contactPhone": {
          "type": "string",
          "example": 13800138000,
          "description": "联系电话"
        },
        "email": {
          "type": "string",
          "description": "接收邮箱"
        },
        "invoiceTitle": {
          "type": "string",
          "example": "张三",
          "description": "发票抬头"
        },
        "orderId": {
          "type": "string",
          "example": 1760000000000001,
          "description": "订单ID"
        },
        "remark": {
          "type": "string",
          "description": "备注信息"
        },
        "taxNumber": {
          "type": "string",
          "description": "纳税人识别号（企业发票必填）"
        },
        "titleType": {
          "type": "string",
          "example": "PERSONAL",
          "description": "抬头类型: PERSONAL=个人（默认）、COMPANY=企业"
        }
      },
      "title": "发票申请请求"
    },
    "支付预下单请求": {
      "type": "object",
      "required": [
        "orderId",
        "tradeType"
      ],
      "properties": {
        "clientIp": {
          "type": "string",
          "example": "192.168.1.1",
          "description": "客户端IP（H5支付必填）"
        },
        "orderId": {
          "type": "string",
          "example": 1760000000000001,
          "description": "订单ID"
        },
        "tradeType": {
          "type": "string",
          "example": "JSAPI",
          "description": "支付方式: JSAPI(小程序支付)/H5(H5支付)"
        }
      },
      "title": "支付预下单请求"
    },
    "Map«string,string»": {
      "type": "object",
      "title": "Map«string,string»",
      "additionalProperties": {
        "type": "string"
      }
    },
    "发送短信验证码请求": {
      "type": "object",
      "required": [
        "phone"
      ],
      "properties": {
        "phone": {
          "type": "string",
          "example": 13800138000,
          "description": "手机号"
        }
      },
      "title": "发送短信验证码请求"
    },
    "微信登录请求": {
      "type": "object",
      "required": [
        "code"
      ],
      "properties": {
        "code": {
          "type": "string",
          "example": "0a3...",
          "description": "微信授权code"
        }
      },
      "title": "微信登录请求"
    },
    "更新个人资料请求": {
      "type": "object",
      "properties": {
        "avatar": {
          "type": "string",
          "example": "https://...",
          "description": "头像URL"
        },
        "birthday": {
          "type": "string",
          "format": "date",
          "example": "1990-01-01",
          "description": "生日"
        },
        "email": {
          "type": "string",
          "example": "user@example.com",
          "description": "邮箱"
        },
        "gender": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "性别: 1=男, 2=女"
        },
        "nationality": {
          "type": "string",
          "example": "中国",
          "description": "国籍"
        },
        "nickname": {
          "type": "string",
          "example": "旅行者小张",
          "description": "昵称"
        },
        "phone": {
          "type": "string",
          "example": 13800138000,
          "description": "手机号"
        },
        "realName": {
          "type": "string",
          "example": "张三",
          "description": "真实姓名"
        }
      },
      "title": "更新个人资料请求"
    },
    "短信验证码登录请求": {
      "type": "object",
      "required": [
        "code",
        "phone"
      ],
      "properties": {
        "code": {
          "type": "string",
          "example": 123456,
          "description": "验证码"
        },
        "phone": {
          "type": "string",
          "example": 13800138000,
          "description": "手机号"
        }
      },
      "title": "短信验证码登录请求"
    },
    "统一响应结果«Map«string,string»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "object",
          "description": "响应数据",
          "additionalProperties": {
            "type": "string"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«Map«string,string»»"
    },
    "身份证OCR识别请求": {
      "type": "object",
      "required": [
        "imgUrl"
      ],
      "properties": {
        "imgUrl": {
          "type": "string",
          "example": "https://hlgl-test.oss-cn-beijing.aliyuncs.com/xxx.jpg",
          "description": "身份证图片的OSS地址"
        }
      },
      "title": "身份证OCR识别请求"
    },
    "出行人请求(新增/修改)": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "birthday": {
          "type": "string",
          "format": "date",
          "example": "1990-01-01",
          "description": "生日"
        },
        "email": {
          "type": "string",
          "example": "lisi@example.com",
          "description": "邮箱"
        },
        "emergencyContact": {
          "type": "string",
          "example": "王五",
          "description": "紧急联系人"
        },
        "emergencyPhone": {
          "type": "string",
          "example": 13800138002,
          "description": "紧急联系电话"
        },
        "gender": {
          "type": "string",
          "example": 1,
          "description": "性别: 1=男, 2=女"
        },
        "idCardNo": {
          "type": "string",
          "example": 110101199001011234,
          "description": "证件号码"
        },
        "idCardType": {
          "type": "string",
          "example": "ID_CARD",
          "description": "证件类型: ID_CARD(身份证)/PASSPORT(护照)"
        },
        "name": {
          "type": "string",
          "example": "李四",
          "description": "姓名"
        },
        "nationality": {
          "type": "string",
          "example": "中国",
          "description": "国籍"
        },
        "phone": {
          "type": "string",
          "example": 13800138001,
          "description": "手机号"
        },
        "travelerType": {
          "type": "string",
          "example": "ADULT",
          "description": "出行人类型: ADULT/CHILD/YOUNG_CHILD/BABY"
        }
      },
      "title": "出行人请求(新增/修改)"
    },
    "分页结果«收藏列表项（含资源摘要）»": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "当前页码"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "example": 20,
          "description": "每页条数"
        },
        "records": {
          "type": "array",
          "description": "数据列表",
          "items": {
            "$ref": "#/definitions/收藏列表项（含资源摘要）",
            "originalRef": "收藏列表项（含资源摘要）"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«收藏列表项（含资源摘要）»"
    },
    "收藏列表项（含资源摘要）": {
      "type": "object",
      "properties": {
        "coverUrl": {
          "type": "string",
          "description": "封面图URL"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "收藏时间"
        },
        "favoriteId": {
          "type": "string",
          "description": "收藏记录ID"
        },
        "name": {
          "type": "string",
          "description": "资源名称"
        },
        "tags": {
          "type": "array",
          "description": "标签列表",
          "items": {
            "type": "string"
          }
        },
        "targetId": {
          "type": "string",
          "description": "目标资源ID"
        },
        "targetType": {
          "type": "string",
          "description": "目标类型（字典：favorite_resource_type）"
        }
      },
      "title": "收藏列表项（含资源摘要）"
    },
    "收藏请求": {
      "type": "object",
      "required": [
        "targetId",
        "targetType"
      ],
      "properties": {
        "targetId": {
          "type": "string",
          "example": 3001000000000000020,
          "description": "目标资源ID"
        },
        "targetType": {
          "type": "string",
          "example": "SCENIC",
          "description": "目标类型（字典：favorite_resource_type）",
          "enum": [
            "PRODUCT",
            "SCENIC",
            "RESTAURANT",
            "ACTIVITY"
          ]
        }
      },
      "title": "收藏请求"
    },
    "统一响应结果«boolean»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "boolean",
          "description": "响应数据"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«boolean»"
    },
    "统一响应结果«分页结果«收藏列表项（含资源摘要）»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/分页结果«收藏列表项（含资源摘要）»",
          "originalRef": "分页结果«收藏列表项（含资源摘要）»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«收藏列表项（含资源摘要）»»"
    },
    "分页结果«足迹列表项（含资源摘要）»": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "当前页码"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "example": 20,
          "description": "每页条数"
        },
        "records": {
          "type": "array",
          "description": "数据列表",
          "items": {
            "$ref": "#/definitions/足迹列表项（含资源摘要）",
            "originalRef": "足迹列表项（含资源摘要）"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«足迹列表项（含资源摘要）»"
    },
    "添加足迹请求": {
      "type": "object",
      "required": [
        "resourceId",
        "resourceType"
      ],
      "properties": {
        "resourceId": {
          "type": "string",
          "example": 3001000000000000020,
          "description": "资源ID"
        },
        "resourceType": {
          "type": "string",
          "example": "SCENIC",
          "description": "资源类型: PRODUCT/SCENIC/RESTAURANT/ACTIVITY"
        }
      },
      "title": "添加足迹请求"
    },
    "统一响应结果«分页结果«足迹列表项（含资源摘要）»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/分页结果«足迹列表项（含资源摘要）»",
          "originalRef": "分页结果«足迹列表项（含资源摘要）»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«足迹列表项（含资源摘要）»»"
    },
    "足迹列表项（含资源摘要）": {
      "type": "object",
      "properties": {
        "coverUrl": {
          "type": "string",
          "description": "封面图URL"
        },
        "footprintId": {
          "type": "string",
          "description": "足迹记录ID"
        },
        "name": {
          "type": "string",
          "description": "资源名称"
        },
        "resourceId": {
          "type": "string",
          "description": "资源ID"
        },
        "resourceType": {
          "type": "string",
          "description": "资源类型：PRODUCT/SCENIC/RESTAURANT/ACTIVITY"
        },
        "tags": {
          "type": "array",
          "description": "标签列表",
          "items": {
            "type": "string"
          }
        },
        "visitTime": {
          "type": "string",
          "format": "date-time",
          "description": "浏览时间"
        }
      },
      "title": "足迹列表项（含资源摘要）"
    },
    "创建评价请求": {
      "type": "object",
      "required": [
        "content",
        "orderId",
        "ratings"
      ],
      "properties": {
        "content": {
          "type": "string",
          "example": "非常棒的旅行体验！景色优美，服务周到。",
          "description": "评价内容(10-500字)"
        },
        "images": {
          "type": "array",
          "description": "评价图片列表（最多9张）",
          "items": {
            "$ref": "#/definitions/评价图片项",
            "originalRef": "评价图片项"
          }
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "example": 1760000000000001,
          "description": "订单ID"
        },
        "ratings": {
          "type": "object",
          "description": "评分数据（key为评分类别字典的dictValue，value为1-5整数）。先调用 GET /mp/review/rating-categories 获取评分维度，required=true的必填。示例: {\"ratingItinerary\":5,\"ratingAccommodation\":4,\"ratingDriver\":5,\"ratingDining\":4,\"ratingOverall\":5}",
          "additionalProperties": {
            "type": "integer",
            "format": "int32"
          }
        },
        "videos": {
          "type": "array",
          "description": "评价视频列表（最多3个）",
          "items": {
            "$ref": "#/definitions/评价视频项",
            "originalRef": "评价视频项"
          }
        }
      },
      "title": "创建评价请求"
    },
    "评价图片项": {
      "type": "object",
      "required": [
        "imageUrl"
      ],
      "properties": {
        "fileId": {
          "type": "integer",
          "format": "int64",
          "description": "文件ID"
        },
        "imageUrl": {
          "type": "string",
          "description": "图片URL"
        }
      },
      "title": "评价图片项"
    },
    "评价视频项": {
      "type": "object",
      "required": [
        "videoUrl"
      ],
      "properties": {
        "coverUrl": {
          "type": "string",
          "description": "视频封面URL"
        },
        "duration": {
          "type": "integer",
          "format": "int32",
          "description": "视频时长(秒)"
        },
        "fileId": {
          "type": "integer",
          "format": "int64",
          "description": "文件ID"
        },
        "videoUrl": {
          "type": "string",
          "description": "视频URL"
        }
      },
      "title": "评价视频项"
    },
    "Map«string,object»_7": {
      "type": "object",
      "title": "Map«string,object»_7",
      "additionalProperties": {
        "type": "object"
      }
    },
    "创建祈愿请求": {
      "type": "object",
      "required": [
        "content",
        "wishType"
      ],
      "properties": {
        "content": {
          "type": "string",
          "example": "祝家人平安健康",
          "description": "祈愿内容，最多200字"
        },
        "wishType": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "祈愿类型: 1=平安 2=健康 3=事业 4=爱情 5=财运"
        }
      },
      "title": "创建祈愿请求"
    },
    "提交反馈请求": {
      "type": "object",
      "required": [
        "content"
      ],
      "properties": {
        "contact": {
          "type": "string",
          "description": "联系方式"
        },
        "content": {
          "type": "string",
          "example": "页面加载较慢",
          "description": "反馈内容"
        },
        "images": {
          "type": "array",
          "description": "图片URL列表",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "提交反馈请求"
    },
    "统一响应结果«string»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "string",
          "description": "响应数据"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«string»"
    },
    "统一响应结果«List«string»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«string»»"
    },
    "人员配置项": {
      "type": "object",
      "properties": {
        "familyIds": {
          "type": "array",
          "description": "所属家庭ID列表",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string",
          "description": "记录ID"
        },
        "quantity": {
          "type": "integer",
          "format": "int32",
          "description": "数量"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "staffType": {
          "type": "string",
          "description": "人员类型：GUIDE=导游, GUIDE_ASSISTANT=助理导游, PHOTOGRAPHER=摄影师, LEADER=领队, OTHER=其他"
        },
        "staffTypeName": {
          "type": "string",
          "description": "人员类型名称（中文）"
        }
      },
      "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": {
            "$ref": "#/definitions/定制需求列表项VO",
            "originalRef": "定制需求列表项VO"
          }
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "example": 100,
          "description": "总记录数"
        }
      },
      "title": "分页结果«定制需求列表项VO»"
    },
    "定价配置": {
      "type": "object",
      "properties": {
        "babyPrice": {
          "type": "number",
          "description": "婴儿价"
        },
        "balanceDueDays": {
          "type": "integer",
          "format": "int32",
          "description": "尾款支付截止天数（出发前N天）"
        },
        "childDiscountPercent": {
          "type": "number",
          "description": "儿童折扣百分比"
        },
        "childWithBed": {
          "type": "number",
          "description": "儿童占床价"
        },
        "customTotalPrice": {
          "type": "number",
          "description": "定制产品总价（CUSTOM模式下使用）"
        },
        "depositAmount": {
          "type": "number",
          "description": "定金金额"
        },
        "depositRatio": {
          "type": "integer",
          "format": "int32",
          "description": "定金比例（百分比）"
        },
        "extraCostPerPerson": {
          "type": "number",
          "description": "每人额外成本"
        },
        "insuranceFee": {
          "type": "number",
          "description": "保险费用"
        },
        "markupPercent": {
          "type": "number",
          "description": "加价百分比（PERCENT模式下使用）"
        },
        "mealBudget": {
          "type": "number",
          "description": "餐费预算"
        },
        "minGroupSize": {
          "type": "integer",
          "format": "int32",
          "description": "成团人数"
        },
        "paymentType": {
          "type": "string",
          "description": "支付方式：FULL=全款 DEPOSIT=定金+尾款"
        },
        "pricingId": {
          "type": "string",
          "description": "定价配置ID"
        },
        "productId": {
          "type": "string",
          "description": "产品ID"
        },
        "profitAmount": {
          "type": "number",
          "description": "利润金额（FIXED模式下使用）"
        },
        "profitMode": {
          "type": "string",
          "description": "利润模式：FIXED=固定金额 PERCENT=百分比"
        },
        "vehicleModelIds": {
          "type": "array",
          "description": "车型ID列表",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "定价配置"
    },
    "定制需求列表项VO": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "description": "成人数"
        },
        "budget": {
          "type": "string",
          "description": "预算范围（字典：customize_budget）"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "description": "儿童数"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "days": {
          "type": "integer",
          "format": "int32",
          "description": "期望天数"
        },
        "designerAvatar": {
          "type": "string",
          "description": "定制师头像URL"
        },
        "designerName": {
          "type": "string",
          "description": "定制师姓名"
        },
        "destination": {
          "type": "string",
          "description": "目标地区"
        },
        "requestId": {
          "type": "integer",
          "format": "int64",
          "description": "请求ID"
        },
        "requestType": {
          "type": "string",
          "description": "需求类型（字典：customize_request_type）"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "description": "期望出发日期"
        },
        "status": {
          "type": "string",
          "description": "状态（字典：customize_request_status）：PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消"
        },
        "statusLabel": {
          "type": "string",
          "description": "状态标签（中文）"
        },
        "travelPurpose": {
          "type": "string",
          "description": "旅游目的（字典：travel_purpose）"
        },
        "userId": {
          "type": "integer",
          "format": "int64",
          "description": "用户ID"
        }
      },
      "title": "定制需求列表项VO"
    },
    "定制需求详情VO": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "description": "成人数"
        },
        "budget": {
          "type": "string",
          "description": "预算范围（字典：customize_budget）"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "description": "儿童数"
        },
        "contactName": {
          "type": "string",
          "description": "联系人"
        },
        "contactPhone": {
          "type": "string",
          "description": "联系电话"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "days": {
          "type": "integer",
          "format": "int32",
          "description": "期望天数"
        },
        "designerAvatar": {
          "type": "string",
          "description": "定制师头像URL"
        },
        "designerId": {
          "type": "integer",
          "format": "int64",
          "description": "指定定制师ID"
        },
        "designerName": {
          "type": "string",
          "description": "定制师姓名"
        },
        "destination": {
          "type": "string",
          "description": "目标地区"
        },
        "endDate": {
          "type": "string",
          "format": "date",
          "description": "期望结束日期"
        },
        "productId": {
          "type": "integer",
          "format": "int64",
          "description": "关联产品ID（定制完成后返回）"
        },
        "repliedAt": {
          "type": "string",
          "format": "date-time",
          "description": "回复时间"
        },
        "reply": {
          "type": "string",
          "description": "定制师回复内容"
        },
        "requestId": {
          "type": "integer",
          "format": "int64",
          "description": "请求ID"
        },
        "requestType": {
          "type": "string",
          "description": "需求类型（字典：customize_request_type）"
        },
        "requirements": {
          "type": "string",
          "description": "详细需求描述"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "description": "期望出发日期"
        },
        "status": {
          "type": "string",
          "description": "状态（字典：customize_request_status）：PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消"
        },
        "statusLabel": {
          "type": "string",
          "description": "状态标签（中文）"
        },
        "travelPurpose": {
          "type": "string",
          "description": "旅游目的（字典：travel_purpose）"
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "description": "更新时间"
        },
        "userId": {
          "type": "integer",
          "format": "int64",
          "description": "用户ID"
        }
      },
      "title": "定制需求详情VO"
    },
    "家庭分组项": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "description": "成人数"
        },
        "babyCount": {
          "type": "integer",
          "format": "int32",
          "description": "幼童数"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "description": "儿童数"
        },
        "familyId": {
          "type": "string",
          "description": "家庭ID"
        },
        "familyName": {
          "type": "string",
          "description": "家庭名称（如：家庭1）"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "youngChildCount": {
          "type": "integer",
          "format": "int32",
          "description": "小童数"
        }
      },
      "title": "家庭分组项"
    },
    "已完成定制产品列表项VO": {
      "type": "object",
      "properties": {
        "coverImageUrl": {
          "type": "string",
          "description": "封面图URL"
        },
        "creatorAvatarUrl": {
          "type": "string",
          "description": "定制师头像URL"
        },
        "departureCity": {
          "type": "string",
          "description": "出发城市"
        },
        "destinationCity": {
          "type": "string",
          "description": "目的地城市"
        },
        "name": {
          "type": "string",
          "description": "产品名称"
        },
        "paymentMode": {
          "type": "string",
          "description": "支付模式：FULL=全款 DEPOSIT=定金+尾款"
        },
        "productId": {
          "type": "string",
          "description": "产品ID"
        },
        "productType": {
          "type": "string",
          "description": "产品类型：CUSTOM=定制产品"
        },
        "routeMapUrl": {
          "type": "string",
          "description": "路径图URL"
        },
        "startPrice": {
          "type": "number",
          "description": "起步价"
        },
        "subtitle": {
          "type": "string",
          "description": "副标题"
        },
        "tags": {
          "type": "array",
          "description": "产品标签列表",
          "items": {
            "type": "string"
          }
        },
        "tripDays": {
          "type": "integer",
          "format": "int32",
          "description": "行程天数"
        },
        "tripNights": {
          "type": "integer",
          "format": "int32",
          "description": "行程晚数"
        }
      },
      "title": "已完成定制产品列表项VO"
    },
    "已完成定制产品详情VO": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "description": "成人人数"
        },
        "babyCount": {
          "type": "integer",
          "format": "int32",
          "description": "婴儿人数"
        },
        "benefitsDescription": {
          "type": "array",
          "description": "权益说明（静态，所有产品相同）",
          "items": {
            "$ref": "#/definitions/权益分组",
            "originalRef": "权益分组"
          }
        },
        "bookingTermsContent": {
          "type": "string",
          "description": "预订条款内容"
        },
        "bookingTermsId": {
          "type": "string",
          "description": "预订条款ID"
        },
        "bookingTermsName": {
          "type": "string",
          "description": "预订条款名称"
        },
        "carouselImages": {
          "type": "array",
          "description": "轮播图列表",
          "items": {
            "type": "string"
          }
        },
        "carouselVideoUrl": {
          "type": "string",
          "description": "轮播视频URL"
        },
        "chatMessages": {
          "type": "array",
          "description": "群聊消息列表",
          "items": {
            "$ref": "#/definitions/群聊消息",
            "originalRef": "群聊消息"
          }
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "description": "儿童人数"
        },
        "contactPhone": {
          "type": "string",
          "description": "联系电话（定制产品）"
        },
        "costItems": {
          "type": "array",
          "description": "成本项列表（费用包含/不含/自理）",
          "items": {
            "$ref": "#/definitions/成本项",
            "originalRef": "成本项"
          }
        },
        "coverImageUrl": {
          "type": "string",
          "description": "封面图URL"
        },
        "createBy": {
          "type": "string",
          "description": "创建人ID"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "description": "创建时间"
        },
        "creatorAvatarUrl": {
          "type": "string",
          "description": "定制师头像URL"
        },
        "creatorIntro": {
          "type": "string",
          "description": "创作者寄语"
        },
        "customFees": {
          "type": "array",
          "description": "自定义费用项列表",
          "items": {
            "$ref": "#/definitions/自定义费用项",
            "originalRef": "自定义费用项"
          }
        },
        "customerName": {
          "type": "string",
          "description": "客户姓名（定制产品）"
        },
        "customizerId": {
          "type": "string",
          "description": "定制师ID"
        },
        "departureCity": {
          "type": "string",
          "description": "出发城市"
        },
        "departureDate": {
          "type": "string",
          "format": "date",
          "description": "出发日期（定制产品）"
        },
        "destinationCities": {
          "type": "array",
          "description": "途经城市列表（从行程节点资源去重提取）",
          "items": {
            "type": "string"
          }
        },
        "destinationCity": {
          "type": "string",
          "description": "目的地城市"
        },
        "families": {
          "type": "array",
          "description": "家庭分组列表（按家庭分配人员和房间）",
          "items": {
            "$ref": "#/definitions/家庭分组项",
            "originalRef": "家庭分组项"
          }
        },
        "folderId": {
          "type": "string",
          "description": "所属文件夹ID"
        },
        "groupChatQrUrl": {
          "type": "string",
          "description": "群聊二维码URL"
        },
        "groupRoomId": {
          "type": "string",
          "description": "企微群聊ID"
        },
        "isBooking": {
          "type": "boolean",
          "description": "是否预约产品"
        },
        "itineraryDays": {
          "type": "array",
          "description": "行程天列表（包含每天的景点、酒店、餐厅、活动等安排，含资源图片）",
          "items": {
            "$ref": "#/definitions/行程天",
            "originalRef": "行程天"
          }
        },
        "lineId": {
          "type": "string",
          "description": "产品线ID"
        },
        "lineName": {
          "type": "string",
          "description": "产品线名称"
        },
        "lineSubtitle": {
          "type": "string",
          "description": "产品线副标题"
        },
        "maxAdultPerOrder": {
          "type": "integer",
          "format": "int32",
          "description": "每单最大成人数(null=不限)"
        },
        "maxChildPerOrder": {
          "type": "integer",
          "format": "int32",
          "description": "每单最大儿童数(null=不限)"
        },
        "mchId": {
          "type": "string",
          "description": "商户号"
        },
        "minAdultPerOrder": {
          "type": "integer",
          "format": "int32",
          "description": "每单最少成人数(null=默认1)"
        },
        "name": {
          "type": "string",
          "description": "产品名称"
        },
        "paymentMode": {
          "type": "string",
          "description": "支付模式：FULL=全款 DEPOSIT=定金+尾款"
        },
        "pricing": {
          "description": "定价配置",
          "$ref": "#/definitions/定价配置",
          "originalRef": "定价配置"
        },
        "productId": {
          "type": "string",
          "description": "产品ID"
        },
        "productNo": {
          "type": "string",
          "description": "产品编号"
        },
        "productType": {
          "type": "string",
          "description": "产品类型：CUSTOM=定制产品"
        },
        "publishedAt": {
          "type": "string",
          "format": "date-time",
          "description": "发布时间"
        },
        "refundPolicies": {
          "type": "object",
          "description": "退款政策详情（按退款类型分组）。key=退款类型(FULL/DEPOSIT/BALANCE)，value=政策详情(含policyName、rules等)"
        },
        "refundPolicyIds": {
          "type": "object",
          "description": "退款政策映射（按退款类型绑定不同政策）。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
          "additionalProperties": {
            "type": "string"
          }
        },
        "routeMapUrl": {
          "type": "string",
          "description": "路径图URL"
        },
        "seasonLabels": {
          "type": "array",
          "description": "适用季节列表(中文)",
          "items": {
            "type": "string"
          }
        },
        "seasons": {
          "type": "array",
          "description": "适用季节列表(编码)",
          "items": {
            "type": "string"
          }
        },
        "showChatGroup": {
          "type": "boolean",
          "description": "是否显示群聊入口"
        },
        "showReview": {
          "type": "boolean",
          "description": "是否显示评价"
        },
        "showTripDistance": {
          "type": "boolean",
          "description": "是否显示行程距离"
        },
        "showTripTime": {
          "type": "boolean",
          "description": "是否显示行程时间"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "staffConfigs": {
          "type": "array",
          "description": "人员配置列表（导游、领队、摄影师等）",
          "items": {
            "$ref": "#/definitions/人员配置项",
            "originalRef": "人员配置项"
          }
        },
        "startPrice": {
          "type": "number",
          "description": "起步价"
        },
        "status": {
          "type": "string",
          "description": "产品状态：COMPLETED=已完成, ORDERED=已下单"
        },
        "subtitle": {
          "type": "string",
          "description": "副标题"
        },
        "suppliesList": {
          "type": "array",
          "description": "物资列表",
          "items": {
            "$ref": "#/definitions/物资项",
            "originalRef": "物资项"
          }
        },
        "tags": {
          "type": "array",
          "description": "产品标签列表",
          "items": {
            "type": "string"
          }
        },
        "teamExperienceYears": {
          "type": "integer",
          "format": "int32",
          "description": "团队经验年数"
        },
        "tripDays": {
          "type": "integer",
          "format": "int32",
          "description": "行程天数"
        },
        "tripNights": {
          "type": "integer",
          "format": "int32",
          "description": "行程晚数"
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "description": "更新时间"
        },
        "warmTipsContent": {
          "type": "string",
          "description": "温馨提示内容"
        },
        "warmTipsId": {
          "type": "string",
          "description": "温馨提示ID"
        },
        "warmTipsName": {
          "type": "string",
          "description": "温馨提示名称"
        },
        "youngChildCount": {
          "type": "integer",
          "format": "int32",
          "description": "小童人数"
        }
      },
      "title": "已完成定制产品详情VO"
    },
    "成本项": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "description": "成本项类别：HOTEL/SCENIC/VEHICLE/ACTIVITY/SERVICE/DINING/OTHER"
        },
        "description": {
          "type": "string",
          "description": "成本项描述"
        },
        "id": {
          "type": "string",
          "description": "成本项ID"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "title": {
          "type": "string",
          "description": "成本项标题"
        },
        "type": {
          "type": "string",
          "description": "成本项类型：INCLUDED=费用包含 EXCLUDED=费用不含 SELF_PAY=自理费用"
        }
      },
      "title": "成本项"
    },
    "提交定制需求请求": {
      "type": "object",
      "properties": {
        "adultCount": {
          "type": "integer",
          "format": "int32",
          "example": 2,
          "description": "成人数"
        },
        "budget": {
          "type": "string",
          "example": "BUDGET_5000_10000",
          "description": "预算范围（字典：customize_budget）"
        },
        "childCount": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "儿童数"
        },
        "contactName": {
          "type": "string",
          "example": "张三",
          "description": "联系人"
        },
        "contactPhone": {
          "type": "string",
          "example": 13800138000,
          "description": "联系电话"
        },
        "days": {
          "type": "integer",
          "format": "int32",
          "example": 5,
          "description": "期望天数"
        },
        "designerId": {
          "type": "integer",
          "format": "int64",
          "example": 1234567890,
          "description": "指定定制师ID（可为空=系统分配）"
        },
        "destination": {
          "type": "string",
          "example": "云南大理",
          "description": "目标地区"
        },
        "endDate": {
          "type": "string",
          "format": "date",
          "example": "2026-04-05",
          "description": "期望结束日期"
        },
        "requestType": {
          "type": "string",
          "example": "FAMILY_TRIP",
          "description": "需求类型（字典：customize_request_type）"
        },
        "requirements": {
          "type": "string",
          "example": "希望安排亲子活动，孩子3岁",
          "description": "详细需求描述"
        },
        "startDate": {
          "type": "string",
          "format": "date",
          "example": "2026-04-01",
          "description": "期望出发日期"
        },
        "travelPurpose": {
          "type": "string",
          "example": "FAMILY",
          "description": "旅游目的（字典：travel_purpose）"
        }
      },
      "title": "提交定制需求请求"
    },
    "权益分组": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "description": "权益项列表",
          "items": {
            "$ref": "#/definitions/权益项",
            "originalRef": "权益项"
          }
        },
        "title": {
          "type": "string",
          "description": "分组标题，如：儿童权益 (1.2m以下)"
        }
      },
      "title": "权益分组"
    },
    "权益项": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "description": "类别，如：门票、住宿、餐饮"
        },
        "description": {
          "type": "string",
          "description": "说明，如：含全部景点儿童票"
        }
      },
      "title": "权益项"
    },
    "每日酒店": {
      "type": "object",
      "properties": {
        "coverUrl": {
          "type": "string",
          "description": "封面图URL"
        },
        "dayNumber": {
          "type": "integer",
          "format": "int32",
          "description": "天数编号"
        },
        "familyIds": {
          "type": "array",
          "description": "所属家庭ID列表（NULL=所有家庭共享）",
          "items": {
            "type": "string"
          }
        },
        "familyRoomConfig": {
          "type": "object",
          "description": "家庭房间分配：{familyId: roomCount}",
          "additionalProperties": {
            "type": "integer",
            "format": "int32"
          }
        },
        "hotelId": {
          "type": "string",
          "description": "酒店ID"
        },
        "hotelName": {
          "type": "string",
          "description": "酒店名称"
        },
        "id": {
          "type": "string",
          "description": "记录ID"
        },
        "isDefault": {
          "type": "boolean",
          "description": "是否默认酒店"
        },
        "roomCount": {
          "type": "integer",
          "format": "int32",
          "description": "房间数量"
        },
        "roomTypeId": {
          "type": "string",
          "description": "房型ID"
        },
        "roomTypeName": {
          "type": "string",
          "description": "房型名称"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        }
      },
      "title": "每日酒店"
    },
    "物资项": {
      "type": "object",
      "properties": {
        "billingType": {
          "type": "string",
          "description": "计费方式：BY_PERSON=按人头 BY_COUNT=按次/按件"
        },
        "costPerPerson": {
          "type": "number",
          "description": "每人成本"
        },
        "coverUrl": {
          "type": "string",
          "description": "封面图URL"
        },
        "dayNumber": {
          "type": "integer",
          "format": "int32",
          "description": "天数编号（scope=DAY时生效）"
        },
        "familyIds": {
          "type": "array",
          "description": "所属家庭ID列表（定制产品按家庭分配）",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string",
          "description": "记录ID"
        },
        "quantity": {
          "type": "integer",
          "format": "int32",
          "description": "数量"
        },
        "scope": {
          "type": "string",
          "description": "适用范围：ALL=整个行程 DAY=指定天"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "suppliesId": {
          "type": "string",
          "description": "物资ID"
        },
        "suppliesName": {
          "type": "string",
          "description": "物资名称"
        }
      },
      "title": "物资项"
    },
    "用餐选项": {
      "type": "object",
      "properties": {
        "coverUrl": {
          "type": "string",
          "description": "餐食封面图URL"
        },
        "dayNumber": {
          "type": "integer",
          "format": "int32",
          "description": "天数编号"
        },
        "id": {
          "type": "string",
          "description": "记录ID"
        },
        "mealTypes": {
          "type": "string",
          "description": "餐次：早餐/午餐/晚餐"
        },
        "priceInfo": {
          "type": "string",
          "description": "价格信息"
        },
        "quantity": {
          "type": "integer",
          "format": "int32",
          "description": "数量"
        },
        "restaurantId": {
          "type": "string",
          "description": "餐厅ID"
        },
        "restaurantName": {
          "type": "string",
          "description": "餐厅/餐食名称"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "unitPrice": {
          "type": "number",
          "description": "餐食单价(元)"
        }
      },
      "title": "用餐选项"
    },
    "统一响应结果«List«已完成定制产品列表项VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "type": "array",
          "description": "响应数据",
          "items": {
            "$ref": "#/definitions/已完成定制产品列表项VO",
            "originalRef": "已完成定制产品列表项VO"
          }
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«List«已完成定制产品列表项VO»»"
    },
    "统一响应结果«分页结果«定制需求列表项VO»»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/分页结果«定制需求列表项VO»",
          "originalRef": "分页结果«定制需求列表项VO»"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«分页结果«定制需求列表项VO»»"
    },
    "统一响应结果«定制需求详情VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/定制需求详情VO",
          "originalRef": "定制需求详情VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«定制需求详情VO»"
    },
    "统一响应结果«已完成定制产品详情VO»": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "example": 200,
          "description": "状态码"
        },
        "data": {
          "description": "响应数据",
          "$ref": "#/definitions/已完成定制产品详情VO",
          "originalRef": "已完成定制产品详情VO"
        },
        "message": {
          "type": "string",
          "example": "成功",
          "description": "响应消息"
        }
      },
      "title": "统一响应结果«已完成定制产品详情VO»"
    },
    "群聊消息": {
      "type": "object",
      "properties": {
        "avatar": {
          "type": "string",
          "description": "用户头像URL（type=user时有效）"
        },
        "text": {
          "type": "string",
          "description": "消息内容"
        },
        "type": {
          "type": "string",
          "description": "消息类型: user/creator"
        }
      },
      "title": "群聊消息"
    },
    "自定义费用项": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "费用说明"
        },
        "familyIds": {
          "type": "array",
          "description": "所属家庭ID列表（定制产品按家庭分配）",
          "items": {
            "type": "string"
          }
        },
        "feeAmount": {
          "type": "number",
          "description": "费用金额"
        },
        "feeName": {
          "type": "string",
          "description": "费用项名称"
        },
        "feeUnit": {
          "type": "string",
          "description": "费用单位"
        },
        "id": {
          "type": "string",
          "description": "费用项ID"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        }
      },
      "title": "自定义费用项"
    },
    "行程天": {
      "type": "object",
      "properties": {
        "dayId": {
          "type": "string",
          "description": "行程天ID"
        },
        "dayNumber": {
          "type": "integer",
          "format": "int32",
          "description": "天数编号"
        },
        "dayTitle": {
          "type": "string",
          "description": "天标题"
        },
        "hotels": {
          "type": "array",
          "description": "当日酒店列表",
          "items": {
            "$ref": "#/definitions/每日酒店",
            "originalRef": "每日酒店"
          }
        },
        "nodes": {
          "type": "array",
          "description": "行程节点列表（含资源详情和图片）",
          "items": {
            "$ref": "#/definitions/行程节点",
            "originalRef": "行程节点"
          }
        },
        "restaurants": {
          "type": "array",
          "description": "当日用餐列表",
          "items": {
            "$ref": "#/definitions/用餐选项",
            "originalRef": "用餐选项"
          }
        },
        "routeSummary": {
          "type": "string",
          "description": "路线概览"
        }
      },
      "title": "行程天"
    },
    "行程节点": {
      "type": "object",
      "properties": {
        "costPrice": {
          "type": "number",
          "description": "资源成本价（来自资源价格日历）"
        },
        "dayId": {
          "type": "string",
          "description": "所属行程天ID"
        },
        "description": {
          "type": "string",
          "description": "节点描述"
        },
        "distanceKm": {
          "type": "number",
          "description": "距离（公里）"
        },
        "durationMinutes": {
          "type": "integer",
          "format": "int32",
          "description": "时长（分钟）"
        },
        "emojiIcon": {
          "type": "string",
          "description": "表情图标"
        },
        "extraData": {
          "type": "string",
          "description": "扩展数据（JSON格式）"
        },
        "familyIds": {
          "type": "array",
          "description": "所属家庭ID列表（定制产品按家庭分配）",
          "items": {
            "type": "string"
          }
        },
        "images": {
          "type": "array",
          "description": "节点图片列表",
          "items": {
            "type": "string"
          }
        },
        "latitude": {
          "type": "number",
          "description": "纬度"
        },
        "longitude": {
          "type": "number",
          "description": "经度"
        },
        "nodeId": {
          "type": "string",
          "description": "节点ID"
        },
        "nodeName": {
          "type": "string",
          "description": "节点名称"
        },
        "nodeType": {
          "type": "string",
          "description": "节点类型：TRANSPORT/SCENIC/RESTAURANT/ACTIVITY/PHOTOGRAPHY/HOTEL/FREE/CUSTOM/SERVICE/NOTE"
        },
        "quantity": {
          "type": "integer",
          "format": "int32",
          "description": "数量"
        },
        "resourceDetail": {
          "description": "绑定资源的详细信息（含封面图cover、轮播图images、地址address等）",
          "$ref": "#/definitions/资源详情",
          "originalRef": "资源详情"
        },
        "resourceId": {
          "type": "string",
          "description": "关联资源ID"
        },
        "resourceName": {
          "type": "string",
          "description": "关联资源名称"
        },
        "resourceType": {
          "type": "string",
          "description": "关联资源类型：SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/STAFF"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32",
          "description": "排序序号"
        },
        "startTime": {
          "type": "string",
          "description": "开始时间"
        }
      },
      "title": "行程节点"
    },
    "资源详情": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string",
          "description": "地址"
        },
        "city": {
          "type": "string",
          "description": "所在城市"
        },
        "cover": {
          "type": "string",
          "description": "封面图URL"
        },
        "description": {
          "type": "string",
          "description": "简介/描述"
        },
        "featureIntro": {
          "type": "string",
          "description": "图文详情（featureIntro JSON）"
        },
        "images": {
          "type": "array",
          "description": "图片URL列表（轮播图）",
          "items": {
            "type": "string"
          }
        },
        "latitude": {
          "type": "number",
          "description": "纬度"
        },
        "longitude": {
          "type": "number",
          "description": "经度"
        },
        "name": {
          "type": "string",
          "description": "资源名称"
        },
        "rating": {
          "type": "number",
          "description": "评分"
        },
        "resourceId": {
          "type": "string",
          "description": "资源ID"
        },
        "resourceType": {
          "type": "string",
          "description": "资源类型: SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY"
        },
        "subtitle": {
          "type": "string",
          "description": "副标题"
        },
        "tags": {
          "type": "array",
          "description": "标签列表",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "资源详情"
    }
  }
}