# 推荐规则 v0.1

## 范围

京都站起点、同一天、1–10件同规格普通行李。用户输入外部三维尺寸（含轮子/把手）、每件重量、日期、抵达/取件时刻、服务类型、起点区域、预算、预约偏好、近铁付费区进入资格、无台阶要求。特殊物品须另问运营商；不能用箱子标称英寸判断可放入。

## 三态筛选

1. `excluded`：任一已知硬条件不适用即排除，并显示所有理由。包括非活动日、服务尚未开始/结束、早于营业、已到受理截止、晚于取件截止减缓冲、尺寸/重量超限、柜型放不下、无近铁进入资格、预算明确不足、已知配送窗口晚于要求。
2. `pending`：关键约束未知/冲突/陈旧。不能将未知当成无限制；尺寸、重量、精确取件窗口、目标酒店适配、预约费、交付时限不足均保留咨询线索，不成为直接推荐。
3. `eligible`：只表示已知静态条件匹配，不代表当天一定营业、不满员或已预约。空位始终未知，官方跳转确认是最后一步。

截止以日本时间处理；临时服务仅按日期白名单；当天受理时刻恰好截止时采取保守排除。默认取件留15分钟缓冲，可改0/30分钟。来源超过14天未核验，或行程超过核验14天，降为待核实；14天是试点编辑规则，不是运营商保证。

## 报价

- 固定每件费乘件数；不假定可免费捆绑袋子。
- 柜型：将箱子和内尺寸各排序以检查三维旋转匹配，选择可容纳的最低价柜型。门框、突出物、实际装入仍需现场检查；每件分一柜，不做未经验证的装箱优化。
- 预约总价加入明确预约费。SPACER一日券实际报价未知，不借用现场价。
- SPACER中央口免费60分钟与每3小时周期衔接不明确，按两种合理计费起点计算区间并标注待核实；达到24小时上限也不代表获得空位。
- 黑猫配送同时检查尺寸和重量，取首个两者均满足档位；超过170cm的其他宅急便附加限制要求另核。
- 历史价只在详情中展示，不作为当前可成交价。未知费用不当成0。

## 排序

先按eligible→pending→excluded分组，然后组内排序；未核实低价不会挤掉条件匹配项。

- 最省钱：按总价区间上限升序；未知排后；同价按稳定ID排列，不声称更好。
- 最快：仅用当前起点的用户实测步行分钟＋排队分钟；缺一个就是未知，未知并列。没有实时交通、步行或排队数据，不能计算真实全程最快。不同起点数据分开保存。
- 最省力：按是否需要回原点取件、是否同一侧、是否需进入付费区依次比较。这是用户可理解的操作偏好，不是精确体力消耗或无障碍结论。
- 配送的“当日”或“17时以后”不等于最晚送达承诺；凡用户希望在指定时间领取，配送仍需运营商确认。酒店匹配勾选按服务独立，不把一个品牌的合作酒店推给另一个。

## 维护

数据库每条保存稳定服务ID、地点ID、属性到来源ID的映射、未知列表、冲突取舍、许可状态、核验/编辑日期。仅编辑字段不会自动更新核验日期。未来应增加field-level evidence的生效/失效期、审核人、测试记录和授权协议编号。
