多品牌租车管理平台 - 详细技术规格书

多品牌租车管理平台 - 详细技术规格书

一、 系统架构概述 核心模式: 多租户(Multi-Tenant SaaS)。 隔离策略: 逻辑隔离。通过请求头中的 Host(域名)识别 Team,所有 SQL 查询强制带上 WHERE team_id = ?。 用户体系: 前台(C端): 访客模式(Guest Checkout),无需注册,邮箱+订单号查询。...

kkuo
Feb 18, 2026•26 min read

一、 系统架构概述

  • 核心模式: 多租户(Multi-Tenant SaaS)。

  • 隔离策略: 逻辑隔离。通过请求头中的 Host(域名)识别 Team。

  • 用户体系:

    • 前台(C端): 访客模式(Guest Checkout),无需注册,邮箱+订单号查询。

    • 后台(B端): 邀请制注册(Invite Only),严禁公开注册。

二、 功能模块列表 (Feature List)

第一部分:公共前台 (Public Website - C端)

核心逻辑: 访客模式(Guest Checkout),根据域名(Host)动态加载品牌数据。

1.1 首页 (Home)

  • 业务流程: 用户访问域名 -> 后端识别 Team -> 返回对应 Logo/Banner/文字 -> 用户输入日期搜索。

  • UI 页面与功能点:

    • Header: 品牌 Logo(左侧),导航栏(Home, Fleet, Contact),“我的订单”查询入口。

    • Hero Banner: 大图背景,叠加品牌 Slogan。

    • 悬浮搜索框 (Search Widget):

      • 取车日期/时间 (DateTimePicker):默认明天,禁止选过去时间。

      • 还车日期/时间 (DateTimePicker):必须晚于取车时间(联动校验)。

      • 座位数 (Dropdown):任意 / 4座 / 5座 / 7座+。

      • 搜索按钮:点击跳转 Fleet 页面。

    • 特色服务区: 3-4个图标+文字(如:ETC、雪地胎、全额保险、24h客服),后台可配。

    • Footer: 版权信息、联系地址、社交链接。

1.2 车辆搜索列表页 (Fleet / Search Results)

  • 业务流程: 接收搜索参数 -> 查询 Vehicles 表 -> 过滤掉该时间段内 Orders 表中有冲突的车辆 -> 展示可用列表。

  • UI 页面与功能点:

    • 顶部筛选栏: 回显当前搜索日期,允许重新修改日期。支持按“价格升降序”、“座位数”筛选。

    • 车辆卡片列表 (List/Grid View):

      • 图片:车辆缩略图。

      • 标题:车型名称 (e.g., Toyota Alphard)。

      • 标签:座位数 icon、自动挡/手动挡 icon。

      • 价格:展示每日单价和总价(根据日期计算)。

      • 状态:若仅剩1辆,显示“仅剩1辆”标签。

      • 预订按钮:点击跳转详情页或直接进入预约页。

    • 空状态 (Empty State): 若无车可用,显示“该时段已订满,请尝试其他日期”及“联系客服”按钮。

1.3 车辆详情页 (Vehicle Detail)

  • UI 页面与功能点:

    • 左侧相册: 主图 + 缩略图轮播。

    • 右侧信息: 车型参数(排量、箱子数等)、日租金。

    • 可用性日历 (Availability Calendar):

      • 展示一个月视图日历。

      • 逻辑: 已预订日期标红/置灰不可点,可用日期标绿/白。

    • CTA按钮: “立即预订 (Book Now)”。

1.4 预约与支付页 (Booking & Checkout)

  • 业务流程: 填写信息 -> 选配服务 -> 生成临时订单 -> 支付 -> 更新状态。

  • UI 页面与功能点:

    • 步骤条: 1. 个人信息 -> 2. 附加服务 -> 3. 支付。

    • 表单区域:

      • 基本信息:姓名(必填)、邮箱(必填,用于接收凭证)、电话、护照号/驾照。

      • 附加服务 (Checkbox List):例如“儿童座椅 (5/天)”、“全险(5/天)”、“全险(

        20/天)”。勾选后右侧总价实时更新。

      • 备注:Textarea。

    • 结算区域:

      • 显示费用明细(租金 x 天数 + 附加费 = 总价)。

      • 支付方式选择: Stripe (Credit Card) / PayPal / 线下支付(如后台允许)。

    • 提交逻辑:

      1. 点击提交,后端生成订单,状态 PENDING,支付状态 UNPAID。

      2. 若是线上支付,重定向至 Stripe Checkout 页面。

      3. 支付成功回调后,状态变更为 CONFIRMED,支付状态 PAID。

