# 配房「选择酒店」弹窗需补「选房型 + 填房间数」（后端 roomTypes 已就绪,前端加 UI；后端无改动）

> 变更类型：📖 前端待办（后端数据 / 契约已齐备,本篇为对接说明）
> 端类型：管理后台（配房·「选择酒店」弹窗）
> 日期：2026-06-24 ｜ 服务：hl-order-service-v3 ｜ 接口：`GET /v3/admin/hotel-candidates`

---

## ⚠️ 关键说明（前端功能缺失,后端无需改）
- **现象**：配房「选择酒店」弹窗当前只能勾选酒店,不能选房型、不能填房间数。
- **定位**：**后端已备好数据**——`hotel-candidates` 每个候选酒店已返回完整 `roomTypes`（房型选项数组）;提交配房需求 VO 也支持 `roomTypeId` + `roomCount`。**缺的是前端弹窗的房型下拉 + 房间数输入控件**。

## 1. 候选房型选项（已返回,前端据此生成房型下拉）
`GET /v3/admin/hotel-candidates` → `data.candidates[].roomTypes[]`（`RoomTypeOption`）：

| 字段 | 类型 | 说明 |
|---|---|---|
| `roomTypeId` | String（雪花） | 房型 ID（提交配房需求时回传） |
| `name` | String | 房型名称（如「精品标间」「豪华大床房」） |
| `roomCategory` | String | 房型分类（字典 room_category：TWIN/KING/...） |
| `bedType` | String | 床型 |
| `maxOccupancy` | Integer | 最大入住人数 |
| `available` / `stock` | Integer | 今日可用房数 / 总库存 |
| `protocolPrice` / `basePrice` | String | 协议价 / 标价 |
| `inventoryStatus` | String | AVAILABLE / FULL / CLOSED |

## 2. 前端动作
- 弹窗每个候选酒店行,**操作区加**：
  1. **房型下拉**：用该酒店的 `candidate.roomTypes` 生成（展示 `name`,可附协议价 / 可用房;`inventoryStatus≠AVAILABLE` 的房型置灰或标记）。
  2. **房间数输入框**：整数,默认 1。
- 选定酒店 + 房型 + 房间数后回填配房需求候选,**提交时带回**：候选 `roomTypeId`（选中房型）+ 段 `roomCount`（房间数）。
- 提交契约见配房需求提交 VO `HotelRequirementReqVO`：`days[].segments[].roomCount`（房间数）+ `segments[].candidates[].roomTypeId` / `roomTypeName`（房型）。

## 3. 说明
后端在工单 #4204 已把房型下沉到候选级、`hotel-candidates` 暴露 `roomTypes`,本期「默认不按城市」（#4363）也已让候选跨城列全。房型选择与房间数填写纯属前端弹窗交互补全,后端无改动。
