TARGETF4B2 PARTIALQA 0/5 VERIFIEDR04 · 5/21 PASS COMPLETEMiniapp · 从 IM、开放平台或移动宿主深链进入预约的消费者

Mini App 宿主预约

让宿主只传递可信上下文和授权会话,预约数据、容量和订单回执仍由 Booking 域拥有

/minipublic-booking-platform对照 CURRENT · booking-mini →
R04 · KNIFE 5 / 21

Mini App 宿主预约 · 页面级细化任务包

在受信宿主的安全区内恢复预约上下文,同时保持草稿、容量、订单和私密状态归 Booking 域所有。

ENTRY

宿主通过 allowlisted origin、DeepLinkIntent、SdkSession 与 ReturnContext 打开;未知 host 必须 fail-closed。

SUCCESS OUTPUT

Booking 返回脱敏 BookingSubmittedEvent 与 return context;customer token、联系人和宿主 credential 不回传。

TRANSACTION MODEL

TrustedHostOrigin + HostContext + SdkSession + DeepLinkIntent → BookingDraft → BookingReceipt → BookingSubmittedEvent;宿主只持有最小摘要。

RESPONSIVE + A11Y

390px 原生安全区、宿主返回和固定主操作;Dynamic Type 下步骤可换行,键盘不遮挡提交,Web fallback 可恢复非敏感草稿。

TELEMETRY

booking_mini_view · host_handshake · version_deny · web_fallback · booking_submitted_event;不记录 host token、status token 或联系人。

CURRENT SOURCE TRUTH6f3e62a
  • public-booking-platform 源码与 order.reits.tech EC2 immutable release 均为 6f3e62a
  • 生产 reits-order systemd 服务运行于 127.0.0.1:3210
  • 当前源码目录包含 111 个分类、109 个 demo family / 218 个 demo shops;生产 DiscoveryHome 当前曝光 51 分类、12 ranked、36 deals 与 50 shop-strip
  • 当前 `mini.js` 仍以 `safeOrigin(host) || '*'` 回退,并直接接收 matrix-order-host 消息
  • 当前 Mini 提交调用公共 bookings 路由,未强制 Idempotency-Key
IMPLEMENTATION GAPNOT PRODUCT UI
  • TrustedHostOrigin allowlist、nonce、audience 与 schema version 校验仍需产品实现
  • BookingSubmittedEvent 当前回传 booking 对象,需要收窄为 receipt 摘要
  • 版本不兼容、伪造 origin、重复 nonce 和 Web 迁移证据未登记
目标事务合同与生产 current-sha 分开记录;未通过 B3/B4 不能作为产品完成证据。
45-STATE PROGRAM / THIS SCREEN

五页分别改变目录、店铺、容量、私密状态和宿主信任边界

QA 0 / 5 VERIFIED
READY可信宿主预约上下文已就绪

宿主身份、会话、深链与预约内容

BOOKING-MINI-READY→ 继续选择时段
LOADING正在验证宿主和恢复预约

Host handshake + BookingDraft

BOOKING-MINI-LOAD→ 在 Web 打开
EMPTY深链目标不存在或已下线

DeepLinkIntent

BOOKING-MINI-DEEPLINK-EMPTY→ 返回宿主
PARTIAL ERROR预约可继续,一项宿主能力不可用

Resize / optional host capability

BOOKING-MINI-CAPABILITY-PARTIAL→ 重试宿主能力
ERROR无法建立可信宿主会话

Host handshake

BOOKING-MINI-HANDSHAKE-FAILED→ 安全降级到 Web
OFFLINE宿主离线,预约写入已暂停

Host + local draft

BOOKING-MINI-OFFLINE→ 在联网后恢复
FORBIDDEN宿主来源或授权范围不受信任

Origin / scope / audience

BOOKING-MINI-HOST-DENY→ 返回安全页面
CONFIRM允许 REITS Chat 传递本次预约上下文?

HostAuthorization

BOOKING-MINI-AUTH-CONFIRM→ 确认最小授权
SUCCESS预约回执已安全回传

BookingSubmittedEvent

