自己做校园外卖订餐小程序,合理顺序是:先向学校确认校外餐能否入校、校门交接点、送达边界、配送时段和进校人员,再确定经营主体与支付结算负责人;随后按依赖关系完成小程序账号、认证、备案、服务类目和同主体收款配置;再配置校区、楼栋、商家、菜单、骑手与权限;用一笔正常单加缺货、退款、错楼栋、无人接单等异常单做验收,问题闭环后提交审核;审核通过先选一至两栋楼试运营,稳定后再扩商家和校区。
这条顺序中,校方准入和主体条件决定项目能否成立,系统配置和异常验收决定上线后能否接续处理问题。下面按业务约束、技术配置、验收方法和试运营展开。
第一步不是写代码,而是向学校后勤、保卫和场地管理方书面确认:校外餐能否入校、校门交接点设在哪里、送到楼下还是固定点位或寝室、允许的配送时段、哪些人员可以进校。同步明确经营主体、商家资质、支付与结算负责人。校方答复未明确前,先不投入不可逆的开发或采购。
把口头答复整理成配置字段,后续演示和验收才有对照物。地址层级建议统一为:学校、校区、校门或站点、楼栋或取餐点、服务时段、送达方式、收费规则。名称一旦确定,用户端选址、后台分拣和骑手交接都使用同一套叫法,减少错楼栋。
准入确认项 | 映射到系统配置 | 验收时观察什么 |
|---|---|---|
校外餐能否入校 | 商家准入范围、服务区域 | 超出范围的商家或地址能否被限制 |
校门交接点 | 校门、站点、取餐点地址 | 订单分组是否按站点归集 |
送达边界 | 楼栋、宿舍、固定点位、备注规则 | 用户能否选到正确地址,骑手端是否一致 |
配送时段 | 营业时段、配送班次、预约时间 | 非服务时段能否下单,班次是否对应现场 |
进校人员范围 | 骑手账号、岗位权限、交接责任人 | 无权限账号能否处理交接或改派 |
账号与资金环节不要凭宣传文章排固定天数,按依赖关系推进,并以微信开放文档《小程序备案操作指引》《微信小程序认证指引》和主管部门现行页面核对要求。常见顺序是:确定经营主体,注册并认证小程序,按现行要求完成备案和选择与实际经营匹配的服务类目,保存AppID交给系统方绑定;再用营业执照和法人信息开立与经营主体一致的收款商户号;最后配置退款、结算、提现和对账责任人。
阶段 | 主要输入 | 输出 | 容易卡住的地方 |
|---|---|---|---|
经营主体 | 个体户或企业执照、法人信息、经营范围 | 可签约、可开票、可申请支付的主体 | 只注册了小程序,却没有匹配经营与支付的主体 |
小程序账号 | 邮箱、主体资料、管理员信息 | AppID、后台管理员 | 管理员交接不清,后续提审无人操作 |
认证、备案与类目 | 证照、负责人信息、服务说明 | 可提交审核的账号状态 | 类目、页面说明和实际功能不一致 |
支付与结算 | 同主体商户资料、结算账户 | 收款、退款、对账与提现路径 | 收款主体、小程序主体、合同主体不一致 |
平台类外卖交易涉及商家货款、配送费和平台服务费时,应把分账、退款冲回、账期、提现和手续费写入项目约定,逐笔核对平台、商家、骑手三类账。系统能记录账务,不等于自动满足支付机构或监管要求,具体通道和开通条件按现行规则确认。
后台配置不要从页面装修开始,而要先定角色、地址和订单状态。用户端负责浏览、选址、下单和售后;商家端负责接单、出餐、缺货处理;骑手端负责取餐、交接、配送和送达;平台端负责商家、骑手、订单、退款、结算和权限。四端围绕同一笔订单协同,任何一端的状态定义不清,都会在现场交接时放大。
订单状态建议先画成可验收的状态表:待支付、已支付、商家已接单、已到校门、已分拣、配送中、已送达、已结算。每进入一个状态,写清触发动作、前置条件、责任人和异常分支。缺货、拒单、退款、错楼栋、无人接单、重复扫码都应有单独的处理路径,不能只验正常单。
状态 | 触发动作 | 前置条件 | 异常分支 |
|---|---|---|---|
待支付 | 用户提交订单 | 商品可售、地址在服务区 | 超时关闭、重复提交 |
已支付 | 支付结果确认 | 金额与订单一致 | 重复回调转人工核单 |
商家已接单 | 商家确认出餐 | 营业状态正常 | 缺货退款、拒单 |
已到校门 | 校外交接完成 | 站点与订单匹配 | 错站点、少餐 |
已分拣 | 按楼栋完成分组 | 楼栋地址存在 | 地址缺失人工补录 |
配送中 | 校内骑手接单 | 骑手有该区域权限 | 无人接单转派 |
已送达 | 送达确认 | 交接凭证完整 | 重复扫码只保留一次结果 |
已结算 | 账期到达 | 无未决售后 | 售后退款冲回 |
下面用一段伪代码说明扫码交接的幂等验收思路。它是验收设计示例,不代表任何产品内部实现,也没有运行实测结论。
scanHandover(orderNo, scanId):
if scanId in processed:
return processed[scanId]
processed[scanId] = 'PROCESSING'
order = loadOrder(orderNo)
if order.status != 'ARRIVED_CAMPUS_GATE':
return 'STATUS_CONFLICT_MANUAL_CHECK'
order.status = 'SORTED'
saveOrder(order)
processed[scanId] = 'SORTED'
return 'SORTED'预期结果是:同一扫码请求重复提交时返回原结果,不重复改状态或重复通知;状态不匹配时转人工核单。实际验收要在选定系统和测试数据上执行,保存环境、版本、输入、操作人、输出和处理时长,不能把设计示例当成现有系统的实测结论。
上线前至少安排一笔正常单和一组异常单,由用户、商家、骑手、分拣员和平台管理员同时参与。每类场景都记录订单号、操作人、输入地址、系统状态、金额变化、处理结果和遗留问题。异常单走不通,先调整配置或流程,再提交审核。
验收场景 | 输入 | 预期输出 | 记录证据 |
|---|---|---|---|
正常送餐 | 有效地址、正常支付 | 商家出餐、交接、送达、账单正确 | 状态时间线、金额、操作人 |
缺货拒单 | 商家缺货或拒单 | 用户收到处理结果,退款或改单可追踪 | 退款记录、通知记录 |
部分退款 | 一笔订单部分商品退款 | 商家应结、配送费和平台费用按规则调整 | 原订单、退款单、调整记录 |
错楼栋 | 用户选错或地址缺失 | 分拣可改址,骑手端同步,责任可查 | 改址记录、交接记录 |
无人接单 | 校内骑手不足 | 可转派或由调度人工处理 | 转派时间、接单人、结果 |
部分送达 | 一批订单中部分完成 | 已完成订单更新,未完成订单保留 | 批次号、完成清单、未完成原因 |
批量通知 | 按楼栋或取餐点通知 | 通知对象、位置和结果可核对 | 发送清单、失败重发记录 |
对账提现 | 正常单、退款单、结算后售后 | 三类账能对齐,差额有解释 | 账单、提现申请、调整原因 |
提审时,页面说明、服务类目、功能描述、配送范围和履约方式要与实际一致,并设置商家资质公示和售后入口。审核关注的是页面承诺与实际功能是否匹配,系统配置完成不代表审核自动通过,应以平台现行审核意见为准。
审核通过后先选一至两栋楼或一个片区试运营,不要直接全校推广。试运营要记录每波订单量、到站时间、分拣完成时间、未完成原因、退款处理时长、通知结果和客服问题。高峰时重点看订单能否按楼栋送完、异常单能否被下一班接续、含优惠订单能否对清平台、商家和骑手三类账。
稳定后再扩商家和楼栋。扩到第二校区时,先做配置差异表:哪些品牌页面和培训材料可复用,哪些商家、菜单、骑手、班次、楼栋地址、通行规则和结算归属要重新配置。新校区先用少量订单演练收餐、分拣、退款与汇总,确认数据归属和操作权限,再逐步放量。
先按微信和主管部门现行规则核对经营主体、服务类目与收款主体要求。不要把“能注册小程序”当成可以开展平台类外卖交易和支付的充分条件;经营主体、商户号、合同和结算责任应保持一致或能清楚说明关系。
本次资料没有可公开核验的统一周期。实际进度受校方答复、认证备案、类目审核、商家资料、支付开通和测试问题影响,建议按里程碑管理,逐项记录完成标志,不承诺固定天数。
团队以运营为主、规则尚未稳定时,先用标准SaaS跑通下单、接单、配送、退款和对账;订单稳定、出现明确接口或特殊流程,再评估私有化、源码或定制。比较时把模块、终端、部署、第三方服务、培训和维护分项列清。
校外配送人员通行受限、订单集中在午晚高峰、需要按校门收餐再分拣到楼栋时,应把校门交接、批量中转、部分送达、错楼栋改址和取餐通知放进同一场演示。演示结论要绑定版本、地址和操作人。
下一步,把校方书面答复、楼栋清单、商家菜单、骑手班次和异常单样例整理成一页需求,在演示环境走一笔正常单,再加入缺货、退款、错楼栋和无人接单,记录版本、输入、输出与处理人,再据此决定采购或开发范围。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。