日期/场次/票种对接说明
本说明适用于本地生活商品开启按日期/场次售卖后的采购端对接。
未开启按日期/场次售卖的老商品,创建、下单、支付、核销、售后等接口保持原有参数和行为。
| 字段 | 类型 | 说明 |
|---|---|---|
| date_session_enabled | int | 是否开启按日期/场次售卖,0关闭,1开启 |
| travel_date_start | string | 可选出行日期开始,格式 YYYY-MM-DD |
| travel_date_end | string | 可选出行日期结束,格式 YYYY-MM-DD |
| advance_booking_days | int | 最多提前预订天数,0仅当天,1最多提前1天 |
| same_day_deadline | string | 出行当日最晚预订时间,格式 HH:mm |
| session_enabled | int | 是否启用场次,0仅日期,1日期+场次 |
| traveler_info_type | int | 出行人信息类型,1非实名,2实名 |
| travel_date | string | 下单选择的出行日期,格式 YYYY-MM-DD |
| session_id | uint | 场次ID,开启场次后必传 |
| sku_id | uint | 票种SKU ID,开启按日期/场次售卖后必传 |
| travelers | array | 出行人/联系人数组 |
商品详情返回
Section titled “商品详情返回”POST /app/localLife/storage/product/detail
开启按日期/场次售卖后,商品详情会返回以下字段供前端或采购端选择:
| 字段 | 说明 |
|---|---|
| skus | 票种列表,下单传 sku_id |
| sessions | 场次列表,开启场次后下单传 session_id |
| session_tickets | 场次与票种关系,同时保存该场次票种平日/节假日价格和每日库存 |
| date_session_sku_rules | 具体出行日期的价格库存规则,每条记录都会带 travel_date |
skus 保存票种自身平日价格和节假日价格字段。开启场次后,场次票种的平日/节假日价格以 session_tickets 为准。
date_session_sku_rules 不是所有商品一定有。未开启按日期/场次售卖时,价格仍按 SKU 基础价处理;开启按日期/场次售卖后,后台保存会按出行日期生成对应规则。未启用场次时按 travel_date + sku_id 使用票种每日库存;启用场次时按 travel_date + session_id + sku_id 使用场次票种每日库存。该字段不返回空 travel_date 的基础模板;场次票种基础关系、模板价格与默认库存配置请以 session_tickets 为准。
场次中的 start_time 表示该场次开始核销时间,check_deadline_time 表示截止检票时间。仅商品开启按日期/场次售卖且订单项带 session_id 时执行场次核销校验;未开启按日期/场次售卖的商品不受影响。
场次本身不再设置库存模式和库存。开启按日期/场次售卖且启用场次后,每个“场次+票种”都必须单独维护每日库存;stock_mode 字段仅作兼容保留,场次票种固定按 2 处理。
| 模式 | 价格规则 | 库存规则 |
|---|---|---|
| 未开启按日期/场次售卖 | 使用 local_life_product_skus 基础价格 | 使用商品/sku原有库存逻辑 |
| 仅日期,不开场次 | 模板价存在 skus,保存后按 travel_date + sku_id 展开当天价格 | 按 travel_date + sku_id 使用票种每日库存 |
| 日期+场次 | 模板价存在 session_tickets,保存后按 travel_date + session_id + sku_id 展开当天场次票种价格 | 按 travel_date + session_id + sku_id 使用每日库存;每个“场次+票种”都单独填写每日库存 |
date_type 只包含:
| 值 | 说明 |
|---|---|
| normal | 平日 |
| holiday | 节假日 |
节假日由本地节假日表判断。商品详情中返回的规则价会按现有服务费口径处理;订单项保存本次下单解析出的成交价快照,后续改价不影响历史订单。
指定场次规则
Section titled “指定场次规则”场次的 specified_sessions 用于控制某个场次在指定日期的显隐。
| action | 含义 | 规则 |
|---|---|---|
| 1 增加 | 默认不显示,仅配置的日期显示该场次 | 适合“这个场次只在少数日期开放” |
| 2 删除 | 默认显示,仅配置的日期隐藏该场次 | 适合“这个场次大多数日期都有,少数日期不开放” |
同一个场次只能统一配置增加或删除,不允许混用;同一个场次同一天只能配置一条指定场次规则。
POST /app/localLife/storage/order/beforeCheck
POST /app/localLife/storage/order/confirm
| 字段 | 是否必传 | 说明 |
|---|---|---|
| product_id | 是 | 商品ID |
| qty | 是 | 购买数量 |
| third_order_sn | 下单接口必传 | 第三方订单编号 |
| mobile | 按商品配置 | 手机号 |
| travel_date | 开启日期售卖后必传 | 出行日期,格式 YYYY-MM-DD |
| sku_id | 开启按日期/场次售卖后必传 | 票种SKU ID |
| session_id | 开启场次后必传 | 场次ID;仅日期模式不传或传0 |
| travelers | 按实名规则 | 非实名至少1个联系人;实名人数必须等于购买数量 |
示例:
{ "product_id": 1001, "qty": 2, "third_order_sn": "LL202605280001", "mobile": "13800138000", "travel_date": "2026-06-01", "sku_id": 12, "session_id": 5, "travelers": [ { "name": "张三", "id_card": "110101199001011234", "mobile": "13800138000" } ]}校验口径:
- 老商品未开启日期/场次时保持原行为。
- 开启日期售卖后必须传
travel_date和sku_id。 - 开启场次后必须传有效
session_id。 - 日期必须在出行日期范围内,不能超过提前预订天数;
advance_booking_days=0表示只能购买当天,advance_booking_days=1表示最多可提前 1 天购买。 - 日期不能命中当日截止时间、周不可用、节假日不可用、指定排除日期。
- 场次必须属于该商品且状态可用;命中指定场次删除规则时拒绝下单。
- 顾客每日消费时段只用于使用/核销校验,不参与下单校验。
POST /app/localLife/storage/product/checkHoliday
该接口用于采购端批量查询多个出行日期在本地生活商品中的节假日类型。
请求参数:
| 字段 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| product_id | uint | 是 | 商品ID |
| travel_dates | string[] | 是 | 多个出行日期,格式 YYYY-MM-DD |
返回字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| results | object[] | 多日期检查结果列表 |
| results[].product_id | uint | 商品ID |
| results[].travel_date | string | 出行日期 |
| results[].date_type | string | normal平日,holiday节假日 |
| results[].is_holiday | bool | 是否节假日 |
| results[].is_sync_product | bool | 是否同步商品 |
普通商品按本地节假日表返回;同步商品可继续透传到上游同名接口,并以上游返回结果为准。
订单详情与核销
Section titled “订单详情与核销”订单详情接口会在订单项中返回本次下单保存的出行日期、场次和票种快照:
| 字段 | 说明 |
|---|---|
| travel_date | 出行日期 |
| session_id | 场次ID |
| session_name | 场次名称快照 |
| session_time | 场次时间快照 |
| session_start_time | 场次开始时间快照 |
| session_check_deadline_time | 场次截止检票时间快照 |
| sku_id | 票种SKU ID |
| sku_title | 票种名称快照 |
| travelers | 出行人/联系人 |
核销口径:
- 不强制按下单时的出行日期拦截核销,允许事后核销。
- 顾客不可消费日期会在核销时校验,且优先级高于指定场次增加/删除规则;命中周不可用、节假日不可用或指定日期不可用时直接拒绝核销。
- 仅商品开启按日期/场次售卖且订单项带
session_id时执行场次核销校验;未开启按日期/场次售卖的商品保持原有核销行为。 - 订单有场次时,核销当天必须仍存在并允许使用该场次;场次停用或当天被指定删除时拒绝核销。
- 核销时间必须落在该场次的
start_time到check_deadline_time之间;超出后拒绝核销,前端应明确提示“当前时间不在场次核销时间内”或同义文案。 - 顾客每日消费时段仍按购买须知独立校验,和场次不是同一个限制。