1.5 订单查询/结果页

  • 成功页: 显示“预订成功”,展示订单号,提示“确认邮件已发送”。

  • 查询页: 输入“邮箱”+“订单号”,查看当前订单详情及状态。

第二部分:后台管理 - 认证与权限 (Admin Auth)

核心逻辑: 严禁公开注册,仅通过 Token 邀请机制扩充团队。

2.1 登录页 (Login)

  • UI: 简洁卡片布局。

  • 输入: 邮箱、密码。

  • 功能: 登录成功后,根据 Token 写入 LocalStorage,跳转 Dashboard。

2.2 邀请注册流程 (Invite & Register)

  • 流程:

    1. 用户点击邮件中的链接 admin.brand.com/register?token=XYZ。

    2. 前端初始化: 调用 GET /api/auth/invite/check?token=XYZ。

    3. 成功: 渲染注册表单,锁定邮箱输入框(不可修改,防止冒名顶替)。

    4. 失败: (Token过期/不存在) 显示错误页,提示“链接失效,请联系管理员”。

  • 注册表单: 姓名、密码、确认密码。提交后自动登录。

第三部分:后台管理 - 运营中心 (Operations)

3.1 总控制台 (Dashboard)-数据一览

  • UI 布局: 顶部数据卡片 + 中部图表 + 底部快捷列表。

  • 数据卡片:

    • 今日取车 (点击跳转订单列表筛选今日)。

    • 今日还车。

    • 待处理订单 (Pending状态)。

    • 本月营收。

  • 图表:

    • 近7日订单量趋势 (Line Chart)。

    • 车型热度排行 (Bar Chart)。

3.2 甘特图排期 (Gantt Chart / Schedule)

  • UI 页面与功能点:

    • X轴: 日期时间轴(支持按日/周视图切换)。

    • Y轴: 车辆列表(显示车牌+车型)。

    • 色块 (Order Block):

      • 显示内容:客户名、起止时间。

      • 颜色区分:黄色(待支付)、绿色(已确认)、蓝色(进行中)、灰色(已结束)、红色(维修中)。

    • 交互:

      • Hover:显示订单详情悬浮窗(金额、备注)。

      • Click:右侧弹出订单详情抽屉,可进行编辑操作。

      • 冲突预警:如果数据库出现异常重叠数据,显示红色感叹号。

3.3 订单管理 (Order Management)

  • UI 页面与功能点:

    • 列表页: 高级搜索(订单号/姓名/日期范围/状态)。导出按钮。

    • 新建订单 (Manual Entry):

      • 管理员手动录入电话预订。

      • 关键逻辑: 选择时间段后,车辆下拉框仅显示该时段可用车辆。

    • 导入订单 (Excel Import) - 核心功能:

      • 界面:上传区域 + 下载模板链接。

      • 冲突处理流程:

        1. 前端解析 Excel 发送给后端。

        2. 后端模拟插入,检测时间冲突。

        3. 返回: { success: false, errors: [{row: 3, msg: "京A88888 在 2023-10-01 已被占用"}] }。

        4. 前端弹窗展示具体错误行号和原因,要求用户修改 Excel 后重新上传。

    • 详情/编辑页: 修改客户信息、修改状态(如:强制标记为已支付)、发送邮件通知(手动触发)。

第四部分:后台管理 - 资产管理 (Fleet)

4.1 车辆管理

  • 列表页: 展示图片、车牌、当前状态(可用/维修)。

  • 新增/编辑页:

    • 基础信息:车型、座位、车牌。

    • 状态管理:

      • 开关:是否维修/不可用。

      • 若开启维修,需输入维修开始日期和结束日期(此逻辑会同步到甘特图,该时段不可被预订)。

    • 定价:基础日租金。

4.2 附加服务 (Extras)

  • 功能: 简单的 CRUD 表格。

  • 字段: 服务名(如ETC、GPS)、计费模式(按天/按单)、价格。

第五部分:数据与报表 (Reports)

5.1 周报系统 (Weekly Report)

  • 触发机制: 系统定时任务(CronJob)每周一 00:01 执行。

  • 处理逻辑:

    1. 统计上周(周一至周日)数据:总订单、总收入、取消率、每辆车出租天数。

    2. 生成 JSON 快照存入 DB。

    3. 根据设置,发送 HTML 邮件给 Admin 邮箱。

  • UI 页面:

    • 历史周报列表(按日期倒序)。

    • 点击“查看”进入详情页:可视化图表 + 详细数据表。

    • 按钮:导出 Excel、发送邮件(手动重发)。

