民宿管家 —— 多房间出租管理系统

民宿管家 —— 多房间出租管理系统

面向多套房出租经营者(二房东)的纯线下、基于房态的出租管理系统。
一句话定义:看状态(房态)、办入住(开退房)、记流水(账单) —— 三个动词。


15331999-5762e0766a92ad37

一、项目简介

一套房常常被隔成 3~6 间分开出租,「房间」才是可出租的最小业务单元。本系统以房间状态为中枢,把「谁住在哪」「收了多少钱」「什么时候到期」都挂在房间上,帮房东扔掉 Excel。

设计原则 说明
房间为中心 房源(House) → 房间(Room) → 入住记录(Stay) / 账单(Bill),每笔钱都能归因到某一间房
房态为中枢 账单、欠费、到期提醒都挂在房间的状态上
电脑单人用 单人房东操作,无多角色/审批流,表格 + 表单为主
本地优先 数据存本机 SQLite,断网可用,局域网内换电脑也能开

明确不做:完整财务/对账/发票、手机端/小程序、多角色权限。


二、功能一览

1. 房态看板(首页 · 系统中枢)

  • 一屏网格卡片展示全部房间实时状态:空净(绿,可出租)/ 已租(蓝,有人住)
  • 状态流转只有一条合法链路:空净 → 开房 → 已租 → 退房 → 空净,非法流转被拦截(按钮禁用 + 红色提示),绝不静默失败
  • 顶部待办提醒:合同到期、欠费催缴
  • 点击房间卡片弹出详情:租客信息、押金租金、账单流水、备注记录

2. 入住 / 退房

  • 开房(3 步):选空净房间 → 登记租客信息(姓名/身份证/手机)→ 收押金 + 首期租金,房间变「已租」
  • 收租:对在住房间按月收租金,自动生成账单流水
  • 续租:延长合同到期日
  • 退房结算(自动算账):核杂费/损坏赔偿 → 自动计算应退押金 → 房间回「空净」
    • 应退押金 = 押金 − 欠租 − 加收费用 − 损坏赔偿;>0 退款 / <0 租客补款 / =0 两清

3. 账单流水

  • 轻量台账:收款(押金/租金/杂费)、支出(维修/耗材),方式(现金/微信/支付宝)
  • 按月汇总、按房间筛选、支持导出 CSV
  • 系统自动生成的流水说明(如退房结算)也记录在案

4. 基础设置

  • 房源 / 房间管理(增删改)
  • 站点设置、管理员密码修改
  • 字典维护(支付方式等)
  • 备注记录浏览(按场景/房号/内容筛选)
  • 数据备份:导出 JSON 全量备份
  • 演示数据:一键重置为演示数据 / 清空全部业务数据

5. 备注台账(统一备注系统)

  • 所有表单(房源/房间/开房/收租/退房/记账)都预留备注输入框
  • 备注存独立 remark 表,按场景分类(房源/房间/入住/收租/退房/账单),追加式台账——修改备注会新增记录,历史保留可追溯

三、技术栈

选型
后端 PHP 8.2 + ThinkPHP 6
数据库 SQLite(单文件 database/database.sqlite,零配置)
前端 服务端渲染 HTML + 原生 JS,无 CDN、无构建步骤,全部依赖本地化
部署 PHP 内置服务器(public/router.php),Windows 托盘程序一键启动

四、快速开始

方式一:双击启动(推荐,Windows)

项目根目录自带 民宿管家.exe(托盘常驻程序):

  1. 双击 民宿管家.exe —— 托盘出现图标,自动拉起 PHP 服务并打开浏览器
  2. 默认访问 http://127.0.0.1:8210/
  3. 托盘右键菜单:打开系统 / 启动服务 / 停止服务 / 退出

程序运行依赖同目录下的 .tools\php82\(内置 PHP 8.2 运行时)和 public\,请保持目录结构完整。
端口可传参覆盖:民宿管家.exe 8211

方式二:命令行启动