BOOKING-MINI-RECEIPT-SENT→ 返回宿主会话
BOOKING TRANSACTION BOUNDARY本刀只细化 developer.reits.tech 的预约消费者目标 UI;不创建生产预约,不读取私密状态 token,不调用客户动作,不把目标 AvailabilityQuote、幂等或宿主信任能力冒充为当前产品事实。
UI STUDIOtarget-booking-mini
Miniapp390 × 844100%
100%
/mini
TARGET UI390 × 844FIT 100%
9:41REITS Chat● ●●
✓目标可信宿主状态im.reits.tech · session expires 10:11DESIGN CONTRACT
TRUSTED HOST SESSION · tokyo-care-setagaya

世田谷 CareDoor

上门护理 · 120 分钟 · ¥9,800

✓ 服务2 时间3 信息
7 月 18 日 · 星期六 · JST
当前接口返回 slotsTARGET quote_id · not implemented
7 月 18 日 16:30–18:30 JST¥9,800 · 进入下一步不会立即提交
安全区 18px · 高度已同步 742px
R04 DESIGN CANDIDATE · target-booking-mini · NOT PRODUCT UI
REFERENCE VIEWPORT390 × 844Host safe area · touch
PRIMARY TASK返回宿主主操作、权限与完成反馈必须同屏可验证
DATA CONTRACTHostContextready / loading / empty / error 使用同一 fixture
ACCESSIBILITYKeyboard + WCAG AA焦点顺序、可读名称、对比度进入 UI CI
VISUAL BASELINETARGET · 2026-07-17桌面/移动、浅色/错误态按稳定 Screen ID 留档

IMPLEMENTATION MAP

目标定义与下一轮逐页细化入口

当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。

01

页面区域

  • 宿主状态栏和安全区
  • 应用身份/来源
  • Mini 导航
  • 预约主内容
  • 固定主操作
  • SDK/版本状态
  • 宿主事件回执
  • 降级到 Web
02

用户动作

  • 返回宿主
  • 授权宿主会话
  • 继续预约
  • 重试版本协商
  • 在 Web 打开
  • 回传预约回执
03

必须状态

  • 宿主预约就绪
  • SDK/页面加载
  • 深链目标不存在
  • 部分宿主能力失败
  • 宿主握手失败
  • 离线宿主快照
  • 宿主/Scope 不受信任
  • 宿主授权确认
  • 回执已回传
04

数据契约

  • HostContext
  • TrustedHostOrigin
  • SdkSession
  • DeepLinkIntent
  • BookingDraft
  • HostCapability
  • ResizeEvent
  • BookingSubmittedEvent
  • ReturnContext

TARGET MODULES

目标页面必须交付的模块

  1. 01宿主安全区与返回
  2. 02宿主应用身份
  3. 03SDK 会话状态
  4. 04店铺/服务深链
  5. 05窄屏三步预约
  6. 06离线与版本协商
  7. 07高度同步
  8. 08完成事件回传

PRODUCT ROUTE INDEX

预约平台 的 21 个稳定 Screen ID

同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。

01
发现好店/
Web
02
店铺详情/shop/:publishHash
Web
03
三步预约/t/:publishHash
Web
04
订单与预约状态/booking-status
Web
05
商家工作台/console?t=:hash
Admin
06
移动发现入口/mini
Miniapp
07
官方介绍页/official
Web
08
安全与隐私/security
Web
09
商家登录/console?t=:hash
Admin
10
本地服务发现/
Web
11
店铺与服务详情/shop/:publishHash
Web
12
三步预约与提交/t/:publishHash
Web
13
我的预约与自助管理/booking-status
Web
14
Mini App 宿主预约/mini
Miniapp
15
商家身份与店铺选择/merchant/sign-in
Admin
16
商家今日工作台/merchant/:projectId/today
Admin
17
预约审核与决策/merchant/:projectId/bookings
Admin
18
排班与容量规划/merchant/:projectId/schedule
Admin
19
服务与价目目录/merchant/:projectId/services
Admin
20
店铺内容与发布/merchant/:projectId/storefront
Admin
21
店铺设置与渠道治理/merchant/:projectId/settings
Admin