5.2 年报系统 (Annual Report)

  • 与周报类似,维度为按月统计(1月-12月趋势)。

  • 核心图表: 年度营收曲线、车型贡献度饼图。

第六部分:系统设置 (Settings)

6.1 品牌配置 (Team Profile)

  • 功能:

    • 上传 Logo (影响前台 Header 和 邮件 Header)。

    • 设置 Banner 图。

    • 联系信息(电话、Footer地址)。

    • SEO 设置(网站标题、描述)。

6.2 邮件模板 (Email Config)

  • UI: Tab 切换不同场景(预订确认、支付提醒、管理员通知)。

  • 编辑器: 简单编辑器,点击按钮插入 {customer_name}, {order_no}, {start_date} 等占位符。

6.3 支付配置

  • 安全性: 字段加密存储。

  • 表单:

    • Stripe Public Key / Secret Key。

    • PayPal Client ID / Secret。

    • 开关:启用在线支付。

6.4 员工管理

Tab 1: 员工管理 (Staff Management)

1. 员工列表区

  • 展示字段: 姓名、邮箱、当前角色 (Tag样式)、最后登录时间、状态 (正常/冻结)。

  • 操作列: 编辑 (Edit)、冻结/解冻 (Suspend)、重置密码 (Reset Pwd)、删除 (Delete)。

    • 注:删除仅限“未激活”的邀请,已激活账号只能冻结(保留历史订单数据关联)。

2. 邀请员工弹窗 (Invite Member Modal)

  • 输入项:

    • 邮箱 (Email): 必填。

    • 姓名 (Name): 选填 (注册时用户可改)。

    • 角色 (Role): 下拉单选框 (数据源来自 Roles 表)。

      • Default: Administrator, Staff, Driver

  • 动作: 点击“发送邀请”,系统生成 Token 并发送邮件。

3. 编辑员工弹窗 (Edit Staff Modal)

  • 功能: 修改员工的 Role。

  • 场景: 员工升职,从“普通员工”改为“管理员”。

Tab 2: 角色管理 (Role Management)

1. 角色列表区

  • 布局: 卡片式或列表式。

  • 展示: 角色名称、权限摘要 (如 "订单管理, 车辆管理...")、当前人数。

  • 操作: 新建角色、编辑、删除 (若该角色下有人,禁止删除)。

2. 新建/编辑角色页 (Role Editor)

这是一个全屏或大弹窗页面。

  • 基本信息:

    • 角色名称: 输入框 (如 "财务专员")。

    • 描述: 输入框。

  • 权限分配区 (Permission Matrix):

    • UI 样式: 分组的复选框列表 (Grouped Checkboxes)。

    • 交互: 支持“全选/反选”某一组。

    • [ Group: 订单中心 ]

    • [ Group: 资产管理 ]

    • [ Group: 系统设置 ]

  • 保存逻辑:

    • 前端收集所有 checked 的 value,组成数组 ["order:view", "vehicle:view"] 提交给后端 API。

三、 UI 菜单结构 (Sitemap)-响应式布局适配pc和移动端展示

1. 前端 (Public Website)

无需登录,基于域名 (Host) 动态渲染品牌内容

  • Home (首页)

    • Hero Section: Banner + 快速搜索组件 (日期/地点/座位)

    • Why Choose Us: 品牌优势展示

    • Featured Cars: 热门车型推荐

  • Fleet (车型列表)

    • Filter Bar: 筛选栏 (价格范围 / 座位 / 档位)

    • Car List: 车辆卡片 (显示实时价格与可用性)

  • Vehicle Detail (车辆详情页)

    • Gallery: 车辆图库

    • Availability Calendar: 可用性日历 (不可选日期置灰)

    • Specs: 详细参数

  • Booking Flow (预约流程)

    • Step 1: Reservation (信息填写)

      • 客户信息表单 (姓名/邮箱/电话/护照)

      • Extras Selection (附加服务勾选:保险/座椅等)

    • Step 2: Payment (支付/确认)

      • Order Summary (费用明细)

      • Payment Gateway (Stripe/PayPal 嵌入组件)

    • Step 3: Confirmation (成功页)

      • Order Reference (订单号显示)

      • Print/Save (打印或保存凭证)

  • My Order (订单查询)

    • Login-free Access: 输入 邮箱 + 订单号 查询

    • Order Status: 查看订单详情、支付状态、下载收据

  • Static Pages (静态页)

    • About Us (关于我们)

    • Contact (联系我们) - 含地图与留言板

    • Terms & Conditions (支付网关强制要求)

    • Privacy Policy (支付网关强制要求)

