# 订单流程说明
# 业务流程概览
┌────────────────────────────────────────────────────────────────────┐
│ │
│ ① 选择行程信息 ② 询价 ③ 创建订单 │
│ (地址/时间/类型) ───► (车型+价格) ───► (确认下单) │
│ │ │
│ ▼ │
│ ⑥ 嘟嘟分配车辆/司机 ⑤ 嘟嘟接单 ④ 用户支付 │
│ (待完成) ◄─── (待排车) ◄─── (合作平台代收) │
│ │ │
│ ▼ │
│ ⑦ 行程完成 ⑧ 车队上报额外费用 ⑨ 用户支付额外费 │
│ (司机操作) ───► (如食宿/超时) ───► (合作平台代收) │
│ │ │
│ ▼ │
│ ⑪ 用户评价 ⑩ 订单完结 │
│ (待评价 → 已评价) ◄─── (待评价) │
│ │
└────────────────────────────────────────────────────────────────────┘
# 详细流程
# ① 选择行程信息
用户在合作方应用内选择:
- 出发地点(起点)
- 目的地点(终点)
- 出发时间
- 包车类型:单程 / 往返 / 包天
- 途经点(可选)
# ② 询价
合作方调用嘟嘟巴士的询价接口,获取:
- 该城市可用车型列表
- 各车型的报价
用户从车型列表中选择一种车型。
| 接口 | 说明 |
|---|---|
POST /api/charter/partner_car_type_list | 获取车型列表及报价 |
# ③ 创建订单
用户确认行程信息和车型后,合作方调用创建订单接口:
| 接口 | 说明 |
|---|---|
POST /api/charter/partner_create_order | 创建包车订单 |
接口返回:
order_id:订单IDorder_num:订单号price:应付金额
订单创建成功后,状态为 待支付(10)。
# ④ 用户支付
用户在合作方应用内完成支付(合作平台代收款)。支付完成后,合作方调用嘟嘟巴士的订单支付回调接口通知支付结果:
| 接口 | 说明 |
|---|---|
POST /index.php/charter/order/partner_pay_notify | 支付成功通知 |
支付成功后,订单状态变为 待排车(4)。
# ⑤ 嘟嘟接单
嘟嘟巴士平台收到订单后开始处理:
- 确认订单信息
- 进入排车流程
订单状态:待排车(4)
# ⑥ 嘟嘟分配车辆和司机
嘟嘟巴士车务人员为订单分配具体的车辆和司机:
- 派车后订单状态变为 待完成(5)
- 司机和车辆信息可通过订单详情接口查询
合作方可通过订单详情接口主动查询:
| 接口 | 说明 |
|---|---|
POST /api/charter/partner_order_detail | 查询订单详情(含司机/车辆信息) |
# ⑦ 行程完成
司机执行用车任务,完成行程:
- 司机在车队端操作"行程结束"
- 订单状态变为 待评价(7)
# ⑧ 车队上报额外费用(如有)
如果行程中产生了额外费用(住宿、超时、超里程等),车队会在系统中上报:
- 系统更新订单的
extra_fee_amount字段 extra_fee_status标记为 0(待支付)- 此时订单状态显示为 待结算
合作方可通过订单详情接口看到额外费用:
{
"extra_fee_amount": 50,
"extra_fee_status": 0,
"is_pending_settlement": 1,
"status_name": "待结算"
}
# ⑨ 用户支付额外费用
用户在合作方应用内支付额外费用(合作平台代收款)。支付完成后,合作方调用额外费用支付回调接口:
| 接口 | 说明 |
|---|---|
POST /index.php/charter/order/partner_extra_fee_pay_notify | 额外费用支付通知 |
支付成功后,extra_fee_status 变为 1(已支付)。
# ⑩ 订单完结
所有费用结清后,订单进入待评价状态:
- 订单状态:待评价(7)
- 此时订单已完成,等待用户评价
# ⑪ 用户评价
用户对本次服务进行评价。合作方调用提交评价接口:
| 接口 | 说明 |
|---|---|
POST /api/charter/partner_submit_evaluate | 提交订单评价 |
评价提交后,订单状态变为 已评价(8),订单流程结束。
# 订单状态流转图
┌─────────┐
│ 待支付 │ status=10
│ (10) │
└────┬────┘
│ 用户支付
▼
┌─────────┐
│ 待排车 │ status=4
│ (4) │
└────┬────┘
│ 嘟嘟派车
▼
┌─────────┐
│ 待完成 │ status=5
│ (5) │
└────┬────┘
│ 司机完成行程
▼
┌────────────┴────────────┐
│ │
▼ ▼
有额外费用 无额外费用
│ │
▼ │
┌─────────┐ │
│ 待结算 │ │
│ (5+待付) │ │
└────┬────┘ │
│ 用户支付额外费用 │
└─────────┬───────────────┘
▼
┌─────────┐
│ 待评价 │ status=7
│ (7) │
└────┬────┘
│ 用户评价
▼
┌─────────┐
│ 已评价 │ status=8
│ (8) │
└─────────┘
任何阶段(行程开始前)都可以走取消流程:
┌─────────┐
│ 已取消 │ status=6
│ (6) │
└─────────┘
# 取消流程
订单在 行程开始前 可以取消,取消规则:
| 条件 | 扣费比例 |
|---|---|
| 未派车(status ≤ 4) | 0%(全额退款) |
| 距发车 ≥ 48小时 | 10% |
| 24小时 ≤ 距发车 < 48小时 | 20% |
| 12小时 ≤ 距发车 < 24小时 | 30% |
| 4小时 ≤ 距发车 < 12小时 | 60% |
| 距发车 < 4小时 | 100% |
| 行程开始后 | 不允许取消 |
| 接口 | 说明 |
|---|---|
POST /api/charter/partner_refund_info | 查询当前可退款金额 |
POST /api/charter/partner_cancel_order | 取消订单 |
建议在用户操作取消前,先调用 partner_refund_info 接口展示退款信息让用户确认。
# 发票流程(可选)
订单完成后,用户可以申请开具发票。
| 接口 | 说明 |
|---|---|
POST /api/charter/partner_apply_charter_invoice | 申请开票 |
POST /api/charter/partner_get_charter_invoice_list | 发票列表 |
POST /api/charter/partner_invoice_detail | 发票详情 |
POST /api/charter/partner_send_email | 发送发票邮件 |
发票申请条件:
- 订单已完成(含所有费用结算)
- 订单未开过票
- 一次申请可合并多个订单
发票状态:
0待开票1开票中2开票失败3已开票(可下载 PDF)
# 状态查询建议
由于订单状态会在嘟嘟巴士侧变更(派车、行程完成、额外费用上报等),建议合作方采取以下方式获取最新状态:
# 完整时序图
合作方App 合作方后端 嘟嘟巴士API 嘟嘟车队
│ │ │ │
│ 选择行程 │ │ │
├───────────►│ │ │
│ │ 询价 │ │
│ ├─────────────►│ │
│ │ 车型+价格 │ │
│ │◄─────────────┤ │
│ 展示车型 │ │ │
│◄───────────┤ │ │
│ 选车下单 │ │ │
├───────────►│ │ │
│ │ 创建订单 │ │
│ ├─────────────►│ │
│ │ order_num │ │
│ │◄─────────────┤ │
│ 唤起支付 │ │ │
│◄───────────┤ │ │
│ 支付成功 │ │ │
├───────────►│ │ │
│ │ 支付回调 │ │
│ ├─────────────►│ │
│ │ │ 分派订单 │
│ │ ├─────────────►│
│ │ │ 派车信息 │
│ │ │◄─────────────┤
│ 查看详情 │ │ │
├───────────►│ │ │
│ │ 查询详情 │ │
│ ├─────────────►│ │
│ │ 司机/车辆 │ │
│ │◄─────────────┤ │
│ │ │ 行程结束 │
│ │ │◄─────────────┤
│ │ │ 上报额外费用 │
│ │ │◄─────────────┤
│ 支付额外费 │ │ │
├───────────►│ │ │
│ │ 额外费支付回调│ │
│ ├─────────────►│ │
│ 用户评价 │ │ │
├───────────►│ │ │
│ │ 提交评价 │ │
│ ├─────────────►│ │
│ │ │ │
# 常见问题
Q: 用户支付完成后多久可以派车? A: 通常 5-15 分钟内派车,复杂订单可能需要更长时间。建议引导用户耐心等待,或在订单详情页查看派车进度。
Q: 如何获取司机和车辆信息?
A: 调用订单详情接口,订单状态变为 5(待完成)后,返回的 driver_list 和 vehicle_list 字段中会包含司机和车辆信息。
Q: 额外费用是否一定会产生? A: 不一定。绝大多数订单不会产生额外费用。仅在特殊情况下(如客户要求等待、改变行程、跨日住宿等)才会产生。