# Hotel Order Email 模板顯示結構

## 模板顯示結構

當 hotel 訂單的 `container.is_temp` 為 `false` 時，系統會發送訂單通知 email，模板會顯示以下內容：

### 1. 標題區塊
```
【商家名稱】已收到您的住宿預定
```

### 2. 通知內容
根據訂單狀態顯示：
- **CheckoutLink** (未付款): "您好{姓名}：您於{店家名稱}{分店名稱}的住宿訂單已於 {訂單成立時間} 成立。請於{訂單付款期限}之前，完成付款。"
- **Qrcode** (已付款): "您好{姓名}：您於{店家名稱}{分店名稱}的住宿訂單已於 {訂單付款時間} 完成付款。"

### 3. 訂單資訊區塊（藍色背景）

#### 3.1 訂單標題
- **標題**: "住宿訂單"
- **內容**: 
  - 訂單成立時間：{訂單成立時間}
  - 服務地點：{分店地址}（可點擊連結到 Google Maps）

#### 3.2 住宿訂單明細（每個 HotelOrder 一個區塊）

**訂單標題區**：
- 🐾 寵物名稱（如果有多隻，用「、」分隔）
- 入住日期：YYYY/MM/DD - YYYY/MM/DD（共 N 晚｜天）
  - 依 `hotelSetting.showCheckoutDate`（預設 `1`）決定迄日語意：
    - `1`：迄日 = DB `check_out_date` + 1 天（早上退房日），單位「晚」。例：`2026/08/01 - 2026/08/05（共 4 晚）`
    - `0`：迄日 = DB `check_out_date`（最後一晚），單位「天」。例：`2026/08/01 - 2026/08/04（共 4 天）`
  - DB `check_out_date` 為入住最後一晚（含），不是業界 exclusive 退房晨

**住宿天數明細**（按日期展開）：
```
日期          | 客人數 | 價格
-------------|--------|-------
2026/01/01   | 2 位   | NT$ 1500
房型名稱
房間：房型名稱 01
```

**折扣項目**（紅色顯示）：
```
折扣標題                    | - NT$ 折扣金額
```

**加購項目**：
```
加購項目標題                | X 數量 | NT$ 加購價格
```

**小計**：
```
小計                        | NT$ 訂單總額
```

#### 3.3 總計區塊
```
小計                        | NT$ 所有訂單總和
─────────────────────────────
總計金額                    | NT$ 容器總金額
```

### 4. 付款資訊區塊
顯示付款方式、付款狀態等資訊

### 5. 定型化契約區塊（如果商家有設定）
- **標題**: "住宿服務定型化契約"
- **內容**: 從商家設定中讀取的條款內容

### 6. 查看訂單連結
- 按鈕：**查看訂單完整明細**
- 文字連結：訂單完整網址

## 模板變數說明

### 可用的變數（在 replaceRules 中定義）
- `{姓名}`: 會員姓名
- `{店家名稱}`: 商家名稱
- `{店家電話}`: 商家電話
- `{訂單付款期限}`: 付款截止時間
- `{訂單成立時間}`: 訂單建立時間
- `{訂單付款時間}`: 付款完成時間
- `{訂單短網址}`: 訂單短連結
- `{分店名稱}`: 分店名稱
- `{分店電話}`: 分店電話
- `{分店地址}`: 分店完整地址

### 模板中使用的資料結構

#### $hotelOrders
- 類型：`Collection<HotelOrder>`
- 包含的關聯：
  - `bookings`: 住宿天數明細（按日期展開）
    - `roomType`: 房型資訊
    - `room`: 房間資訊
    - `price_snapshot`: 價格快照
    - `guest_count`: 客人數量
  - `discounts`: 折扣項目
  - `addons`: 加購項目
  - `guests`: 寵物列表

#### $orderContainer
- 類型：`OrderContainer`
- 屬性：
  - `type`: 'hotel'
  - `is_temp`: 0 (false) 或 1 (true)
  - `displayId`: 訂單顯示編號
  - `total`: 總金額
  - `merchant`: 商家資訊
  - `member`: 會員資訊

## 顯示範例

### 單一住宿訂單範例

```
【寵物旅館】已收到您的住宿預定

您好王小明：
您於寵物旅館台北店的住宿訂單已於 2026/01/25 14:30:00 成立。
請於2026/01/26 14:30:00之前，完成付款。

訂單資訊 [#20260125001]

┌─────────────────────────────────────┐
│ 住宿訂單                            │
│ 訂單成立時間：2026/01/25 14:30:00   │
│ 服務地點：台北市大安區...           │
├─────────────────────────────────────┤
│ 🐾 球球、小白                       │
│ 入住日期：2026/01/26 - 2026/01/29（共 2 晚） │
│                                     │
│ 2026/01/26  | 2 位 | NT$ 1500      │
│ 標準房型                            │
│ 房間：標準房型 01                   │
│                                     │
│ 2026/01/27  | 2 位 | NT$ 1500      │
│ 標準房型                            │
│ 房間：標準房型 01                   │
│                                     │
│ 連續住宿折扣        | - NT$ 200     │
│                                     │
│ 小計                | NT$ 2800      │
└─────────────────────────────────────┘

小計                    | NT$ 2800
─────────────────────────────
總計金額                | NT$ 2800

付款資訊
付款方式：信用卡
付款狀態：未付款
...
```

## 注意事項

1. **房間顯示格式**: `{房型名稱} {房間號碼}`（房間號碼會補零到兩位數，例如：01, 02）
2. **價格計算**: 每天的價格 = `price_snapshot->price + price_snapshot->extra_price`
3. **折扣顯示**: 以紅色（color-danger）顯示，金額前有負號
4. **加購項目**: 顯示數量（X 數量）和單價
5. **多個訂單**: 如果容器內有多個 hotel orders，會依序顯示每個訂單的明細
