hl-api-changelog/changelogs-v2/2026-07/67_5080_房务详情混合房型逐行出参.md
2026-07-19 18:01:18 +08:00

42 行
1.7 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 房务详情混合房型逐行出参Issue #5080
## 背景
同一晚存在多个房型时,旧兼容标量会把 `rooms[]` 的首行房型与所有房数相加,导致“标间 1 + 大床房 1”被错误展示为“标间 2”。
## 接口
`GET /admin/house/orders/{orderId}`
## 新增字段
`data.itinerary[].expectedRooms[]`:当天逐房型预期房间列表,混合房型展示和业务判断以此字段为准。
```json
{
"expectedRoom": {
"roomCategory": null,
"roomCategoryLabel": null,
"roomCount": 2
},
"expectedRooms": [
{ "roomCategory": "STANDARD", "roomCategoryLabel": "标间", "roomCount": 1 },
{ "roomCategory": "KING", "roomCategoryLabel": "大床房", "roomCount": 1 }
]
}
```
## 兼容规则
- 单一房型:`expectedRoom` 继续返回原标量,`expectedRooms[]` 同时提供逐行数据。
- 混合房型:`expectedRoom.roomCategory``roomCategoryLabel` 返回 `null`,防止形成“首房型 × 总房数”的错误含义;`roomCount` 仍为总间数。
- 未指定房型:房型字段保持 `null`,房数按需求返回。
- `requirement.current.days[].segments[].candidates[].rooms[]` 仍是候选酒店房型行的权威明细。
## 前端适配要求
1. 房务详情及“选择酒店”弹窗不得再用 `days[].roomCategory` 或首个酒店 `roomCategory` 表示混合房型。
2. 标题按 `expectedRooms[]` 渲染,例如“标间 1 间 + 大床房 1 间”。
3. 候选房型筛选与默认数量应逐条读取 `expectedRooms[]`;不得以首行房型套用总间数。
4. 兼容后端尚未部署时,可从 `segments[].candidates[0].rooms[]` 读取同等权威明细,但不得猜测列表顺序。