跳到主要内容

设置批量房间映射

快速设置

大多数酒店可以在 5 到 10 分钟内测试一个小范围的房间。请先做一次 dry run。

当你需要为门卡编码器或智能锁一次映射很多房间时,使用这些脚本。

快速参考

脚本功能适用场景
scripts/bulk-keycard-room-mapping.mjs创建或更新门卡编码器的房间映射编码器房名遵循清晰的命名规律
scripts/bulk-smart-lock-room-mapping.mjs创建或更新智能锁房间映射锁具按批量方式命名或分配

开始前

先确认以下事项:

  • 你可以使用 merchant 凭据登录
  • 你知道目标 merchant ID
  • 你的 env 文件包含 TEST_MERCHANT_IDTEST_USERNAMETEST_PASSWORD
  • 你是在仓库根目录运行命令
加载环境变量

在运行脚本前先加载 env 文件:

set -a
source packages/e2e-tests/.env.production-cloudbeds
set +a

如果你的 env 文件名不同,请相应修改路径。

第 1 步:测试小范围

  1. 对小范围房间先执行 dry run。
  2. 仔细查看输出。
  3. 确认房名与预期房间一致。

门卡编码器示例

node scripts/bulk-keycard-room-mapping.mjs \
--merchant-id "$TEST_MERCHANT_ID" \
--username "$TEST_USERNAME" \
--password "$TEST_PASSWORD" \
--room-name-pattern 'TES({n})' \
--start 10 \
--end 20 \
--dry-run

智能锁示例

node scripts/bulk-smart-lock-room-mapping.mjs \
--merchant-id "$TEST_MERCHANT_ID" \
--username "$TEST_USERNAME" \
--password "$TEST_PASSWORD" \
--vendor igloohome \
--room-name-pattern 'TES({n})' \
--lock-id 'IGB40903c5f5' \
--start 1 \
--end 5 \
--allow-assigned-elsewhere \
--dry-run

第 2 步:执行正式映射

  1. 移除 --dry-run
  2. 保持相同的房间范围。
  3. 再运行一次命令。

如果你需要修正已有映射,可使用 --update-existing

门卡编码器

当编码器房名遵循可预测的模式时,使用 scripts/bulk-keycard-room-mapping.mjs

它会做什么

  • /api/rooms 解析 PMS 房间
  • 创建或更新 /api/keycard-encoder-room-mapping
  • 根据房号生成 encoderRoomName

示例

node scripts/bulk-keycard-room-mapping.mjs \
--merchant-id "$TEST_MERCHANT_ID" \
--username "$TEST_USERNAME" \
--password "$TEST_PASSWORD" \
--room-name-pattern 'TES({n})' \
--start 10 \
--end 300

智能锁

当你需要把很多房间映射到智能锁时,使用 scripts/bulk-smart-lock-room-mapping.mjs

它会做什么

  • /api/rooms 解析 PMS 房间
  • /api/integrations/devices?vendor=... 加载设备
  • 检查 /api/mappings/room-lock 中已有的映射
  • 当所选锁提供桥接元数据时发送这些信息

常见模式

  1. 在多个房间上使用同一把固定锁。
  2. 按设备名称匹配锁。
  3. 按锁 ID 模式匹配锁。

示例

node scripts/bulk-smart-lock-room-mapping.mjs \
--merchant-id "$TEST_MERCHANT_ID" \
--username "$TEST_USERNAME" \
--password "$TEST_PASSWORD" \
--vendor igloohome \
--room-name-pattern 'TES({n})' \
--device-name-pattern 'TES({n})' \
--start 1 \
--end 20 \
--dry-run

故障排查

你看到的情况:dry run 显示了错误的房间

解决方法:

  1. 检查 --room-name-pattern
  2. 确认 --start--end 的值。
  3. 再次运行 dry run。

你看到的情况:某个房间已有不同映射

解决方法:

  1. 确认新的映射是正确的。
  2. 使用 --update-existing 重新运行。
  3. 在界面中验证该房间。

你看到的情况:某把锁已分配到其他地方

解决方法:

  1. 确认复用是有意为之。
  2. 仅对共享锁添加 --allow-assigned-elsewhere
  3. 重新运行脚本。

你看到的情况:没有房间出现

解决方法:

  1. 确认 PMS 房间能在 AVA 中加载。
  2. 刷新页面。
  3. 检查 merchant ID 和凭据。

仍有问题?

如果出现以下情况,请联系 success@vouch-technologies.com

  • ❌ dry run 后脚本仍持续失败
  • ❌ 映射已保存但未在 AVA 中显示
  • ❌ 你不确定哪种映射模式适合你的酒店

建议附上:

  • 命令输出截图
  • Merchant ID
  • 供应商名称和锁型号
  • 问题开始时间

相关指南