首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >同城家政小程序搭建指南:快速落地上门预约O2O服务平台

同城家政小程序搭建指南:快速落地上门预约O2O服务平台

原创
作者头像
码兄科技
发布于 2026-11-05 16:30:55
发布于 2026-11-05 16:30:55
1210
举报

同城家政小程序搭建指南:快速落地上门预约O2O服务平台

随着上门家政服务的市场需求持续上涨,不少家政服务商、创业团队希望搭建自有线上预约平台。自建家政小程序可以拥有更高的业务自主权,能够按需调整业务逻辑,实现用户端、服务师傅端、平台管理后台一体化业务闭环。

本文将从系统架构、核心功能、关键代码实现等方面,介绍如何搭建一套同城家政上门预约小程序。

一、同城家政小程序整体架构设计

完整的家政预约小程序主要分为三大业务终端:用户端小程序、师傅服务端、平台管理后台。部分场景下可增加家政商家管理端,用于入驻家政企业管理旗下服务人员。

1. 用户端小程序

面向普通消费者,主要提供能力:

  • 家政服务分类浏览、服务项目详情查看
  • 上门地址管理、预约日期时段选择
  • 订单提交、在线支付
  • 订单进度查询、师傅位置跟踪
  • 服务完成后评价、售后申请

2. 师傅服务端(小程序)

面向家政保洁、维修、月嫂等上门服务人员:

  • 待服务订单列表查看
  • 抢单或者接收平台派单
  • 更新履约状态(出发、上门签到、服务完成)
  • 查看服务工单、收益明细、提现申请

3. 平台管理后台

用于平台整体业务管控:

  • 用户、师傅账号与资质审核
  • 服务类目、价格体系配置
  • 全部工单订单监控、售后纠纷处理
  • 财务统计、佣金结算、数据报表

整体架构示意:

代码语言:javascript
复制
 用户小程序
      |
师傅端 ---- API服务层 ---- 平台管理后台
      |
     数据库

二、同城家政小程序核心功能设计

1. 家政服务项目模块

用户打开小程序首页展示各类家政服务,包含保洁、家电清洗、维修养护等项目,展示服务说明、计价方式、参考价格。

服务项目数据表:

代码语言:javascript
复制
CREATE TABLE service_item (
 id INT PRIMARY KEY AUTO_INCREMENT,
 category_id INT COMMENT '服务分类ID',
 name VARCHAR(100) COMMENT '服务名称',
 image VARCHAR(255) COMMENT '服务封面图',
 price DECIMAL(10,2) COMMENT '基础价格',
 unit VARCHAR(20) COMMENT '计价单位:小时/次/㎡',
 status TINYINT DEFAULT 1 COMMENT '1上架 0下架'
);

服务项目查询接口示例(Node.js)

代码语言:javascript
复制
router.get('/service/list', async(req,res)=>{
    const serviceList = await ServiceItem.findAll({
        where:{
            status:1
        }
    })
    res.json({
        code:200,
        data:serviceList
    })
})

接口返回数据后,小程序前端渲染服务列表页面。

三、预约下单与工单生成功能

用户选择服务项目,填写上门地址、预约时间、备注需求,系统计算服务总金额,生成家政工单。

订单金额计算工具函数:

代码语言:javascript
复制
function calculateOrderAmount(serviceItem,extendParams){
    let total = serviceItem.price;
    // 处理附加费用:超时费、加急费、面积加价
    if(extendParams.urgent === true){
        total += extendParams.urgentFee
    }
    return total;
}

创建预约工单逻辑:

代码语言:javascript
复制
async function createWorkOrder(userId,serviceItem,extendParams){
    const amount = calculateOrderAmount(serviceItem,extendParams);
    const order = await WorkOrder.create({
        user_id:userId,
        service_id:serviceItem.id,
        appoint_time:extendParams.appointTime,
        address:extendParams.address,
        remark:extendParams.remark,
        amount:amount,
        status:'待支付'
    });
    return order;
}

家政工单完整状态流转:

代码语言:javascript
复制
待支付
 |
已支付
 |
待派单
 |
师傅已接单
 |
师傅出发上门
 |
服务进行中
 |
待用户验收
 |
已完成

四、师傅接单与工单履约状态管理

派单履约是家政系统的核心业务流程,支持平台自动派单、师傅抢单两种调度模式。

工单状态常量定义:

代码语言:javascript
复制
const workOrderStatus={
    WAIT_PAY:1,
    WAIT_DISPATCH:2,
    ACCEPTED:3,
    ON_WAY:4,
    SERVICING:5,
    WAIT_CHECK:6,
    FINISH:7
}

