/**
 * @swagger
 * /api/v1/categories:
 *   get:
 *     summary: 获取服务分类列表
 *     description: 获取所有服务分类
 *     tags: [Services]
 *     parameters:
 *       - in: header
 *         name: Accept-Language
 *         schema:
 *           type: string
 *           enum: [zh, en, pt]
 *         description: 语言偏好
 *     responses:
 *       200:
 *         description: 获取成功
 *         content:
 *           application/json:
 *             schema:
 *               type: object
 *               properties:
 *                 success:
 *                   type: boolean
 *                   example: true
 *                 data:
 *                   type: array
 *                   items:
 *                     $ref: '#/components/schemas/Category'
 *
 * /api/v1/services:
 *   get:
 *     summary: 获取服务列表
 *     description: 获取服务列表，支持分页和分类筛选
 *     tags: [Services]
 *     parameters:
 *       - in: query
 *         name: page
 *         schema:
 *           type: integer
 *           minimum: 1
 *           default: 1
 *         description: 页码
 *       - in: query
 *         name: limit
 *         schema:
 *           type: integer
 *           minimum: 1
 *           maximum: 100
 *           default: 10
 *         description: 每页数量
 *       - in: query
 *         name: categoryId
 *         schema:
 *           type: string
 *           format: uuid
 *         description: 分类ID筛选
 *       - in: query
 *         name: serviceType
 *         schema:
 *           type: string
 *           enum: [flight, hotel, lounge, airport_transfer, unaccompanied_minor, train, telemedicine, special_passenger, pet_transport, guide_translation, visa, exhibition, air_logistics, sea_freight, travel_planning, insurance]
 *         description: 服务具体类型筛选
 *       - in: query
 *         name: language
 *         schema:
 *           type: string
 *           enum: [zh, en, pt]
 *         description: 语言
 *       - in: header
 *         name: Accept-Language
 *         schema:
 *           type: string
 *           enum: [zh, en, pt]
 *         description: 语言偏好
 *     responses:
 *       200:
 *         description: 获取成功
 *         content:
 *           application/json:
 *             schema:
 *               type: object
 *               properties:
 *                 success:
 *                   type: boolean
 *                   example: true
 *                 data:
 *                   type: array
 *                   items:
 *                     type: object
 *                     properties:
 *                       id:
 *                         type: string
 *                         format: uuid
 *                       categoryId:
 *                         type: string
 *                         format: uuid
 *                       serviceType:
 *                         type: string
 *                         description: 服务具体类型，用于跳转对应预约表单
 *                         enum: [flight, hotel, lounge, airport_transfer, unaccompanied_minor, train, telemedicine, special_passenger, pet_transport, guide_translation, visa, exhibition, air_logistics, sea_freight, travel_planning, insurance]
 *                       title:
 *                         type: string
 *                         description: 根据语言返回对应标题
 *                       description:
 *                         type: string
 *                         description: 根据语言返回对应描述
 *                       image:
 *                         type: string
 *                       price:
 *                         type: number
 *                       status:
 *                         type: string
 *                       sortOrder:
 *                         type: integer
 *                       category:
 *                         $ref: '#/components/schemas/Category'
 *                 pagination:
 *                   $ref: '#/components/schemas/PaginationMeta'
 *
 * /api/v1/services/{id}:
 *   get:
 *     summary: 获取服务详情
 *     description: 根据ID获取服务详细信息
 *     tags: [Services]
 *     parameters:
 *       - in: path
 *         name: id
 *         required: true
 *         schema:
 *           type: string
 *           format: uuid
 *         description: 服务ID
 *       - in: query
 *         name: language
 *         schema:
 *           type: string
 *           enum: [zh, en, pt]
 *         description: 语言
 *       - in: header
 *         name: Accept-Language
 *         schema:
 *           type: string
 *           enum: [zh, en, pt]
 *         description: 语言偏好
 *     responses:
 *       200:
 *         description: 获取成功
 *         content:
 *           application/json:
 *             schema:
 *               type: object
 *               properties:
 *                 success:
 *                   type: boolean
 *                   example: true
 *                 data:
 *                   type: object
 *                   properties:
 *                     id:
 *                       type: string
 *                       format: uuid
 *                     categoryId:
 *                       type: string
 *                       format: uuid
 *                     serviceType:
 *                       type: string
 *                       description: 服务具体类型，用于跳转对应预约表单
 *                       enum: [flight, hotel, lounge, airport_transfer, unaccompanied_minor, train, telemedicine, special_passenger, pet_transport, guide_translation, visa, exhibition, air_logistics, sea_freight, travel_planning, insurance]
 *                     title:
 *                       type: string
 *                       description: 根据语言返回对应标题
 *                     description:
 *                       type: string
 *                       description: 根据语言返回对应描述
 *                     image:
 *                       type: string
 *                     price:
 *                       type: number
 *                     status:
 *                       type: string
 *                     sortOrder:
 *                       type: integer
 *                     category:
 *                       $ref: '#/components/schemas/Category'
 *       404:
 *         description: 服务不存在
 */
