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

一、项目简介
一套房常常被隔成 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(托盘常驻程序):
- 双击
民宿管家.exe—— 托盘出现图标,自动拉起 PHP 服务并打开浏览器 - 默认访问
http://127.0.0.1:8210/ - 托盘右键菜单:打开系统 / 启动服务 / 停止服务 / 退出
程序运行依赖同目录下的
.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

浙公网安备 33010602011771号