4.8 KiB
GROUP新建字段与酒店餐食边界 CP20
2026-09-16,本地实现;默认Pending未启用。不是GROUP全流程或四流程全部完成。
产品规则
用户明确酒店不选择BUALUANG/LEELA,只选择Rate Code。工作台Meal仍可独立选择并保存,接口不猜餐厅字段、breakfast.description或套餐收费。FIT酒店端按最终Rate设置并逐日回查,不再另列“餐厅/Meal未对接”;也不制造“早餐或餐厅已查询”结果。GROUP原流程的Breakfast Included仍按确认布尔值设置并核对。此澄清替代CP1/15/19中“独立酒店餐厅/Meal映射必需”的待办,工作台编辑规则不变。
内部实现与字段
OhipGroupNewBookingConverter仅从原员工确认及显式环境目录准备一笔postBlock,发送仍需CP12冻结与守卫。OhipGroupNewBookingReadbackConverter先检查酒店、实际Block编号、Block Name、完整性及时间,再逐字段输出一致/不一致/缺资料。OhipGroupNewBooking为内部结果,不是员工成功响应。
以下相对路径均位于postBlock的blocks.blockInfo[0].block,getBlock使用同一内层结构:
| 业务内容 | Oracle字段 |
|---|---|
| Tour Code/团名 | blockDetails.blockName |
| 入住/离店 | blockDetails.timeSpan.startDate/endDate |
| 状态TEN | blockDetails.blockStatus.bookingStatus.status.code |
| Reservation Type GC | blockDetails.reservationType.reservationType |
| Market/Source | blockDetails.marketCode.marketCode/blockDetails.sourceOfSale.sourceCode.sourceCode |
| BTQR/THB | blockDetails.paymentMethod.code/blockDetails.currencyCode |
| Rate Code | reservationDetails.ratePlanCode[0].ratePlanCode,唯一主Rate |
| 含早 | reservationDetails.breakfast.breakfastIncluded |
| TA recorder | reservationDetails.taRecordLocator,最多50字符 |
| Account及固定Contact | blockProfiles.blockProfile[],对应角色、primary及实际Profile ID |
固定值须存在显式映射且不得映射成别的代码。整份住期/全部房型映射预先检查,不先创建后忽略坏房型;不同本地房型映到同一酒店房型会拒绝。日期取最早入住及最晚离店;这只是头住期,间隙和完整每日放量仍另走房量流程。读取显式请求Block, Profiles, Rates。单一Rate省略primary可接受;显式false不符合主Rate。多Rate、多同角色Account/Contact、多个Profile ID不任选一条当作完成。
原Prepared保留快照SHA、酒店作用域和请求;不能跨确认重用。实际读取不从原请求补缺值,部分字段不一致仍保留其他字段事实。Header全部一致也不代表房量、附件已处理;businessComplete及executionEnabled仍false。CP12衔接测试使用真实H2/localhost,创建后重建仓库仅查询原编号,无重复POST;酒店含早变化会在回查中显示false。
证据与外部边界
Oracle26.3 BLK固定契约,SHA256 9d1ed11e8118963394e6638655983593b0e9a26f3c6223e72ef0d9479677e4ff。日期format=date但maxLength=8冲突仍明确保留,沿用ISO日期并需Oracle环境验收。
本轮公开无凭据CLI getBlock返回200,目录仍0.6.0,路由GET /api/v1/blocks/{blockID},能力blocks.read;未调用酒店业务。候选平台CP13/14/18仍未部署,此观察不代表其能力已在线。
获准只读代理复核Oracle当前main与RSV契约仍相同:FIT TA搜索taRecordLocatorList已证实,post/put/getReservation写读字段尚无明确契约。Data API分别定义TA和Custom Reference,不能用后者替代。需技术侧向Oracle取得准确请求/返回JSON路径、示例和fetchInstructions,不需用户重新解释业务。未发送外部消息。
验证与后续
新增55项:GROUP转换/回查52、CP12衔接1、草稿餐厅边界1、业务核验边界1;相关236项通过。首次测试编译因两个Readback通配导入重名失败,改显式导入后通过;完整后端verify2313项(2297通过、16条件跳过、零失败错误,229份XML)通过;JVM26.0.2、release17。
下一步连接GROUP新建的房量、整组附件和最终逐项结果,再接GROUP/FIT UPDATE;仍需长阶段执行预算、平台发布/授权、真实MySQL迁移及Oracle测试环境验收。FIT TA契约缺口独立保留。未读取真实凭据/邮件、未写酒店、未部署/重启/提交推送,无新公开接口、数据表、权限、ADR或架构方向变更。