2. 后台管理 (Admin Dashboard)

基于角色的访问控制 (RBAC)

A. 身份认证 (Auth)

  • Login (登录页)

    • 输入:Email / Password

    • 动作:忘记密码入口

  • Register (注册页 - 受限)

    • URL: /register?token=xyz... (无 Token 自动跳回登录页)

    • 逻辑:自动锁定邮箱,仅输入姓名与密码

  • Forgot Password (忘记密码)

    • 逻辑:发送重置邮件

  • Reset Password (重置密码)

    • URL: /reset-password?token=...

B. 核心菜单 (Main Navigation)

  • 1. Dashboard (控制台)

    • Overview (数据概览)

      • 今日核心指标 (取车/还车/待办)

      • 快捷入口 (新增订单/排期)

    • Analytics (数据分析)

      • 营收趋势图 (Revenue Chart)

      • 车型利用率排行 (Utilization Rate)

      • 订单来源分析

  • 2. Schedule (排期管理)

    • Gantt Chart (甘特图 - 核心)

      • View: Y轴车辆 / X轴日期

      • Action: 拖拽调整时间、点击色块查看详情

    • Daily Ops (每日运营)

      • List: 今日取车列表 / 今日还车列表

      • Action: 快速标记“已取车”、“已还车”

  • 3. Orders (订单中心)

    • All Orders (订单列表)

      • Tabs: 全部 / 待支付 / 待确认 / 进行中 / 已完成 / 已取消

      • Search: 按订单号、姓名、手机号搜索

      • Action: Create Order (手动录入按钮)

    • Order Detail (订单详情页)

      • Info: 客户信息、车辆信息、费用明细

      • Timeline: 订单状态流转记录

      • Edit: 修改订单、发送邮件通知、手动退款

    • Import Orders (批量导入)

      • Upload: Excel 文件上传区域

      • Preview: 冲突检测结果预览 (红字标出冲突行)

  • 4. Fleet (资产管理)

    • Vehicles (车辆列表)

      • List: 展示图片、车牌、当前状态

      • Action: 新增/编辑车辆

    • Vehicle Availability (状态维护)

      • Form: 设置某辆车在特定时间段为“维修中/不可用”

    • Extras (附加服务)

      • List: 保险、GPS、儿童座椅

      • Edit: 设置价格、计费方式 (按天/按次)

  • 5. Reports (财务与报表)

    • Weekly Reports (周报)

      • List: 历史周报归档

      • View: 周报详情页 (Web预览)

      • Action: 下载 Excel、重发邮件

    • Annual Reports (年报)

      • View: 年度汇总数据可视化

  • 6. Settings (系统设置)

    • Brand Profile (品牌配置)

      • 设置:Logo、网站标题 (SEO)、联系邮箱、Banner图

    • Payment & Email (接口配置)

      • Payment: Stripe/PayPal Keys 设置

      • Email: SMTP 设置、邮件模板编辑器 (Template Editor)

    • Team & Staff (团队权限)

      • List: 员工列表

      • Invite: 发送邀请模态框 (Send Invite Modal)

      • Roles: 角色分配 (Admin/Staff)


特别说明:模态框 (Modals) 与 抽屉 (Drawers)

为了提升操作效率,建议以下功能不跳转新页面,使用悬浮层实现:

  1. Quick View Order (订单预览抽屉): 在甘特图中点击色块,右侧滑出抽屉显示详情。

  2. Send Invite (发送邀请弹窗): 在员工管理页,点击“新增”弹出。

  3. Conflict Alert (冲突警告弹窗): 在 Excel 导入时,若发现时间冲突,弹出详细错误列表。


四、 API 接口清单 (RESTful)

1. 认证模块 (Auth)

无需 Header Host,全局通用

Method

Endpoint

描述

Payload / Params

POST

/api/auth/login

管理员/员工登录

{email, password}

POST

/api/auth/logout

登出

-

POST

/api/auth/password/forgot

忘记密码 (发送重置邮件)

{email}

POST

/api/auth/password/reset

重置密码

{token, new_password}

GET

/api/auth/invite/check

校验邀请 Token 有效性

?token=xyz...

POST

/api/auth/register

通过 Token 完成注册

{token, name, password}

2. 公共前台模块 (Public)

Header 必须带 Host: brand.com 以识别租户