用任意 PHP 8.1+(内置运行时位于 .tools/php82/php.exe):

php think run -p 8210
# 或
php -S 0.0.0.0:8210 -t public public/router.php

登录

  • 默认账号:admin,默认密码:admin123
  • 登录后可在「基础设置 → 站点设置」修改密码;会话有效期 8 小时(滑动过期)
  • 首次启动时系统自动建表初始化(无需手动执行 SQL)

局域网访问

服务以 0.0.0.0 监听,同一局域网内其他电脑用 http://<本机IP>:8210/ 即可访问。如无法访问,检查 Windows 防火墙是否放行该端口。


五、日常使用

场景 操作路径
看今天谁到期、谁欠费 首页「房态看板」顶部待办
有房间空出来了 房态看板 → 空净房卡片 →「开房」
租客交房租 入住退房 → 在住列表 →「收租」(或卡片上直接收租)
租客续住 在住列表 →「续租」改合同到期日
租客退租 已租房卡片 →「退房」→ 系统自动算应退押金
记一笔支出(如维修耗材) 账单流水 →「记一笔」→ 类型选支出
查某间房历史流水 房态看板 → 点卡片 → 详情内账单列表
月底对账 账单流水 → 按月筛选 → 导出 CSV
换电脑/备份 基础设置 → 导出 JSON;或直接拷贝 database/database.sqlite

计费口径

  • 欠费 = 应收租金(按自然月累计)− 已收租金,只对在住房间计算,已退房显示 "—"
  • 出账按自然月:入住当月起逐月出账,到「实际退房日 / 今天 / 合同到期日」三取早所在月
  • 退房结算自动计算:应退押金 = 押金 − 欠租 − 加收费用 − 损坏赔偿

六、数据与备份

内容 位置
全部业务数据 database/database.sqlite(单文件)
运行日志/缓存/会话 runtime/(可随时清空,不影响业务数据)
备份方式一 基础设置 → 导出 JSON
备份方式二 直接复制 database.sqlite(建议先在托盘停止服务)
恢复 用备份文件覆盖 database.sqlite 后重启服务

⚠️ 「基础设置 → 重置为演示数据」会覆盖当前全部业务数据,操作前请先备份。


七、目录结构

├── 民宿管家.exe        # Windows 托盘启动器(双击即用)
├── .tools/php82/       # 内置 PHP 8.2 运行时
├── app/                # 应用代码
│   ├── controller/     # Board 看板 / Stay 入住退房 / Bill 账单 / Setting 设置
│   ├── service/        # Billing 计费 / Checkin / Checkout / Init 初始化 / Seed 演示数据 等
│   ├── model/          # House / Room / Stay / Bill / Remark / Setting
│   └── view/           # 模板(看板/入住退房/账单/设置)
├── config/             # 框架与业务配置(admin.php 管理员账号)
├── database/           # database.sqlite 业务数据
├── public/             # Web 根目录(index.php + router.php + static 静态资源)
├── route/              # 路由(bills → bill/index)
├── runtime/            # 运行时缓存(可清空)
├── think               # CLI 入口
└── vendor/             # Composer 依赖

八、二次开发

  • 开发依赖:PHP 8.1+ 与 Composer(composer install),源码改动后用 php think run 调试
  • 托盘程序源码launcher/MzTray.cs,用 launcher/build.bat(系统自带 .NET csc)重新编译出 民宿管家.exe
  • 巡检脚本tools/probe.sh(Git Bash + curl 全站巡检,会先重置为演示数据,勿在生产库上直接跑
  • 项目文档:doc/产品设计说明.md(产品草案)、doc/整体测试方案.md

九、联系邮箱

codermuz@163.com

十、下载项目

码云:https://gitee.com/codermuz/mz_room
网盘:https://wwaso.lanzouu.com/b0mctof7a 密码:7owz

posted @ 2026-09-19 11:01  codermuz  阅读(4)  评论(0)    收藏  举报