师傅接单接口示例:

代码语言:javascript
复制
router.post('/worker/acceptOrder',async(req,res)=>{
    let orderId=req.body.orderId;
    let workerId=req.body.workerId;
    await WorkOrder.update({
        worker_id:workerId,
        status:3
    },{
        where:{
            id:orderId
        }
    })
    res.json({
        message:"接单成功"
    })
})

平台后台可以实时查看每一笔工单的履约进度。

五、地图LBS上门服务能力

同城上门服务需要依赖地图服务,实现以下能力:

  • 用户上门地址解析,转换经纬度坐标
  • 根据地理位置筛选周边可接单师傅
  • 师傅实时位置上报,用户端查看师傅行程
  • 规划从师傅当前位置到用户家庭的导航路线

调用地图路线接口示例:

代码语言:javascript
复制
function getServiceRoute(start,end){
    return axios.get(
        "[https://api.map.com/direction](https://api.map.com/direction)",
        {
            params:{
                origin:start,
                destination:end
            }
        }
    )
}

六、微信支付订单处理

用户提交预约工单之后,需要完成线上支付。

支付业务流程:

代码语言:javascript
复制
用户提交预约工单
↓
生成业务工单记录
↓
调用微信支付接口
↓
用户完成支付
↓
接收微信回调,更新工单状态

支付回调处理示例:

代码语言:javascript
复制
router.post('/pay/notify', async(req,res)=>{
    let orderId=req.body.orderId;
    await WorkOrder.update({
        status:"待派单"
    },{
        where:{
            id:orderId
        }
    });
    res.send("success");
})

七、后台数据统计功能

平台运营需要统计预约工单、营收、师傅绩效等业务数据。

统计每日工单数量SQL:

代码语言:javascript
复制
SELECT 
DATE(create_time) AS day, COUNT(*) AS order_count
FROM work_order
GROUP BY day;

统计平台已完成订单交易金额:

代码语言:javascript
复制
SELECT 
SUM(amount) AS total_income
FROM work_order
WHERE status=7;

通过统计数据,可以帮助运营人员掌握预约量变化、师傅服务绩效、平台营收情况。

八、家政小程序开发技术选型

小程序端

  • 微信小程序原生开发
  • UniApp
  • Taro

后端

  • Java Spring Boot
  • Node.js
  • PHP Laravel

数据库与缓存

  • MySQL
  • Redis(缓存师傅地理位置、热门服务项目)

部署服务

  • Linux服务器
  • Nginx
  • Docker

Spring Boot项目目录参考:

代码语言:javascript
复制
housekeeping-system

├── user          用户模块
├── service       家政服务类目模块
├── order         预约工单模块
├── worker        师傅人员管理
├── dispatch      派单调度模块
├── payment       支付模块
└── admin         平台后台

按照业务模块拆分代码,便于后续迭代扩展。

九、家政小程序后期扩展方向

基础预约系统搭建完成后,还可以结合业务场景拓展更多能力。

会员营销
  • 会员等级、优惠券
  • 服务次卡、套餐售卖
  • 积分兑换服务抵扣
商家入驻模式
  • 家政公司入驻申请
  • 平台佣金抽成配置
  • 企业批量结算
增值业务
  • 家庭维修、保姆月嫂、育儿服务拓展
  • 企业批量保洁预约
  • 加急服务、夜间上门加价配置
数据运营
  • 用户预约行为分析
  • 师傅服务质量统计
  • 工单售后问题统计

总结

同城家政小程序,不只是简单的预约下单工具,需要完整覆盖用户预约、师傅履约、平台管控整套O2O业务流程。

通过合理设计系统架构、数据表结构以及工单状态流转逻辑,就可以快速搭建适配本地市场的上门预约服务平台。基于系统的可扩展特性,可以根据业务发展叠加会员次卡、企业预约、多商家入驻等功能,满足多样化的本地上门服务业务需求。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 同城家政小程序搭建指南:快速落地上门预约O2O服务平台
    • 一、同城家政小程序整体架构设计
      • 1. 用户端小程序
      • 2. 师傅服务端(小程序)
      • 3. 平台管理后台
    • 二、同城家政小程序核心功能设计
      • 1. 家政服务项目模块
    • 三、预约下单与工单生成功能
    • 四、师傅接单与工单履约状态管理
    • 五、地图LBS上门服务能力
    • 六、微信支付订单处理
    • 七、后台数据统计功能
    • 八、家政小程序开发技术选型
      • 小程序端
      • 后端
      • 数据库与缓存
      • 部署服务
    • 九、家政小程序后期扩展方向
    • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档