Method

Endpoint

描述

Payload / Params

GET

/api/public/config

获取品牌配置 (Logo, Title, Banner, Currency)

-

GET

/api/public/vehicles

搜索可用车辆

?start_date=...&end_date=...&seats=4

GET

/api/public/vehicles/{id}

获取车辆详情 (含不可用日期日历)

-

GET

/api/public/extras

获取附加服务列表 (保险/座椅)

-

POST

/api/public/orders

提交预约 (创建 Pending 订单)

{vehicle_id, dates, customer_info, extras...}

GET

/api/public/orders/lookup

访客查询订单 (无登录)

?email=...&order_no=...

POST

/api/webhook/stripe

Stripe 支付异步回调

(Stripe Signature)

POST

/api/webhook/paypal

PayPal 支付异步回调

(PayPal Signature)

3. 管理后台模块 (Admin)

Header 需带 Authorization: Bearer Token

A. 概览与文件

Method

Endpoint

描述

GET

/api/admin/dashboard/stats

获取首页统计数据 (今日订单, 营收, 待办)

POST

/api/admin/upload

通用文件上传 (返回图片URL)

B. 订单与排期 (Orders & Schedule)

Method

Endpoint

描述

GET

/api/admin/orders

订单列表 (分页/筛选/搜索)

GET

/api/admin/orders/{id}

订单详情

POST

/api/admin/orders

手动创建订单 (后台录入)

PUT

/api/admin/orders/{id}

编辑订单信息

PUT

/api/admin/orders/{id}/status

修改状态 (支付状态/订单状态)

DELETE

/api/admin/orders/{id}

删除/取消订单

POST

/api/admin/orders/import

Excel 批量导入 (返回冲突检测结果)

GET

/api/admin/schedule/gantt

获取甘特图数据 (按车辆分组的订单块)

C. 车辆与资产 (Fleet)

Method

Endpoint

描述

GET

/api/admin/vehicles

车辆列表

GET

/api/admin/vehicles/{id}

车辆详情

POST

/api/admin/vehicles

新增车辆

PUT

/api/admin/vehicles/{id}

修改车辆

DELETE

/api/admin/vehicles/{id}

删除车辆 (软删除)

POST

/api/admin/vehicles/import

Excel 批量导入车辆

POST

/api/admin/maintenance

新增维修记录 (锁定排期)

DELETE

/api/admin/maintenance/{id}

移除维修记录

D. 附加服务 (Extras)

Method

Endpoint

描述

GET

/api/admin/extras

列表

POST

/api/admin/extras

新增

PUT

/api/admin/extras/{id}

修改

DELETE

/api/admin/extras/{id}

删除

E. 报表 (Reports)

Method

Endpoint

描述

GET

/api/admin/reports/weekly

周报列表

GET

/api/admin/reports/annual

年报数据

GET

/api/admin/reports/export

导出 Excel

POST

/api/admin/reports/send

手动触发邮件发送

F. 设置与权限 (Settings & Users)

Method

Endpoint

描述

GET

/api/admin/settings

获取当前品牌配置

PUT

/api/admin/settings/profile

更新品牌信息 (Logo, Banner)

PUT

/api/admin/settings/payment

更新支付配置

PUT

/api/admin/settings/email

更新邮件模板

GET

/api/admin/staff

员工列表

POST

/api/admin/invite

发送邀请邮件

GET

/api/admin/invite

获取邀请记录

POST

/api/admin/invite/{id}/revoke

撤销邀请

GET

/api/admin/roles

获取本 Team 角色列表

POST

/api/admin/roles

新增角色

PUT

/api/admin/roles/{id}

修改角色权限

DELETE

/api/admin/roles/{id}

删除角色

PUT

/api/admin/staff/{id}/role

修改员工角色

GET

/api/admin/permissions/dict

获取系统所有权限字典(用于前端渲染勾选框)


五、 数据库设计 (Database Schema)

1. Teams (租户表)

核心隔离表

字段名

类型

说明

id

BIGINT

PK

name

VARCHAR

品牌名称

domain

VARCHAR

Unique, 绑定域名 (如 car.brandA.com)

logo_url

VARCHAR

Logo 图片路径

banner_url

VARCHAR

首页 Banner 图片路径

currency

VARCHAR(3)

新增, 货币符号 (USD, JPY, CNY)

timezone

VARCHAR

新增, 时区 (如 'Asia/Tokyo'),用于报表统计

contact_info

JSON

地址, 电话, 客服邮箱

smtp_config

