# Pet Hotel 功能

## 概述

`ipetbooking/feat/pet-hotel` 分支開發了完整的**寵物住宿管理系統**，為現有的寵物預約平台新增住宿服務功能。此功能讓商家能夠提供寵物住宿服務，包含房型管理、房間調度、動態定價等完整功能。

## 🏨 核心功能模組

### 1. 房型管理系統 (Hotel Room Types)
- ✅ 房型基本資訊管理（中英文標題、副標題）
- ✅ 寵物數量限制設定 (`maxPets`)
- ✅ 房型代碼和起始編號管理
- ✅ 房型特色功能設定 (`features` - JSON 格式)
- ✅ 房型描述和狀態管理
- ✅ 房型排序功能

### 2. 房間管理系統 (Hotel Rooms)
- ✅ 房間與房型的關聯管理
- ✅ 房間編號和代碼系統
- ✅ 房間狀態控制
- ✅ 軟刪除支援
- ✅ 房間可用性查詢功能

### 3. 價格規則系統 (Hotel Price Rules)
- ✅ 動態變價規則設定
- ✅ 支援多種價格類型 (`type`, `valueType`, `operator`)
- ✅ 最少住宿天數限制 (`minNight`)
- ✅ 時間區間價格設定 (`startDate`, `endDate`)
- ✅ 房型與價格規則的多對多關聯
- ✅ 價格計算邏輯

### 4. 住宿排班系統 (Hotel Room Schedules)
- ✅ 房間時間排程管理
- ✅ 住宿預約時段控制
- ✅ 房間可用性排程
- ✅ 排班狀態管理

## 📊 功能特色

### 1. 彈性房型配置
- 支援多種房型設定
- 可設定每個房型的寵物數量限制
- 支援房型特色功能的 JSON 格式儲存
- 多語言支援（中英文）

### 2. 智慧價格管理
- 動態價格規則系統
- 支援時間區間定價
- 最少住宿天數限制
- 多種計算方式（固定金額、百分比）

### 3. 完整排程管理
- 房間可用性即時查詢
- 住宿時段衝突檢測
- 彈性排班設定

### 4. 標準化 API 設計
- RESTful API 架構
- 統一的錯誤處理
- 完整的 CRUD 操作
- 資料驗證和安全控制

## 🚀 開發進度

### 已完成功能 ✅
- [x] 房型管理系統（後台）
- [x] 房間管理系統（後台）
- [x] 價格規則系統（後台）
- [x] 住宿排班系統（後台）
- [x] 資料庫遷移檔案
- [x] 後台管理 API 端點
- [x] 房間可用性查詢功能

### 目前開發狀態 📊
根據實際程式碼分析：

**✅ 已實現**：
- 完整的後台管理功能
- 4 個核心 API 端點
- 資料庫結構設計
- 基礎業務邏輯

**🔍 分析發現**：
- 目前僅有後台管理功能
- 尚未發現前台住宿預約相關程式碼
- 主要專注於管理端功能建置

**📝 備註**：
此分支主要完成了住宿管理的**後台基礎架構**，為後續前台功能開發奠定了穩固的基礎。前台功能的開發時程和規劃需要進一步確認。

## 📖 文件導覽

### 📋 [API 文件](./api-documentation.md)
詳細的 API 端點規格，包含：
- 房型管理 API
- 房間管理 API  
- 價格規則管理 API
- 住宿排班管理 API
- 完整的參數說明和範例

### 🏗️ [系統架構文件](./architecture.md)
技術架構與資料庫設計，包含：
- 後端架構說明
- 資料庫表結構
- 程式規範
- 檔案結構說明

## 🔗 相關文件

- [API 文件](./api-documentation.md) - 詳細的 API 端點規格
- [系統架構文件](./architecture.md) - 技術架構與資料庫設計
- [建立 Demo 訂單 Command](./create-demo-order-command.md) - 互動式建立 demo 訂單的使用說明
- [部署指南](./deployment-guide.md) *(待建立)*

---

**最後更新**: 2025年9月26日   
**分支**: `ipetbooking/feat/pet-hotel`