JSON

邮件服务器配置

payment_config

JSON

Stripe/PayPal Keys (加密存储)

email_templates

JSON

各类邮件模板 HTML

status

TINYINT

1:启用, 0:停用

2. Users & Invitations (后台用户体系)

Users
| 字段名 | 类型 | 说明 |
| :--- | :--- | :--- |
| id | BIGINT | PK |
| team_id | BIGINT | FK, 归属品牌 (0=SuperAdmin) |
| email | VARCHAR | 登录邮箱 |
| password | VARCHAR | Hash |
| name | VARCHAR | 姓名 |
| role | ENUM | 'SUPER', 'ADMIN', 'STAFF' |
| last_login | DATETIME | 最后登录时间 |

| role_id | BIGINT | FK, 关联 Roles 表 |

Roles (角色表)

存储 Team 自定义的角色定义

字段名

类型

说明

id

BIGINT

PK

team_id

BIGINT

FK, 归属 Team

name

VARCHAR

角色名称 (如 "Counter Staff")

description

VARCHAR

备注说明

permissions

JSON

核心, 权限 Key 数组 (如 ["order:view", "vehicle:view"])

is_default

BOOLEAN

是否为系统预设 (预设角色不可删除,但可编辑权限)

created_at

DATETIME

创建时间

Invitations
| 字段名 | 类型 | 说明 |
| :--- | :--- | :--- |
| id | BIGINT | PK |
| token | VARCHAR | Index, 唯一邀请码 |
| team_id | BIGINT | FK |
| email | VARCHAR | 受邀邮箱 |
| role | VARCHAR | 预设角色 |
| status | ENUM | 'PENDING', 'USED', 'EXPIRED' |
| expires_at | DATETIME | 过期时间 |

3. Vehicles & Maintenance (资产管理)

Vehicles
| 字段名 | 类型 | 说明 |
| :--- | :--- | :--- |
| id | BIGINT | PK |
| team_id | BIGINT | FK |
| name | VARCHAR | 车型 (Toyota Alphard) |
| license_plate | VARCHAR | 车牌号 |
| category | VARCHAR | 车型组 (SUV, MPV) |
| transmission | ENUM | 新增, 'AUTO'(自动), 'MANUAL'(手动) |
| seats | INT | 座位数 |
| price_per_day | DECIMAL | 基础日租金 |
| image_url | VARCHAR | 车辆主图 |
| status | TINYINT | 1:上架, 0:下架 (注意:维修通过Maintenance表控制) |
| inspection_date| DATE | 下次车检日 |

VehicleMaintenance
用于甘特图排期中的红色锁定块
| 字段名 | 类型 | 说明 |
| :--- | :--- | :--- |
| id | BIGINT | PK |
| team_id | BIGINT | FK |
| vehicle_id | BIGINT | FK |
| start_date | DATETIME | 维修开始 |
| end_date | DATETIME | 维修结束 |
| reason | VARCHAR | 维修原因/备注 |

4. Extras

管理保险、儿童座椅等

字段名

类型

说明

id

BIGINT

PK

team_id

BIGINT

FK

name

VARCHAR

服务名称 (如 "Child Seat")

price

DECIMAL

价格

price_type

ENUM

'PER_DAY'(按天), 'PER_TRIP'(按次)

icon

VARCHAR

前端图标标识

5. Orders (核心订单表)

字段名

类型

说明

id

BIGINT

PK

order_no

VARCHAR

Unique, 订单号 (如 "ORD-20231001-X9")

team_id

BIGINT

FK

vehicle_id

BIGINT

FK

customer_name

VARCHAR

客户名

customer_email

VARCHAR

客户邮箱

customer_phone

VARCHAR

电话

passport_no

VARCHAR

护照

start_time

DATETIME

预约开始

end_time

DATETIME

预约结束

days

INT

租期天数

base_amount

DECIMAL

车辆租金小计

extras_amount

DECIMAL

附加服务费小计

total_amount

DECIMAL

总金额

extras_json

JSON

新增, 选购的附加服务快照 (如 [{"name":"GPS", "price":10}])

status

ENUM

'PENDING', 'CONFIRMED', 'COMPLETED', 'CANCELLED'

payment_status

ENUM

'UNPAID', 'PAID', 'REFUNDED'

source

ENUM

新增, 'WEB'(官网), 'MANUAL'(后台), 'IMPORT'(导入)

note

TEXT

客户留言

internal_note

TEXT

管理员内部备注

created_at

DATETIME

创建时间

Comments (0)